Yazılım ve Yazılım Süreç Modelleri

Yazılım Nedir? 

Elektronik devreleri bir araya getirerek haberleşmesine yardımcı olarak, iş süreçlerini kısaltarak verimliliği ve iletişimi sağlayan program dokuman ve datadan oluşan yapıdır.

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

Yazılımın Mühendislik olması için bir kısıt olması gerekmektedir. Belirli bir araçları süreç modellerini belirli metotları belirlenen süre ve bütçe içinde  kaliteli ürün elde etmeye çalışır.

Lineer Model (Waterfall)

Analizin ve Tasarımın önemli olduğu projelerde kullanılır. Eğer proje küçükse ve maliyet azsa tercih edilebilir.

Analiz -> Tasarım -> Kod -> Test

Avantajları : 

Detaylı analiz ve tasarım süreci sonrası kodlama ve test daha hızlı yazılır.
Testte hata daha azdır


Dezavantajları : 

Eğer analizdeki yanlış kodlama da fark edilirse vakit kaybı olur. Tüm doküman ve süreçlerin güncellenmesi gerekir.
Ürünü görmek için beklemek gerekir


V  Model :
Proje eğer hata kabul etmeyecek bir proje ise her aşamada test ederiz. İsterlerimize uyuyor mu kontrol ederiz


Business req   V Kabul Testi
System req V System testi 
High Level V Entegrasyon Testi
Low Level  V Function Testi
Code   V Unit Test

Avantajı : Takip edilebilirlik, Kullanımı kolay

Dezavantajı : Risk Çözümleme, Aşama tekrarı yok

Incremental Model 

Her incremental sonunda ürün teslim edersin, İşim garanti olsun istiyorsam kullanırım. Temel özellikleri içerek bir ürün elde ederim. .


Avantajı : İlkte çıkan bir proje ilerleyen zamanlarda değişime uğrarsa kolaylıkla uygulanabilir


Dezavantajı : Maliyet

Prototyping 
Müşteriyi dinleme mock-up oluşturma ve mock-uplu test etmedir. Detay yok görsel öenölidir

Avantajı :  
Kullanıcı sistem gereksinimlerini görür Karmaşa ve yanlış anlama netleşir
Risk kontrolü sağlanır

Dezavantajı : 
Belgelendirme olamaması hızlı ve kirli yapar 
Düzeltme atlanırsa düşük performans olabilir
Müşteri son ürün gibi bekler 

The Spiral Model 
Incremental release serisi olarak düşünülür. Sürekli daha iyisini üretiyorsanız(ARGE)

Avantajı : Projeyi küçük parçalara böler, Hataları erken giderir

Dezavantaj : Effort Kaybı, biteceği zaman karşılaştırılmıyor, Karmaşık




Yorumlar