Skip to content

Yazılım Geliştirme Süreci

2010 June 2
by admin

Giriş

Bu rapor, yazılım süreçlerini açıklamak amacıyla Onur Büyükceran tarafından hazırlanmıştır. Raporun içerisinde bir yazılım projesinin alt süreçleri ve bu süreçlerin nasıl işleyeceği ile ilgili detay bulunmaktadır. Proje dahilinde bu ve buna benzer dökümanlar “GENERAL” kategorisinde bulunmaktadır.

Bütün olarak yazılım geliştirme süreci, 3 ana alt başlık altında toplanmaktadır. Bunlar planlama, üretim ve operasyondur. Yazılım geliştirmeye ait bütün süreçler aslında dönüşümlerden ibarettir. Herbir süreç bir ürünü başka bir ürüne dönüştürerek son bulur.

Software Process

1. Planlama

Planlama kendi içerisinde üç alt sürece ayrılmaktadır. Bunlar “Vision and Scope”, “Requirements Specification” ve “Design Specification” olarak adlandırılır. Her bir alt süreç bitiminde bir rapor oluşturulur ve bu rapor bir sonraki sürecin içerisinde kullanılır.

1.1 Vizyon ve İçerik (Vision and Scope)

Bu süreç içerisinde yazılımın kullanılacağı sector ile ilgili gereksinimler, geliştirilecek olan yazılım içerisindeki çözümün vizyonu, bu vizyon dahilindeki içerik yönetimi, gereksinimlerin tespit süreci detayları belirlenmektedir. Süreç içerisinde belirlenen bütün bilgiler “Vision and Scope Document” başlığı altında raporlanacaktır. En son üretilen VSD bu sürecin bittiğini ve bir sonraki sürece başlanabileceğini gösterir.

1.2 Gereksinim Belirtme (Requirements Specification)

Bu süreç 3 basamaktan oluşur. Üçüncü basamak kontrol aşamasıdır. İkinci basamak sonucunda oluşturulacak RSD içerisinde belirsiz, eksik yada çakışan bir kısım olmadığının kontrolü yapılır ve bu dökümana istinaden 1.3 aşamasına geçilir. RSD’nin son halinin belirlenen aktörlerce tam olarak anlaşılması ve onaylanması gerekmektedir. Bu süreç bittiğinde yazılım projesinin “NE” olduğu tam olarak kağıt üzerine dökülmüş durumda olacaktır.

1.2.1 Elicitation

Yazılım ile ilgili kimselerin belirlendiği, gruplara ayrıldığı ve her gruptan belirlenen kişilerle yapılacak olan görüşmeleri kapsayan süreçtir. Bu görüşmeler sonucu yazılıma ait kullanıcı ve faaliyet gereksinimleri ile fonksiyonel gereksinimler belirlenir. Bu süreçte yapılan bütün toplantılar “RSD” kategorisi altında dökümante edilir.

1.2.2 Analysis

Yapılan bütün görüşmelere ait RSD dökümanları incelenir; eksik, belirsiz, yada çakışan kısımlar belirlenerek 1.2.1 sürecine tekrar girilir. Tespit edilen gereksinimler için uygun “Activity Diagram” ve “Use Case Diagram” çizimleri yapılır. Bu noktada belirli akış şemalarının yeniden şekillendirilmesi gerekebilir. Bu işleme BPM (Business Process Management) ve oluşabilecek değişikliklere BPR (Business Process Re-engineering) denir.

1.2.3 Doğrulama (Validation)

Son ürün olarak ortaya çıkan RSD, içerisinde eksik, belirsiz, yada çakışan kısımların olmadığı konusunda ilgili kimseler tarafından onaylanır. Bu süreç içerisinde cevap verilmesi gereken soru şudur: “Am I doing the right thing?”.

1.3 Tasarım Belirtme (Design Specification)

Yazılım sürecindeki en önemli dönüşüm RSD-DSD dönüşümüdür. Gereksinim belirtme dökümanında bulunan bütün bilgilere istinaden en uygun yazılım tasarımı yapılarak, bunlar ile ilgili “Structure Diagram” çizimleri yapılır. Bu çizimler içerisinde “Class Diagram” çizimleri en önemli yere sahiptir.

2. Üretim

Üretim kendi içerisinde beş alt sürece ayrılmaktadır. Bunlar “Kodlama”, “Deployment”, “Verification”, “Visual Improvements”, “Tutorial Documentation” olarak adlandırılır.

2.1 Kodlama

Bu süreç içerisinde tasarım belirtme dökümanında belirtilen yazılım üretilir. Yazılım geliştirme süreçlerinde genel bir yanılgı, en uzun zamanı alan sürecin 2.1 olduğu yönündedir. Gerçek örneklerde bu sürenin 1.2 veya 1.3 için geçen zamanın yarısı olduğu gözlemlenmiştir.

2.2 Deployment

Bu süreç içerisinde yazılımın çalışması için gerekli kurulumlar ve teknik eğitimler yer alır.

2.3 Sağlama (Verification)

Son ürün olarak ortaya çıkmış olan kodların RSD dökümanında belirtilen fonksiyonalitileri ve diğer gereksinimleri doğru bir şekilde yerine getirdiği test edilir. Bu süreç içerisinde cevap verilmesi gereken soru şudur: “Am I doing the thing right?”.

2.4 Visual Improvements

Bu süreç içerisinde çalışan ve kullanılan yazılıma dair ek görsel geliştirmeler yapılır.

2.5 Tutorial Documentation

Bu süreç içerisinde yazılımın bütün kullanıcı grupları için ilgili kısımların, süreçlerin, işlemlerin çalışması ile ilgili eğitim dökümanları hazırlanır.

3. Operasyon

Operasyon kendi içerisinde 3 alt sürece ayrılmaktadır. Bunlar “Monitor & Control”, “Customer Service”, “Problem Management” olarak adlandırılır.

3.1 Monitor & Control

Yazılım teslim edildikten sonra, sistemin incelenmesi ve kullanımı ile ilgili istatistiklerin çıkarılması sürecidir. Yazılım gerçek dünyada izlenir ve sorunsuz çalıştığı doğrulanır.

3.2 Customer Service

Bu süreçte kullanıcıların karşılaştığı problemler gözlenir ve oluşabilecek kullanıcı direncinin kırılması için gerekli eğitim çalışmaları yürütülür.

3.3 Problem Management

Yazılım içerisinde oluşabilecek sorunların anlık olarak çözüldüğü ve gereksinim değişimlerinin yönetilmesini içeren süreçtir.