SDLC İngilizce Software Development Life Cycle kısaltması olup, Türkçe karşılığı ise yazılım geliştirme süreçlerini ifade etmektedir. Daha çok “yazılım geliştirme yaşam döngüsü” olarak da bilinir. Daha anlaşılabilir şekilde tanımlamak gerekirse; yazılım geliştirme aşamalarıdır.
SDLC Açılımı
SDLC açılımı Software Development Life Cyde’dir. Yazılımın planlamasından dağıtımına kadar tüm geliştirme sürecidir. Bu sürece planlamak, tasarlamak, test ve dağım gibi tüm süreçler dahildir.
STLC Nedir?
Sık sık birbirine karıştırılan kavramlar olması nedeniyle kısaca STLC üzerinde de durmakta fayda vardır. STLC; herhangi bir yazılımın test sürecini ifade etmektedir. Buna göre SDLC kavramının STLC’yi de kapsadığını söyleyebiliriz. Yazılım geliştirme uygulamalarında olduğu gibi STLC’de kendi arasında farklı aşamalardan oluşmaktadır. Bu aşamalar;
- Test Planlama
- Gereksinim Analizleri
- Test Tasarımı
- Test Ortamlarının Hazırlanması
- Test Aşaması
- Hataların İzlenmesi
- Test Raporunun Hazırlanması
SDLC ve STLC Arasında Ne Fark Vardır?
SDLC ve STCL her iki kavramda yazılım geliştirme sürecinin birer adımıdır. Buna rağmen her iki kavramın benzer yönleri olduğu gibi farklı yönler ide vardır. En öne çıkan farklı yönleri ise;
SDLC yazılım geliştirme ve çözümü sürecini tamamen içine alırken STLC yazılım geliştirme sürecinin sadece test aşamasında kullanılır.
SDLC Aşamaları Nelerdir? (Yazılım Döngüsü Aşamaları)
Yazılım geliştirme denildiğinde öncelikle akıllara özel yazılım geliştirme gelmektedir. Herhangi bir yazılımın kişi veya kuruma özel olarak kodlanmasındaki asıl amaç yazılımın ihtiyaçlarımıza cevap verecek nitelikte olmasıdır. Bunun içinde belirli aşamaların takip edilerek sürecin işletilmesi gerekir. Aydın web yazılım olarak yazılım geliştirme sürecindeki takip ettiğimiz aşamaları aşağıdaki gibi sıralamamız mümkündür.
Planlama
SDLC aşamalarından en önemlisi planlama aşamasıdır. Bu aşamada tespit edeceğimiz gereksinimler tam olarak saptanması önemlidir. Yazımızın ilerleyen bölümlerinde değineceğimiz diğer aşamaların sağlıklı bir şekilde ilerlemesi için planlama aşamasının en iyi şekilde yönetilmesi gerekir.
Analiz Aşaması
Analiz aşamasının amacını dikkate aldığımızda planlama aşamasının daha kapsamlı şekli olduğunu söyleyebiliriz. Geliştirilecek olan yazılımın işlevleri, boyutları veya yazılımda kullanılacak yazılım dili hakkında karar verildiği aşamalardır.
Tasarım
Tasarım aşaması SDLC aşamaları arasında sistem mimarisi olarak da adlandırılır. Yazılımın birimleri, kullanılacak modüller ve alt yapıları tasarım aşamalarında oluşturularak kodlanmaya hazır hale getirilmektedir.
Kodlama Aşaması
SDLC aşamasının en uzun ve profesyonellik gerektiren aşamasıdır. Bu aşamalarda yapacağım en basit hatalar dahi geliştirmiş olduğumuz yazılımdan istenilen sonucu almamızı engelleyecektir.
Test Aşaması
Yukarıda belirtmiş olduğumuz kodlama aşamasında zaman zaman hata oluşması kaçınılmaz olabilmektedir. Planlama aşaması ile beraber analiz ve tasarım aşamalarında belirlediğimiz özellikleri uygun bir şekilde yazılımımızın çalışıp çalışmadığı kontrol edilmektedir. Geliştirilen herhangi bir yazılımın teste tabi tutulmadan dağıtımının yapılması veya son kullanıcıya sunulması mümkün değildir. Bu nedenle yazılım geliştirme döngüsü aşamalarında test aşaması atlanılmadan yapılması gerekir.
Yukarıda belirtmiş olduğumuz SDLC aşamaları en önemli aşamalardır. Bunların haricinde yine diğer özel yazılım geliştirme işlemlerinde olduğu gibi kodlanarak hazır hale getirilen ve test aşamasından başarı ile geçen yazılımların dağıtımı yapılmaktadır. Dağıtım aşaması da yazılım geliştirme döngüsü aşamaları arasında yer alır.
Her yazılım geliştirme işleminde olduğu gibi geliştirilen yazılımın dağıtımı veya son kullanıcıya sunumundan sonra belirli sürelerde bakım ve teknik destek hizmeti sağlanması gerekir. Bu bakım ve destek hizmeti de yine yazılım geliştirme aşamaları arasında yer alır.
SDLC Modelleri Nelerdir?
Yazılım geliştirme yaşam döngüsü uyguluma teknikleri bakımından farklı modellerde olabilmektedir. En yaygın kullanılan yazılım geliştirme döngüsü modelleri ise aşağıdaki gibidir.
- Şelale Modeli (Su Akışı Modeli)
- Prtototip Model
- Spiral Model
- Çevik Model
- Atölye Model
- RAD Modeli
SDLC Neden Önemlidir?
Yazılım geliştirme döngüsünü önemli kılan bir çok durum vardır. En önemlisi ise yazılımımızın sağlıklı bir şekilde kodlanarak dağıtımının yapılmasıdır. Bunlar haricinde;
- Risk yönetimi
- Kalite kontrolü
- Müşteri memnuniyeti
- Zaman tasarrufu
- Maliyet tasarrufu
Gibi konularda yazılım geliştirme döngüsü önemlidir.
Waterfall Modeli Ne Demek?
SDLC modelleri arasında en sık kullanılan yöntemdir. Ülkemizde ise daha çok şelale modeli veya su akış modeli olarak adlandırılmaktadır. Yukarıda belirtmiş olduğumuz yazılım geliştirme döngüsü aşamaları bir çeşit şelale modeli yani “Waterfaal” modelidir.
SDLC Eğitimi
SDLC eğitimi olarak ayrıca bir eğitim verilmemektedir. Genel olarak yazılım geliştirme konusunda verilen eğitimler sırasında da yazılım geliştirme döngüsü konusunda da eğitimler verilmektedir.