• Anasayfa
  • Hakkımızda
  • Etkinlikler
  • Destek Verin
  • Site Haritası
  • Giriş Yap
  • Üye Ol
  • Facebook
  • Twitter
  • RSS
Yazılım Dilleri
  • Soru - Cevap
  • EĞİTİM SETİ
  • KATEGORİ
  • DUYURU
  • TEKNOLOJİ HABERLERİ

Son Sorular

  • 8/2/2020 11:38:31 PM'Basit' Yazılım Dili
  • 6/25/2020 3:18:13 PMderleme hatası
  • 12/11/2017 4:49:15 PMWindows Hizmeti Hk.
  • 4/23/2016 12:55:33 AMC programlama 2 oyun

Popüler Sorular

  • 5/27/2012 5:49:50 AMAsp.Net ile Date time alana veri ekleyemiiyorum ?
  • 4/2/2012 12:45:18 AM.exe uzantılı dosya için dijital imza nerde nasıl alınır.
  • 5/12/2012 8:44:49 AMAcil Yardım
  • 5/27/2012 1:46:51 PMveri tabanı bağlantısı
  • .Net Framework
  • 8085 Assembly
  • Active Directory
  • ADO.NET
  • Android
  • Apple IOS
  • Arduino
  • ASP.NET
  • ASP.NET MVC
  • Blackberry
  • C#.Net
  • C++
  • CCG Framework
  • CISCO
  • CSS
  • Diğer
  • Dreamweaver
  • Entity Framework
  • Exchange Server
  • Gömülü Sistemler
  • GSM Programlama
  • Güncel
  • Güvenlik
  • HTML5
  • Java
  • Javascript / JQuery
  • Jira
  • Kariyer ve İş Yaşamı
  • LibreOffice
  • LINQ
  • Linux
  • Matlab
  • Microsoft Dynamics CRM
  • Mobil Uygulama Geliştirme
  • MySQL
  • NoSQL
  • Oracle
  • OWIN
  • PFSense
  • PHP
  • Powershell
  • Python
  • Sanallastirma
  • SAP-ABAP
  • SCOM 2012
  • SEO
  • Sharepoint 2010
  • Sharepoint 2013
  • Silverlight
  • Sistem Analiz ve Tasarımı
  • SQL Server
  • Symantec
  • TFS
  • T-SQL
  • Ubuntu
  • VB.NET
  • Veritabanı Yönetim Sistemleri
  • Visual Studio
  • VMware
  • WCF
  • Web Hosting
  • Windows 8
  • Windows Azure
  • Windows Phone 7.1
  • Windows Phone 8
  • Windows Server
  • Wordpress
  • WPF
  • Xamarin
  • XNA
  • Yazılım Mühendisliği
  • Yöneylem Araştırması
  • ASP.NET MVC
  • Entity Framework
  • Javascript / JQuery
  • LINQ
  • PHP

Son Duyurular

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

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

Yazılım yaşam döngüsü nedir? Yazılım yaşam döngüsü örneği

28.12.2012

Yazar: Veysel Uğur KIZMAZ (Google+)

Kategori: Yazılım Mühendisliği

8030

 Yazılım Yaşam Döngüsü Nedir? (Software Development Lifecycle)

Geliştirdiğiniz bir yazılım projesinin planlamasından başlayarak teslimatına kadar geçirmiş olduğu bütün aşamalara ve bu aşamalardan oluşan döngüye, Yazılım Geliştirme Yaşam Döngüsü denir.

Bir yazılım projesinin geliştirilmesi, sadece kodlamatan oluşmamaktadır. Basitçe bir proje geliştirilirken projenin planlama, analiz, tasarım, üretim ve test aşamaları yer almaktadır ve almalıdır. Bu aşamalar bir kere gerçekleştirildikten sonra proje tamamlanmayabilir. Bu aşamaların bir döngü halinde düşünülmesi gerekmektedir. Proje tamamlandıktan sonra gelecek istekler, hata düzeltmeleri, projeye eklenecek yeni modüller vs konular için bu süreç devam etmektedir. Bu döngüye yazılım geliştirme yaşam döngüsü adı verilmektedir.

Bir yazılım projesinde planlama, analiz, tasarım, üretim ve test aşamalarının tamamlandığını ve proje içerisinde bu süreçler tamamlandıktan sonra hiçbir hata ve yeni istek olmadığını varsayalım. Bu noktada devreye projenin bakım aşaması girmektedir. Geliştirilen bütün yazılım projelerinin ileride doğabilecek hataları ve yeni istek ve talepleri için bakım sürecinin de yazılım yaşam döngüsüne eklenmesi gerekmektedir. Son haliyle yazılım yaşam döngüsü ele alındığında aşağıdaki süreç karşımıza çıkmaktadır.
 
