Enpro Bilişim
  • Anasayfa
  • Kurumsal
  • Faaliyetler
  • Projeler
  • Referanslar
  • İletişim
  • Blog
Ocak 23, 2020 Başak Akbaş tarafından

Yazılım Geliştirme Süreci Modelleri (SDMP)

Yazılım Geliştirme Süreci Modelleri (SDMP)
Ocak 23, 2020 Başak Akbaş tarafından

Yazılım Geliştirme Süreci Modelleri (SDMP) Nelerdir?

Her gelişim sürecinin kendi içinde yaşadığı prosesler vardır. Yazılım Geliştirme sürecinde de bazı kurucu adımlar ve yaygın düzenlemelerden geçilir. Birçok model olmasına rağmen, neler yapılması gerektiği konusunda önceliklerden bahsedelim. Öncelikle sorun/ihtiyaç veya fırsatların tanınması gerekir. Bu tanım sonrası fizibilite çalışması yapılır ve ihtiyaçların analizi ortaya çıkar. Sistemin tasarımı sonrasında uygulamaya geçilip test edilir. Bir projenin kalitesi ve bütçesi büyük ölçüde seçilen modele bağlıdır. Günümüzde elliden fazla model bulunmaktadır. Yazılım Geliştirme Süreci Modellerinden popüler olanlara göz atalım;

Büyük Patlama Modeli

1- Büyük Patlama (Big-Bang) Modeli; Belirli bir sürecin takip edilmediği basit bir modeldir. Yönetimi kolay olan ve herhangi bir katı süreç gerektirmeyen bu model, minimum planlama ile yürütülebilir.  Zaman, bütçe ve insan çabası sonucunda ihtiyaçları karşılayan ya da karşılamayan bir kod ortaya çıkar. Genellikle akademik ve küçük ölçekli projeler için kullanılır. Nesne yönelimli, karmaşık ve uzun vadeli projeler için zayıf ve risklidir.

Kodlama Modeli

2- Kodlama ve Düzeltme Modeli; Big-Bang modelinin biraz ilerisinde bir model olan kodlama ve düzeltme modeli, test edilmesi gereken ürünün tamamlanmasına odaklanır. Bir test ekibi hataları bulmaya çalışır ve geliştiriciler hataları düzeltir. Bu modeldeki sonuç ve zaman belirsizliğinden dolayı, yüksek kaliteli bir ürün çıkma olasılığı azdır.

Şelale Modeli

3- Şelale Modeli; Doğrusal sıralı model veya Klasik Yaşam Döngüsü Modeli olarak da adlandırılan bu model,en eski ve klasik bir modeldir. Şelale Modeli; Müşteri ile bilgi alışverişi için İletişim, projenin kapsamlı bir bitiş zamanı tahmini için Planlama, proje tasarımı, akış şeması ve ihtiyaçlar analizi için Modelleme, kod üretimi, uygun kodlama dili kullanmak ve çıktıyı test etmek için İnşaat ve müşteriye sunup performans hakkında geri bildirim almak için Dağıtım olmak üzere 5 adımdan oluşur. Doğru yolda olunduğundan emin olmak için her aşamadan sonra geri bildirim alınır, fakat test aşaması geliştirme bittikten sonra yapılır. Koddaki hatalar süreç bittikten sonra tespit edildiği için bu modeli küçük projelerde uygulamakdaha uygun olur. Tüm ihtiyaçlar proje başlangıcında bilindiği için yönetilmesi kolaydır. Kullanım alanları ise;
*Basit, küçük veya orta ölçekli projeler (küçük şirket web sitesi geliştirme vb.)
*Öngörülebilir bütçe ve zaman çizelgesine ihtiyaç duyulan projeler (devlet projeleri)
*Birden fazla kural ve düzenlemeye uyması gerek projeler (sağlık projeleri vb.)
*Tanınmış teknoloji ve araçların kullanıldığı projeler
Bu modelin dezavantajlarından da bahsetmek gerekir. Karmaşık olduğu için nesneye yönelik projeler için uygun değildir. Bu modelde değişikliklere izin verilmez bu sebeple orta ve yüksek riskli değişiklikler için uygun değildir. Uzun süreli projeler için kötü bir modeldir ve riski yüksektir.

