Tüm Aşamaları ile SDLC (Yazılım Geliştirme Yaşam Döngüsü)

Ali ÖZYILDIRIM
FLO Teknoloji
Published in
4 min readMay 19, 2023

--

Yazılım geliştirme yaşam döngüsü (SDLC), bir yazılımın tasarımından başlayarak, kodlamasından, test edilmesine ve sürdürülebilir bir hale getirilmesine kadar geçen tüm süreçlerin bir dizi yöntemsel adım ve aktivite olarak ele alınmasını ifade ediyor. Bu makalede, SDLC’nin her bir adımını, avantajlarını ve dezavantajlarını ayrıntılı bir şekilde ele alıyorum.

Planlama

Yazılım projelerinin ilk adımı olan planlama, projenin ana hedeflerinin ve amaçlarının belirlenmesi, bütçenin ve kaynakların ataması, projenin kapsamının belirlenmesi ve takvimin belirlenmesi gibi konuları içerir. Planlama aşaması, tüm proje boyunca başarılı bir şekilde ilerlemenin anahtarıdır.

Analiz

Analiz aşaması, projenin amacına yönelik ihtiyaçları toplama ve belirleme aşamasıdır. Bu aşama, projenin amacına uygun şekilde işlevsel gereksinimlerin belirlenmesini, kullanıcı gereksinimlerinin analiz edilmesini ve önceliklendirilmesini, sistem performansının ve uygun bir teknik yapının belirlenmesini içerir.

Tasarım

Tasarım, bir yazılımın nasıl görüneceği, nasıl çalışacağı ve nasıl bir mimariye sahip olacağı süreçlerinin belirlediğini kısımdır. Bu aşama, işlevsel gereksinimlerin, kullanıcı gereksinimlerinin, sistem performansının ve uygun bir teknik yapının belirtilmesinden sonra gerçekleştirilir.

Geliştirme

Geliştirme aşaması, kodlama işlemi ile yazılımın gerçekleştirildiği aşamadır. Bu aşama, yazılımın geliştirilmesi için seçilen teknolojilere uygun olarak yazılım kodlarının oluşturulması, test edilmesi ve sorunların giderilmesini kapsar.

Test

Test aşaması, yazılımın işlevselliğinin, doğruluğunun, uyumluluğunun ve performansının doğrulanması için gerçekleştirilen aşamadır. Bu bölüm, yazılımın herhangi bir hatasının bulunması ve düzeltilmesi için önemlidir. Bu aşama, test senaryolarının tasarımı, testlerin yürütülmesi ve yazılımın hatalarının belirlenmesi ve düzeltilmesi gibi bir dizi aktiviteyi içerir.

Uygulama

Uygulama aşaması, yazılımın canlı ortama geçirildiği aşamadır. Bu aşama, yazılımın canlı ortamda nasıl çalıştığını ve kullanıcıların geri bildirimlerini dikkate alarak gerekli ayarlamaların yapılmasını içerir.

Bakım

Bakım, yazılımın kullanım sürecindeki sorunların giderilmesi ve yazılımın güncellenmesi için gerçekleştirilen aşamadır. Bu aşama, yazılımın sürdürülebilirliğinin sağlanması için önemlidir.

SDLC’nin Avantajları:

1. SDLC, bir yazılımın tüm yaşam döngüsü boyunca proaktif bir yaklaşım sergiler. Bu, yazılımın daha güvenilir ve sorunsuz bir şekilde geliştirilmesini sağlar.

2. SDLC, yazılım geliştirme sürecinin her aşamasında uygun belgeleme sağlar. Bu, yazılımın sürdürülebilirliği ve ilerideki değişikliklerin kolaylığı açısından çok önemlidir.

3. SDLC, yazılımın güvenilirliğini ve performansını artırarak hataları azaltır. Bu da müşteri memnuniyetini artırır ve yazılımın daha iyi kullanılmasını sağlar.

4. SDLC, yazılımın geliştirme sürecindeki maliyetleri düşürür. Bu, yazılımın bütçesinin kontrol altında tutulmasını ve daha az kaynak kullanılmasını sağlar.

SDLC’nin Dezavantajları:

1. SDLC, uzun bir süreç olduğu için, projenin bitirilmesi zaman alabilir. Bu da bazen projenin amacından sapmasına neden olabilir.

