Yazılım Mühendisliği Nedir

 Yazılım Mühendisliği Nedir

Yazılım Mühendisliği
Günümüzde yazılım sistemleri, bankacılıktan otomotiv sanayisine, sağlık bilgi sistemlerinden şirket yönetimine, telekomünikasyon sistemlerinden hava taşımacılığına, çok geniş alanlarda kullanılan bilgisayar sistemlerinin çok önemli ve kritik bir parçasını oluşturuyor. Yazılım Mühendisliği 1968 yılında NATO tarafından gerçekleştirilen bir konferans esnasında ortaya çıkan yeni bir kavram ve yeni bir mühendislik alanı olup, yazılım sistemlerinin mühendislik prensipleri çerçevesinde tasarımı, üretimi ve işletilmesini hedeflemektedir. Bilgisayar sistemleri artık günlük hayatın her alanında yoğun ve etkin bir şekilde kullanılmakta olduğundan, Yazılım Mühendisliği tüm disiplinlerde uygulamaları olan bir alan.

Yazılımın günümüzde hızla artan önemi, tüm dünyada yazılım mühendisliği disiplinindeki çalışmaların yoğunlaşmasına neden olmuştur. Yazılım mühendisliği disiplini 1968 yıllarından bu yana oldukça gelişme kaydetmiş; yazılım geliştirme metodolojileri, programlama paradigmaları, programlama dilleri ve çeşitli araçların geliştirilmesiyle hayli ilerleme sarfetmiştir. Bu gelişime , IEEE (IEEE Computer Society) ve ACM (Association for Computing Machinery) gibi mesleki kuruluşların önemli etkisi olmuştur. Ayrıca bu kuruluşlar son yıllarda, yazılım mühendisliği çekirdek bilgisinin tanımlanması ve bu bilgilerle uyumlu yazılım mühendisliği eğitim programlarının geliştirilmesine yönelik çalışmalar da yapmaktadır. Bu bağlamda, diğer mühendislik dallarında olduğu gibi yazılım mühendisliği için de ayrı eğitim programlarının oluşturulması gündeme gelmiştir. Yazılım mühendisliği disiplinin olgunlaşma sürecinde yazılım mühendisliği eğitimi özel bir önem kazanmıştır. Özel bir önem kazanan bu eğitim programı için özel projelere başlanmıştır.
Temel Bilgiler

Yazılım mühendisliğinin temelleri, yazılım mühendisliğinin ürettiği ürünlerin niteliklerini anlatan teorik ve bilimsel , matematiksel temellerden ve öngörülebilir sonuçlar üreten ana ilkelerden oluşur. Buradaki ana nokta, kaynakları belirlenmiş bir amaca dönüştürmek için mühendislik tasarımı ve mühendislik biliminin uygulanarak en uygun modellemenin yapılabilmesidir.

Profesyonel Uygulama

Teknik beceri gelişiminden çok düşünce gelişimini hedefleyen profesyonel uygulama, yazılım mühendislerinin, profesyonel ve etiğe uygun olarak uygulamam yapabilmeleri için sahip olmaları gereken bilgi, beceri ve davranışlarla ilgilidir.

İhtiyaçları Belirleme

Kullanıcı ihtiyaçlarını mevcut teknolojilerle en uyumlu biçimde bağdaştırarak çözüm tasarlayabilme.

Yazılım Tasarım

Adından da anlaşılacağı üzere teknikler, stratejiler, gösterimler ve desenlerle ilgilidir. Tasarım, kaynaklar, performans, güvenilirlik ve güvenlik gibi kısıtlamalar gözönüne alınarak işlevsel gereksinimlere uygun olmalıdır. Ayrıca, yazılım bileşenleri arasındaki içsel arayüzler, mimari tasarım, veri tasarımı, kullanıcı arayüzü tasarımı, tasarım araçları ve tasarımın değerlendirilmesi de bu alanın kapsamındadır.

Yazılım Oluşturma

Tasarımı belirlenmiş yazılımın dökümantasyonu aşamasıdır. İşleyiş, teknik vs. açısından bilgileri içerir.

Yazılım Gelişimi

Yazılımın kullanıma başlanmasından sonra yazılımın desteklenmesi sürecini kapsar. Yazılımın eksiklerinin giderilmesi, test edilmesi,iyileştirilmesi gibi aşamaları içeren bu aşama maliyet gerektiren önemli bir aşamadır.

Yazılım Kalitesi

Yazılımın kalite nitelikleri, kullanılabilirlik, güvenilebilirlik, güvenlik, bakıma uygunluk, esneklik, etkinlik ve performans gibi kriterleri kapsamaktadır.

Yazılım Yönetimi

Yazılımın kullanımından sonra etkin bir şekilde devam edebilmesi, varlığını sürdürebilmesi için uygulama alanındaki tüm aşamaların izlenmesi ve kontrol edilmesini kapsar. Yazılım geliştirme projelerinin başarısı, farklı kollardaki işlerin koordinasyonu, yazılım versiyonlarının bakımı, kaynakların gerekli oldukları zaman var olabilmesi, projedeki işlerin uygun olarak bölünebilmesi, iletişimin kolaylaşması için kritik önemdedir.

Yazılım mühendisliğinin gerektirdiği nitelikler olarak belirtebileceğimiz bu tanımlar ülkemizde de yer alan lisans ve yüksek lisans yazılım mühendisliği eğitimlerinde müfredatın belirlenmesinde önemli bir rol oynamaktadır.

Bir cevap yazın

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

Başa dön tuşu