Software Development Life Cycle(Turkish)

Faris Kanbur
3 min readMar 13, 2023

--

SDLC, Software Development Life Cycle (Yazılım Geliştirme Yaşam Döngüsü) kısaltmasıdır. Bu, bir yazılım projesinin tamamının planlanmasından, tasarımından, geliştirilmesinden, test edilmesinden, uygulamaya konulmasından ve bakımından geçtiği aşamaların bir dizi sistemli ve yapılandırılmış yaklaşımını tanımlar. SDLC’nin amacı, yazılım projelerinin başarılı bir şekilde tamamlanmasını sağlamak için iş gereksinimlerini, müşteri ihtiyaçlarını ve kalite gereksinimlerini karşılamak için bir yöntem sağlamaktır. SDLC, genellikle aşağıdaki aşamaları içerir:

  1. Planlama: Bu aşamada, projenin hedefleri belirlenir ve gereksinimler analiz edilir. Projenin kapsamı belirlenir ve proje planı oluşturulur. Bu aşama ayrıca, proje yöneticisi ve proje paydaşları arasında iletişim ve koordinasyon sağlamayı da içerir.
  2. Tasarım: Bu aşamada, sistem gereksinimleri analiz edilerek bir tasarım planı oluşturulur. Bu plan, sistem bileşenlerinin nasıl çalışacağını, nasıl entegre olacağını ve birlikte nasıl çalışacaklarını ayrıntılı olarak açıklar. Tasarım ayrıca, kullanıcı arayüzü tasarımı, veritabanı tasarımı ve sistem mimarisi gibi diğer özellikleri de içerebilir.
  3. Geliştirme: Bu aşama, tasarımın gerçek yazılım koduna dönüştürüldüğü aşamadır. Yazılımın programlama dili kullanılarak oluşturulması, modüllerin birleştirilmesi, hata ayıklama, performans testleri ve dokümantasyon hazırlama işlemleri bu aşamada gerçekleştirilir.
  4. Test Etme: Bu aşamada, yazılımın kalitesi test edilir. Fonksiyonel testler, performans testleri, güvenlik testleri, uyumluluk testleri ve diğer testler kullanılarak yazılımın doğru çalıştığından ve gereksinimlerin karşılandığından emin olunur. Hata raporları hazırlanır ve hatalar düzeltilir.
  5. Uygulama: Bu aşama, yazılımın kullanıma hazır hale getirildiği aşamadır. Yazılım yayınlanır ve kullanıcılara sunulur. Bu aşama ayrıca, kullanıcıların yazılımı kullanması için eğitim verilmesini ve dokümantasyonun kullanıcıların ihtiyaçlarına göre hazırlanmasını da içerir.
  6. Bakım ve Destek: Bu aşama, yazılımın hayat döngüsünün sonuna kadar sürdürülmesidir. Yazılımın işletim sırasında ortaya çıkabilecek hataları, sorunları düzeltmek ve yenilikler eklemek gibi işlemler bu aşamada yapılır. Bu aşama ayrıca, kullanıcıların desteklenmesini, yazılım güncellemelerinin sağlanmasını ve performans sorunlarının çözülmesini de içerir.

Bir Junior Tester, bir yazılımın test sürecinin tüm aşamalarında yer alabilir. Ancak genellikle daha az tecrübeli oldukları için, proje yöneticisi veya deneyimli bir test mühendisi tarafından yönlendirilirler.

