Yazılım Geliştirme Sürecinde Kullanılan Modeller

Bir önceki yazımızda ele aldığımız yazılım tasarım süreçlerindeki yazılım projesinin tüm adımlarını içeren işlemler için nasıl bir yol izleneceği yazılım süreç modelleri ile ele alınır.

Yazılım süreç modelleri çok çeşitlidir. Bu modeller sayesinde yazılım projelerinin kontrolü sağlanarak sürecin çok daha güvenli, anlaşılabilir ve teste elverişli olması sağlanır. Güncelleme ve bakımın da kolay olması yazılım projesinin ömrünü artıracak niteliklerdir. Kısaca yazılım süreç modelleri yazılımlara kontrol, tutarlılık ve düzen sağlar.

Bahsettiğimiz üzere yazılımda sadece kod düşünülmemeli. Direkt kod ile tasarım yapmaya çalışan programcılar/mühendisler ilerleyen süreçlerde geliştirdikleri yazılımda bir çok sorun ile karşılaşacaktır. Bunu önlemek için ise yazılım yaşam döngüsündeki tüm adımları uygulayarak yazılım süreç modelleri ile de bu süreci desteklemelidir.

Peki yazılım süreç modelleri nelerden oluşmaktadır? İşte başlıca yazılım süreç modelleri:

Kodla ve Düzelt Modeli

Kodla ve düzelt modeline göre yazılım yaşam döngüsünün bir parçası olan analiz aşamasından sonra doğrudan yazılım ortaya çıkarılır. Bu model üzerinden gerekli düzeltmeler ve gereksinimler karşılanıncaya kadar program düzenlenir.

Avantajları;

Dezavantajları;

Şelale Modeli

Bu modelde yazılım sürecini bazı ana safhalara bölebilirsiniz. Bu süreç modelinde tek yönlü ve lineer aşamalarla ilerlenir. Bir sonraki aşamaya geçebilmek için mutlaka o anki aşamanın tam olarak bitirilmesi gerekir. Geri dönüşlere uygun olmayan bir model türüdür.

Avantajları:

Dezavantajları ise;

V Modeli

V modelinde ise şelale modelinden farklı olarak geliştirme sürecinden önce bir test planı oluşturulur. V modeli, ne istediğini bilen ve projenin gelişimi için yazılım ekibine güvenen müşterilere daha uygun bir modeldir. Projede herhangi bir değişiklik olduğunda test dokümanlarının güncellenmesi gerekmektedir. Gereksinimleri açık ve net olan küçük, orta, büyük her proje için uygun bir model türüdür.

V modelinin temel çıktıları 3 aşamadan oluşur.

  1. Kullanıcı modeli: Geliştirme sürecinin kullanıcı ile olan ilişkileri saptanır ve sistemin nasıl kabul edileceğine dair sınama ve planlar ortaya çıkarılır.
  2. Mimari model: Sistem tasarımı ve oluşabilecek alt sistem ile tüm sistemin sınama işlemleri gerçekleştirir.
  3. Gerçekleştirim modeli: Yazılım modüllerinin kodlanması ve sınanmasına ilişkin fonksiyonları barındırır. Projenin kodlanma aşamasıdır diyebiliriz.

Avantajları:

Dezavantajları;

Spiral Model

Spiral model, belli aşamalara geri dönebilecek şekilde tasarlanmıştır.Bu modelde Planlama, Risk Analizi, Üretim ve Kullanıcı değerlendirmesi gibi etkiler mevcuttur.

Bu modelde genel anlamda yapılan işlemler şunlardan oluşmaktadır:

Spiral modelde süreçlere tekrar tekrar geri dönüş yapılır. Bundan dolayı bu modele Spiral Model ismi verilmiştir. Her çevrimde ürünün yeni bir sürümü ortaya çıkmaktadır. Her çevrimde her aşama değerlendirilir.

Avantajları:

Dezavantajları;

Evrimsel Model

Evrimsel modelde başlangıç gereksinimleri ile bir ilk sistem geliştirilir. Ayrıca kullanıcı geri bildirimleri de alınarak süreçte iyileştirmelere gidilir.

Küçük veya orta düzeydeki projelere daha uygun bir model olan Evrimsel Model çok büyük projelerde kullanılmaz.

Avantajları;

Dezavantajları;

Çevik Model

Yazılım ve bilgisayar mühendislerinin yazılım geliştirirken en çok kullanması gereken modeldir. Yazılımların ömrünü uzatan, daha etkin bir performans göstermesini sağlayan modeldir.

Çevik model ilkeleri şunlardan oluşur:

Çevik model yazılım yaşam döngüsünün ilk adımından son adımına kadar bu ilkeleri taşıyarak yazılım ürünün son derece kaliteli biçimde olmasını sağlar. Bu model ile yazılım ürünleri müşteriye belirlenen zamanda istenilen performansı sağlayacak biçimde teslim edilir.

Yazılım projelerinizin büyüklüğüne göre bu süreç modellerinden birini veya birkaçını tercih ederek planlamadan bakıma kadar olan süreçte sisteme entegre edebilirsiniz. Bu sayede hem daha verimli bir iş çıkaracaksınız hem de başarılı sonuçlar alarak proje devamlılığını sağlayacaksınız.

Exit mobile version