2. SDLC, tüm aşamaların ayrıntılı bir şekilde planlanması gerektiğinden, bazen değişikliklerin yapılması zor olabilir.

3. SDLC, yazılım geliştirme sürecinde sıkı bir kontrol gerektirdiğinden, bazen yaratıcılığı kısıtlayabilir.

SDLC’nin her aşamasında belirli belge unsurları kullanılır. Bu belge unsurları, her aşamada yazılımın geliştirilmesi, test edilmesi, uygulanması ve sürdürülmesi için gereken bilgileri sağlamak amacıyla kullanılır. Bunlar;

Planlama Aşaması:

· Gereksinim Belgesi: Yazılımın işlevsel ve teknik gereksinimlerini tanımlar.

· Proje Planı: Yazılım geliştirme sürecinin planlaması, takvimi ve bütçesi hakkında bilgi sağlar.

· Proje Yönetim Planı: Projenin yönetimini sağlamak için bir plan sunar.

Analiz Aşaması:

· Kullanıcı Gereksinimleri Belgesi: Kullanıcıların yazılımdan beklediği işlevler ve özellikler hakkında bilgi sağlar.

· İş Süreci Modeli: İş süreçleri, işlevler ve etkileşimler hakkında bir model sunar.

· Veri Modeli: Veri tabanı yapısı ve ilişkileri hakkında bilgi sunar.

Tasarım Aşaması:

· Tasarım Belgesi: Yazılımın teknik tasarımını ve mimarisini tanımlar.

· Test Planı: Test sürecini planlar ve test senaryolarını tanımlar.

· Kullanıcı Kılavuzu: Kullanıcıların yazılımı nasıl kullanacaklarını anlamalarına yardımcı olan bir belgedir.

Geliştirme Aşaması:

· Kaynak Kodu: Yazılımın kodlarını içeren belgedir.

· Kullanıcı Dokümantasyonu: Kullanıcıların yazılımı nasıl kullanacakları hakkında bilgi sağlayan belgedir.

· Sürüm Notları: Yazılımın yeni sürümleri hakkında bilgi sunan belgedir.

Test Aşaması:

· Test Senaryoları: Yazılımın test edileceği senaryoları ve beklentileri tanımlayan belgedir.

· Hata Raporu: Testlerde bulunan hatalar hakkında bilgi sunan belgedir.

· Test Raporu: Test süreci sonucunda elde edilen verileri ve sonuçları sunan belgedir.

Uygulama Aşaması:

· Uygulama Dokümantasyonu: Yazılımın kurulumu, yapılandırması ve kullanımı hakkında bilgi sağlayan belgedir.

· Canlı Ortam Kontrol Listesi: Yazılımın canlı ortama geçirilmesi için gereken kontrolleri sağlayan belgedir.

· Kullanıcı Geri Bildirimi: Kullanıcıların yazılım hakkındaki geri bildirimlerini toplamak için kullanılan belgedir.

Bakım Aşaması:

· Bakım Planı: Yazılımın bakım sürecinin planlanması ve yönetimi hakkında bilgi

· Değişiklik Yönetim Belgesi: Yazılımda yapılacak değişikliklerin ve değişikliklerin nasıl yönetileceği hakkında bilgi sunan belgedir.

· Hata Raporu: Canlı ortamda bulunan hatalar hakkında bilgi sunan belgedir.

· Yama Notları: Canlı ortamda kullanılan yazılımın yamaları hakkında bilgi sunan belgedir.

Bu belge unsurları, her SDLC aşamasında yazılım geliştirme sürecinin yönetimi için çok önemlidir. Bu belgeler, yazılımın gereksinimlerini, tasarımını, geliştirme sürecini, testlerini, uygulanmasını ve bakımını yönetmek için kullanılır. Ayrıca, bu belgeler,

yazılımın kalitesini, güvenilirliğini, sürdürülebilirliğini ve kullanılabilirliğini artırmaya yardımcı olur.

Özetle SDLC, yazılım geliştirme sürecinin proaktif bir yaklaşımla ele alınması ve yazılımın tüm yaşam döngüsü boyunca uygun bir belgeleme ile yönetilmesini sağlar. SDLC’nin avantajları, yazılımın güvenilirliğini ve performansını artırırken maliyetleri düşürürken, dezavantajları, projenin uzunluğu ve değişikliklerin yapılmasının zor olması gibi faktörleri içerir.

--

--