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

KaptanTR

Alpha Wolf
17 Nis 2015
1,649
1,576
25

cle7la6.png

Yazılım Geliştirme Yaşam Döngüsü
Yazılım Geliştirme Yaşam Döngüsü (SDLC), yüksek kaliteli yazılım oluşturmak için açıkça tanımlanmış
süreçlere sahip bir metodolojiyi ifade eder. Ayrıntılı olarak, SDLC metodolojisi, yazılım geliştirmenin
aşağıdaki aşamalarına odaklanır:

İhtiyaç analizi
Planlama
Mimari tasarım gibi yazılım tasarımı
Yazılım geliştirme
Test yapmak
Dağıtım


turkuazayrac.png



Yazılım geliştirme yaşam döngüsü nedir?

SDLC veya Yazılım Geliştirme Yaşam Döngüsü, mümkün olan en kısa sürede en yüksek kalitede ve en
düşük maliyetle yazılım üreten bir süreçtir. SDLC, bir kuruluşun iyi test edilmiş ve üretimde kullanıma
hazır yüksek kaliteli yazılımı hızlı bir şekilde üretmesine yardımcı olan iyi yapılandırılmış bir aşama
akışı sağlar.
SDLC, girişte açıklandığı gibi altı aşamadan oluşur. Popüler SDLC modelleri arasında şelale modeli,
spiral model ve Çevik model bulunur.


turkuazayrac.png



SDLC Nasıl Çalışır?
SDLC, yazılım geliştirme maliyetini düşürürken aynı zamanda kaliteyi artırarak ve üretim süresini
kısaltarak çalışır. SDLC, yazılım geliştirme projelerinin tipik tuzaklarını ortadan kaldıran bir planı
izleyerek bu görünüşte farklı hedeflere ulaşır. Bu plan, eksiklikler için mevcut sistemleri
değerlendirerek başlar.

Daha sonra, yeni sistemin gereksinimlerini tanımlar. Daha sonra yazılımı analiz, planlama, tasarım,
geliştirme, test etme ve devreye alma aşamalarında oluşturur. Son kullanıcı veya müşteriden geri
bildirim istememek gibi maliyetli hataları tahmin ederek, SLDC gereksiz yeniden çalışmayı ve
sonradan yapılan düzeltmeleri ortadan kaldırabilir.

Test aşamasına güçlü bir odaklanma olduğunu bilmek de önemlidir. SDLC tekrarlayan bir metodoloji
olduğundan, her döngüde kod kalitesini sağlamanız gerekir. Pek çok kuruluş, test etmek için az çaba
sarf etme eğilimindeyken, teste daha güçlü bir odaklanma onlara çok fazla yeniden çalışma, zaman ve
para tasarrufu sağlayabilir bu yüzden doğru test türlerini yazın.


turkuazayrac.png



Aşamalar
SDLC'nin en iyi uygulamalarını ve / veya aşamalarını takip etmek, sürecin sorunsuz, verimli ve üretken
bir şekilde işlemesini sağlar.


1. Mevcut Sorunları Belirlemek
Müşteriler, satış personelleri, uzman personeller ve
programcılar dahil olmak üzere tüm paydaşlardan girdi almak anlamına gelir. Hedef olarak iyileştirme
ile mevcut sistemin güçlü ve zayıf yönlerini öğrenin.


2. Planlama
Bu durumda takım, tespit edilen gereksinimleri uygulamak için gereken
maliyeti ve kaynakları belirler. Ayrıca, ilgili riskleri detaylandırır ve bu riskleri yumuşatmak için alt
planlar sağlar. Diğer bir deyişle, ekip projenin fizibilitesini ve en düşük risk göz önünde
bulundurularak projeyi nasıl başarılı bir şekilde uygulayabileceğini belirlemelidir.


3. Tasarım
Bu kısımda, Tasarım Özellikleri adı verilen bir tasarım planına dönüştürerek başlar.
Tüm paydaşlar daha sonra bu planı gözden geçirir ve geri bildirim ve öneriler sunar.
Paydaş girdilerini toplamak ve bu belgeye dahil etmek için bir plana
sahip olmak çok önemlidir. Bu aşamadaki başarısızlık, neredeyse kesinlikle, en iyi ihtimalle maliyet
aşımlarına ve en kötü ihtimalle projenin tamamen çökmesine neden olacaktır.


