yazılım mühendisliğin gerektirdiği eğitim nedir? nelerde verilmektedir?