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

Yazılım veya Sistem Geliştirme Yaşam Döngüsü, bir sistemin başlangıçtan son aşamasına kadar olan ara süreçleri tanımlar. İlk önerilen şelale sisteminden sonra bir çok farklı yaşam döngüsü önerilmiştir. Bunlar arasında aşağıdakiler sayılabilir.

Küçük yazılımlar aşağıdaki iki adımdan oluşur. Bu kitapta çözeceğimiz tüm sorular ve herhangi bir derste öğreneceğiniz yazılımlar aşağıdaki iki adım yani analiz ve kodlama kullanarak çözülebilir. Burada analiz parçası problemin incelenmesi, kodlama bu inceleme sonrasında yazılan kodu içermektedir.

---
title: Kısa Yazılım Geliştirme Yaşam Döngüsü
---
flowchart LR
    Y(Analiz) --> C(Kodlama)
    C --> Y

Ama yazılım projeleri büyüdükçe daha tutarlı ve resmi bir döngü takip edilmesi gerekir. Bu döngülerden şelale aşağıdaki diagramda verilmiştir.

---
title : Şelale Yazılım Geliştirme Yaşam Döngüsü
---
flowchart LR
    S(Sistem Gereksinimleri) 
    S --> Y(Yazılım Gereksinimleri)
    Y --> A(Analiz)
    A --> D(Tasarım)
    D --> C(Kodlama)
    C --> T(Test)
    T --> O(Operasyon)
    O --> S

Bu diagram’a şelale ismi daha sonradan verilmiştir. Bu diagram üzerinde geri dönüşler olmadığı için şelale ismi kullanılmaktadır ama bu döngüyü ile öneren makalede [1] bile, geri dönüşler vardır. Yani test sırasında bir hata olduğu görüldüğü zaman, daha önceki adımlara dönülmektedir. Bu diagram aşağıda görülebilir.

---
title: Değiştirilmiş Şelale Yazılım Geliştirme Yaşam Döngüsü
---
flowchart LR
    S(System Requirements) 
    S --> R(Software Requirements)
    R --> S 
    R --> A(Analysis)
    A --> R
    A --> D(Design)
    D --> A
    D --> C(Coding)
    C --> D
    C --> T(Testing)
    T --> C
    T --> O(Operations)
    O --> T
    O --> R

Şelale döngüsündeki adımlar aşağıdaki gibidir.

Bu ilk üç adım bazı yerlerde gereksinim analizi olarak aşağıdaki gibi birleştirilir.

---
title : Yazılım Geliştirme Yaşam Döngüsü
---
flowchart LR
    S(Gereksinim Analizi) 
    S --> D(Tasarım)
    D --> C(Kodlama)
    C --> T(Test)
    T --> O(Operasyon)
    O --> S