4. Yapı
Bu aşamada asıl gelişme başlar. Her geliştiricinin üzerinde anlaşmaya varılan plana uyması önemlidir.
Ayrıca, kod stili ve uygulamaları hakkında uygun yönergelere sahip olduğunuzdan emin olun.
Örneğin, dosyalar için bir isimlendirme tanımlayın veya camelCase gibi bir değişken adlandırma stili
tanımlayın. Bu, ekibinizin anlaşılması daha kolay, aynı zamanda bir sonraki aşamada test etmesi için
organize ve tutarlı bir kod üretmesine yardımcı olacaktır.


5. Kod Testi
Bu aşamada kusurları ve eksiklikleri test ediyoruz. Ürün orijinal teknik
özellikleri karşılayana kadar bu sorunları düzeltiriz. Kısaca, kodun tanımlanan gereksinimleri karşılayıp
karşılamadığını doğrulamak istiyoruz.


6. Yazılım Dağıtımı
Bu aşamada amaç, kullanıcıların ürünü kullanmaya başlayabilmesi için yazılımı üretim ortamına
dağıtmaktır. Ancak birçok kuruluş, ürünü test veya hazırlık ortamı gibi farklı dağıtım ortamlarında
taşımayı tercih eder. Bu, herhangi bir paydaşın ürünü piyasaya sürmeden önce ürünle güvenli bir
şekilde oynamasına izin verir. Ayrıca, bu, ürünü piyasaya sürmeden önce herhangi bir son hatanın
yakalanmasını sağlar.


Ekstra: Yazılım Bakımı
Plan gerçekleştirildiğin de neredeyse hiçbir zaman mükemmel olmaz. Dahası, gerçek dünyadaki
koşullar değiştikçe, yazılımı eşleşecek şekilde güncellememiz ve ilerletmemiz gerekiyor.
DevOps hareketi, SDLC'yi bazı şekillerde değiştirdi. Geliştiriciler artık tüm geliştirme sürecinin giderek
daha fazla adımından sorumludur. Ayrıca sola kaymanın değerini de görüyoruz. Geliştirme ve Ops
ekipleri, performansı izlemek ve bir uygulamanın başlangıcından kullanımdan kaldırılmasına kadar
olan hataları tespit etmek için aynı araç setini kullandığında, bu ortak bir dil ve ekipler arasında daha
hızlı devir sağlar.
Uygulama performansı izleme araçları bir geliştirme, kalite güvence ve üretim ortamında
kullanılabilir. Bu, geliştirme yaşam döngüsü boyunca herkesin aynı araç setini kullanmasını sağlar.

turkuazayrac.png



Yazılım Geliştirme Süreç Modelleri

rz1iv1d.png


Şelale Modeli
Bu SDLC modeli, en eski ve en basit olanıdır. Bu metodoloji ile bir aşamayı bitirip bir sonrakine
başlıyoruz. Her aşamanın kendi mini planı ve her aşama bir sonrakine "şelaleleri" vardır. Bu modelin
en büyük dezavantajı, eksik bırakılan küçük detayların tüm süreci durdurabilmesidir.



q5tn5h2.jpg


Çevik Model
Çevik SDLC modeli, ürünü döngülere ayırır ve çok hızlı bir şekilde çalışan bir ürün sunar. Bu
metodoloji bir dizi yayın üretir. Her bir sürümün test edilmesi, sonraki sürüme dahil edilen bilgileri
geri besler. Robert Half'e göre bu modelin dezavantajı, müşteri etkileşimine yapılan yoğun vurgunun
bazı durumlarda projeyi yanlış yöne yönlendirebilmesidir.


pwzsf7c.png


Yinelemeli Model
Bu SDLC modeli tekrarı vurgular. Geliştiriciler, çok hızlı bir şekilde ve nispeten düşük bir maliyetle bir
sürüm oluşturur, ardından hızlı ve birbirini takip eden sürümlerle onu test eder ve iyileştirir. Buradaki
büyük bir dezavantaj, kontrol edilmediği takdirde kaynakları hızla tüketebilmesidir.


