Hakan GÜZEL

Yazılım Geliştirme Yaşam Döngüsü (SDLC) – Basit Bir Açıklama

Yazılım Geliştirme Yaşam Döngüsü (SDLC) nedir?

SDLC veya Yazılım Geliştirme Yaşam Döngüsü , en iyi kalite ve optimize edilmiş tasarıma sahip yazılım geliştirmek için temel olarak beş aşamaya sahiptir. Bu aşamalar metodolojik bir şekilde yapılandırılmıştır ve her aşama için yalnızca bir kerelik ziyaret olabilir veya takip ettiğiniz Yazılım Geliştirme Yaşam Döngüsü modeline bağlı olarak yinelemelidir.

Her adımda yer alan farklı aşamaları ve etkinlikleri tanımlamak ve uygulamak için bir BT projesinin geliştirilmesi için beş farklı aşama vardır . Büyüdükçe bir organizasyon veya ekip için gelişme eğilimindedir ve dolayısıyla deneyimleriyle değiştirilebilir ve geliştirilebilir.

Aşağıda, her birinde yer alan adımlar ve ürüne ekleme eğiliminde oldukları değer türleriyle birlikte SDLC sürecinin beş farklı aşaması bulunmaktadır.

Planlama

Burada beyin fırtınası gerçekleşir ve bir uzman projenin çeşitli gereksinimlerini tartışır ve toplar. Yazılım ürününün çeşitli yönlerini ve geleceğini tartışma eğilimindedirler ve müşterilerinin ne istediğini ve gereksinimlerinin neler olduğunu ve üründen tam olarak ne istediğini özümsemeye çalışırlar.

Ayrıca, o yazılım ürününü geliştirmenin fizibilitesini ve geliştirme sırasında karşılaşabilecekleri her türlü teknik ve diğer zorlukları analiz etme eğilimindedirler.

O ürünü geliştirmek için bu tür uzmanlıklar için fazladan bir kaynağa ihtiyaç duyduklarını veya tüm paydaşların kim olduğunu, ürünün şirketin geleceğine nasıl bir değer katacağını vb. görebilirler.

Ayrıca tam olarak neyin proje kapsamında olduğunu ve neyin proje kapsamında olmadığını görme eğilimindedirler. Çoğu zaman, bu başlangıçta doğru bir şekilde tanımlanmazsa, kaynak, müşteriyi memnun etmek için altın kaplama gibi birçok gereksiz görevde boşa harcanma eğilimindedir.

Ayrıca, projede meydana gelebilecek her türlü değişikliği nasıl karşılayacaklarına ve ürün tamamen geliştirildikten sonra projenin işletimi ve bakımının nasıl gerçekleşeceğine karar verme eğilimindedirler.

Tasarım

SDLC’nin bir sonraki aşaması Tasarım Aşamasıdır. Her türlü yazılım, onu geliştirirken dahil olan çeşitli karmaşıklık türlerini anlamak için bir prototip gerektirir .

Bu tür bir prototip, ekip tarafından projenin fizibilitesini anlamak için de gereklidir ve geliştirme kolaylığı için geliştiriciler için yazılım ürününü daha da bozar.

Hem projenin tasarım estetiğini hem de teknik yönlerini içerir. Çok üst düzeyde tasarlanır ve ekip onaylarken bu aşamada müşteri onayı da takip eder.

Bu, müşteri tarafından tanımlandığı gibi ürüne ve mimarların ve proje yöneticilerinin ondan ne anladığını resmen şekillendirir.

Bu aşamada, teknik ayrıntılar ve çeşitli risk türleri ve proje kısıtlamaları da gözden geçirilir ve projenin daha da geliştirilmesi için en iyi tasarım yaklaşımı onaylanır.

Ürün, projede farklı zamanlarda karşılanmak üzere çeşitli modüllere ayrılabilir ve akışlar ve veritabanı iletişimi tartışılır.

Ayrıca, bu aşamanın sonunda resmi bir Tasarım Şartname Belgesi oluşturulur. Bu aşama, çoğunlukla projenin çeşitli yönleri üzerinde çalışan ve bu Şartname Belgesini üreten projenin Sistem Analistleri ile birlikte gerçekleşir.

Uygulama

