Bahsettiğiniz sorun, birkaç şeyin atlandığı, dolayısıyla ortaya çıkan sistemin yanlış gittiği anlamına gelir. Bazı eksik adımları açıklayayım:
Kalite Yönetimi - İlk seferde doğru yapın! Asla geçici bir saldırı veya geçici uzlaşma kullanmayın. Yeniden işleme gerekmeyecektir. Tüm kaynaklar verimli bir şekilde kullanılıyor ve yaptığınız her şey projeye uygun bir katkı.
Fizibilite Analizi - İş gereksinimini keşfedin. Proje için bir iş vakası oluşturun.
Proje Planı - Başlangıç kapsamınızı net bir şekilde tanımlayın, çözümün nasıl sunulacağını planlayın, bir temel oluşturun, plana sadık kalın. Kritik yolda olmayan hiçbir şeye zaman harcamayın.
Gereksinimler Mühendisliği - İş gereksinimlerini ortaya çıkarın (örn. İş süreçlerini yakalayın ve hangi iş işlemlerinin bilgisayarlı sistem tarafından desteklenmesi gerektiğini belirleyin, 1: 1 iş işlemlerini sistem kullanım durumlarına çevirin). Doğrula ve doğrula! (doğru olanı mı inşa ediyoruz? Doğru olanı mı inşa ediyoruz?) Tüm gereksinimler asıl iş ihtiyacına bağlı olmalıdır.
Yazılım Tasarımı - Kullanım örneklerini ve etki alanı modelini bileşen tasarımı ve çözüm mimarisine çevirin. Tüm bileşenler RE'nin gereksinimlerine bağlı olmalıdır.
Uygulama - Yazılımı tasarımdaki gibi kodlayın. Tüm kodlar SD bileşenlerine bağlanmalıdır.
Doğrulama - Birim testi, entegrasyon testi, performans, ... (RE'deki tüm kullanım durumlarının test edilmesi gerekecek)
Bunlar bir yazılım sürecinin bazı önemli yönleridir. Bahsedilen faaliyetler Yazılım Mühendisliği'nin bir parçasıdır. Gerçek iş ihtiyaçları için doğru yazılım çözümünü bu şekilde oluşturuyorsunuz ve bunu zamanında, bütçeye ve şartnameye göre oluşturuyorsunuz.
Daha iyi bir yazılım oluşturmak ve ilk seferde doğru yapmak için bu şartları inceleyin:
- Fizibilite Analizi (özellikle bir Ticari Durumun nasıl oluşturulacağı)
- Proje Yönetimi (özellikle Risk Azaltımı ile Proje Planı ve Risk Kaydı)
- Gereksinim Mühendisliği (eleme, analiz, şartname, validasyon)
- Yazılım Tasarımı (UML ve bileşen tabanlı yazılım mühendisliği)
- Yazılım Yapımı (tasarım modelleri, çerçeveler, savunma programlama)
- Yazılım Doğrulama (birim testi, UAT vb.)