Aşağıdaki gibi test aşamalarına bakalım:

  1. Gereksinim Analizi: Bu aşamada, yazılımın ihtiyaçlarını ve kullanıcı gereksinimlerini belirlemek için müşteriler ve kullanıcılarla etkileşim halinde olunur. Junior Test Developer, gereksinimlerin doğruluğunu ve tutarlılığını doğrulamak için test senaryoları hazırlayabilir.
  2. Test Planlama: Bu aşamada, test stratejisi belirlenir ve test planı oluşturulur. Junior Test Developer, test planının bir bölümünü hazırlayabilir veya hazırlanan test planını inceleyebilir.
  3. Test Senaryolarının Hazırlanması: Bu aşamada, test senaryoları oluşturulur. Junior Test Developer, test senaryolarını oluşturma sürecinde yardımcı olabilir.
  4. Test Senaryolarının Yürütülmesi: Bu aşamada, test senaryoları yürütülür ve sonuçları kaydedilir. Junior Test Developer, testleri yürütmek, kayıtları düzenlemek ve raporlamak için kullanılan araçları kullanabilir.
  5. Defect Management: Bu aşamada, tespit edilen hatalar kaydedilir, hataların tekrarlanabilirliği doğrulanır ve hataların çözümü için gerekli düzeltmeler yapılır. Junior Test Developer, hataları kaydedebilir, hata takibi yapabilir ve hataların tekrarlanabilirliğini doğrulamak için test senaryolarını tekrar yürütebilir.
  6. Test Raporlama: Bu aşamada, test sonuçları raporlanır. Junior Test Developer, raporların oluşturulması ve sunulması sürecine yardımcı olabilir.

Genel olarak, Junior Test Developer, test sürecinin her aşamasında yer alabilir ancak daha fazla deneyimli ekip üyeleri tarafından yönlendirilir.

Test sürecinin her aşamasında farklı test araçları ve uygulamaları kullanılır. İşte her aşama için en çok kullanılan bazı araçlar ve uygulamalar:

  1. Gereksinim Analizi: Bu aşamada, Microsoft Excel veya Google Sheets gibi elektronik tablolama uygulamaları, JIRA gibi proje yönetim araçları, Balsamiq veya Adobe XD gibi prototipleme araçları kullanılabilir.
  2. Test Planlama: Bu aşamada, Microsoft Project veya Asana gibi proje yönetimi araçları, TestRail veya Zephyr gibi test yönetim araçları kullanılabilir.
  3. Test Senaryolarının Hazırlanması: Bu aşamada, Microsoft Excel veya Google Sheets gibi elektronik tablolama uygulamaları, Katalon Studio veya Selenium WebDriver gibi test otomasyon araçları, veya TestLink gibi test yönetim araçları kullanılabilir.
  4. Test Senaryolarının Yürütülmesi: Bu aşamada, Selenium WebDriver veya Appium gibi test otomasyon araçları, JMeter veya Gatling gibi performans testi araçları, veya SoapUI gibi API test araçları kullanılabilir.
  5. Defect Management: Bu aşamada, JIRA veya Bugzilla gibi hata izleme araçları, TestRail veya Zephyr gibi test yönetim araçları kullanılabilir.

“Yazılım Geliştirme Yaşam Döngüsü (SDLC), yazılım endüstrisi için önemli bir süreçtir. Her adımı doğru bir şekilde planlamak ve yönetmek, ürünün kalitesini artırırken maliyeti azaltabilir. Her aşama, yazılım geliştirme sürecinin tamamında disiplinli bir yaklaşım gerektirir. SDLC’nin başarısı, doğru teknolojilerin ve yöntemlerin kullanılması, ekip üyelerinin işbirliği ve müşteri geri bildirimlerinin alınması ile mümkündür. Bu nedenle, SDLC, herhangi bir yazılım projesinin başarılı bir şekilde tamamlanması için kritik bir süreçtir.”

SDLC hakkında daha fazla bilgi edinmek istiyorsanız aşağıda 6 kaynak link paylaşıyorum:

  1. https://www.guru99.com/software-development-life-cycle-tutorial.html
  2. https://www.geeksforgeeks.org/software-development-life-cycle-sdlc/
  3. https://www.tutorialspoint.com/sdlc/index.htm
  4. https://www.cio.com/article/3150628/what-is-sdlc-understanding-the-software-development-life-cycle.html
  5. https://www.educba.com/sdlc-phases/
  6. https://www.techopedia.com/definition/30774/software-development-life-cycle-sdlc

--

--

Faris Kanbur
Faris Kanbur

Written by Faris Kanbur

I am a Full stack developer. I love learning new things and sharing what I learned with everyone because life is more beautiful when people have shared

No responses yet