mz4tald.jpg


V Şeklinde Model

Şelale modelinin bir uzantısı olan bu SDLC metodolojisi, geliştirmenin her aşamasında test eder.
Şelalede olduğu gibi, bu süreç de engellerle karşılaşabilir.



zhc5h4a.png


Büyük Patlama Modeli
Bu yüksek riskli SDLC modeli, kaynaklarının çoğunu geliştirmeye harcıyor ve küçük projeler için en iyi
sonucu veriyor. Diğer yöntemlerin kapsamlı gereksinimleri tanımlama aşamasından yoksundur.



kkz3czh.png


Spiral Modeli
SDLC modellerinin en esnek olanı olan spiral model, tekrarlama vurgusu açısından yinelemeli modele
benzer. Spiral model, her geçişte kademeli iyileştirmelerle planlama, tasarım, inşa ve test
aşamalarından defalarca geçer.

turkuazayrac.png


Not;
Konuyu hazırlamamda yardımcı olan, boole dostuma, çok teşekkür ederim.
 
Son düzenleme:

boole

Yazılım Ekibi Proje Yöneticisi
12 Nis 2019
732
194
.Net Core

cle7la6.png

Yazılım Geliştirme Yaşam Döngüsü
Yazılım Geliştirme Yaşam Döngüsü (SDLC), yüksek kaliteli yazılım oluşturmak için açıkça tanımlanmış
süreçlere sahip bir metodolojiyi ifade eder. Ayrıntılı olarak, SDLC metodolojisi, yazılım geliştirmenin
aşağıdaki aşamalarına odaklanır:

İhtiyaç analizi
Planlama
Mimari tasarım gibi yazılım tasarımı
Yazılım geliştirme
Test yapmak
Dağıtım


turkuazayrac.png



Yazılım geliştirme yaşam döngüsü nedir?

SDLC veya Yazılım Geliştirme Yaşam Döngüsü, mümkün olan en kısa sürede en yüksek kalitede ve en
düşük maliyetle yazılım üreten bir süreçtir. SDLC, bir kuruluşun iyi test edilmiş ve üretimde kullanıma
hazır yüksek kaliteli yazılımı hızlı bir şekilde üretmesine yardımcı olan iyi yapılandırılmış bir aşama
akışı sağlar.
SDLC, girişte açıklandığı gibi altı aşamadan oluşur. Popüler SDLC modelleri arasında şelale modeli,
spiral model ve Çevik model bulunur.


turkuazayrac.png



SDLC Nasıl Çalışır?
SDLC, yazılım geliştirme maliyetini düşürürken aynı zamanda kaliteyi artırarak ve üretim süresini
kısaltarak çalışır. SDLC, yazılım geliştirme projelerinin tipik tuzaklarını ortadan kaldıran bir planı
izleyerek bu görünüşte farklı hedeflere ulaşır. Bu plan, eksiklikler için mevcut sistemleri
değerlendirerek başlar.

Daha sonra, yeni sistemin gereksinimlerini tanımlar. Daha sonra yazılımı analiz, planlama, tasarım,
geliştirme, test etme ve devreye alma aşamalarında oluşturur. Son kullanıcı veya müşteriden geri
bildirim istememek gibi maliyetli hataları tahmin ederek, SLDC gereksiz yeniden çalışmayı ve
sonradan yapılan düzeltmeleri ortadan kaldırabilir.

Test aşamasına güçlü bir odaklanma olduğunu bilmek de önemlidir. SDLC tekrarlayan bir metodoloji
olduğundan, her döngüde kod kalitesini sağlamanız gerekir. Pek çok kuruluş, test etmek için az çaba
sarf etme eğilimindeyken, teste daha güçlü bir odaklanma onlara çok fazla yeniden çalışma, zaman ve
para tasarrufu sağlayabilir bu yüzden doğru test türlerini yazın.


turkuazayrac.png