V-Modeli

4- V- Modeli (Doğrulama Modeli); Doğrusal bir model olan V Modeli, her aşamada test gerektirir. Bu tür bir iş akışında kalite kontrol en öncelikli değerdir. Yazılım ve test aşamaları paralel olarak çalışır, dolayısıyla hata olasılığı düşer. Bu doğrulama aşaması; ürünün doğru oluşturulup oluşturulmadığı, yazılımın ihtiyaçları karşılayıp karşılamadığı ile ilgili soruları cevaplar. Bu süreçte projenin gereklilikleri, kod ve tasarımsal hatalar erken tespit edilir ve her aşama, bir sonraki aşama başlamadan önce kendini tamamlar. Kullanımı kolay ve basittir.
V Modeli 5 adımdan oluşur. İlk adım, Ürün gereksinimlerini ve beklentileri anlamak.  İşin ihtiyaçlarını, kabul testi tasarımı şeklinde tamamlar. İkinci adımda Sistem tasarımına geçerek, teknik ihtiyaçlarını nasıl kullanacağını belirler. Tasarım aşamasında veri tabanı tablolarını ve teknoloji detaylarını tamamlar. Ve son olarak kodlama adımında, sistem ve mimari gereksinimlere göre en uygun program diline kadar verip tasarladığı modülü yürütmeye başlar. Kullanım alanları; Tıbbi yazılım, havacılık filosu, yönetim yazılımı vb.
Bu modelin dezavantajları; Her aşamada test etmek zaman alır ve geliştirme aşamasında yapılan değişiklikler maliyetlidir. Büyük projeler için uygun değildir.

Yinelemeli Model

5- Artımlı ve Yinelemeli Model; Şelale Modeli unsurlarını birleştiren Artımlı Model, bu unsurları yinelemeli bir şekilde kullanır.Her modül, yazılım geliştirmenin tüm aşamalarından geçer ve her yinelemede yazılım değişir, gelişir ve büyür. Her yinelemede bir önceki temel alındığından, yazılım tasarımı tutarlı kalır. Parçalar halinde oluşturulur, dolayısıyla geliştirme sürecinde geri bildirimlere göre küçük değişiklikler yapmak mümkündür. Bu modelde test etmek ve hata ayıklamak kolaydır. Müşteri geri bildirimleri sayesinde her yineleme sonrası işlevlerin kontrolü yapılabilir. Yineleme ürün tamamlanana kadar devam eder. Radikal değişiklikler yapılamaz bu yüzden sistem tasarımı başlangıçta yapılmış olmalıdır. Yinelemeli Model, Şelale Modeli ile aynı adımları içerir; İletişim, Planlama, Modelleme, İnşaat ve Dağıtım.
Artımlı modelin dezavantajları; Maliyet başlangıçta tahmin edilenden yüksek olabilir. Sistem küçük artışlara bölünmeden önce açık ve eksiksiz planlama gerektirir. Her artışın sonunda müşteri geri bildirimi olacağından bu sistem mimarisine zarar verebilir. Yineleme Modeli kullanım alanları; Mikro hizmet sunan, web hizmetlerinden oluşan uygulamalar, büyük ve kritik iş uygulamaları vb.

Rad Modeli

