elektrik port üyelik servisleri elektrik port üyelik servisleri

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

Genel olarak olarak yazılımlar, geliştirilirken belirli bir takım süreçlerden geçerler. İngilizcesi Software Development Life Cycle olarak adlandırılan bu süreç yazılım projelerinin daha iyi sonuçlandırılmasını sağlar. Bu yazımızda yazılım geliştirme yaşam döngüsünde kullanılan aşamaları bulabilirsiniz.



A- A+
08.03.2014 tarihli yazı 6275 kez okunmuştur.
Yazılım geliştirme yaşam döngüsü (SDLC)  bir yazılım ihtiyacı doğmasının başlangıcından, yazılımın geliştirilip sonuçlanmasına kadar olan tüm süreci kapsar.  Yazılım geliştirmeyi basit bir örnekle açıklayabiliriz. 




Ortada bir inşaata,  binaya ya da herhangi bir yapıya ihtiyaç olduğunu düşünelim. Burada ilk noktada bilinmesi gereken inşaatın köprü mü, okul mu, ev mi olacağı soruları önce akla gelmektedir. Yazılım tarafında düşünülecek olursa projede bizden istenen ne? Projenin niteliği ne olacak? Ortaya çıkacak yazılım ne tür bir ürün olmalı? Bir ERP yazılımı mı? Bir web ya da e-ticaret sitesi mi olmalı?  İnşaatın ne türde bir yapı olduğuna karar verdikten sonra;  bu işi yapacak hafriyat şirketi, inşaat şirketi devreye girer. İnşaatta bir yandan da dekorasyon gibi daha birçok ayrıntı yapının sonuna kadar detaylıca düşünülmesi gerekmektedir.

                 
 


► İlginizi Çekebilir: Çok Katmanlı Yazılım Mimarisi


Bu noktada yazılım ile inşaatın, inşa edilme süreçlerini bağdaştıracak olursak; tüm gereksinimler aslında inşaat devam ederken betonun donmamasını,  yani sürekli olarak yeniden kullanılabilirliği sağlamak temel amaçtır. Yazılım geliştirme süreç ve modellemeleri de beton örneğinde olduğu gibi yazılan kodları çalışır halde tutmak esastır. Yazılım projeleri geliştirilirken de devamlı entegrasyon yapılmalıdır. Yazılan her yeni kod parçacığı projeye dahil edilmeli, anında birim testleri yapılarak hatalar varsa giderilmelidir. Yazılımı isteyen müşteri, olaya dahil olmalı ve projeye geri dönüşler yapılarak; ürün çıktısı konusunda problem yaşanmaması için belirli bir amaç oluşturulmalıdır.


► İlginizi Çekebilir: Öğrenciler İçin Ubuntu

           
                                  


► İlginizi Çekebilir: Çevik Yazılım Geliştirme Manifestosu 

              
Yazılım geliştirme yaşam döngüsündeki süreçler aşağıdaki gibi tanımlanabilir.


1- Gereksinimler [Requirements]

Programlamayla ilgili tüm projeler, projenin amacını belirten tüm şartların oluşması ile başlar. Gereksinimler en önemli kısımdır. Programcıya verilen girdiler ve bu girdilerin çıktılarının ne olması gerektiği sorusuyla tanımlanır. İşte bu noktada yazılım ihtiyaç analizi öne çıkmaktadır. 

2- Çözümleme [Analysis]

Bir sistem için gereksinimler belirlendikten sonra ikinci aşamada analiz gelir. Sistem gereksinimlerinin ve işlevlerinin ayrıntılı olarak çıkarıldığı aşamadır. Proje hakkında elde var olan süreçler devam ettirilir, proje hakkında temel sorunlar ortaya çıkarılır.

3- Tasarım [ Design ]

Belirlenen gereksinimlere yanıt verecek yazılım sisteminin temel yapısının oluşturulduğu aşamadır. Tasarıma ayrılan vakit arttıkça hata oranının azalması beklenir. Bu aşama, analiz aşamasındaki çalışmaların devamı niteliğindedir. 

4- Gerçekleştirme || Kodlama [Coding]

Kodlama, kurulum test etme gibi çalışmaların yapıldığı aşamadır. Daha önceden belirlenmiş;  veri yapıları üzerinde işlem yapacak algoritmalar bu aşamada koda dökülür. 

5- Doğrulama [Verification]

Geliştirilen yazılımın ya da programın doğruluğunun ispatı, geniş bir veri grubu üzerinde test etme ve hatalardan arındırma işlemleri ile gerçekleştirilir. Buradan elde edilen veriler ya da ürünün demo(deneme) sürümlerinden elde edinilen sorunlar halledilmelidir.
Yazılım işlevleri ile ilgili gereksinimler sürekli olarak değiştiği ve genişlediği için, söz konusu aşamalar sürekli bir döngü biçiminde ele alınır. Döngü içersinde herhangi bir problem ile karşılaşıldığı zaman geriye dönmek, tekrar ilerlemek söz konusudur. Bu yüzden yazılım geliştirme yaşam döngüsü, tek yönlü ve doğrusal değildir.

 
► İlginizi Çekebilir: IT Sektörleri İçin 2020 Öngörüleri

 
                 


Yazılım maliyetlerinin %80’nin programlarının geliştirilmesinde ve iyileştirmelerin yapılmasında harcandığı belirlenmiştir. Genel olarak yazılım geliştirme süreç ve modellemelerinin bulunmadığı; Agile, Scrum, Test Driven Development, Lean Kanban yazılım geliştirme metodolojilerinin uygulanmadığı projelerin başarısız olduğu görülmüştür.

 
► İlginizi Çekebilir: Hangi Programlama Dilini Seçmeliyim?


 
 


Kaynak :

► agilemanifesto.org
► How to Program C Deitel  Deitel
► The C Programming Language
► Fundamentals of Data Structures C
 
 
Ahmet Han Ahmet Han Yazar Hakkında Tüm yazıları Mesaj gönder Yazdır



ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar