selçuk şenol unified process

25
Unified Process Selçuk Şenol Uluslar arası Kıbrıs Üniversitesi Bilişim Sistemleri Mühendisliği

Upload: fatih-cengel

Post on 13-Jan-2015

2.686 views

Category:

Education


8 download

DESCRIPTION

Bu slayt Unified Process hakkında bilgi vermektedir.

TRANSCRIPT

Page 1: SelçUk şEnol   Unified Process

Unified Process

Selçuk Şenol

Uluslar arası Kıbrıs Üniversitesi

Bilişim Sistemleri Mühendisliği

Page 2: SelçUk şEnol   Unified Process

Software Engineering

Kısa süre.

Limitli bütçe.

Kaliteli Yazılım.

Page 3: SelçUk şEnol   Unified Process

Unified Process

Unified Process bir proje yönetim sürecidir.

Page 4: SelçUk şEnol   Unified Process

Nasıl Bir Süreç ?

Gereksinimlerin büyük bütünden küçük parçalara bölündüğü,

Kim,neyi,ne zaman yapacak sorularının yanıtlarının verildiği,

Parçacık ve basit nesneler ile geliştirme sürecinin sürat kazanmasının hedef alındığı,

UML in yazarları tarafından geliştirilmiş bir Mühendislik sürecidir.

Page 5: SelçUk şEnol   Unified Process

Unified Process Tarihi

1967 ilk ortaya çıkış

Ivar Jacobson(İsveç bilim adamı)

Ericsson Ar-Ge Desteği

1995 IBM Unified Process Çalışmaları

Page 6: SelçUk şEnol   Unified Process

Unified Process

Temelleri “Iterative” ve “incremental” “Use-case driven” “Architecture centric” “Risk focused”

Statik yapısına ek olarak, kurumların ve projelerinin özelliklerine göre uyarlanabilir bir yapıya sahiptir (“tailorable”)

Page 7: SelçUk şEnol   Unified Process

UP Yaşam Döngüsü

“Inception” – Projenin kapsamını tanımla ve iş durumunu (“business case”) geliştir “Elaboration” – “Projeyi planla, özelliklerini tanımla, mimariyi dayanağı (“baseline”) oluştur “Construction” – Ürünü gerçekleştir “Transition” – Ürünü kullanıcılarına teslim et

Page 8: SelçUk şEnol   Unified Process

UP Destekleyicileri

Döküman örnekleri,

Araçlar-compilers,yapılandırma araçları,

Veritabanları,

Kritik sistemler için güçlü kalite kontrol kriterleri,

Page 9: SelçUk şEnol   Unified Process

Standish Group, CHAOS Report, 2003

Yazılım projelerinin %66’si başarısızlıkla sonuçlanıyor yada çok zor tamamlanıyor!

57%57% gereksinimlerin gereksinimlerin zayıf belirlenmesizayıf belirlenmesi,, veya veya

yönetilememesiyönetilememesi

54%54% gerekli gerekli fonksiyonların son ürüne fonksiyonların son ürüne

yansımamasıyansımaması

2525%% yetersiz araç yetersiz araç kullanımı veya gerekli kullanımı veya gerekli eğitimin alınmamasıeğitimin alınmaması

82%82% öngörülen öngörülen zamanın aşılmasızamanın aşılması, 51% , 51%

öngörülen bütçenin öngörülen bütçenin aşılmasıaşılması

Page 10: SelçUk şEnol   Unified Process

Developer Versus Customer

Page 11: SelçUk şEnol   Unified Process

Yazılım Geliştirme

Zorluklar…

Yazılım geliştirme, karmaşık, zaman alıcı ve hataya açık bir süreç

Oldukça bilgili ve yetkin geliştiricilere gereksinim duyuyor ve kaynaklar kısıtlı

Öğrenme eğrisi uzun Geleneksel yazılım

geliştirme ortamları yetersiz

Çözüm…

Endüstri Standartları ile Modelleme

Geliştirme ortamından daha çok faydalanmak

Hızlı ama sağlam kod geliştirme

Öğrenme eğrisini kısaltan veya ortadan kaldıran

Page 12: SelçUk şEnol   Unified Process

Unified Process Prensipleri

Yazılımı tekrarlı (“iteratively”) geliştir Gereksinimleri yönet Bileşen tabanlı (“component-based”) mimari

kullan Yazılımı görsel modelle Yazılım kalitesini sürekli doğrula

(“verification”) Yazılımla ilgili değişiklikleri kontrol et

Page 13: SelçUk şEnol   Unified Process