Yazılım Geliştirme Yaşam Döngüsü
 
Yazılım yaşam döngüsü içerisindeki bu aşamalarda neler yapıldığına kısaca değinelim. İlerleyen makalelerde her aşamanın detaylarını da inceleyeceğiz.
 
Planlama
Yazılım yaşam döngüsünün başlangıç noktasıdır. Temel ihtiyaçların belirlendiği, proje için fizibilite çalışmalarının yapıldığı ve proje planlamasının oluşturulduğu dönemdir.
 
Analiz
Yazılım yaşam döngüsünün en önemli aşamlalarından biri olan analiz sürecinde projenin tüm işlevleri detaylı olarak belirlenir. Bu belirtimlere bağlı olarak sistem gereksinimleri netleşir ve buna bağlı talepler hazırlanır. Kısaca, analiz sürecinde projenin tüm detayları ortaya çıkartılır.
 
Tasarım
Analiz çalışması sonucu ortaya çıkartılan proje detayları baz alınarak proje gerekli durumlarda bileşenlerine ayrılırlar, proje içerisinde yapılacak işlemler adım adım belirlenir ve proje planı oluşturulur.
 
Proje planının yanısıra tasarım dokümanı da oluşturulmalıdır. Tasarım dokümanında proje bilgileri (amaç, kapsam vs), sistem tasarım bilgileri, tasarım detayları, veri modeli, kullanıcı arayüz tasarımları, UML Diagramları. Tasarım dokümanının amacı, yazılım geliştiricinin yazılımını geliştirirken referans alacağı ve proje sürecinde/sonrasında projeye dahil olacak yeni yazılımcıların projeyi daha kolay anlayabilmesini sağlayacak teknik bir dokümantasyona sahip olması gerekliliğidir.
 
Üretim
Planlama, analiz ve tasarımı tamamlanıp yapılacak işlemleri detaylı olarak belirlenen projenin geliştirme aşamasıdır. Bu noktadan sonra herhangi bir analiz işlemi yapılmamalı, proje, tasarım aşamasında oluşturulan planlama çerçevesinde ilerlemelidir. Üretim aşamasında yazılımcı alfa testlerini de gerçekleştirmektedir.
 
Test
Yazılım geliştirilmesi tamamndıktan sonra müşteriye sunmadan önce, test ekibi tarafından beta testlerinin gerçekleştirilmesi aşamasıdır. Bu aşama tamamlandıktan ve varsa hatalar giderildikten sonra proje yayına alınmaktadır.
 
Bakım
Proje yayına alındıktan sonra oluşabilecek hataların giderilmesi, yazılımın iyileştirilmesi ve yeni işlevlerin eklenmesi süreçleridir. Bu süreç zarfında kullanıcılardan gelen bilgiler doğrultusunda bu istekler gerçekleştirilmektedir.
 
Teorik olarak yazılım yaşam döngüsünün aşamalarını inceledik. Şimdi bir proje düşünelim ve her aşamada proje içinde neler yapıldığını maddeler halinde inceleyelim.
 

Yazılım Geliştirme Yaşam Döngüsü Örneği

Projenin Adı: Araç takip sistemi

Müşterinin Talebi: Şirket araçlarını kimlerin aldığını, kaç km yol yaptıklarını aylık incelemek ve takibini hazırlanacak program üzerinden gerçekleştirmek.

Planlama
“Yazılım yaşam döngüsünün başlangıç noktasıdır. Temel ihtiyaçların belirlendiği, proje için fizibilite çalışmalarının yapıldığı ve proje planlamasının oluşturulduğu dönemdir. “
 
Projenin planlaması yapılırken proje içerisinde yapılacak işlemleri temel hatlarıyla ortaya çıkarmak gerekmektedir.
  • Araç takibinin yapılması için sisteme araç girişinin yapılması gerekir.
  • Araç bir personele verileceği için personel bilgi girişinin yapılması gerekir.
  • Personelin aracı alım, kullanım ve teslim bilgilerinin girilmesi için bilgi girişinin yapılması gerekir
  • Aylık olarak araç ve personel bazında raporlama gerekir.
Projede yapılacak işlemler basitçe belirlendikten sonra projenin geliştirilmesi ve kullanımı için gerekli ortam belirlenir.
  • Proje Java programlama diliyle yazılacaktır ve client uygulaması olacaktır.
  • Projenin bilgisayar üzerinde çalışması için …. sistem özelliklerine sahip olması gerekmektedir.
  • Proje bilgileri MySQL veritabanında tutulacaktır. Veritabanı için ayrı bir sunucu gerekmektedir. Sunucu bilgileri: …
 
 
