SDLC (Software Development Lifecycle)

Yazılımın ürününün hem üretim hem de kullanım boyunca geçirdiği tüm aşamalar Software Development Life Cycle “SDLC” olarak adlandırılır. Yazılım geliştirme süreci, zamanlamaya dayalı ve içerik olarak bölünmüş aşamalardan oluşmaktadır. Bu sayede yazılım planlı bir şekilde geliştirilmektedir. Temel yazılım geliştirme aşamaları aşağıdaki gibidir:

  • Planlama:SDLC in ilk aşamasıdır. Temel ihtiyaçlar belirlenir ve proje planlaması gerçekleştirilir.
  • Analiz:Bu aşamanın amacı sistemin işlevini ortaya koyabilmektir. Müşteri, yazılım mühendisi, sistem analisti, iş analisti, ürün yöneticisi vb. rollerin bir araya geldiği gruplar tarafından yapılabilir. İhtiyaçların net olmadığı durumlarda yazılım mühendisi ve müşteri arasında iletişim ve birlikte çalışmanın çok daha fazla olması gerekir.
  • Tasarım: Bu adım projenin yapıldığı adımdır ve en uzun süren kısmı oluşturmaktadır. Yazılım uzmanları tarafından yapılmaktadır.
  • Test : Kodlama süresince ve kodlama sonrasında yapılan diğer önemli aşamatest’tir. Erken test yaklaşımı ile (early testing) hareket edip, analiz aşamasından itibaren test bakış açısına sahip olmamız hata yapma oranımızı ve maliyetleri (zaman, para, prestij vb.) düşürecektir. Çeşitli test tipleri uygulanabilir. Test tipleri için linkten yararlanabilirsiniz.
  • Teslim ve Bakım : Tüm test aşamaları tamamlandıktan sonra yazılım ürünün sahaya teslim edilebilir bir versiyonu çıkartılır ve teslim aşaması gerçekleştirilir. Teslim çıktısı olarak ürün tek başına yeterli değildir. Mutlaka son kullanıcılar için kullanım kılavuzu ve versiyon fark dokümanı oluşturulmalıdır. Teslim ile birlikte bakım aşaması da başlar.

Yaşam döngüsünün temel adımları çekirdek süreçler (core processes) olarak da adlandırılır. Bu süreçlerin gerçekleştirilmesi amacıyla Yazılım Belirtim Yöntemleri ve Yazılım Süreç Modelleri kullanılmaktadır.

SDLC Yaşam Döngüsünde Müşteriyi İyi Anlamak Gerekir. Girdide Çıktıda Farklı Olabilir. Her an bu Tablo ile karşılaşabiliriz. Aman dikkat 🙂

 

Yazılım Süreç Modelleri (Processes)

Yazılım yaşam döngüsünde belirtilen süreçlerin geliştirme aşamasında, hangi düzen ya da sırada, nasıl uygulanacağını tanımlayan modellerdir. Karmaşıklığı azaltıp krizleri önler. Ürünlerin beklenilen kalitede olması süreçlerin kontrol edilmesine bağlıdır. Belli başlı yazılım süreç modelleri aşağıdaki gibidir;

  • Kodla ve Düzelt (Code and Fix)
  • Şelale Modeli (Waterfall Model)
  • V Modeli (V-shaped Model)
  • Evrimsel Geliştirme (Evolutionary Development)
  • Prototipleme (Prototyping)
  • Spiral Model
  • Formal Sistem Geliştirme (Formal System Development)
    • Matematiksel sistem modeli formal (kurallara uygun) olarak gerçekleştirilir.
  • Yeniden kullanıma yönelik geliştirme (Re-use based development)
    • Sistem var olan bileşenlerden toparlanır
  • Artımlı Geliştirme (Incremental Development)
  • Birleşik Süreç (Unified Process)
  • Çevik Modeller (Agile models: XP,Scrum)

 

error: Content is protected !!