Yazılım Mühendisliği nedir?

Merhabalar, bu yazıda sizlere Yazılım Mühendisliği hakkında bilgiler vereceğim.

Başlangıçta, ilk bilgisayarların geliştirildiği dönemlerde, yazılım denilen şey sadece belirli kod dizilerini temsil ediyordu. Bilgisayarlar gelişip yaygınlaştıkça yazılım kavramı da genişledi ve “Bilgisayar yazılımı, bir bilgisayar sisteminde belirli görevleri yerine getirmek üzere kullanılan kod, yordam ve dokümanların tümüne verilen isim.” olarak tanımlanmaya başladı.

Yazılımın bir disipline haline gelmesiyse, yazılım projelerinde yaşanan ciddi başarısızlıklara artık bir dur denmesi gerektiği düşünülerek, bu alanda çeşitli süreçler, yöntemler ve diğer mühendislik araçlarının oluşturulmasına ve işletilmesine karar verildi.

“Software” yani “yazılım” ifadesi 1958 yılında Joh Tukey tarafından, “Yazılım Mühendisliği” ifadesi ise 1968’de Almanya’da gerçekleştirilen NATO konferansında ilk kez kullanıldı. Sonrasında yazılım mühendisliğini geliştirmek için bazı örgütler kuruldu ve bunların öncülüğünde yapılan çalışmalarda, yeni bir disiplin olarak “Yazılım Mühendisliği” yapılandırılmaya başladı.

Mühendislik, benim özümsediğim tanımıyla; “İnsan hayatı içerisindeki sorunlara çözüm üreterek faydalı ürünler ortaya koymak.” olarak düşünülebilir. Bir kere, yaşamın içinde olmayı ve mevcut sıkıntılara hemen uygulanabilir somut çözümler getirmeyi gerektirir. Bir disiplin olması içinse ölçülebilirlik ve standartlar geliştiriyor ve uyguluyor olmalıdır. Bu, şu anlama gelir; siz belirli bir anda günlük hayattaki bir soruna dair bir çözüm geliştirebilirsiniz. Ama bunun bir mühendislik çözümü olması için ölçülerek değerlendirilebilir bir çözüm olması gerekir ve gerçekleştirilen adımların, yöntemlerin iş ve işlemlerin belirli bir standarda bağlanması gerekir. Böylece aynı adımları gerçekleştiren başka biri de aynı ölçümleme yöntemleriyle ölçümlediğinde aynı sonuçlara ulaşabilecekdir.

Ve bu kadar girişten sonra işte yazılım mühendisliğinin tanımı:
“Yazılım Mühendisliği,  yazılım üretiminin mühendislik yöntemleriyle yapılmasını öngören, beklenen özellikleri belirlenen bütçe ile süresi içinde tamamıyla karşılayan kaliteli yazılım geliştirilmesi için yöntem, araç, teknik ve metodolojiler üreten bir disiplindir.”

Yazılım mühendisliği bu tanım doğrultusunda aşağıdaki on temel bilgi alanını (Knowledge Areas) içermektedir.

1.        Yazılım isterleri (Software requirements)
2.        Yazılım tasarımı (Software design)
3.        Yazılım geliştirme (Software construction)
4.        Yazılım sınama (Software testing)
5.        Yazılım bakımı (Software maintenance)
6.        Yazılım yapılandırma yönetimi (Software configuration management)
7.        Yazılım mühendisliği yönetimi (Software engineering management)
8.        Yazılım mühendisliği süreçleri (Software engineering process)
9.        Yazılım mühendisliği araç ve metotları (Software engineering tools and methods)
10.      Yazılım kalitesi (Software quality)

Ve yine yazılım mühendisliği, kaliteli yazılım geliştirme hedefine ulaşabilmek için aşağıdaki disiplinlerle birlikte çalışmaktadır:

1.        Bilgisayar mühendisliği
2.        Bilgisayar bilimleri
3.        Yönetim bilimleri
4.        Matematik
5.        Proje yönetimi
6.        Kalite yönetimi
7.        Yazılım ergonomisi
8.        Sistem mühendisliği

Bir yazılım projesi üzerinde çalışırken, yukarıdaki bilgi alanları ve ilişkili disiplinleri kullanarak müşteri isteklerini bütçesi içerisinde ve verilen zaman diliminde beklenen kalitede üretmeye çalışırız.

***

Sonuç olarak, eğer yazılım sektöründe yer almak istiyorsanız ve hedefiniz birinci ligde oynamaksa, bu yukarıda bahsettiklerimle ilgili başlangıç olarak en azından fikir sahibi olmanız şart. Toplamda yazılım işi yukarıdan da görebileceğiniz gibi kodlamanın çok ötesinde. Kodlama 10 bilgi alanından sadece bir tanesi.

İlerleyen yazılarda her bir bilgi alanı ve ilişkili bilimler hakkında açıklamalara yer vereceğim.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Reklama Tıkla Destek Ol!