Şelale Modeli tanıtılan ilk Süreç Modeliydi. Aynı zamanda doğrusal sıralı yaşam döngüsü modeli olarak da adlandırılır . Anlaşılması ve kullanılması oldukça basittir. Şelale modelinde, bir sonraki aşamanın başlayabilmesi için her aşamanın tamamlanması gerekir ve aşamalar arasında herhangi bir örtüşme yoktur.
Şelale modeli, yazılım geliştirme için kullanılan en eski SDLC yaklaşımıdır.
Şelale Modeli, yazılım geliştirme sürecini doğrusal bir sıralı akışla gösterir. Bu, geliştirme sürecindeki herhangi bir aşamanın ancak önceki aşamanın tamamlanmasıyla başlayacağı anlamına gelir. Bu şelale modelinde fazlar örtüşmemektedir.
Şelale Modeli – Tasarım
Şelale yaklaşımı, projenin başarısını sağlamak için Yazılım Mühendisliğinde yaygın olarak kullanılan ilk SDLC Modeliydi. “Şelale” yaklaşımında yazılım geliştirme sürecinin tamamı ayrı aşamalara ayrılmıştır. Bu Şelale modelinde tipik olarak bir aşamanın sonucu, sırayla bir sonraki aşamanın girdisi olarak hareket eder.
Aşağıdaki çizim Şelale Modelinin farklı aşamalarını göstermektedir.
Şelale modelindeki sıralı aşamalar şunlardır:
- Gereksinim Toplama ve Analizi – Geliştirilecek sistemin tüm olası gereksinimleri bu aşamada toplanır ve bir gereksinim spesifikasyon belgesinde belgelenir.
- Sistem Tasarımı – Bu aşamada ilk aşamadaki gereksinim özellikleri çalışılır ve sistem tasarımı hazırlanır. Bu sistem tasarımı, donanım ve sistem gereksinimlerinin belirlenmesine ve genel sistem mimarisinin tanımlanmasına yardımcı olur.
- Uygulama – Sistem tasarımından elde edilen girdilerle, sistem ilk önce birim adı verilen ve bir sonraki aşamada entegre edilen küçük programlarda geliştirilir. Her birim, Birim Testi olarak adlandırılan işlevselliği açısından geliştirilir ve test edilir.
- Entegrasyon ve Test – Uygulama aşamasında geliştirilen tüm birimler, her birimin test edilmesinin ardından bir sisteme entegre edilir. Entegrasyon sonrası tüm sistem herhangi bir arıza ve arıza açısından test edilir.
- Sistemin dağıtımı – İşlevsel ve işlevsel olmayan testler yapıldıktan sonra; Ürün müşteri ortamında konuşlandırılır veya pazara sunulur.
- Bakım – İstemci ortamında ortaya çıkan bazı sorunlar var. Bu sorunları çözmek için yamalar yayınlanır. Ayrıca ürünü geliştirmek için bazı daha iyi versiyonlar piyasaya sürüldü. Bakım, bu değişiklikleri müşteri ortamında sağlamak için yapılır.
Tüm bu aşamalar birbirine basamaklıdır ve ilerlemenin aşamalar boyunca sürekli olarak aşağıya doğru (şelale gibi) aktığı görülmektedir. Bir sonraki aşama ancak bir önceki aşama için belirlenen hedeflere ulaşıldıktan ve imzalandıktan sonra başlatılır, dolayısıyla “Şelale Modeli” adı verilir. Bu modelde fazlar örtüşmez.
Şelale Modeli – Uygulama
Geliştirilen her yazılım farklıdır ve iç ve dış faktörlere göre uygun bir SDLC yaklaşımının izlenmesini gerektirir. Şelale modelinin kullanımının en uygun olduğu bazı durumlar şunlardır:
- Gereksinimler çok iyi belgelendirilmiş, açık ve sabittir.
- Ürün tanımı stabildir.
- Teknoloji anlaşılır ve dinamik değildir.
- Belirsiz gereksinimler yoktur.
- Ürünü desteklemek için gerekli uzmanlığa sahip geniş kaynaklar mevcuttur.
- Proje kısa.
Şelale Modeli – Avantajları
Şelale geliştirmenin avantajları bölümlendirmeye ve kontrole izin vermesidir. Geliştirmenin her aşaması için son teslim tarihlerini içeren bir program belirlenebilir ve bir ürün, geliştirme süreci modeli aşamalarını tek tek ilerleyebilir.
Geliştirme, konsept aşamasından tasarım, uygulama, test etme, kurulum, sorun giderme yoluyla ilerler ve işletme ve bakımla son bulur. Gelişimin her aşaması sıkı bir sırayla ilerler.
Şelale Modelinin başlıca avantajlarından bazıları şunlardır:
- Basit ve anlaşılması ve kullanılması kolay
- Modelin sağlamlığı nedeniyle yönetimi kolaydır. Her aşamanın belirli çıktıları ve bir inceleme süreci vardır.
- Aşamalar birer birer işlenir ve tamamlanır.
- Gereksinimlerin çok iyi anlaşıldığı küçük projeler için iyi çalışır.
- Açıkça tanımlanmış aşamalar.
- İyi anlaşılmış kilometre taşları.
- Görevleri düzenlemek kolaydır.
- Süreç ve sonuçlar iyi bir şekilde belgelenmiştir.
Şelale Modeli – Dezavantajları
Şelale geliştirmenin dezavantajı fazla düşünmeye veya revizyona izin vermemesidir. Bir uygulama test aşamasına geldiğinde, geri dönüp iyi belgelenmemiş veya konsept aşamasında üzerinde düşünülmemiş bir şeyi değiştirmek çok zordur.
Şelale Modelinin başlıca dezavantajları şunlardır:
- Yaşam döngüsünün sonuna kadar hiçbir çalışan yazılım üretilmez.
- Yüksek miktarda risk ve belirsizlik.
- Karmaşık ve nesne yönelimli projeler için iyi bir model değil.
- Uzun ve devam eden projeler için zayıf model.
- Gereksinimlerin orta ila yüksek düzeyde değişme riskinin olduğu projeler için uygun değildir. Dolayısıyla bu süreç modelinde risk ve belirsizlik yüksektir.
- Aşamalar halinde ilerlemeyi ölçmek zordur.
- Değişen gereksinimlere uyum sağlayamamaktadır.
- Yaşam döngüsü sırasında kapsamın ayarlanması bir projeyi sonlandırabilir.
- Entegrasyon, en sonunda bir “büyük patlama” olarak gerçekleştirilir ve bu, herhangi bir teknolojik veya ticari darboğazın veya zorluğun erken tespit edilmesine izin vermez.