6- RAD Modeli; Hızlı uygulama geliştirme modelidir. Planlama ve ihtiyaçlar başlangıçta belirlenir. Proje küçük parçalara ayrılarak kodlanır ve prototipte birleştirildikten sonra teslim edilir. Geliştirme ve teslimat süreci hızlı olan Rad Modeli 5 adımdan oluşur. İş modelleme ilk aşamadır. Temel işletme bilgileri ile eksiksiz bir iş analizi yapmayı gerektirir. Hangi tür bilgiler üretileceği ve bu bilgilerin hangi işlevlerde kullanılacağı planlanır. Veri modelleme aşamasında, nesnelerin nitelikleri tanımlanır ve iş modellemede kullanılan bilgiler bu nesnelerle rafine edilir. Süreç modelleme aşamasında ise bir önceki veri modelleme aşamasında elde edilen tanımlanmış veriler araç haline getirilerek iş modeline uygulanır. Veri nesnesi ekleme, değiştirme veya silinme işlemleri bu aşamada yapılır. Tüm bu adımlardan sonra uygulama oluşturma aşamasında artık gerçek bir sistem oluşturulur. Bu sistemde yapılan prototipler bağımsız olarak test aşamasına girer. Rad Modeli, her aşamada geri bildirim gerektirdiğinden uzun vadeli ve büyük projeler için iyi bir seçim değildir.

Çevik Model

7- Çevik Model; Merkezinde yinelemeli gelişim, yoğun iletişim ve erken müşteri geri bildirimi vardır. Eksiksizçalışan yazılım sürümü sunmayı hedefler. Geliştirilen uygulamada çalışan bir bölümün hızlı teslimatı ve müşteri memnuniyeti odak noktasıdır. Ayrıntılı yazılım belgelerine (ayrıntılı ihtiyaçlar listesi, ayrıntılı açıklamalar) ve yazılım test süreçlerine daha az dikkat eder. Bu, hızlı gelişimi teşvik eder fakat ayrıntı olmadığı için sorun tespiti süreci karmaşık ve uzundur. Bu modelde ürün tek tek yinelemelere bölünür. Her yinelemede planlama, ihtiyaçlar, analiz, tasarım, kodlama, birim testi ve kabul testi fonksiyonları gerekir. Her yinelemede de özellikler eklenir. Bu yineleme sonucunda çalışan ürün müşteri incelemesine sunulur. Kolay düzeltmeler, hızlı güncellemeler ve özellik ekleme sürekli yazılım geliştirmeye müsaade eder ve ihtiyaçları daha iyi karşılayan uygulamalar sunmaya yardımcı olur. Tamamen müşteri etkileşime bağlı modelde, müşteri kararsız ve net değilse, gelişme sürecini yanlış yönlendirilebilir.
Çevik Model’in kullanım alanları; erken geri bildirim gerektiren başlangıç girişimleri, küçük fonksiyonel parçalara bölünmesi kolay olan projeler, her yineleme aşamasında kademeli olarak geliştirilebilen projeler. 

Spiral Model

8- Spiral Model; Yoğun müşteri katılımının görüldüğü bir modeldir ve çok kapsamlı risk değerlendirmesine odaklanır.Yineleme ve şelale modelinin bir kombinasyonudur. Bu gelişim sürecinde sürekli işlevsellik eklendiği için spiraldir.Her aşama bir tasarım hedefi ile başlayıp müşteri incelemesi ile biter. Yani her aşama küçük gereksinimler setidir. Bu müşteri incelemeleri güçlü bir onay modeli ve dokümantasyon kontrolü sağlar. Geliştiricilerin herhangi bir aşamada kodda değişiklik yapmasına olanak tanıdığı için belirsiz veya karmaşık özel, büyük ve kritik özellikteki projelerde tercih edilir. Spiral model 4 adımdan oluşur; Maliyet ve kaynak tahminleri kapsamlı bir planlama, stratejik değerlendirme ve risk analizi, yazılım ve test aşamasında prototip oluşturma, daha önce teslim edilen parçaların müşteri değerlendirmesi ve bir sonraki spirale geçmeden önce geri bildirim. Bu tekrarlanan spiral döngü, proje zaman çizelgesini uzatır. Maliyet bu modelin dezavantajıdır. Küçük projeler için kullanılmaz. Spiral Model kullanım alanları; belirsiz iş ihtiyaçları olan projeler, inovatif ihtiyaçları olan projeler, büyük ve karmaşık projeler, Ar-ge faaliyeti vb.

Prototip Modeli

