KLASİK SÜREÇ
Klasik süreç (Waterfall Modeli), bilgisayar sistem mühendisliği olarak, ana sistemin analizinden başlayıp, yazılım gereksinim analizleri, tasarımı, kodlanması, kullanım ve bakımı aşamalarında bir süreç halinde gerçekleştirilmektedir. Her aşamada elde edilen sonuçların rapor halinde sunulması ve gerekirse geri besleme (feedback) yoluyla düzeltilmesi beklenmektedir.
Yazılımın geliştirilmesinde uygulanan klâsik süreç, eskiden beri yaygın olarak kullanılan bir yöntemdir. Ancak;
yolunda bazı güçlüklerle karşılaşılmaktadır. Buna karşın yine de, rastgele ve gelişigüzel bir yazılım geliştirmeye kıyasla, çok tutarlı ve güvenli bir yöntem olarak sayılmaktadır.
MODEL OLUŞTURMA
Yazılım geliştirme klâsik sürecinde, önce müşteri yazılım konusundaki amaç ve hedeflerini, gereksinimlerini genel hatları ile bildirmektedir. Ancak, girdi-işlemler ve çıktı gereksinimlerini tanımlaması beklenememektedir. Yazılım mühendisi, bu bilgilere dayanarak mevcut yazılım algoritmalarının etkenliğini, işletim sisteminin uygunluğunu ya da insan-makine etkileşim biçimini yargılamak ve yeni öneriler getirmek durumundadır. Bu halde, klâsik geliştirme sürecinde söz konusu güçlükleri aşmak için, bir yazılım modeli (prototip) oluşturmak yoluna gidilmektedir.
Bu durumda yazılımın geliştirilmesi; müşterinin gereksinimlerini belirtmesi, bir tasarım taslağı hazırlanması, model oluşturma-gereksinimlerinin işlenmesi, yazılımın üretilmesi aşamalarında tamamlanmaktadır (şekil-1.5).
Her yazılım geliştirme yönteminde olduğu gibi, burada da yazılım mühendisi (sistem analisti) ile müşteri bir araya gelerek, yazılımın amaç ve hedeflerini belirlemekte, bu hedeflere ulaştıracak gereksinimleri saptamaktadır. Bu bilgilere dayanarak, yazılım mühendisi bir taslak tasarım hazırlamaktadır. Taslak tasarım, müşterinin (kullanıcının) kolayca anlayabileceği biçimde, örneğin girdi yaklaşımları ve çıktı formatları halinde düzenlenmekte ve birlikte üzerinde tartışılmaktadır. Taslak tasarım üzerinde çalışılarak, bir yazılım modeli oluşturulmaktadır. Model, yazılım mühendisi ve kullanıcı tarafından birlikte değerlendirilerek işlenmektedir. Böylece, geliştirilecek yazılımın gereksinimleri saptanmakta ve karşılanmaktadır. Bu çalışma, müşterinin bütün ihtiyaçlarının yerine getirilişine kadar yinelenerek sürdürülmektedir.
Model (Prototip) yardımıyla yazılım geliştirme yönteminde de;
vb. sorunlar ileri sürülmektedir. Buna karşın, yazılım geliştirilmesinde modelden yararlanma, yine de etkili bir yöntem olarak görülmektedir. Böylece, müşteri gereksinimleri ve onayı daha kısa sürede sağlanmakta ve yazılım mühendisi kalite ve bakım konularına ağırlık verebilmektedir.
DÖRDÜNCÜ KUŞAK TEKNİKLERİ
Yazılım geliştirmede dördüncü kuşak tekniği (4GT) olarak, yazılım geliştirme araçları oluşturma yolu açılmıştır. Bu araçlar sayesinde, bazı yazılım özellikleri yüksek nitelikte geliştirilebilmektedir. Yazılım araçları (software tools); program yapıcı programlar olup, yazılım mühendisinin belirlediği spesifikasyonlara dayanarak, otomatik şekilde kaynak programı düzenleyebilmektedir. Ancak bunun için, yazılımın tanımlamasının da çok yüksek düzeyden bir dilde (4. kuşak dili) yapılması gerekmektedir. Bu nedenle, yazılım mühendisi özellikle yazılımı makine koduna dönüştürebilecek doğal dile yakın bir dilde ya da komutları yerine getirebilecek bir gösterim şeklinde hazırlamak durumundadır.
Yazılım geliştirme ortamını destekleyen yazılım araçları; veri tabanı sorgulaması için işlemsel olmayan (nonprocedural) diller, rapor üretici, veri yöntemi, ekran etkileşimi ve tanımı, kod üretici, yüksek düzeyde grafik oluşturucu, tablo düzenleyici olarak sayılmaktadır. Ancak, bu araçlar günümüzde sadece bazı özel alanlarda ve sınırlı olarak kullanılabilmektedir.
Dördüncü kuşak tekniğinin yazılım geliştirmede uygulanmasına da, “gereksinimlerin derlenmesi” ile başlanmaktadır (Şekil-1.6). Bu işlemi yine yazılım mühendisi ile kullanıcı birlikte gerçekleştirmektedirler. Dar kapsamlı yazılımlar için işlemsel olmayan dördüncü kuşak programlama dili kullanılarak, doğrudan “yazılımı gerçekleştirme” aşamasına geçilebilmektedir. Geniş kapsamlı yazılımlarda ise, önce bir “tasarım stratejisi” geliştirmek ve sonra 4. kuşak dil kullanılarak” yazılımı gerçekleştirme” aşamasına geçmek gerekmektedir. Aksi halde, müşteri tarafından kabul edilebilecek nitelikte bir yazılım üretilmemektedir.
Tasarım stratejisi geliştirildikten sonra, 4. kuşak bir programlama dili kullanılarak yazılım mühendisi tarafından betimlenen yazılım otomatik olarak kaynak program haline dönüştürülmektedir. Kuşkusuz, ilgili veri ile birlikte veri yapısı da 4. kuşak dilinde erişebilecek şekilde hazırlanmış olmalıdır. Dördüncü kuşak dilleri; sorgulama, program üretici, karar destekleme, model oluşturma, formal spesifikasyon dilleri olarak çeşitli işlevler için geliştirilmişlerdir.
Son basamak olarak, 4. kuşak dilinde geliştirilmiş olan yazılımın üretilmesidir. Bu aşamada yazılım mühendisi hazırlanmış olan yazılımı sınamakta, gerekli belgeleri düzenlemekte ve kılavuzları hazırlamaktadır.
Dördüncü kuşak teknikleri ile yazılım geliştirme yöntemi üzerine yaygın bir geliştirme sürdürülmektedir. Olumlu yönleri olarak; yazılım geliştirme süresini önemli ölçüde kısalttığı ve üretimi arttırdığı ileri sürülmektedir. Olumsuz yönleri de;
konularını içermektedir.
RAD MODEL
RAD model (Rapid Application Development), klasik süreç (Waterfall) modelin geliştirme süresinin kısaltılmış ve hızlandırılmış şeklidir. Hızlı geliştirme, bileşen temelli yapılanma (Compoment-based construction) yaklaşımı ile gerçekleştirilir.
RAD, yeniden kullanılabilir program bileşenlerinin geliştirilmesini vurgular. Yeniden kullanılabilirlik (reusability) nesne (object) teknolojisinin gereğidir.
EVRİMSEL (EVOLUTIONARY) YAZILIM GELİŞTİRME SÜRECİ MODELLERİ
Bu modeller, iteratifdir. Yazılımların daha tamamlanmış versiyonlar şeklinde hazırlanmasını sağlarlar. Evrimsel modelleri,
olarak inceleyebiliriz.
ARTIMLI (INCREMENTAL) MODEL
Prototip oluşturmanın iteratif yaklaşımıyla waterfall modelin elemanlarını birleştirir. Her artım,
adımlarında gerçekleştirilir.
Prototip oluşturmadan farkı her bir artımda üretilen ürün dağıtılır ve kullanıcılar tarafından değerlendirileceği bir platform sağlanır.
SPİRAL MODEL
Spiral Model, Boehm tarafından 1988′de geliştirilmiştir. Bu modelde de prototip oluşturmanın iteratif yapısı ve Waterfall’un kontrollü ve sistematik yapısı birleştirilmiştir. Bu modele göre yazılım, artımlı “release”ler dizisi olarak hızlı geliştirilir. İlk iterasyonlar prototiptir; daha sonrakiler ise dağıtımı yapılan versiyonlar şeklindedir.
Spiral model aşamaları:
şeklindedir.
Bu Yazı Hakkında Birşeyler Demek İstermisiniz?