Konu
- #Waterfall Geliştirme Yöntemi
- #Sabit Gereksinimler
- #Yazılım Geliştirme
- #Dokümantasyon
- #Sıralı İlerleme
Oluşturulma: 2024-05-14
Oluşturulma: 2024-05-14 09:50
Waterfall Geliştirme Yöntemi
Şelale Geliştirme Yöntemi (Waterfall Model), yazılım geliştirmede en eski yöntemlerden biridir ve projeyi sıralı adımlar aracılığıyla ilerleten bir yaklaşımı ifade eder. Bu model, her bir adımı tamamen tamamladıktan sonra bir sonraki adıma geçme yapısıyla, tıpkı bir şelalenin (waterfall) yukarıdan aşağıya doğru akması gibi aşamalı olarak ilerlediği bir özelliğe sahiptir. Bu yazıda, Şelale Geliştirme Yöntemi'nin tanımı, temel özellikleri, avantajları ve dezavantajları ile kullanım örneklerini ayrıntılı olarak inceleyeceğiz.
Şelale Geliştirme Yöntemi, yazılım geliştirme yaşam döngüsünün (SDLC: Software Development Life Cycle) her bir aşamasını sırayla takip eden bir yöntemdir. Bu model, 1970'lerde Winston W. Royce tarafından ilk kez tanıtıldı ve o zamandan beri birçok projede kullanılmaktadır. Şelale modeli aşağıdaki adımları içerir:
1. Gereksinim Analizi (Requirements Analysis): Projenin gereksinimlerini toplamak ve açıkça tanımlamak aşamasıdır.
2. Tasarım (Design): Yazılımın mimarisini ve ayrıntılı tasarımını gerçekleştirme aşamasıdır.
3. Uygulama (Implementation): Gerçek kodu yazmak ve yazılımı geliştirmek aşamasıdır.
4. Test (Test): Geliştirilen yazılımı test ederek hataları bulmak ve düzeltmek aşamasıdır.
5. Dağıtım (Deployment): Yazılımı gerçek çalışma ortamına dağıtmak aşamasıdır.
6. Bakım (Maintenance): Dağıtılan yazılımı korumak ve iyileştirmek aşamasıdır.
Yukarıdaki resimde görüldüğü gibi, planlama tamamlandıktan ve onaylandıktan sonra tasarım yapılır, tasarım tamamlandıktan ve onaylandıktan sonra bir sonraki geliştirme aşamasına geçilir, geliştirme tamamlandıktan ve onaylandıktan sonra test edilir ve hata yoksa başlatılır. Planlama aşamasında birçok kez değişiklik yapılabilir veya tasarım aşamasında birçok kez değişiklik yapılabilir.
Ancak su yukarıdan aşağıya doğru aktığı gibi, geliştirmeye başlandıktan sonra aniden planlamada değişiklik yaparak geliştirmeyi değiştirmek veya değiştirmek gibi bir durum söz konusu olmaz.
1. Net Yapı: Aşamalar net bir şekilde ayrıldığı için ilerleme durumu kolayca izlenebilir.
2. Belgeleme: Her aşamada belgeleme titizlikle yapıldığı için proje ilerleme durumu ve kararları izlemek kolaydır.
3. Yönetim Kolaylığı: Planlama ve zamanlama yönetimi kolaydır ve her aşama için net hedefler belirlenebilir.
1. Değişiklik Yapmada Zorluk: İlk aşamada gereksinimler sabitlendiği için, sonraki aşamalarda gereksinim değişikliği yapılması zordur ve maliyetlidir.
2. Aşama Bağımlılığı: Bir aşama tamamlanmadan bir sonraki aşamaya geçilemediği için zamanlama gecikme olasılığı yüksektir.
3. Müşteri Katılımının Sınırlı Olması: İlk aşamalardan sonra müşteri katılımı sınırlı olduğu için, nihai sonuç müşterinin beklentileriyle örtüşmeyebilir.
Geliştirme yönteminden bahsederken kullanılan bir terimdir ve aşamalı bir şekilde geliştirme yapıldığını ifade eder.
❗Bilmekte Fayda Var
Tersine bir yöntem olarakÇevik Yöntem (Agile)vardır; bu yöntemde, prototip oluşturularak kullanıma sunulur ve sorunlar veya iyileştirme noktaları sürekli olarak düzeltilir ve işlevler eklenerek çalıştırılır. Bu yöntem, genellikle kendi hizmetlerinizi oluştururken kullanılır; bunun nedeni, hizmetin kalitesini artırmak ve sürekli değişiklik yapabilen insan gücünü karşılayabilmektir.
Müşteri şirketinin hizmetini (SI dış kaynak kullanımı) geliştirirken Çevik Yöntem kullanılırsa, her ay ödenen işgücü maliyeti ve diğer giderler (aylık kira, yönetim giderleri vb.) müşteri şirket tarafından her ay ödenerek geliştirme yapılmalıdır; ancak gerçekte 2 aylık geliştirme, 5 aylık geliştirme gibi belirli bir miktar belirlenerek geliştirme yapılır ve belirli bir sonu bilinmeyen bir şekilde her ay belirli bir miktar ödeme yapılması oldukça yaygın değildir.
Yorumlar0