Aşamalar
SDLC'nin en iyi uygulamalarını ve / veya aşamalarını takip etmek, sürecin sorunsuz, verimli ve üretken
bir şekilde işlemesini sağlar.


1. Mevcut Sorunları Belirlemek
Müşteriler, satış personelleri, uzman personeller ve
programcılar dahil olmak üzere tüm paydaşlardan girdi almak anlamına gelir. Hedef olarak iyileştirme
ile mevcut sistemin güçlü ve zayıf yönlerini öğrenin.


2. Planlama
Bu durumda takım, tespit edilen gereksinimleri uygulamak için gereken
maliyeti ve kaynakları belirler. Ayrıca, ilgili riskleri detaylandırır ve bu riskleri yumuşatmak için alt
planlar sağlar. Diğer bir deyişle, ekip projenin fizibilitesini ve en düşük risk göz önünde
bulundurularak projeyi nasıl başarılı bir şekilde uygulayabileceğini belirlemelidir.


3. Tasarım
Bu kısımda, Tasarım Özellikleri adı verilen bir tasarım planına dönüştürerek başlar.
Tüm paydaşlar daha sonra bu planı gözden geçirir ve geri bildirim ve öneriler sunar.
Paydaş girdilerini toplamak ve bu belgeye dahil etmek için bir plana
sahip olmak çok önemlidir. Bu aşamadaki başarısızlık, neredeyse kesinlikle, en iyi ihtimalle maliyet
aşımlarına ve en kötü ihtimalle projenin tamamen çökmesine neden olacaktır.


4. Yapı
Bu aşamada asıl gelişme başlar. Her geliştiricinin üzerinde anlaşmaya varılan plana uyması önemlidir.
Ayrıca, kod stili ve uygulamaları hakkında uygun yönergelere sahip olduğunuzdan emin olun.
Örneğin, dosyalar için bir isimlendirme tanımlayın veya camelCase gibi bir değişken adlandırma stili
tanımlayın. Bu, ekibinizin anlaşılması daha kolay, aynı zamanda bir sonraki aşamada test etmesi için
organize ve tutarlı bir kod üretmesine yardımcı olacaktır.


5. Kod Testi
Bu aşamada kusurları ve eksiklikleri test ediyoruz. Ürün orijinal teknik
özellikleri karşılayana kadar bu sorunları düzeltiriz. Kısaca, kodun tanımlanan gereksinimleri karşılayıp
karşılamadığını doğrulamak istiyoruz.


6. Yazılım Dağıtımı
Bu aşamada amaç, kullanıcıların ürünü kullanmaya başlayabilmesi için yazılımı üretim ortamına
dağıtmaktır. Ancak birçok kuruluş, ürünü test veya hazırlık ortamı gibi farklı dağıtım ortamlarında
taşımayı tercih eder. Bu, herhangi bir paydaşın ürünü piyasaya sürmeden önce ürünle güvenli bir
şekilde oynamasına izin verir. Ayrıca, bu, ürünü piyasaya sürmeden önce herhangi bir son hatanın
yakalanmasını sağlar.


Ekstra: Yazılım Bakımı
Plan gerçekleştirildiğin de neredeyse hiçbir zaman mükemmel olmaz. Dahası, gerçek dünyadaki
koşullar değiştikçe, yazılımı eşleşecek şekilde güncellememiz ve ilerletmemiz gerekiyor.
DevOps hareketi, SDLC'yi bazı şekillerde değiştirdi. Geliştiriciler artık tüm geliştirme sürecinin giderek
daha fazla adımından sorumludur. Ayrıca sola kaymanın değerini de görüyoruz. Geliştirme ve Ops
ekipleri, performansı izlemek ve bir uygulamanın başlangıcından kullanımdan kaldırılmasına kadar
olan hataları tespit etmek için aynı araç setini kullandığında, bu ortak bir dil ve ekipler arasında daha
hızlı devir sağlar.
Uygulama performansı izleme araçları bir geliştirme, kalite güvence ve üretim ortamında
kullanılabilir. Bu, geliştirme yaşam döngüsü boyunca herkesin aynı araç setini kullanmasını sağlar.

turkuazayrac.png



Yazılım Geliştirme Süreç Modelleri