9- Prototip Modeli; Kodun birincil formunun tasarımına odaklanır. Dar bir işlevselliğe sahip prototip modelde, çalışma programları hızlı üretilir. Geliştirme sürecinde müşteri katılımı vardır ve dolayısıyla hızlı geri bildirim sağlanabilir. Hata tespiti önceden yapılan bu modelde, ayrıntılı girdi ve çıktı ihtiyacı yoktur. Prototip model; müşteri genel hedeflerini öğrenmek için iletişim, öğrenilen önemli girdi ve çıktıları oluşturmak için hızlı tasarım, modelleme ve prototip oluşturma, müşteri değerlendirmesi için dağıtım ve geri bildirim adımlarından oluşur. 

  

RUP Modeli

10- Rasyonel Birleşik Süreç (RUP); Doğrusal ve yinelemeli modellerin bir kombinasyonu olan bu model çevik bir yazılım geliştirme sürecidir. Rasyonel Birleşik Süreç, 4 aşamadan oluşur. Başlangıç aşamasında projenin yapısı belirlenir. Sistem gereksinimlerini belirlemek ve tasarım oluşturmak için detaylandırma aşamasına geçilir. Bu aşamada ürün analizleri yapılarak projenin temeli atılır. İnşaat aşamasına geçilir ve bu artık yapım aşamasıdır. Yazılım sistemi bütünüyle oluşturulmaya başlanır. Kodlar uygulanır ve test edilir.  Oluşturulan ürün, geçiş aşamasına gelerek kullanıcıya sunulur ve geri bildirim istenir.
Rasyonel birleşik süreç, istikrarlı ve esnek çözümler üretilebilir bir modeldir.
Kullanım alanları; Büyük ve riskli projeler, yüksek kaliteli yazılımlar vb.

Yazar : Başak AKBAŞ

Önceki makaleBulut Teknolojisi Nedir ?Sonraki makale İnovasyon Nedir?

About The Blog

Nulla laoreet vestibulum turpis non finibus. Proin interdum a tortor sit amet mollis. Maecenas sollicitudin accumsan enim, ut aliquet risus.

Son Yazılar

Mobil Uygulama Geliştirme Nedir? Mobil Uygulama Geliştirme için Hangi Programlama Dilleri Kullanılmalıdır?Şubat 19, 2020
Microsoft’dan Startup’lar için GitHub Enterprise ve Microsoft Power Platform Müjdesi!Şubat 18, 2020
Arama Motoru OptimizasyonuŞubat 11, 2020

Kategoriler

  • Girişimcilik
  • Haber
  • Makale
  • Teknoloji
  • Yazılım

Meta

  • Giriş
  • Yazı beslemesi
  • Yorum beslemesi
  • WordPress.org

Etiketler

3d nesneler akıllı asistanlar akıllı robot arge nedir artırılmış gerçeklik bulut bilişim bulut dağıtım türleri bulut işletim sistemi bulut nedir bulut teknolojisi bulut teknolojisi nedir hizmet inovasyonu ikili kod nedir inovasyon nedir inovasyon süreci inovasyon yöntemleri inovasyon çeşitleri inovatif yaklaşım insansı robot insan zekâsı simülasyonu kodlama dilleri neler kodlama eğitimi kodlama nasıl yapılır kodlama neden önemli kodlama nedir makine öğrenimi microsoft pazarlama inovasyonu programlama dilleri programlama eğitimi programlama nedir projeler için yazılım geliştirme Yapay zekâ yapay zekâ nedir yazılım geliştirme yazılım geliştirme modelleri yazılım geliştirme süreci yenilikçi yaklaşımlar yeni ürün geliştirme çocuklar için kodlama eğitimi ürün geliştirme aşamaları ürün geliştirme nasıl yapılır ürün geliştirme nedir ürün geliştirme süreçleri ürün inovasyonu

İletişim

Pınarbaşı Mah., Hürriyet Cad., Antalya Teknokent, Uluğbey Binası, No :3A / B60,

Konyaaltı / Antalya
+90 (535) 573 7799
mail@enprobilisim.com
Pazartesi - Cuma
8:00 - 18:00
Rife WordPress Theme ♥ Proudly built by Apollo13Themes - Edit this text