Analiz
“Yazılım yaşam döngüsünün en önemli aşamlalarından biri olan analiz sürecinde projenin tüm işlevleri detaylı olarak belirlenir. Bu belirtimlere bağlı olarak sistem gereksinimleri netleşir ve buna bağlı talepler hazırlanır. Kısaca, analiz sürecinde projenin tüm detayları ortaya çıkartılır.”
Proje planlamasında belirtilen maddeleri müşteriyle beraber (müşterinin kendisi ya da proje için belirlediği bir analiz ekibi/personeli ile) projenin detayları belirlenir.
  • Proje 3 parçadan oluşacaktır: Personel girişi, araç girişi, araç talebi
  • Araç İşlemleri: Araç ile ilgili işlemleri kapsar.
    • Araç Kaydı: Araçların system kaydı, bilgi güncellemesi ve sistemden silinmesi (görünmemesi) işlemlerini yapar.
    • Araç Listesi: Araçların durumları görüntülenir (boşta ve kullanımda bilgileri)
  • Personel İşlemleri: Personeller ile ilgili işlemleri kapsar.
    • Personellerin sisteme kaydı, bilgi güncellemesi ve sistemden silinmesi (görünmemesi) işlemlerini yapar.
    • Personel Listesi: Personellerin araç alım durumları görüntülenir (şu anda araç aldı / almadı)
  • Personel Araç Alım İşlemleri: Personelin araç alım/teslim edim işlemlerini kapsar.
    • Personel araç alımı: X personelinin Y aracını alım bilgilerinin girişini / düzenlemesini sağlar.
    • Personel araç iade: X personelinin aldığı Y aracını iade bilgilerinin girişini / düzenlemesini sağlar. 
  • Raporlama
    • Personelin 30 gün içinde aldığı araç bilgileri
    • Aracın 30 gün içinde kaç gün kullanıldığı bilgileri
 
Tasarım
“Analiz çalışması sonucu ortaya çıkartılan proje detayları baz alınarak proje gerekli durumlarda bileşenlerine ayrılırlar, proje içerisinde yapılacak işlemler adım adım belirlenir ve proje planı oluşturularak tasarım işlemi gerçekleştirilir. “
 
Analizde, yapılacak işlemler detaylandırıldıktan sonra yapılacak işlemler fonksiyon/ekran/işlem bazında listelenir ve hangi işlem için ne kadar zamanlama gerektiği belirtilerek proje planlaması oluşturulur.
 
İşlem
Süre
Başlangıç Tarihi
Bitiş Tarihi
Veritabanı sunucusu kurulumu veyapılandırması
0.5 gün
…
…
Veritabanı mimarisinin oluşturulması
1 gün
…
…
Araç listesi ekranı
0.5 gün
…
…
Araç kayıt ekranı (kaydet, düzenle, sil)
1 gün
…
…
Personel listesi ekranı
0.5 gün
…
…
Personel kayıt ekranı (kaydet, düzenle, sil)
1 gün
…
…
Araç alım ekranı (kaydet, düzenle, sil)
1 gün
…
…
Alınan araçları listeleme ekranı
0.5 gün
…
…
Araç iade ekranı (kaydet, dzüenle, sil)
1 gün
…
…
Personel 30 günlük araç kullanım raporu
1 gün
…
…
Araçların 30 günlük kullanım raporu
1 gün
…
…
Alfa testleri
2 gün
…
…
TOPLAM
11 gün
…
…
 
Üretim
“Planlama, analiz ve tasarımı tamamlanıp yapılacak işlemleri detaylı olarak belirlenen projenin geliştirme aşamasıdır. Bu noktadan sonra herhangi bir analiz işlemi yapılmamalı, proje, tasarım aşamasında oluşturulan planlama çerçevesinde ilerlemelidir. Üretim aşamasında yazılımcı alfa testlerini de gerçekleştirmektedir.”
 
Tasarım aşamasında belirtilen detaylar, günler, başlangıç ve bitiş tarihleri kapsamında projenin, toplam başlangıç tarihinde başlanır ve bitiş tarihinde tamamlanacak şekilde kodlaması ve alfa testleri gerçekleştirilir.
 
Test
“Yazılım geliştirilmesi tamamndıktan sonra müşteriye sunmadan önce, test ekibi tarafından beta testlerinin gerçekleştirilmesi aşamasıdır. Bu aşama tamamlandıktan ve varsa hatalar giderildikten sonra proje yayına alınmaktadır.”
 
Proje tamamlandıktan sonra test ekibi ya da müşteri tarafından projenin testleri yapılır. Varsa düzenlemeler veya eksiklikler yazılım geliştirici ekip tarafından tamamlanır.
 