rz1iv1d.png


Şelale Modeli
Bu SDLC modeli, en eski ve en basit olanıdır. Bu metodoloji ile bir aşamayı bitirip bir sonrakine
başlıyoruz. Her aşamanın kendi mini planı ve her aşama bir sonrakine "şelaleleri" vardır. Bu modelin
en büyük dezavantajı, eksik bırakılan küçük detayların tüm süreci durdurabilmesidir.



q5tn5h2.jpg


Çevik Model
Çevik SDLC modeli, ürünü döngülere ayırır ve çok hızlı bir şekilde çalışan bir ürün sunar. Bu
metodoloji bir dizi yayın üretir. Her bir sürümün test edilmesi, sonraki sürüme dahil edilen bilgileri
geri besler. Robert Half'e göre bu modelin dezavantajı, müşteri etkileşimine yapılan yoğun vurgunun
bazı durumlarda projeyi yanlış yöne yönlendirebilmesidir.


pwzsf7c.png


Yinelemeli Model
Bu SDLC modeli tekrarı vurgular. Geliştiriciler, çok hızlı bir şekilde ve nispeten düşük bir maliyetle bir
sürüm oluşturur, ardından hızlı ve birbirini takip eden sürümlerle onu test eder ve iyileştirir. Buradaki
büyük bir dezavantaj, kontrol edilmediği takdirde kaynakları hızla tüketebilmesidir.


mz4tald.jpg


V Şeklinde Model

Şelale modelinin bir uzantısı olan bu SDLC metodolojisi, geliştirmenin her aşamasında test eder.
Şelalede olduğu gibi, bu süreç de engellerle karşılaşabilir.



zhc5h4a.png


Büyük Patlama Modeli
Bu yüksek riskli SDLC modeli, kaynaklarının çoğunu geliştirmeye harcıyor ve küçük projeler için en iyi
sonucu veriyor. Diğer yöntemlerin kapsamlı gereksinimleri tanımlama aşamasından yoksundur.



kkz3czh.png


Spiral Modeli
SDLC modellerinin en esnek olanı olan spiral model, tekrarlama vurgusu açısından yinelemeli modele
benzer. Spiral model, her geçişte kademeli iyileştirmelerle planlama, tasarım, inşa ve test
aşamalarından defalarca geçer.

turkuazayrac.png


Not;
Konuyu hazırlamamda yardımcı olan, boole dostuma, çok teşekkür ederim.
Rica ederim dostum, ellerine sağlık.
 

KaptanTR

Alpha Wolf
17 Nis 2015
1,649
1,576
25
Ellerinize sağlık

Ellerinize sağlık

Teşekkürler arkadaşlar. :giggle:
Ellerine sağlık.
Teşekkürler hocam.
Emeğine saglik kaptan
Teşekkür ederim hocam. 🙏
Rica ederim dostum, ellerine sağlık.
Teşekkür ederim kardeşim. ;)
 

KARA ALP

Uzman üye
15 Eyl 2018
1,071
68
İSTİHBARAT
maşallah güzel bir konu oldu, emeğine sağlık kaliteli konular her daim ilgi çeker .
yazılım alanında herkesin dikkat edilmesi gereken hassas bir konu oldu.

Kaliteli güzel konular bekleriz, görevinde başarılar dilerim.
İstihbarat ekibi'de toplanmış konuya Allah'ım bozmasın :)
 

KaptanTR

Alpha Wolf
17 Nis 2015
1,649
1,576
25
Eline sağlık dostum :) yıldızladım Bilgi bilgidir her ne kadar yazılımdan uzak dursamda insana bilgi katıyo bu tür makaleler
Teşekkür ederim. :)
maşallah güzel bir konu oldu, emeğine sağlık kaliteli konular her daim ilgi çeker .
yazılım alanında herkesin dikkat edilmesi gereken hassas bir konu oldu.

Kaliteli güzel konular bekleriz, görevinde başarılar dilerim.
İstihbarat ekibi'de toplanmış konuya Allah'ım bozmasın :)
Amin, güzel yorumunuz için çok teşekkür ederim. 🙏
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.