Yazılım mühendisliği, mühendislik ilkelerine dayanan yazılım geliştirme üzerine bir bilim dalıdır. Günlük yaşamda artan bilgisayar kullanımı ile birlikte, bilgisayar yazılımı önemi de her geçen gün artmaktadır. Yazılım ürünleri daha etkin ve daha verimli profesyonel ve sosyal yaşam sağlarlar. Yaşam tarzlarımız bilgisayarlara ve dolayısıyla yazılımlara giderek daha bağımlı hale gelmektedir. Yazılım geliştirme bilgisayarların tanıtımı ilk günlerinden beri sorunlu olmuştur ve hala büyük sorunlarla karşı karşıya kalmaktadır. Sürekli büyüyen ve karmaşıklığı artan yazılımlar, daha kısa takvimler, içselleştirme, daha fazla işlevsellik ve rekabet gibi unsurlar yazılım geliştirme sektörü üzerindeki baskıyı arttırmaktadır.