Bakım
“Proje yayına alındıktan sonra oluşabilecek hataların giderilmesi, yazılımın iyileştirilmesi ve yeni işlevlerin eklenmesi süreçleridir. Bu süreç zarfında kullanıcılardan gelen bilgiler doğrultusunda bu istekler gerçekleştirilmektedir.”
 
Yazılım tamamlandıktan ve yayına alındıktan (müşteri kullanmaya başladıktan) sonra yazılıma eklenmesi gereken yerler olduğu belirtildi: Araç kaza yaparsa bu kaydın girileceği, araç ve personel bazında kazaların takip edileceği bir bölüm yapılması gerekiyor.
 
Bu durumda gelen yeni talepler için yazılım geliştirme yaşam döngüsü bu istekler için başa döner ve yeni istekler için Planlama > Analiz > Tasarım > Üretim > Test > Bakım süreçleri başlar.
Yukarıda belirtilen yazılım geliştirme yaşam döngüsü tanımlaması, genel hatlarla yazılım yaşam döngüsünün ne olduğunu anlamak için verilmiş standart bir süreçtir. Geliştirilecek yazılımların detayları, büyüklükleri ve işlevlerine bağlı olarak farklı standart metodolojiler üretilmiştir. Bu metodolojilerle ilgili detaylara ilerleyen makalelerde değiniyor olacağız.
 
Yepyeni makalelerde görüşmek dileğiyle :)
 
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com
www.ugurkizmaz.com

 

Yazar Hakkında

Veysel Uğur  KIZMAZ

Veysel Uğur KIZMAZ

www.ugurkizmaz.com

YazılımDilleri.Net projesinin lideri olan Veysel Uğur Kızmaz, Gazi Üniversitesi Bilgisayar Mühendisliği bölümü mezunudur. Bir çok projede çalışmış, yazılım alanında birçok eğitimler vermiştir. Şu an özel bir yazılım danışmanlık firmasında Sharepoint proje danışmanlığı ve proje yöneticiliği yapmaktadır. Veysel Uğur Kızmaz, dahil olduğu projelerin çeşitliliği sebebiyle farklı alanlarda uzmanlaşmıştır: .Net, Sharepoint, Java, Php, Javascript, SQL Server, Oracle, MySQL.

Sosyal Medya

ORANLAR

  • 8030izleme

Arkadaşlarınla Paylaş

  • Tweet

0 Yorum

Yorum Yaz / Soru Sor

Lütfen yorum yazmak veya soru sormak için üye girişi yapınız.

Son Yorumlar

  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Merhaba, ellerinize sağlık çok yardımcı ol...
  • Merhaba Bu uygulama örneğinden ASP.net ...
  • Hocam Link başka sayfaya yönlendiriyor.

En Güncel Sorular

  • Bilgilendirme maili (C#.Net)
  • Power Pivot (Sharepoint 2010)
  • BigInteger, BigDecimal (Asp.Net ve Asp.Net MVC)
  • visual C# ile asp nette veritabanı islemleri (Asp.Net ve Asp.Net MVC)
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ? (Sharepoint 2010)

En Son Cevap Verilen Sorular

  • Bilgilendirme maili
  • BigInteger, BigDecimal
  • visual C# ile asp nette veritabanı islemleri
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ?
  • txt dosyasına veri yazma

Twitter

Takip et: @yazilim_dilleri

En Çok Okunanlar

Elif BAYRAKDAR

C# ile SQL Server Bağlantısı, Insert, Update ve Delete Sorguları

23.05.2013

  • 123776
  • 0
Hakan Keskin

C# ile Windows Service Projesi Oluşturma, Debug Etme ve Setup Hazırlama

17.12.2013

  • 70839
  • 0
batuhan avlayan

Php - Mail Gönderme (İletişim Formu)

02.09.2013

  • 51496
  • 0

Sponsorlar

KODLAB
Pluralsight
Exchange server is
Office 365
YAZILIM DİLLERİ
Yukarı Çık
  • Hakkımızda
  • Facebook
  • Twitter
  • RSS

© Yazılım Dillerinin Buluşma Noktası | Kaynak belirtildiği sürece makaleler kopyalanabilir.
YazilimDilleri.Net sitesinde yer alan kullanıcıların oluşturduğu tüm içeriklerin yayınlanması ile ilgili yasal yükümlülükler içeriği oluşturan kullanıcıya aittir, YazilimDilleri.Net hiçbir şekilde sorumlu değildir.

Kapat

Giriş Yap

Kullanıcı Adı

Şifre

Şifremi Unuttum

KULLANICI GİRİŞİ