YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ
Yazılım Mühendisliği, kullanıcı, uygulama alanı ve sistem gereksinimlerini analiz etme ve daha sonra tek bir uygulamadan bilgisayar tabanlı bir sisteme kadar değişebilen bir yazılım ürününün tasarlanması, geliştirilmesi, test edilmesi, sunulması ve bakımının yapılması sürecidir. Diğer mühendislik disiplinlerinde olduğu gibi, Yazılım Mühendisliği de yazılım geliştirme, denetleme ve doğrulama testlerinin yapılması ve bakımı için sistematik, disiplinli ve hesaplanabilir bir yaklaşım kullanarak standart mühendislik prensiplerini uygular. Yazılım Mühendisliği, bir alana özgü zor teknik sorunların üstesinden gelmek ve programcıların hatalarını önlemek için sıklıkla yaratıcı tasarımlar gerektirir. Yazılım geliştirme için bütün dünyada her yıl yüz milyarlarca dolar harcanmaktadır, bu projelerin başarısı için zamanında ve proje bütçesi içinde kalarak tamamlanmaları önemlidir. Yazılım projesi geliştirme maliyetlerini azaltmak için pahalı ve/veya nadir becerilere sahip yazılım mühendislerinin, iyi bir veri tabanı tasarlayıcı ve verimli SQL sorguları yazma, yüksek düzeyde etkileşimli grafik kullanıcı arabirimleri geliştirme, makine öğrenme araçlarını karar-verme yazılımlarına entegre etmek, Yapay Zeka yöntemleri kullanarak planlama ve problem çözme yapabilme gibi, yetenekler olan persnelin birden çok yazılım projesi tarafından paylaşılması gerekecektir. Proje başlangıcında belirlenen süre içinde yazılım geliştirme sürecini bitirebilmek için de her zaman profesyonel yazılım mühendislerinden oluşan bir ekiple çalışmak gerekli olacaktır. Bir yazılım mühendisinin bazen bir takımı en verimli bir şekilde yönetebilmesi bazen de bir ekibin parçası olarak en verimli ve doğru bir şekilde kod üretebilmesi gerekecektir.
Bir yazılım mühendisi bir çok programlama dilinde iyi program yazabilme becerisine sahip olmalı, birden fazla işletim sistemiyle çalışabilmeli, bir yazılım geliştirme ekibi içinde entegre yazılım geliştirme ortamları kullanabilmeli, aynı zamanda veri güvenliği, veri erişimi / güncelleme yetkisini göz önünde bulundurarak verimli ve ölçeklenebilir veritabanları tasarlayabilmelidir. Modern bilgisayar işletim sistemleri, ağ aygıtları ve veritabanı yönetim sistemleri güvenlik için mükemmel destek sağlamaktadır, ancak her bir role / kullanıcıya doğru ayrıcalıkları/yetkileri atamak yazılım tasarımcısının ve geliştiricisinin sorumluluğundadır. Bu güvenlik gereksinimleri gözardı edilirse, geliştirilen yazılım sistemleri şirketlere faydadan çok zarar verecektir.
Yazılım Mühendisliği bölümü öğrencilerimize Bilgisayar Mühendisliği bölümünde verilmekte olan veri yapıları, algoritmalar, işletim sistemleri, veritabanları, bilgisayar grafikleri ve bilgisayar ağları derslerine ek olarak, yazılım gereksinimleri yönetimi, yazılım mimarisi tasarımı, yazılım proje yönetimi, yazılım denetleme, test ve doğrulama öğretecektir. Öğrencilerimiz, çevik geliştirme, Scrum, aşırı programlama, özellik güdümlü ve model güdümlü geliştirme gibi en son yazılım geliştirme metodolojilerini uygulama becerisine sahip olacaklardır. Bu yeteneklerle mezuniyet sonrası yazılım geliştirme şirketlerine ve şirketlerin yazılım bölümlerine yazılım mühendisi olarak katılmaya öğrencilerimizi hazırlayacaktır.