Yazılım mühendisi, bilgisayar yazılımını tasarlamak, geliştirmek, sürdürmek, test etmek ve değerlendirmek için yazılım mühendisliği ilkelerini uygulayan kişidir. Bazen programcı teriminin yazılım mühendisi ile eşanlamlı olarak kullanıldığını görebilirsiniz.
Yazılım Tasarımı
Yazılım tasarımı, bir sistem veya bileşenin mimarisini, bileşenlerini, arayüzlerini ve diğer özelliklerini tanımlama süreci ile ilgilidir. Buna yazılım mimarisi dendiğini de görebilirsiniz. Yazılım tasarımı, üç farklı tasarım düzeyine ayrılmıştır. Bunlar arayüz tasarımı, mimari tasarım ve detaylı tasarımdır. Arayüz tasarımı, bir sistem ile çevresi arasındaki etkileşimdir. Mimari tasarım, bir sistemin ana bileşenleri ve bunların sorumlulukları, özellikleri, arayüzleri ve aralarında meydana gelen ilişkileri ve etkileşimleri ile ilgilidir. Ayrıntılı tasarım, tüm ana sistem bileşenlerinin dahili öğeleri, özellikleri, ilişkileri, işlenmesi ve genellikle algoritmaları ve veri yapılarıdır.
Yazılım Testi
Yazılım testi, birim testi ve entegrasyon testi gibi farklı yaklaşımlarla, test edilen ürün veya hizmetin kalitesi hakkında bilgi sağlamak için yürütülen teknik bir araştırmadır. Yazılım geliştirmede ayrı bir aşama olarak, genellikle kalite güvence personeli veya kodu yazan kişi dışında bir geliştirici tarafından gerçekleştirilir.