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

İçindekiler

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

Yazılım Geliştirme Yaşam Döngüsü (Software Development Life Cycle ,SDLC), yazılımları tasarlamak, geliştirmek ve test etmek amaçlı kullanılan bir süreç olarak ifade edebiliriz. Yazılımın nasıl geliştirileceği, sürdürüleceği ve daha iyi hale nasıl getirileceğinin açıklayan bir plandan oluşmaktadır. Buradan da yazılımın aslında bir ürün olduğu ve o ürününde bir yaşam süreci olduğunu gözlemlemiş oluyoruz. SDLC , müşteri isteklerini karşılayacak şekilde süre ve maliyet tahminleri dahilinde tamamlanması sağlanan  kaliteli yazılım üretmeyi hedefler. Aynı zamanda SDLC, ISO/IEC 12207 dahilinde uluslararası bir standart olmayı amaçlar.

1 Yazılım Geliştirme Yaşam Döngüsü Temel Aşamaları

Yazılım Geliştirme Yaşam Döngüsü Temel Aşamaları

Yazılım Geliştirme Yaşam Döngüsü (SDLC) ifadesinin ne olduğunu anladıktan sonra gelin yazılım yaşam döngüsünün temel aşamaları neler? Kaç aşamadan oluşuyor? Gelin bu sorulara beraber yanıt bulalım.

Yazılım geliştirme yaşam döngüsü genel olarak 5 aşamadan oluşmaktadır. Bunlar; planlama, analiz, tasarım, test ve bakım alanlarından oluşmaktadır. Bunlar daha detaylı durumlar haline de getirilebilir. Şimdi gelin bu aşamaları tek tek ne olduğunu inceleyelim.

  1. Planlama: Yaşam döngüsünün ilk aşamasıdır. Burada “Ne istiyoruz” sorusuna yanıt arıyoruz. Başka bir ifade ile ekip bu aşamada projenin fizibilitesini ve projeyi nasıl başarılı bir şekilde faaliyete geçirebileceğini belirlediği yerdir.
  2. Analiz: Projenin ne kadar sürede tamamlanacağı ve ne gibi risk durumları olduğunun belirlendiği alandır. Bu aşama temel UML diyagramlarının başlandığı ilk alandır. Elde edilen bilgilerin belirli bir format halinde doküman haline getirilmesidir.
  3. Tasarım: Analiz kısmının tamamlanması sonucunda tasarım aşamasına geçilir. Burada “İstediğimizi nasıl elde edeceğiz” sorusuna cevap aranır. Proje sürecinin nasıl devam edeceği konusunda bir tasarlama işlemi gerçekleşir. Tasarımda en önemli tekniklerden bir tanesi de Soyutlama(Abstraction) tekniğidir. Bu teknik ile problemi daha basit hale getirerek problemdeki önemli kısımlara dikkat edilmesine olanak tanır.
  4. Test: Bu kısım projenin kodlandığı ve test edildiği alandır. Bu aşamada “İstediğimizi aldık mı?” sorusuna cevap arıyoruz. Projede ortaya çıkabilecek kusur ve eksik yanları bu aşamada test edilerek ulaşılmış olunuyor.
  5. Bakım: Yazılım ürünü tüm aşamaları tamamlayıp sahaya çıkartılıp teslim edildikten sonra bu aşama başlar. Bu aşama ürün ile ilgili alınan geri bildirimler sonucunda üründe yapılan yeni güncellemeler ve bakım durumlarının yapıldığı alandır.

2 Yazılım Belirtim Yöntemleri (Software Specification Methods)

  • Süreç Akışı İçin Kullanılan Belirtim Yöntemleri: Süreçler arasındaki ilişkileri ve iletişim durumunun gösterildiği yöntemlerdir. (Veri akış şemaları, nesne-sınıf şemaları)
  • Süreç Tanımlama Yöntemleri: Gerçekleşen süreçlerin iç işleyiş durumlarını göstermek için kullanılan yöntemlerdir. (Karar ağaçları, algoritma)
  • Veri Tanımlama Yöntemleri: Süreçler tarafından kullanılan verilerin tanımlanmasında kullanılan yöntemdir. (Veri tabanı tabloları, veri sözlüğü, nesne ilişki modeli)

3 Yazılım Geliştirme Yaşam Döngüsü Modelleri (Software Process Models

Yazılım geliştirme yaşam döngüsünde, süreçlerin geliştirme aşamasında, sürecin düzeni ve nasıl uygulanacağını ifade eden modellerdir. Karmaşıklık düzenini azaltır ve böylece oluşacak krizleri önler. Ürünlerin belirli bir kalitede olmasına olanak tanır. Bazı yazılım geliştirme yaşam döngüsü modelleri aşağıdaki gibidir;

  • Şelale Modeli (Waterfall Model)
  • V Modeli (V-Shaped Model)
  • Evrimsel Geliştirme (Evolutionary Development)
  • Prototipleme (Prototyping)
  • Kodla ve Düzelt (Code and Fix)
  • Artımlı Geliştirme (Incremental Development)
  • Spiral Model
  • Big Bang Model
  • RAD Model (Hızlı Uygulama Geliştirme)
  • Agile Model (Çevik Model)

Kaynakça:

  1. https://www.tutorialspoint.com/sdlc/sdlc_overview.htm
  2. https://stackify.com/what-is-sdlc/
  3. https://medium.com/@omerharuncetin/yaz%C4%B1l%C4%B1m-ya%C5%9Fam-d%C3%B6ng%C3%BC-modelleri-543c7879a742
  4. https://medium.com/@denizkilinc/yaz%C4%B1l%C4%B1m-ya%C5%9Fam-d%C3%B6ng%C3%BCs%C3%BC-temel-a%C5%9Famalar%C4%B1-software-development-life-cycle-core-processes-197a4b503696
  5. https://en.wikipedia.org/wiki/Systems_development_life_cycle#/media/File:SDLC-Maintenance-Highlighted.png
  6. https://zeynepaygun.wordpress.com/2017/05/29/what-is-sdlc-sdlc-nedir/
  7. https://medium.com/@brfn.kcr26/yazilim-geli%CC%87%C5%9Fti%CC%87rme-ve-s%C3%BCre%C3%A7-modelleri%CC%87-2131ea5f09b2
  8. https://hayririzacimen.medium.com/yaz%C4%B1l%C4%B1m-ya%C5%9Fam-d%C3%B6ng%C3%BCs%C3%BC-ve-s%C3%BCre%C3%A7-modelleri-70fdfb2f8f77
  9. https://www.zibtek.com/blog/software-development-life-cycle/

Cevap bırakın

E-posta hesabınız yayımlanmayacak.

Bültene Abone Ol
en son haberleri, duyuruları, ilanları, etkinlikleri almak için abone ol
İstediğiniz zaman abonelikten çıkabilirsiniz