UP Süreç Yapısı

Page 14: SelçUk şEnol   Unified Process

UP Statik Yapısı

Çalışanlar (“Workers”) : Kim?

Aktiviteler (“Activities”): Nasıl?

Ürünler (“Artifacts”) : Ne?

İş akışları (“Workflows”) : Ne zaman?

Page 15: SelçUk şEnol   Unified Process
Page 16: SelçUk şEnol   Unified Process

UP Temelli Süreç Örneği

2 yıllık bir proje için 2,5 ay “inception” aşaması

7 ay “elaboration” aşaması

12 ay “construction”

aşaması

2,5 ay “transition” aşaması

Page 17: SelçUk şEnol   Unified Process

“Inception” Aşaması

Operasyonel kavramlar, kabul kriterleri ve nelerin ürünle ilgili olup

olmadığını içerecek şekilde proje yazılım kapsamını ve sınır

durumlarını belirlemek

Sistemin işlevselliğini yönetecek ve tasarım kararlarını

şekillendirecek kritik “use-case”lerini ayırt etmek

En az bir aday mimari göstermek

Projenin bütünü için tüm bütçe ve iş çizelgesini tahminlemek ve

“elobration” aşaması için takip edilecek detaylı planı oluşturmak

Riskleri öngörmek

Page 18: SelçUk şEnol   Unified Process

“Inception” Aşaması - Çıktılar

Vizyon dokümanı

Proje gereksinimleri, anahtar özellikler ve temel

sınırlamalarla ilgili genel vizyon “Use case” modeli

Bu aşamada tanımlanabilen tüm aktörler ve “use case”ler

Başlangıç proje sözlüğü (“glossary”)

Başlangıç iş durumu (“business case”)

İş bağlamı (“context”), başarı kriterleri (ciro, market, vb.)

Finansal tahmin (“forecast”)

Page 19: SelçUk şEnol   Unified Process

“Elaboration” Aşaması

Problem alanını analiz etmek

Mimari temeli oluşturmak

Proje planını geliştirmek

Projenin yüksek risklerini gidermek

Temel hedefler: Mimariyi geçerle ve dayanak (“baseline”) oluştur

Vizyon için dayanak oluştur

“Construction” aşaması için detaylı planı yap ve plan dayanağı oluştur

Mimarinin vizyonu kabul edilebilir bütçe ve zamanda destekleyeceğini göster

Page 20: SelçUk şEnol   Unified Process

“Elaboration” Aşaması - Çıktılar

“Use case” modeli (en az %80’i tamamlanmış) Tamamlayıcı gereksinimler; işlevsel olmayan ve bir “use case” ile ilişkisi

olmayan gereksinimler Yazılım mimari tanımı Mimari prototip (“executable”) Güncellenmiş risk listesi ve iş durumu (“business case”) Tüm proje için geliştirme planı

Tekrarları ve her tekrar için değerlendirme kriterlerini gösteren

Kullanılacak süreçleri gösteren geliştirme durumu (“development case”) Ön kullanıcı el kitabı (isteğe bağlı)

Page 21: SelçUk şEnol   Unified Process

“Construction” Aşaması Geri kalan bileşenler ve uygulama özellikleri geliştirilir Tüm bileşenler ürüne entegre edilir Tüm özellikler test edilir

Temel hedefler: Kaynakların optimizasyonu ve tekrar işlerden kaçınarak,

geliştirme bütçesini azaltmak Öngörülen kaliteye ulaşmak Versiyonları (alpha, beta) oluşturmak

Çıktılar: Uygun platformda entegre edilmiş yazılım ürünü Kullanıcı el kitapları Şu anki sürüm tanımı

Page 22: SelçUk şEnol   Unified Process

“Transition” Aşaması

Yazılım ürününü kullanıcı sahasına taşımak Kullanıcı beklentilerinin yeni sistemde karşılandığının

geçerlenmesi, beta test

Projenin yenilediği eski sistemle ilgili paralel işlemler

Operasyonel veritabanı dönüşümleri

Kullanıcı ve bakımcıların eğitimi

Ürünün pazar, dağıtım satış takımları için hazırlanması

Page 23: SelçUk şEnol   Unified Process

Yani….

Unified Process sadece yazılım sektöründe değil üretime dayalı tüm sektörlerde, üretim sürecini hızlandıran, zaman kazandıran ve kaliteyi arttıran bir disiplindir.

Page 24: SelçUk şEnol   Unified Process

Sorular ?

Page 25: SelçUk şEnol   Unified Process

TEŞEKKÜRLER