İnternet sitemizde çerez (cookie) kullanılmaktadır. Çerezler (cookie) hakkında detaylı bilgi için Çerez Politikası'nı inceleyiniz. Devam etmeniz halinde çerez (cookie) kullanımına izin verdiğinizi kabul edeceğiz. Çerez ayarlarınızı değiştirmeniz halinde internet sitesinin birtakım özelliklerini kullanamayabileceğinizi belirtmek isteriz.

Yazılım Geliştirme Modelleri

Profesyonel bir yazılım geliştirme süreci, yazılımın mantıksal parçalara bölünmesiyle gerçekleştirilir.


Yazılım Geliştirme Döngüsü

 

Yazılım geliştirme süreci, yazılımın mantıksal parçalara bölünmesiyle gerçekleştirilir. Böylece yazılım geliştirilirken, belirli zaman aralıklarında gerekli işler yapılarak etkin bir şekilde geliştirme sağlanır.

 

Profesyonel yazılım geliştirme takımı yazılım geliştirirken planalama yapar, planlamaya göre tüm olasılıkları hesaplar, bu hesaplamalar sonucu risk azaltılır ve gereksiz işlerden kaçınılır.

 

Yazılım geliştirme döngüsü aşağıdaki adımlardan geçer: 

  • - Geliştirilecek yazılımın dökümantasyonun yapılması
  • - Yazılım sonucu çıkacak olan ürünün tasarımı
  • - Yazılım ürününün gerçekleştirilmesi
  • - Yazılım sonuçlarını test etme
  • - Çözümün dağıtılması
  • - Yazılım sonucu çıkan ürünün bakımı

 

 

Yazılım geliştirme takımları, projeleri için en uygun geliştirme modelini belirleyerek, hedeflerini oluştururlar. Her yazılım geliştirme şirketi kendisi için en uygun modeli kullanır ve böyle bir davranış göstermek, yazılım geliştirimine kolaylık sağlanır ve hız kazandırır.

 

Geliştirme sürecinde en çok uygulanan yazılım geliştirme modelleri

 

Waterfall: Basit ve kolay yazılım programları için uygundur. Yazılım şirketleri bu modeli kullanarak uygulama geliştirdiklerinde, her bir bölüm ardışık olarak yapılır, her bölümden sonra gerçekleştirilen bölümün sonuçları gösterilir. Fakat waterfall model uzun süreli projeler için uygun olmamakla beraber,esneklik sağlamamaktadır.

 

Spiral: Bu modelin temelinde, yazılım geliştirme süreci boyunca risk analizi önemlidir. Bu modelde,her bir klasik waterfall modeli, çok sayıda iterasyona bölünür ve her iterasyonda planlamayı ve risk analizini inceler. Bu modelde bir yazılım geliştirildiği zaman, her bir iterasyonda bir çıktı elde edilecektir ve bu çıktılar elde edilirken belirli riskler altında gerçekleştirilecektir. Bu modele uyum sağlamanın maliyeti oldukça fazladır.

 

V-Shape: Waterfall modeline çok benzemektedir, temel farkı onaylama sahası ve test işlemidir. Testlere dökümantasyon bölümünde başlanır, integrasyon süresince, kodlamada ve yazılım ürünün testinin gerçek gerçekleştiriminde devam edilir. V tasarımı, ileriye yönelik test yapılmasını sağlar.

 

Iterative: Yazılım şirketine, yazılım geliştirme döngüsünün erken bölümlerinde hataların bulunmasına ve çözülmesine olanak sağlayan bir modeldir. Böylece geliştirme süreci daha etkin olacaktır. Bundan dolayı yaşam döngüsü birçok parçaya bölünür ve süreçlerin kontrolü küçük parçalar üzerinde yapılır. Bu model sayesinde, ilk iterasyon tamamlandığında, yazılımın basit bir ürünü elde edilir.

 

Agile Development: Temel olarak iterative modele benzer, insan faktörünü kullanarak geliştirme sağlar. Geliştirme süreci boyunca, yazılım takımının geri dönüşlerinden yararlanılır.

 

Son olarak, profesyonel geliştiriciler, sıralı ve etkin bir şekilde geliştirme yapabilmek için çeşitli yöntemlere sahiptir ve ekstra masraflarda kaçınır.

 

 

Ahmet Sami Küçük


Kaynaklar

http://www.oxagile.com/article/228-software-development-models

http://www.wikipedia.org/