Yazılım Geliştirme Süreci
Bilgisayarlarda çeşitli amaçlarla kullanılmakta olan yazılım ürünlerinin fikir aşamasından son kullanıcılar tarafından temin edilerek kullanılmasına kadar geçen aşamaların tümüne yazılım geliştirme süreci adı verilir.
Yazılım geliştirme faaliyetleri kurumsal bir firma veya freelancer yazılımcı tarafından geliştirilebilir. Ancak süreçlerin büyük bir kısmı benzer şekilde uygulanmalıdır. Bazı aşamalar diğer süreçlere dahil edilebilir, göz ardı edilebilir veya daha çok üzerinde durulabilir. Tüm süreçlerin eksiksiz şekilde uygulanması en iyi olanıdır. Fakat uygulamada gerek personel yetersizliği, gerek maddi sebepler ve zamanla elde edilen tecrübeler nedeniyle farklı yaklaşımlar olabilmektedir.
Yazılım Geliştirme Süreçlerinin Ayrıntılı İncelemesi
Yazılım geliştirme süreçlerine daha yakından bakmak gerekirse;
Fikir Aşaması
Herhangi bir ihtiyaç nedeniyle talep edilen veya yazılım uygulayıcısı tarafından ihtiyaç duyulduğu fark edilen bir konuda yazılım geliştirmek için yapılan zihinsel çalışmalardır.
Planlama
Geliştirilmesi düşünülen yazılımın “algoritma” haline getirilmesi, donanım gereksinimleri, maliyete yönelik analizler bu kapsamda incelenebilir.
Kodlama
Projenin boyutuna göre; büyük bir ekip veya tek bir yazılımcı tarafından, gerekli programlar ve derleyiciler yardımı ile bir programlama dili kullanarak yapılan çalışmalardır.
Test
Genellikle başka bir ekip tarafından yazılımın test edilmesi, kodlama aşamasında gözden kaçan veya sınırları tam olarak belirlenmemiş fonksiyonların sınandığı, normal şartlarda beklenmeyen (Örneğin; Basılmaması gereken bir tuşa basılması) olayların gerçekleştirildiği aşamadır. Test aşamasının süresi konusunda net bir yorum yapılamaz. Öyle ki bazı test süreçleri yazılım sahaya sürüldükten sonra dahi uzun bir müddet devam etmekte, bunda son kullanıcılardan yapılan dönüşlerde etkili olmaktadır.
Satış – Yayınlanma – Son kullanıcıya Sunma Aşaması:
Bu süreç yazılımın ticari olarak satışı veya ücretsiz olarak yayınlanması ile gerçekleştirilir. Son kullanıcılar kendi bilgisayarlarında yazılımı kullanır.
Update – Güncelleme
Yazılımda bulunan aksaklıkların test aşamasında veya son kullanıcılar tarafından yapılan dönüşler sonucunda giderilmesi ve zamanla ortaya çıkan yeni ihtiyaçlara göre yeni özelliklerin eklenerek bu yeni versiyonun sahaya yayınlandığı aşamadır.