17 Ağustos 2013 Cumartesi

ISO 12207 Yazılım Geliştirme Yaşam Döngüsü

ISO 12207 Yazılım Geliştirme Yaşam Döngüsü 7 Kısımdan Oluşmaktadır.

Gereksinim Analizi (Requirements Analysis)
Tanımlama (Specification)
Tasarım (Design)
Kodlama (Coding)
Doğrulama ve Sağlama (Verification & Validation)
Kurulum (Installation)
Bakım ve Destek (Maintenance & Support)


Gereksinim Analizi
Gerçekleştirilmesi planlanan projedeki kullanıcı sistem beklentileri tanımlanır. Analiz önce bir fizibilite çalışması gerektirebilir. Yazılımın servisleri, kısıtları ve hedefleri belirlenir. Kullanıcı gereksinimlerinin belirlenmesinde değişik yaklaşımlar kullanılabilir. Örneğin kullanıcıların bütün gereksinimlerini karşılamayan ancak düşük maliyetli bir çözüm ile bütün gereksinimlerin karşılandığı yüksek maliyetli bir çözüm karşılaştırılabilir.

Tanımlama
Gerçekleştirilecek sistemden beklenenlerin detaylı bir şekilde dokümante edilmesi. Yazılım projelerinde projenin amaçları 3 farklı kavram ile tanımlanır: İşlevsel Gereksinimler (Functional Requirements): Projeden elde edilecek son ürünün neler yapması gerektiği tanımlanır. Bu tanımlamalar için çeşitli sistem analizi ve tasarım yöntemleri kullanılır. Kalite Gereksinimleri (Quality Requirements): Sistemin ne yaptığı ile değil, nasıl yaptığı ile ilgili uygulama özellikleri mevcuttur. Bunlar hala kullanıcılara açık olan taraflardır. (Sistemin yanıt verme süresi, kullanım kolaylığı vb.) Kaynak Gereksinimleri (Resource Requirements): Kuruluşun sistem için ne kadar harcama yapmak istediğinin göstergesidir. Bu, sistemin tamamlanma süresi ile ters orantılıdır. 

Tasarım
Tanımlamaları bütünüyle karşılayan bir tasarımın hatları belirlenir. Tasarım iki aşamadır: Uygulamanın dış görünüşü ile ilgili dış tasarım veya kullanıcı arayüz tasarımı. Verilerin ve yazılım modüllerinin içsel olarak yapısallaştırıldığı fiziksel tasarım. 
Kodlama
C, C++, C# veya Java gibi seçilmiş bir programlama dili kullanılarak, uygulamanın kodlamasıdır. Hazır paket yazılımlar kullanılmış olsa bile, bu paket yazılımlarda yeni uygulamanın gerektirdiği değişikliklerin yapılması gerekebilir. 
Doğrulama & Sağlama

Yazılım o andaki uygulama için geliştirilmiş olsun veya olmasın, sistemin gereksinimleri karşılayıp karşılamadığının testi gereklidir. Her safhanın sonunda yapılan test işlemine doğrulama (verification) denir. Projenin sonunda, müşteriye ürünü teslim etmeden önce yapılan test işlemine ise sağlama (validation) denir. 
Kurulum
Bazı sistem geliştiriciler, tasarımdan sonraki bütün proje sürecini gerçekleştirim olarak görmekte, bazıları ise sistem geliştirme bittikten sonraki kurulumu gerçekleştirim olarak görmektedir. İkinci durum, aynı zamanda veri dosyalarının ve sistem parametrelerinin belirlenmesi, kullanıcı kılavuzlarının yazılması ve yeni sistem kullanıcılarının eğitimini de içermektedir.  
Bakım & Destek 

Sistem kurulduktan sonra, oluşmuş hataların düzeltilmesi veya sistemdeki iyileştirmeler veya gelişmeler için devamlı bir bakım söz konusudur. Bakım ve destek aktiviteleri zaman zaman ayrı küçük yazılım projeleri gibi görülmelidir.  Bazı ortamlardaki yazılım geliştirme faaliyeti aslında bir bakım gibi değerlendirilebilir.