Şelale modeli (Water Model) nedir?
Şelale modeli, analiz adımı ile başlar. Analiz adımında, tüm yazılım gereksinimleri net bir şekilde belirlenerek analiz dokümanı üretilir. Daha sonra, tasarım adımında yazılımın arayüz, veritabanı, sınıf vb tasarımları yapılarak tasarım dokümanı üretilir. Bir sonraki kodlama adımında yazılım; analiz ve tasarım dokümanlarında belirtilen şekilde kodlanır. Test adımında; analiz ve tasarım dokümanlarındaki tüm fonksiyonel ve fonksiyonel olmayan gereksinimler ve tasarımlar için test senaryoları yazılır ve bu test senaryoları icra edilerek yazılımın testleri yapılır. Testlerde bulunan hata hangi adımdan (analiz, tasarım veya kodlama) kaynaklı ise o adıma geri dönülürerek hata giderilir. Örneğin, hata kodlamadan kaynaklı ise, sadece kodlama düzeltilir ve tekrar test adımına geçilir. Ancak, hata analiz veya tasarımdan kaynaklı ise bu adımlara gidilerek analiz ve tasarım dokümanları güncellenir, daha sonra kodlama düzeltilir ve test aşamasına geçilir. Test adımı sonunda, yazılımda herhangi bir hatası bulunamaz ise, entegrasyon adımına geçilir ve yazılım, canlı ortama entegre edilerek müşterinin kullanımına açılır.
Şelale modeli daha çok hangi projelerde kullanılır?
Şelale modeli, daha çok askeri vb sektörlerde, uzun süreli, analiz ve tasarımın çok önemli olduğu, hata yapmanın maliyetinin çok yüksek olduğu, kritik projelerde kullanılır. Örneğin bazı askeri projelerde, bu modelde analiz ve tasarım aşamaları birkaç yıl alabilmektedir.
Şelale modelinin avantajları nelerdir?
Şelale modelinde analiz ve tasarım aşamaları oldukça detaylı yapıldığından, bu adımlar uzun sürmektedir. Ancak, analiz ve tasarım aşamalarında gereksinimlerin ve tasarımın net bir şekilde ortaya konulmasından dolayı, kodlama ve test aşamaları çok kısa sürmektedir. Test aşamasında çıkan hata sayısı çok azdır.
Şelale modelinin dezavantajları nelerdir?
Şelale modelinde, üst adımlarda yapılan hataların yarattığı zaman kaybı oldukça fazladır. Örneğin test aşamasında karşılaşılan bir hatanın analizden kaynaklandığı tespit edilirse, analiz, tasarım ve test dokümanlarının güncellenmesi ve kodun düzeltilmesi gerekir, ki bu oldukça ciddi zaman ve dolayısıyla para kaybına yol açar.
Şelale modelinin dezavantajlarından bir tanesi de, ürünün ortaya çıkması için tüm aşamaların tamamlanmasını beklememek zorunda kalmaktır. Örneğin; proje 4 sene sürecek ise, müşterinin ilk prototipi görmesi için, analiz, tasarım ve kodlama aşamalarının bitmesini, yani en az 2-3 sene beklemesi gerekecektir. Bu durum; bazı sabırsız müşteriler için sorun teşkil edebilir. Bu gibi durumlarda çevik yöntemler daha faydalı olabilir.