Üçüncü aşama, Yazılım Geliştirme Yaşam Döngüsü için çok önemlidir . İşte yazılım ürününün şekillendiği zamandır. Geliştiriciler, yazılım ürününü daha önceki aşamalarda kendilerine sunulan şartname dokümanına göre kodlamaya ve veritabanı yöneticileri tarafından geliştirilen ürünün veri tabanına bağlanmaya başlarlar.

Ön uç geliştiriciler, şartname belgesinde tanımlanan tüm arka uç süreçleri ve prosedürleriyle etkileşim kurmak için gerekli arabirimi ve GUI’yi oluşturur.

Bu aşama çok zaman alır ve tamamen geliştiricinin becerisine ve bilgisine, ürünün ne olacağına bağlıdır. Geliştirici, yeni kodu test edenin test ettiği bir sonraki aşamaya geçmeden önce kendi başına test etme eğilimindedir.

Bu, geliştirme aşamasının üretim aşamasıdır ve en önemlisidir. Burada her şey yolunda giderse, sonraki aşama testçilerinin ürünü test etmesi ve son müşterilere sunması çok az zaman alır.

Entegrasyon ve Test

Dördüncü aşama, yazılım ürününün entegrasyonu ve test edilmesiyle ilgilidir. Burada, tasarlanan ürünün müşteri ve diğer çeşitli iş paydaşları tarafından belirlenen ilk iş hedeflerini karşılayıp karşılamadığını belirlemek için yazılım ürününün kalitesi ve işlevselliği test edilir.

Bu, test edenin bileşeni test ettiği ve düzeltmesi için geliştiriciye geri verdiği ve ardından bu düzeltme ürünün diğer işlevlerini birçok kez etkilemiş olabileceği için onu sıfırdan yeniden test ettiği yinelemeli bir süreç olabilir.

Yalnızca bu aşamanın sonunda, yazılım ürünü son sürüm için tamamen doğrulanır. Deneyime dayalı test yaklaşımı olan keşif testi gibi bir ürünü test etmenin çeşitli yolları ve yöntemleri vardır veya başka bir tür test yaklaşımı ima edilebilir.

Burada ayrıca yazılım ürününün entegrasyonu, bunun ve makineyle işlenmesinin uygunluğunu test etmek için amaçlanan makineye gerçekleşebilir.

Dağıtım ve Bakım

Bir Yazılım Geliştirme Yaşam Döngüsü sürecinin son aşaması , dağıtımı ve bakımıdır. Burada, yazılımdaki çeşitli sürümlerin ve değişikliklerin nasıl karşılanacağını ve farklı iş hedeflerini karşılamak için nasıl kullanılacağını tanımlama eğiliminde olan bir yaşam döngüsü bakım yaklaşımı ima edilmektedir.

Bazen bir veya iki geliştirici, o ürünün bakımını kalıcı olarak ima etmek ve çeşitli müşterilerin ihtiyaç ve gereksinimlerini karşılamak zorunda kalabilir.

Bu aşama aynı zamanda yazılım ürününün tüm bileşenleri ve veri tabanı ile üretim ortamında fiili kurulumunu başlatabilir. Bu genellikle, bu tür bir entegrasyonla birlikte gelen çeşitli karmaşıklıklarla çarpışabilir.

İşletme ve bakım aşamasında, yazılım daha da optimize edilir ve zamanla ona yeni işlevler ve yetenekler eklenir.

Sonuç

Basit görünse de, her aşamada ustalaşmak yıllarca tecrübe gerektirir, farklı türde yazılım ürünlerini tamamlamak için farklı yeteneklere sahip olma eğiliminde olan çeşitli Yenilikçi Yazılım Mimarlarını doğurmuştur.

Ayrıca, bir kuruluşa, genellikle o ürünün ticari başarısını belirleyen diğerlerine göre rekabet avantajı da eklerler.

Bu tür kaynak yetenekleri, şirketlerin müşterilerine yazılım geliştirmeyi dış kaynaklara yaptırmalarına da yardımcı olur . Çözüm mimarları, her zaman daha güvenilir, şeffaf ve arızaya dayanıklı hale getirerek yaşam döngüsünü iyileştirmenin yollarını arıyorlar. Çeşitli araçları kullanarak, belirli parçaları otomatikleştirebilir ve yazılım geliştirmedeki karmaşıklıkları azaltabilirsiniz. SDLC’nizi nasıl planlıyorsunuz?

Kaynak: Harsh Binani – Software Development Lifecycle (SDLC)— A Simple Explanation

Exit mobile version