Afyon Kocatepe Üniversitesi Proje Adı :Yazılım Geliştirme Metodu Bölüm Adı :Bilgisayar Programcılığı Sunanın Adı :SEMRA TAŞIRAN
ŞELALE (WATERFALL) MODELİ MESLEK YÜKSEK OKULLARINDA NEDEN YAZILIM GELİŞTİRME METODLARI KONUSU İŞLENMİYOR ŞELALE (WATERFALL) MODELİ
İçİndekİler Yazılım geliştirme metodu tarihi Yazılım geliştirme metodu tanımı Yazılım geliştirme metodları Şelale modeli tarihi Şelale modeli tanımı
İçİndekİler Şelale modeli aşamaları Şelale modeli özellikleri Neden yazılımda şelale modeli kullanılmalı? Şelale Yöntemini İşleyen MYO Şelale Yöntemini İşlemeyen MYO
YAZİLİM GELİŞTİRME SÜRECİNİN TARİHİ Bilgisayarların ilk ortaya çıkmasıyla birlikte yazılım geliştirme süreci de başlamıştır. Bu süreç 1940’lı yıllara kadar gitmektedir.İlk yıllarda geliştirilen yazılımlarda görülen en büyük eksiklik yazılım projelerinin zamanında tamamlanamaması ve istenilen kalitede (dokümantasyon, fonksiyonellik, harcanan fazla iş gücü) olmamasıdır.
YAZILIM GELİŞTİRME METODU Yazılımın hem üretim, hem de kullanım süreci boyunca geçirdiği tüm aşamalar yazılım geliştirme yaşam döngüsü olarak tanımlanır. Yazılım işlevleri ile ilgili gereksinimler sürekli olarak değiştiği ve genişlediği için, söz konusu aşamalar sürekli bir döngü biçiminde ele alınır. Döngü içerisinde her hangi bir aşamada geriye dönmek ve tekrar ilerlemek söz konusudur. Yazılım yaşam döngüsü tek yönlü ve doğrusal değildir.
Şekilde görüleceği gibi son yıllarda yazılımlarda görülen açıklıklar önemli oranda artmaktadır.
YAZILIM GELİŞTİRME METODLARI Gelişigüzel Geliştirme Modeli Barok Modeli Şelale Modeli Helezonik Modeli Artırımsal Geliştirme Modeli Döngüsel Model Çevik Yazılım Geliştirme Modeli
Bu çalışmada, kişisel bilgi yönetim yazılımı olarak bir ajanda uygulaması oluşturmak için yazılım geliştirme modellerinden biri olan waterfall(şelale) model kullanılmıştır.
ŞELALE MODELİ TARİHİ Şelale modelinin ilk resmi açıklaması genellikle Winston W. Royce tarafından 1970 yılında makale olarak çağrılır, Royce bu makalede kullanmıyordu. Royce bir kusurlu, çalışmayan modelinin bir örnek olarak bu modeli sundu.
ŞELALE MODELİ TANIMI Yaşam döngüsü temel adımları baştan sona en az bir kez izleyerek gerçekleştirilir. İyi tanımlı projeler ve üretimi az zaman gerektiren yazılım projeleri için uygun bir modeldir. Geleneksel model olarak da bilinen bu modelin kullanımı günümüzde giderek azalmaktadır.
ŞELALE MODELİ TANIMI Barok modelin aksine belgeleme işlevini ayrı bir aşama olarak ele almaz ve üretimin doğal bir parçası olarak görür. Barok modeline göre geri dönüşler iyi tanımlanmıştır. Yazılım tanımlamada belirsizlik yok ise ve yazılım üretimi çok zaman almayacak ise uygun bir süreç modelidir.
ŞELALE MODELİ TANIMI Şelale Modeli diğer modellere örnek teşkil etmekte olup; Analiz (Analysis), Tasarım (Design), Kodlama (Coding), Test (Verification) ve Bakım (Maintanence) aşamalarından oluşmaktadır.
ŞELALE MODELİ AŞAMALARI (2) TASARIM (1) ANALİZ Yazılım Geliştirme Süreci (3) KODLAMA (5) BAKIM (4) TEST
ANALİZ Yazdığınız kod ancak isteneni doğru bir biçimde yerine getiriyorsa başarılı bir yazılımdır. Bu nedenle öncelikle yazılımdan ne istendiğinin doğru bir biçimde tanımlanması gerekir. Analiz aşaması personel, donanım ve sistem gereksinimlerinin belirlenmesi, sistemin fizibilite çalışmasının yapılması, kullanıcıların gereksinimlerinin analizi, sistemin ne yapıp ne yapmayacağının kısıtlamalar göz önüne alınarak belirlenmesi, bu bilginin kullanıcılar tarafından doğrulanması ve proje planı oluşturulması adımlarından oluşur.
TASARIM Analiz aşaması sonucunda belirlenen gereksinimlere yanıt verecek yazılımın temel yapısının oluşturulduğu aşamadır. Tasarım aşaması, yazılımın hem kullanıcı ara yüzünü hem de programın omurgasını ortaya koymaktadır. Yapılacak tasarım, yazılımın işlevsel gereksinimlere uygun olmasının yanı sıra kaynaklar, performans ve güvenlik gibi kavramları da göz önüne alınarak gerçekleştirilmelidir.
KODLAMA Kodlama aşaması, tasarım sürecinde ortaya konan veriler doğrultusunda yazılımın gerçekleştirilmesi aşamasıdır. Bu süreç programlama çalışmalarının yanı sıra yazılımın geliştirilmesi ve kullanıcıya ulaştırılması sürecindeki bütün çalışmaları kapsar. Yazılım geliştirme ortamı, programlama dili, veri tabanı yönetim sistemi, yazılım geliştirme araçları seçimi kodlama aşamasında gerçekleştirilir.
TEST Test aşaması, yazılım kodlanması sürecinin ardından gerçekleştirilen sınama ve doğrulama aşamasıdır. Elde edilen uygulama yazılımının hem belirlenen gereksinimleri sağlayıp sağlamadığı hem de gerçekleştirimin beklentilere uygun olup olmadığını kontrol etmek için statik ve dinamik sınama tekniklerinden yararlanır. Yazılım üretiminde ilk testler genelde geliştirme sürecinde programcı tarafından yapılır. Bununla birlikte, asıl hata ayıklama ve geribildirim hizmeti test ekipleri tarafından yapılır. Testler ve geribildirim müşteri yazılımı kullandığı sürece devam eder.
BAKIM Yazılımın tesliminden sonra hata giderme ve yeni eklentiler yapma aşamasıdır. Yazılımın kullanıma başlanmasından sonra yazılımın desteklenmesi sürecini kapsar. Yazılımın eksiklerinin giderilmesi, iyileştirilmesi gibi alt aşamaları içeren aşamadır.
ŞELALE MODELİNİN ÖZELLİKLERİ Şelale modeli akışı kolaydır. Bu projenin herhangi bir boyut için uygulanabilir. Aşamaları atlamak değil de her aşamasında doğru zamanda ayrı ayrı yapılmalıdır. Belgeler insanlar tarafından yapılmıştır, anlamak için izin veren bir şelale modelinin her aşamasında üretilir. Test her aşamada yapılır.
SORUNLARI Gerçek yaşamdaki projeler genelde yineleme gerektirir. Genelde yazılımın kullanıcıya ulaşma zamanı uzundur. Gereksinim tanımlamaları çoğu kez net bir şekilde yapılamadığından dolayı, yanlışların düzeltilme ve eksiklerin giderilme maliyetleri yüksektir.
SORUNLARI Yazılım üretim ekipleri bir an önce program yazma, çalıştırma ve sonucu görme eğiliminde olduklarından, bu model ile yapılan üretimlerde ekip mutsuzlaşmakta ve kod yazma dışında kalan (ve iş yükünün %80’ini içeren) kesime önem vermemektedirler. Üst düzey yönetimlerin ürünü görme süresinin uzun oluşu, projenin bitmeyeceği ve sürekli gider merkezi haline geldiği düşüncesini yaygınlaştırmaktadır.
NEDEN YAZILIMDA ŞELALE MODELİ KULLANILMALI? Müşteri ne istediğini tam olarak bilmeyebilir. Müşteri ne istediğini doğru olarak ifade edemeyebilir.
Şelale yönteminde proje akışı bir sonraki safhaya geçiş yönündedir. Şelale yöntemi ile müşterinin istediği yazılım sistemi proje sonunda tamamlanır. Ancak bu safhada müşteri yazılım sistemini test edebilir. Müşteri tamamlanan yazılım sistemini tüm artı ve eksileriyle kabullenmek ve kullanmak zorundadır.
Yazılım üretilirken Yazılım Geliştirme Modellerinden birini kullanmak işin daha doğru, daha çabuk yapılmasına katkıda bulanacak bir anahtardır.
Yapılan tüm bu çalışmalar sonucunda elde ettiğimiz verilerle Bilgisayar Programcılığı eğitimi verilen meslek yüksekokullarında ders olarak müfredat içerisinde Şelale yöntemi verilmesi gerekliliği ortaya çıkmaktadır.
Yaptığımız araştırmalar sonucunda Bilgisayar Programcılığı MYO da bu dersin işlenip işlenmediğine dair ve okul bitiminde iş hayatındaki etkilerini araştırdık. Elde ettiğimiz verilere dayanarak;
AKDENİZ ÜNİVERSİTESİ- Korkuteli MYO GÜMÜŞHANE ÜNİVERSİTESİ -Torul MYO YAZILIM GELİŞTİRME METODU KONUSUNDA Kİ ŞELALE YÖNTEMİNİ İŞLEYEN MESLEK YÜKSEK OKULLARINDA; AKDENİZ ÜNİVERSİTESİ- Korkuteli MYO GÜMÜŞHANE ÜNİVERSİTESİ -Torul MYO AFYON KOCATEPE ÜNİVERSİTESİ -Dinar MYO (Alma nedeni; İş hayatında ve çalışma ortamında daha verimli olabilmek için)
Bilecik Üniversitesi- Söğüt MYO YAZILIM GELİŞTİRME METODU KONUSUNDA Kİ ŞELALE YÖNTEMİNİ İŞLEMEYEN MESLEK YÜKSEK OKULLARINDA; Bilecik Üniversitesi- Söğüt MYO Afyon Kocatepe Üniversitesi- Sandıklı MYO FIrat Üniversitesi -Karakoçan MYO (Almama Nedeni;Öğrencilerin ileri düzeyde bilgileri tam olmadığı için ve Daha çok mühendisliğe yönelik bir konu olduğu için işlenmiyor)
TEŞEKKÜRLER