Yazılım Geliştirme Yaşam Döngüsü (SDLC) Aşamaları ve Modelleri
SDLC nedir?
SDLC geliştirilen yazılımın kalitesini ve doğruluğunu garanti eden sistematik bir yazılım geliştirme sürecidir. SDLC süreci, müşteri beklentilerini karşılayan yüksek kaliteli yazılımlar üretmeyi amaçlamaktadır. Sistem geliştirmenin önceden tanımlanan zaman dilimi ve maliyette tamamlanması gerekir. SDLC, belirli bir yazılımın nasıl planlanacağını, oluşturulacağını ve sürdürüleceğini açıklayan ayrıntılı bir plandan oluşur. SDLC yaşam Döngüsünün her aşamasının, bir sonraki aşamayı besleyen kendi süreci ve çıktıları vardır. SDLC'nin anlamı Yazılım geliştirme Yaşam Döngüsü ve aynı zamanda Uygulama Geliştirme yaşam döngüsü olarak da adlandırılır.
Neden SDLC?
Burada SDLC'nin bir yazılım sistemi geliştirmek için önemli olmasının başlıca nedenleri yer almaktadır.
- Proje planlama, zamanlama ve tahmin için bir temel sunar.
- Standart bir dizi faaliyet ve teslimat için bir çerçeve sağlar
- Proje takibi ve kontrolüne yönelik bir mekanizmadır.
- Geliştirme sürecinin tüm ilgili paydaşları için proje planlamasının görünürlüğünü artırır
- Geliştirme hızını artırın ve geliştirin
- Geliştirilmiş müşteri ilişkileri
- Proje riskini ve proje yönetimi planı yükünü azaltmanıza yardımcı olur
SDLC Aşamaları
Tüm SDLC süreci aşağıdaki SDLC adımlarına ayrılmıştır:
- Aşama 1: Gereksinim toplama ve analizi
- Aşama 2: Fizibilite çalışması
- Aşama 3: Tasarım
- Aşama 4: Kodlama
- 5. Aşama: Test
- Aşama 6: Kurulum/Dağıtım
- Aşama 7: Bakım
Bu eğitimde tüm bu Yazılım Geliştirme Yaşam Döngüsü Aşamalarını açıkladım.
Aşama 1: Gereksinim toplama ve analizi
Gereksinim, SDLC sürecinin ilk aşamasıdır. Sektördeki tüm paydaşlardan ve alan uzmanlarından gelen girdilerle üst düzey ekip üyeleri tarafından yürütülür. Planlama kalite güvencesi gerekliliklerin belirlenmesi ve ilgili risklerin tanınması da bu aşamada yapılır.
Bu aşama, tüm projenin kapsamının ve projeyi tetikleyen beklenen konuların, fırsatların ve direktiflerin daha net bir resmini sunar.
Gereksinim Toplama aşamasında ekiplerin ayrıntılı ve kesin gereksinimleri elde etmesi gerekir. Bu, şirketlerin sistemin çalışmasını tamamlamak için gerekli zaman çizelgesini tamamlamalarına yardımcı olur.
Aşama 2: Fizibilite çalışması
Gereksinim analizi aşaması tamamlandıktan sonra bir sonraki sdlc adımı yazılım ihtiyaçlarını tanımlamak ve belgelemektir. Bu süreç 'SRS' belgesi olarak da bilinen 'Yazılım Gereksinim Şartnamesi' belgesi yardımıyla gerçekleştirilir. Proje yaşam döngüsü boyunca tasarlanması ve geliştirilmesi gereken her şeyi içerir.
Temel olarak beş tür fizibilite kontrolü vardır:
- Ekonomik: Projeyi bütçe dahilinde tamamlayabilir miyiz, tamamlayamaz mıyız?
- Yasal: Bu projeyi siber hukuk ve diğer düzenleyici çerçeve/uyumlar olarak ele alabilir miyiz?
- Operafizibilite: Müşterinin beklediği operasyonları yaratabilir miyiz?
- Teknik Özellikler: Mevcut bilgisayar sisteminin yazılımı destekleyip desteklemediğini kontrol etmeniz gerekiyor
- Takvimi: Projenin verilen program dahilinde tamamlanıp tamamlanamayacağına karar verin.
Aşama 3: Tasarım
Bu üçüncü aşamada, sistem ve yazılım tasarım belgeleri gereksinim spesifikasyon belgesine göre hazırlanır. Bu, genel sistem mimarisini tanımlamaya yardımcı olur.
Bu tasarım aşaması, modelin bir sonraki aşaması için girdi görevi görür.
Bu aşamada geliştirilen iki tür tasarım belgesi vardır:
Üst Düzey Tasarım (HLD)
- Her modülün kısa açıklaması ve adı
- Her modülün işlevselliği hakkında bir taslak
- Modüller arasındaki arayüz ilişkisi ve bağımlılıklar
- Temel unsurlarıyla birlikte tanımlanan veritabanı tabloları
- Teknoloji ayrıntılarıyla birlikte tam mimari diyagramlar
Düşük Seviyeli Tasarım (LLD)
- Modüllerin fonksiyonel mantığı
- Tür ve boyutu içeren veritabanı tabloları
- Arayüzün tam detayı
- Her türlü bağımlılık sorununu ele alır
- Hata mesajlarının listelenmesi
- Her modül için eksiksiz giriş ve çıkışlar
Aşama 4: Kodlama
Sistem tasarım aşaması bittikten sonra bir sonraki aşama kodlamadır. Bu aşamada geliştiriciler seçilen programlama dilini kullanarak kod yazarak tüm sistemi oluşturmaya başlarlar. Kodlama aşamasında görevler birimlere veya modüllere bölünür ve çeşitli geliştiricilere atanır. Yazılım Geliştirme Yaşam Döngüsü sürecinin en uzun aşamasıdır.
Bu aşamada Geliştiricinin önceden tanımlanmış belirli kodlama kurallarına uyması gerekir. Ayrıca kullanmaları gerekiyor programlama araçları Kodu oluşturmak ve uygulamak için derleyici, yorumlayıcılar, hata ayıklayıcı gibi.
5. Aşama: Test
Yazılım tamamlandıktan sonra test ortamına dağıtılır. Test ekibi tüm sistemin işlevselliğini test etmeye başlar. Bu, tüm uygulamanın müşteri ihtiyacına göre çalıştığını doğrulamak için yapılır.
Bu aşamada, QA ve test ekibi geliştiricilere iletecekleri bazı hatalar/kusurlar bulabilir. Geliştirme ekibi hatayı düzeltir ve yeniden test için QA'ya geri gönderir. Bu süreç, yazılım hatasız, stabil ve o sistemin iş ihtiyaçlarına uygun şekilde çalışana kadar devam eder.
Aşama 6: Kurulum/Dağıtım
Yazılım test aşaması bittiğinde ve sistemde herhangi bir hata veya hata kalmadığında son dağıtım süreci başlar. Proje yöneticisinin verdiği geri bildirimlere dayanarak son yazılım yayınlanır ve varsa dağıtım sorunları açısından kontrol edilir.
Aşama 7: Bakım
Sistem dağıtıldıktan ve müşteriler geliştirilen sistemi kullanmaya başladıktan sonra aşağıdaki 3 aktivite gerçekleşir
- Hata düzeltme – hatalar, hiç test edilmeyen bazı senaryolar nedeniyle rapor edilir
- Upgrade – Uygulamanın Yazılımın daha yeni sürümlerine yükseltilmesi
- Geliştirme – Mevcut yazılıma bazı yeni özellikler ekleme
Bu SDLC aşamasının ana odağı, ihtiyaçların karşılanmaya devam etmesini ve sistemin ilk aşamada belirtilen spesifikasyona uygun şekilde performans göstermeye devam etmesini sağlamaktır.
Popüler SDLC Modelleri
Yazılım Geliştirme Yaşam Döngüsünün (SDLC) en önemli modellerinden bazıları şunlardır:
SDLC'de şelale modeli
Şelale yaygın olarak kabul edilen bir SDLC modelidir. Bu yaklaşımda, yazılım geliştirme sürecinin tamamı SDLC'nin çeşitli aşamalarına bölünmüştür. Bu SDLC modelinde bir aşamanın sonucu bir sonraki aşamanın girdisi olarak işlev görür.
Bu SDLC modeli, daha önceki aşamalarda sonraki aşamalarda ne yapılması gerektiğini belgeleyen, yoğun bir dokümantasyona sahiptir.
SDLC'de Artımlı Model
Artımlı model ayrı bir model değildir. Esasen bir dizi şelale döngüsünden oluşur. Proje başlangıcında gereksinimler gruplara ayrılır. Her grup için yazılım geliştirmek amacıyla SDLC modeli takip edilmektedir. SDLC yaşam döngüsü süreci, tüm gereksinimler karşılanana kadar her sürümde daha fazla işlevsellik eklenerek tekrarlanır. Bu yöntemde her döngü, önceki yazılım sürümü için bakım aşaması görevi görür. Artımlı modelde yapılan değişiklik, geliştirme döngülerinin örtüşmesine olanak tanır. Bundan sonra bir sonraki döngü, önceki döngü tamamlanmadan başlayabilir.
SDLC'de V-Modeli
Bu tip SDLC model testinde ve geliştirilmesinde aşama paralel olarak planlanır. Yani SDLC'nin bir tarafta doğrulama aşamaları, diğer tarafta ise doğrulama aşaması vardır. V-Model, Kodlama aşamasıyla birleştirilir.
SDLC'de Çevik Model
Çevik metodoloji, herhangi bir projenin SDLC süreci boyunca geliştirme ve test etme arasındaki sürekli etkileşimi destekleyen bir uygulamadır. Çevik yöntemde, tüm proje küçük artımlı yapılara bölünür. Bu yapıların hepsi yinelemeler halinde sağlanır ve her yineleme bir ila üç hafta sürer.
Sarmal Model
Spiral model risk odaklı bir süreç modelidir. Bu SDLC test modeli, ekibin şelale, artımlı, şelale vb. gibi bir veya daha fazla süreç modelinin öğelerini benimsemesine yardımcı olur.
Bu model, prototipleme modelinin ve şelale modelinin en iyi özelliklerini benimser. Spiral metodoloji, hızlı prototipleme ile tasarım ve geliştirme faaliyetlerindeki eşzamanlılığın bir birleşimidir.
Büyük patlama modeli
Büyük patlama modeli, yazılım geliştirme ve kodlamadaki her türlü kaynağa, hiç planlama yapmadan veya çok az planlamayla odaklanıyor. Gereksinimler geldiğinde anlaşılır ve uygulanır.
Bu model, birlikte çalışan daha küçük boyutlu geliştirme ekibinin olduğu küçük projeler için en iyi sonucu verir. Akademik yazılım geliştirme projeleri için de faydalıdır. Gereksinimlerin bilinmediği veya son çıkış tarihinin verilmediği ideal bir modeldir.
ÖZET
- Yazılım Geliştirme Yaşam Döngüsü (SDLC), oluşturulan yazılımın kalitesini ve doğruluğunu garanti eden yazılım oluşturmaya yönelik sistematik bir süreçtir.
- Tam SDLC biçimi, Yazılım Geliştirme Yaşam Döngüsü veya Sistem Geliştirme Yaşam Döngüsü'dür.
- Yazılım mühendisliğinde SDLC, standart bir dizi faaliyet ve teslimat için bir çerçeve sağlar
- Yedi farklı SDLC aşaması şunlardır: 1) Gereksinim toplama ve analizi 2) Fizibilite çalışması: 3) Tasarım 4) Kodlama 5) Test: 6) Kurulum/Dağıtım ve 7) Bakım
- Kıdemli ekip üyeleri bu işlemleri yürütür. İhtiyaç analizi faz
- Fizibilite Çalışması aşaması, projenin yaşam döngüsü boyunca tasarlanması ve geliştirilmesi gereken her şeyi içerir.
- Tasarım aşamasında gereksinim spesifikasyon dokümanına göre sistem ve yazılım tasarım dokümanları hazırlanır.
- Kodlama aşamasında geliştiriciler seçilen programlama dilini kullanarak kod yazarak tüm sistemi oluşturmaya başlarlar.
- Test, tüm uygulamanın müşteri ihtiyacına göre çalıştığını doğrulamak için yapılan bir sonraki aşamadır.
- Kurulum ve dağıtım yüzü şu anda başlar: yazılım testi aşama bitti ve sistemde hiçbir hata veya hata kalmadı
- Bakım yüzünde kapsanan hata düzeltme, yükseltme ve etkileşim eylemleri
- Şelale, Artımlı, Çevik, V modeli, Spiral, Big Bang yazılım mühendisliğindeki popüler SDLC modellerinden bazılarıdır.
- Yazılım testindeki SDLC, belirli bir yazılımın nasıl planlanacağını, oluşturulacağını ve sürdürüleceğini açıklayan ayrıntılı bir plandan oluşur