120
UML/UP ile Yazılım Geliştirme Bölüm 6/7

006 Uml Modelleri Gereksinimler [120 Slides]

Embed Size (px)

DESCRIPTION

Unified Process ve UML ile Yazılım Geliştirme - 6 - Gereksinim Yönetimi

Citation preview

Page 1: 006 Uml Modelleri Gereksinimler [120 Slides]

UML/UP ile Yazılım Geliştirme

Bölüm 6/7

Page 2: 006 Uml Modelleri Gereksinimler [120 Slides]

İçerik

• UML’in Sizin için Anlamı• UML Şemaları, Semboller ve Semantik İlişkileri• Şema ve Model Bazlı UML Çalışmaları

Arasındaki Farklar• Alternatif Yazılım Geliştirme Süreçlerinde

UML'in Yeri• UML ile Gereksinim Yönetimi• UML ile Nesne Yönelimli Tasarım

Page 3: 006 Uml Modelleri Gereksinimler [120 Slides]

Neredeyiz?

Page 4: 006 Uml Modelleri Gereksinimler [120 Slides]

İçerik

• Proje Başarısızlığı Nedenleri• Gereksinim Yönetimi Kavramları• Gereksinim Yönetimi Teknikleri• Problem Analizi Teknikleri• Gereksinim Türleri• Gereksinim Dokümanları• Önceliklendirme ve Takip Edilebilirlik

Page 5: 006 Uml Modelleri Gereksinimler [120 Slides]

Proje Başarısızlığı Nedenleri

• En yaygın nedenler:– Kullanıcı fikirlerinin alınmaması (% 13)– Eksik gereksinimler (% 12)– Değişen gereksinimler (% 12)

• Dolayısıyla projelerin üçte biri gereksinimlerle ilgili nedenlerden başarısız oluyor

Page 6: 006 Uml Modelleri Gereksinimler [120 Slides]

Proje Başarısı Nedenleri

• En yaygın nedenler :– Kullanıcı fikirlerinin alınması (% 16)– Üst yönetim desteği (% 14)– Gereksinimlerin açık olması (% 12)

Page 7: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Hataları

• Müşteriye taşınan hataların yaklaşık olarak üçte biri gereksinim hatalarıdır

• Gereksinim hataları bulundukları anda giderilmezlerse ilerideki düzeltilme maliyetleri 10 ila 100 katına çıkabilir

• İyi proje takımları hataları tespit edildikleri anda tahlil ederler

Page 8: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Yönetimi

• Öyleyse gereksinimleri denetlemeye ihtiyacımız var: – Gereksinimleri bulmak, organize etmek ve

dokümante etmek için bir sistem gerekli – Gereksinim değişikliklerini yöneterek müşteri ve

proje ekibinin anlaşmalarını sağlayabilmek için bir süreç gerekli

• Bu kavramlara Gereksinim Yönetimi diyoruz

Page 9: 006 Uml Modelleri Gereksinimler [120 Slides]

İçerik

• Proje Başarısızlığı Nedenleri• Gereksinim Yönetimi Kavramları• Gereksinim Yönetimi Teknikleri• Problem Analizi Teknikleri• Gereksinim Türleri• Gereksinim Dokümanları• Önceliklendirme ve Takip Edilebilirlik

Page 10: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Nedir?

• Gereksinimleri tanımlayabilmek için onları gereksinim gibi algılanabilecek diğer bilgi türlerin ayrıştırabilmemiz gerekir

• Bir ihtiyaç (need) bir sistemi kullanan müşterinin işini yapabilmesi için gereken, sistemin sahip olmak zorunda olduğu bir özelliktir

Page 11: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Nedir?

• İşlev (feature) sistemin yerine getirmeyi taahhüt ettiği bir hizmettir

• Gereksinim (requirement) sistemin karakteristik bir özelliğidir

• Gerçekleştirme (realization) gereksinimlerin uygulanma şeklidir

Bir işlevden bir veya daha fazla gereksinim türetilebilir

Page 12: 006 Uml Modelleri Gereksinimler [120 Slides]

Detay Seviyeleri

İhtiyaç

İşlev

Gereksinim

Gerçekleştirme

Müşterinin probleminin tanımı

Çözümün tanımı

Daha detaylı

Çözümün gerçekleştirilmesi

Page 13: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Nedir?

• Fırsat (opportunity) yeni bir işlev, yeni bir müşteri tipi veya ürüne eklenen yeni bir özellik olabilir

• Problem müşterinin işini yaparken karşılaştığı bir zorluktur

• Kısıtlama (constraint) oluşturulacak sistemin uymak zorunda olduğu bazı sınırlardır

Page 14: 006 Uml Modelleri Gereksinimler [120 Slides]

Acaba Bu Bir Gereksinim Mi?

• Yoksa eksik bilgiyle tasarımıma mı başladık?• Gerçekte ihtiyaç duyulmayan gereksinimlere

ve aslında mevcut olmayan kısıtlara dikkat ediniz

• Yoksa birisi problemden ziyade çözümü mü tanımlamaya başladı?

• Bir gereksinim olmak için çok mu genel?

Page 15: 006 Uml Modelleri Gereksinimler [120 Slides]

Öncelik• Gereksinimin önceliği veya aciliyeti nedir?

– Yüksek, Orta, Düşük– Zaruri, İstenen, Seçeneğe Tabii – Mutlaka olmalı, Olması arzulanan, Olsa iyi olacak olan– Gündelik terminolojide ‘olacak’, ‘olsa iyi olur’, ‘olmayabilir’

• Gereksinimlerin önem nedenleri nedir?– Sistem Mimarisine etki,– Teknolojik yenilik nedeniyle bir risk,– Zorluk nedeniyle bir risk,– Vs. vs.

Page 16: 006 Uml Modelleri Gereksinimler [120 Slides]

Paydaş (Stakeholder)

• Müşteriden fikri değerli yegane grupmuş gibi bahsedebiliyoruz ama projeye yönelik çelişen düşüncelere sahip pek çok grup insan olabilir (paydaş)

Page 17: 006 Uml Modelleri Gereksinimler [120 Slides]

Paydaş Türü Örnekleri

• Sponsor• İş Analisti, Sistem analisti, Tasarımcı, Programcı,

Veritabanı Analisti, vs.• Konu Uzmanları• Kullanıcı• Yöneticiler• Admin.’ler• Süreç Uzmanları, Kalite Sorumluları, vs.• 3rd Party

Page 18: 006 Uml Modelleri Gereksinimler [120 Slides]

Paydaşların Çelişen İstekleri

• Bu paydaşların hepsinin farklı ve birbirleriyle çelişen istekleri olabilir

• Başarılı bir projenin sağlaması gereken en önemli şeylerden biri bu isteklerin sahipleri arasında bir mutabakat sağlamaktır

• Mutabakat farklı çıkarlara sahip rollerin çıkarlarını olabildiğince korumalarıyla mümkündür

Page 19: 006 Uml Modelleri Gereksinimler [120 Slides]

Yazılım Ekibi

• Yazılım geliştirme sürecine iştirak eden herkes gereksinim yönetimi çalışmalarından farklı şekillerde etkilenirler

• Problem çoğu yazılımcının teknik odaklarından dolayı insan ilişkilerinde çok başarılı olmayışlarıdır

• Öte yandan modern sistemlerin karmaşıklıkları insan ilişkisini zaruri kılmaktadır

Page 20: 006 Uml Modelleri Gereksinimler [120 Slides]

İçerik

• Proje Başarısızlığı Nedenleri• Gereksinim Yönetimi Kavramları• Gereksinim Yönetimi Teknikleri• Problem Analizi Teknikleri• Gereksinim Türleri• Gereksinim Dokümanları• Önceliklendirme ve Takip Edilebilirlik

Page 21: 006 Uml Modelleri Gereksinimler [120 Slides]

Altı Ekip Yeteneği

1. Problem analizi2. Müşteri ihtiyaçlarını anlama3. Sistemi tanımlama4. Sistem kapsamını yönetme5. Sistem tanımının revize edilmesi6. Doğru sistemin geliştirilmesi

Page 22: 006 Uml Modelleri Gereksinimler [120 Slides]

1. Problemi analizi

Bu konuya ileride, daha sonra değineceğiz.

Page 23: 006 Uml Modelleri Gereksinimler [120 Slides]

2. Müşteri ihtiyaçlarını anlama

• En üst seviyedeki gereksinimler olası çözümün tanımlanmasından çıkar

• Müşteriden bu gereksinimleri alabilmek için hangi teknikleri kullanacağımıza nasıl karar vereceğiz?

• Tıpkı bir marangoz gibi iş için gereken alet edavatı kolayca tespit edebilmek

Page 24: 006 Uml Modelleri Gereksinimler [120 Slides]

3. Sistemi tanımlama

• Bir dizi gereksinimi nasıl organize edecek ve oluşturulacak sistemin açık bir resmini görebileceğiz?

• Alakalı ürünler arasındaki ortak gereksinimler nasıl ilişkilendirilecekler?

• Ürünün vizyonunun dejenere olmaması için onu detay gereksinimlerden nasıl ayrıştıracağız?

Page 25: 006 Uml Modelleri Gereksinimler [120 Slides]

4. Sistem kapsamını yönetme

• Gereksinimler nadiren statiktir. Üç yaşındaki çocukların ilgi alanı gibi her an değişirler

• Ürünün kapsamının kontrolden çıkmasını nasıl sağlayacağız?

• Yapılması gerekenleri geciktirirsek kapsamı nasıl kontrol edebiliriz?

Page 26: 006 Uml Modelleri Gereksinimler [120 Slides]

5. Sistemin tanımının revizyonu

• Yazılım ekibinin işini yapmaya kalkışmadan onlar için gerekli detay seviyesindeki gereksinimleri nasıl oluşturabiliriz?

• Detaylı gereksinimler vizyondan kopmamalı ve sadece her küçük problem parçasının çözülebilir olmasını sağlamalı

Page 27: 006 Uml Modelleri Gereksinimler [120 Slides]

6. Doğru sistemin geliştirilmesi

• Tasarımın gereksinimleri yerine getirdiğini nasıl anlayacağız?

• Tasarımın müşteri isteklerine uygunluğundan nasıl emin olacağız?

• Gereksinim değişikliklerini nasıl kontrol altına alacağız?

Page 28: 006 Uml Modelleri Gereksinimler [120 Slides]

İçerik

• Proje Başarısızlığı Nedenleri• Gereksinim Yönetimi Kavramları• Gereksinim Yönetimi Teknikleri• Problem Analizi Teknikleri• Gereksinim Türleri• Gereksinim Dokümanları• Önceliklendirme ve Takip Edilebilirlik

Page 29: 006 Uml Modelleri Gereksinimler [120 Slides]

Problemler ve Fırsatlar

• Sistemlerin en önemli iki nedeni:1. Problem çözmek; mevcut sistem müşteri

ihtiyaçlarını karşılamıyor demek 2. Fırsatları değerlendirmek; yeni ürün düşünceleri,

yeni işlevler, yeni pazarlar vs.

• Biz problem çözmeye odaklanacağız

Page 30: 006 Uml Modelleri Gereksinimler [120 Slides]

Problem Analizi Aşamaları

• Problem beş aşamada tahlil edilebilir:1. Problem tanımı üzerinde anlaşmak2. Problemin temel nedenlerini anlamak3. Paydaş ve kullanıcıları tespit etmek 4. Sistemin sınırlarını tespit etmek5. Çözümü sınırlandıracak olan kısıtları bulmak

Page 31: 006 Uml Modelleri Gereksinimler [120 Slides]

1Problem tanımı üzerinde anlaşmak

• Problem tanımı içeriği: – Problemi tarif ediniz – Etkilenen paydaşları belirtiniz – Problemin paydaşlar ve yaptıkları işler üzerindeki

etkilerini belirtiniz – Önerilen çözümü ve sağlayacağı faydaları ifade

ediniz • Kısaca, neden bu problemi çözmek için

vaktimizi harcamalıyız?

Page 32: 006 Uml Modelleri Gereksinimler [120 Slides]

2Problemin nedenlerini anlamak

• Problemin mevcudiyetinden emin olunca bir çözüm oluşturmamız gerekiyor:

• Bir yol “temel neden” veya “nedensellik analizi”dir. Böylece problemin mevcudiyet nedenini anlayabiliriz

• Bunun için ‘kılçık şeması’ (fishbone) çizebiliriz– Düz bir çizgi çekerek problemi yazınız– Sonra problem nedenlerini yazınız– Daha sonra problem nedenlerinin nedenlerini yazınız– Tekrar ediniz

Page 33: 006 Uml Modelleri Gereksinimler [120 Slides]

2Problemin nedenlerini anlamak

• ‘Akıl haritası’ (mindmap) çizebiliriz12 m.

Boeing Uçak A.H.

Page 34: 006 Uml Modelleri Gereksinimler [120 Slides]

3Paydaşları ve kullanıcıları tespit

• Sistemi kullanacak ve mevcudiyetinden etkilenecek kişileri tespit edin

• Çoğu paydaş kullanıcıdır ama diğerleri değillerdir

Page 35: 006 Uml Modelleri Gereksinimler [120 Slides]

4-5Sistemin sınırlarını tespit

• En basit tanımıyla her sistem bazı girdiler alır ve bazı çıktılar üretir

• Püf noktası bu girdi ve çıktıları kimin veya neyin üretip tükettiğidir

SystemInputs Outputs

Page 36: 006 Uml Modelleri Gereksinimler [120 Slides]

4-5Sistemin sınırlarını tespit

• Neler sistemin kapsamındadır?– Paydaşların yerine kendimizi koyarsak,– Kullanıcıların yerine kendimizi koyarsak,– Yazılım ekibinin yerine kendimizi koyarsak,

• Dış sistemler hangileridir?– Bağımlı olduklarımız,– Bizim sistemimize bağımlı olanlar

Page 37: 006 Uml Modelleri Gereksinimler [120 Slides]

4-5Sistemin sınırlarını tespit

• Sistem üzerine adı yazılı bir kutu ile gösterilir• Aktörler çöpten adamlardır• Dış sistemler ya adı üzerine yazılı bir kutu ya da daha yaygın olarak birer

aktör olarak gösterilirler• İlişki çizgilerinin yönü veri akış yönünü gösterir

StockTrackingSystemEnd User

StockExchanges

Page 38: 006 Uml Modelleri Gereksinimler [120 Slides]

İçerik

• Proje Başarısızlığı Nedenleri• Gereksinim Yönetimi Kavramları• Gereksinim Yönetimi Teknikleri• Problem Analizi Teknikleri• Gereksinim Türleri• Gereksinim Dokümanları• Önceliklendirme ve Takip Edilebilirlik

Page 39: 006 Uml Modelleri Gereksinimler [120 Slides]

Paydaş ve Kullanıcı İhtiyaçları“Stakeholder Requests”

• Gereksinimlerin bulunabilmeleri için yazılım ekibi dikkatli olmalıdır– Gereksinimleri açığa çıkarabilecek kavramları

değerlendiriniz – “Bunu bir gereksinim olarak eklemek ister misiniz”

diye sorunuz ve bahsedilen düşüncenin önemini saptayınız

• Çalışmalarınıza müşteri ihtiyaçlarını tespit ederek başlayınız

Page 40: 006 Uml Modelleri Gereksinimler [120 Slides]

Paydaş ve Kullanıcı İhtiyaçları“Stakeholder Requests”

• En üst seviyedeki bilgi türümüz olan ihtiyaçlarla problem tahliline başlayabiliriz

• Genellikle ihtiyaçlar sistemin çözmesi beklenen temel bir problemle ifade edilirler (bu problemi nelerin ortadan kaldıracağıyla)

• Bazı kullanıcılar işlevlere değinebilirler – ihtiyaçların nasıl yerine getirilebilecekleri

Page 41: 006 Uml Modelleri Gereksinimler [120 Slides]

İşlevler“Features”

• İşlevler müşteri ihtiyaçlarının hangi ürün kabiliyetlerine karşılık geleceğini ifade ederler – İşlev sistemin bir ihtiyacı gidermek için sunduğu bir

hizmettir• İşlevin faydası onun altında yatan ihtiyaçlara bakıldığında

kendisini gösterir • Bir ihtiyaç sisteme değinmez; bunu bir işlev yapar

Örneğin, Evden okula kayıt olabilmek istiyorum (ihtiyaç) -> Sistemin

internet erişimi olmalıdır (işlev)

Page 42: 006 Uml Modelleri Gereksinimler [120 Slides]

Hangisi Hangisi?

• Kullanıcı görüşmesinde ihtiyaç ve işlev ayrımını hemen yapmak gerekmez

• Daha sonra edinilen bilgilerin düzenlenmesinde yardımcı olur (brainstorming)

• İşlev örneği arıyorsanız, yazılım ürünü reklamlarına bakınız!

Page 43: 006 Uml Modelleri Gereksinimler [120 Slides]

İhtiyaç ve İşlev Sayıları

• İhtiyaçlar genellikle azdır – 10 veya daha az• İşlevler sistemin büyüklüğüne göre genellikle

25-100 arasında değişirler • Sistem kapsamı toplantıları için işlevler

kullanılırlar

Page 44: 006 Uml Modelleri Gereksinimler [120 Slides]

İşlevler ve Gereksinimler

• İşlevlerin (feature) detayları ortaya dökülmeye başlandığında gereksinimler (requirement) ortaya çıkmaya başlarlar

• İşlev aşamasında geçici öncelikler verilebilir• İşlevleri ileride kolayca yönetebilmek için

açıklamalarını yazınız

Page 45: 006 Uml Modelleri Gereksinimler [120 Slides]

İşlev/Gereksinim Değişkenleri (Attribute)

• İşlevleri yönetebilmek için kullanılan tipik değişkenler:– Statü, {önerildi, onaylandı, reddedildi}– Öncelik, {yüksek, orta, düşük}– Emek, {yüksek, orta, düşük}– Risk, {yüksek, orta, düşük}

Page 46: 006 Uml Modelleri Gereksinimler [120 Slides]

İşlev/Gereksinim Değişkenleri (Attribute)

– Değişebilirlik (Stability), işlevin ve ileride implementasyonunun değişme olasılığı / derecesi

– Hedeflenen sürüm, Bu işlev hangi sürümde hazır olacak?

– Görevli, Bu işlevle ilgili atama kime yapıldı? Aşamasına göre farklı kişiler olabilir (gereksinim, analiz vs.)

– Neden veya Kaynak – Bu işlevin kaynağı nedir?

Page 47: 006 Uml Modelleri Gereksinimler [120 Slides]

İşlevler ve Gereksinimler

Üst seviye gereksinimler: İşlevler“features”

Fonksiyonel gereksinimler“functional requirements”

Fonksiyonel olmayan gereksinimler“supplementary requirements”

Page 48: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Grupları

Page 49: 006 Uml Modelleri Gereksinimler [120 Slides]

İçerik

• Proje Başarısızlığı Nedenleri• Gereksinim Yönetimi Kavramları• Gereksinim Yönetimi Teknikleri• Problem Analizi Teknikleri• Gereksinim Türleri• Gereksinim Dokümanları• Önceliklendirme ve Takip Edilebilirlik

Page 50: 006 Uml Modelleri Gereksinimler [120 Slides]

Senaryo Odaklı Gereksinim YönetimiSenaryo Odaklı Gereksinim Yönetimi

Use-Case Modeli

İşlevler

Gereksinimler

İhtiyaçlar

=

Senaryo Odaklı Yol Geleneksel Yol

Geleneksel Software Requirements Specification (SRS) dokümanı Use Case Modeli ve Ek Gereksinimler Dokümanına (Supplementary Requirements) karşılık gelmektedir.

+

Page 51: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Ürünleri (Artifact)

Ek Gereksinimler(SupplementarySpecification)

Proje Sözlüğü(Glossary)

Use-Case Dokümanları

...

Use Case Modeli

AktörlerUse Case’ler

Page 52: 006 Uml Modelleri Gereksinimler [120 Slides]

İlgili Roller

• Hazırlayan: İş Analisti, Sistem Analisti• Faydalanan: Tasarımcı, Kullanıcı Arayüzü

Tasarımcısı, Ürün Kullanım Kılavuzu Yazarı, Veritabanı Tasarımcısı

• Yardımcı: Müşteri, Müşteri Temsilcisi, Konu Uzmanı

Page 53: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Ürünleri (Artifact)

Use Case Şemaları

Page 54: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Ürünleri (Artifact)

Page 55: 006 Uml Modelleri Gereksinimler [120 Slides]

[1]Vizyon

• Ürününüzün ilgili olduğu işi aklayan ve gerekli kabiliyetlerini ortaya koyan genel bir dokümandır

• Ne yapmak istiyorsunuz ve o iş neden yapılmaya değer?

• Vizyon dokümanı içeriği: – Giriş: ürününüzün karşılık olduğu temel ihtiyaçlara

değininiz

Page 56: 006 Uml Modelleri Gereksinimler [120 Slides]

Vizyon

– Konumlandırma (Positioning): hitap ettiğiniz pazarın sizin açınızdan problemli yanlarını,

hedef kitlenizi ve rakiplerinizin ürünlerinin kabiliyetlerini (ne yapıp ne yapamadıkları) yazınız.

– Paydaş Tanımları: paydaşların demografik yapısını, ürününüzü kullanmak için

gereken kabiliyet seviyesini, paydaşlarınızın hedefleri ve yaşadıkları sorunları belirtiniz. Her paydaş türüne bir temsilci atayarak irtibat bilgilerini sağlayınız.

Page 57: 006 Uml Modelleri Gereksinimler [120 Slides]

Vizyon

– Ürün işlevleri listesi: ürünün sağlaması gereken temel işlevleri ve

bunların paydaşlara ne fayda sağlayacağını birer ikişer cümle ile yazınız

Page 58: 006 Uml Modelleri Gereksinimler [120 Slides]
Page 59: 006 Uml Modelleri Gereksinimler [120 Slides]

Vizyon - Amaç

Page 60: 006 Uml Modelleri Gereksinimler [120 Slides]

Vizyon – İş Fırsatı

Page 61: 006 Uml Modelleri Gereksinimler [120 Slides]

Vizyon – Problem Tanımı

Page 62: 006 Uml Modelleri Gereksinimler [120 Slides]

Vizyon - Paydaşlar

Page 63: 006 Uml Modelleri Gereksinimler [120 Slides]

Paydaş Detayları

Page 64: 006 Uml Modelleri Gereksinimler [120 Slides]

İşlevler

Page 65: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Ürünleri (Artifact)

Page 66: 006 Uml Modelleri Gereksinimler [120 Slides]

[2]Use Case Dokümantasyonu

• Monolog değil Dialog olmalı.• Aktörleri ile Use Case arasındaki etkileşimleri

içermeli.• Müşteri ile Tasarımcılar, Veritabanı

Tasarımcıları ve Arayüz Tasarımcıları arasındaki köprü olmalı.

Page 67: 006 Uml Modelleri Gereksinimler [120 Slides]

Use Case: Olayların Akışı• Bir tane olağan, en tipik akış: Temel Akış (“Happy

Path”)

• Birden fazla Alternatif Akış:– Başarılı alternatif akışlar– Başarısız Akışlar hata durumlarını tolere etmeye

yarar

“Happy Path”

Page 68: 006 Uml Modelleri Gereksinimler [120 Slides]

Senaryo Nedir?Bir senaryo use case’in içerdiği akışların bir kombinasyonunun başlayıp

bitişidir: Use Case Instance.

Page 69: 006 Uml Modelleri Gereksinimler [120 Slides]

Senaryolar

• Use Case akışlarının bir kombinasyonudur (use case instance)

• Bir senaryonun beklenen (başarılı) bir neticesi olabilir– Müşteri kitaplarını satın aldı

• Veya başarısız bir neticesi olabilir– Müşterinin kredi kartı kabul edilmedi

Page 70: 006 Uml Modelleri Gereksinimler [120 Slides]

Senaryolar

• Her use case’in odağı başarılı Temel Akışı’dır• Ancak pek çok başarılı ve başarısız Alternatif

Akış olabilir– Alternatif senaryolar akış esnasında neler

olabileceğini tespit yollarıdır. Örneğin, farklı şekillerde ödeme, bir transaction’ın bitirilememesi gibi

Page 71: 006 Uml Modelleri Gereksinimler [120 Slides]

Use Case Dokümanı Formatı

• Tek-sütun formatında her paragraf aktör veya sistemin bir faaliyetini anlatır. Daha yaygın bir kullanımdır.

• İki-sütun formatında sol sütun aktöre sağ sütun sisteme aittir ve faaliyetleri ona göre yer alırlar. Faydası dialoğun zigzag yapısını daha iyi göstermesidir.

Page 72: 006 Uml Modelleri Gereksinimler [120 Slides]

Use Case DokümanıGelişim Süreci

Bulunma Tanımlanma

Konu Başlıkları + Kısa Tanımlar

Temel Akış Detaylanır Tüm Akışlar Detaylanır

Page 73: 006 Uml Modelleri Gereksinimler [120 Slides]

Use Case Dokümanı İçeriği

• Dokümanın mutlaka içermesi gerekenler ‘*’ işaretlenmiştir.– Temel Aktör*– Paydaşlar ve UC’le ilgileri– Precondition*– Postcondition*– Temel Akış*– Alternatif Akışlar*

Page 74: 006 Uml Modelleri Gereksinimler [120 Slides]

1. Use Case Tanımı

– İlişkili Use Case’ler– Ek Gereksinimler– İş Kuralları– Kullanım Yoğunluğu– Açık Konular

Page 75: 006 Uml Modelleri Gereksinimler [120 Slides]

2. Temel Aktör

• Bir use case için temel aktör o UC’i kendine bir fayda sağlamak için çalıştıran aktördür.

• Dolayısıyla bu aktör UC’i için bir tetik mekanizmasıdır.

• Temel Aktör genellikle insandır. Ancak bazen sistemler otomatik olarak dış sistemlere erişirler.

Page 76: 006 Uml Modelleri Gereksinimler [120 Slides]

3. Paydaşlar ve UC ile İlgileri

• Bu bölümde use case’in akışında bir parçası olan tüm aktörler ve kendilerine sağladıkları faydalar belirtilmelidir

• Genellikle aktör başına bir iki cümle kafidir

Page 77: 006 Uml Modelleri Gereksinimler [120 Slides]

4. Temel Akış• Herşeyin yolunda gittiği varsayılarak use case akışının adım

adım ve aktörle sistem arasındaki dialoğu işaret edecek şekilde yazılmasıdır.

• Bu akış iş kurallarını, üretilecek ve tüketilecek veri yapılarını ve yapılacak kontrolleri içerir.

• Bu akış use case’in beklenen kullanım şeklini ifade eder.• Bütün adımlar aktör’ün perspektifiyle yazılır. Yalnızca onun

gördükleri ve yaptıkları ile sistemin bu davranışlara reaksiyonlarını içerir.

Page 78: 006 Uml Modelleri Gereksinimler [120 Slides]

5. Alternatif Akışlar

• Temel akışın izlediği yolu değiştirebilecek koşulları ve bu durumlarda kullanılacak yeni akışları ifade eder

• Bu başarısızlık durumlarını içerdiği gibi (kredi kartının reddedilmesi), farklı seçeneklerin izlediği yolları da içerir (çekle, kredi kartıyla veya paypal’le ödeme)

Page 79: 006 Uml Modelleri Gereksinimler [120 Slides]

5. Alternatif Akışlar

• Alternatif akışlar geçerli oldukları temel akış adımında yanlarına harf konarak işaretlenirler

• Temel Akış 3. Kasiyer ürün numarasını girer

• Alternatif Akış 3a. Geçersiz numara

• Daha sonra da alternatif akış adımları yazılır

Page 80: 006 Uml Modelleri Gereksinimler [120 Slides]

5. Alternatif Akışlar

• Dolayısıyla alternatif akışların iki parçası olur:• Nedeni: Başlığı • Akışı: Kendine özel akışı• Nedeni: 3a. Geçersiz ürün numarası

Akışı: 1. Sistem bir hata mesajı vererek ürünün

girilmesini engeller.

Page 81: 006 Uml Modelleri Gereksinimler [120 Slides]

6. Precondition

• Use Case’in çalışabilmesi için sistemin sahip olması gereken durumu ifade ederler

• Bu liste temel aktörün o ana kadar yaptıklarını ve yapmadıklarını, şu andaki use case’e yönelmesine yol açan eylemleri içerebilir

Page 82: 006 Uml Modelleri Gereksinimler [120 Slides]

7. Postcondition

• Use case’in akışının tamamlanmasının sonucunda sahip olunması gereken durumları ifade eder

• Bu da precondition gibi temel akış referanslı bir listedir. Herşey yolunda giderse use case akışı sonunda elimize ne geçecek?

Page 83: 006 Uml Modelleri Gereksinimler [120 Slides]

8. Ek Gereksinimler

• Fonksiyonel olmayan gereksinimler veya use case’e özel kısıtlamalar olabilir– Performans, Güvenilirlik, Kullanılabilirlik ve

Tasarım Kısıtlamaları bu bölümde belirtilebilir• Use Case’e özel olmayan bu tür gereksinimler

Ek Gereksinimler (Supplementary Specification) dokümanında yer alır

Page 84: 006 Uml Modelleri Gereksinimler [120 Slides]

9. İş Kuralları

• Use Case akışı esnasında uyulması gereken işe özel kuralları ve yapılması gereken kontrolleri gösterir.

• Genellikle use case’e özel değil, proje genelinde bir doküman olarak oluşturulur.

Page 85: 006 Uml Modelleri Gereksinimler [120 Slides]

10. Kullanım Yoğunluğu

• Use Case’in kullanım yoğunluğunun belirtildiği bölümdür:– Günde 1000 defa mı?– Ayda 1 defa mı?

• Use Case öncelikleri hakkında fikir verdiğinden tasarıma yardımcı olur

Page 86: 006 Uml Modelleri Gereksinimler [120 Slides]

11. Açık Konular

• Bu kısımda emin olmadığımız varsayımları, muhtemel teknoloji değişikliklerini ve bunlar gibi kesinleşmemiş konuların unutulmamalarını sağlayabiliriz.

• Kesinleşmemiş hukuki, iş akışı ve interface konularını da burada belirtebiliriz.

Page 87: 006 Uml Modelleri Gereksinimler [120 Slides]

Bid on Item - Use Case Dokümanı

İnternette Açık Artırma

Page 88: 006 Uml Modelleri Gereksinimler [120 Slides]

UC Dokümanı - Tanım

Page 89: 006 Uml Modelleri Gereksinimler [120 Slides]

UC Dokümanı - AkışUC Dokümanı - Akış

Page 90: 006 Uml Modelleri Gereksinimler [120 Slides]

UC Dokümanı – Geriye KalanUC Dokümanı – Geriye Kalan

Page 91: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Ürünleri (Artifact)

Page 92: 006 Uml Modelleri Gereksinimler [120 Slides]

[3]Ek Gereksinimler: FURPS+ Modeli

• Ek Gereksinimlerin kapsamı:• Fonksiyonel (Functional)• Kullanılabilirlik (Usability)• Güvenilirlik (Reliability)• Performans • Bakım (Supportability)• + = geriye kalan herşey

Page 93: 006 Uml Modelleri Gereksinimler [120 Slides]

Fonksiyonel

• Tüm sisteme yönelik fonksiyonel gereksinimler.

• UC odaklı olmayan yazılım geliştirme yöntemlerini kullananlar için.

• Fonksiyonel gereksinimlerin tamamı aslında UML yaklaşımında UC Modeliyle kapsanıyor.

Page 94: 006 Uml Modelleri Gereksinimler [120 Slides]

Kullanılabilirlik (Usability)

• Kullanılabilirlik:– İnsan faktörü; sisteminizi kullanmak nasıl

hoşnutluk verici olabilir? – Help; Kullanıcıya hangi help imkanı sağlanacaktır?

F1? Context sensitive? Online kullanım kılavuzu?– Dokümantasyon; Kullanıcıları eğitmek için ne tür

dokümantasyon üretilecektir?

Page 95: 006 Uml Modelleri Gereksinimler [120 Slides]

Güvenilirlik (Reliability)

• Güvenilirlik ölçüm şekilleri: – Mean Time Between Failures (MTBF); İki sistem

göçmesi arasında geçen zaman – Mean Time To Repair (MTTR); Sistem göçtüğünde

çalışır hale getirilmesi için gereken zaman (Bu ‘bakım’ başlığı altında da olabilir)

– Sistemin kullanılabilir durumunu koruması (Availability) ‘performans’ başlığı altında yer alır

Page 96: 006 Uml Modelleri Gereksinimler [120 Slides]

Performans

• Çoğu performans kriteri gereksinime dönüşür– Sorgu cevaplama süresi (ortalama, maksimum)– Throughput (Saat veya gün başına işlenen kayıt

sayısı, transactions per second (TPS))– Accuracy (scan veya veri giriş doğrululuğu)– Kaynak kullanımı (CPU, HDD kullanımı, network

trafiği)

Page 97: 006 Uml Modelleri Gereksinimler [120 Slides]

Bakım (Supportability)

• İçeriği:– Bakım prosedürünü içerir. Sorunlar için kılavuz mu

sunacaksınız? – Sistemin bakımını yapmak ne kadar kolay? Yazılımı

ve Donanımı birlikte düşününüz. – Internationalization; sisteminiz farklı dillerde

kullanılabilecek mi?– Sisteminizin konfigürasyonu kolayca değiştirilebilir

mi?

Page 98: 006 Uml Modelleri Gereksinimler [120 Slides]

“+”

• İçeriği:– İmplementasyon – Interface– Operasyonel– Paketleme– Kanuni konular– Ve aklınıza ne gelirse!

Page 99: 006 Uml Modelleri Gereksinimler [120 Slides]

“+” - İmplementasyon

• İmplementasyon üzerindeki sınırlamaları ifade eder:– Kaynak sınırlamaları (maliyet, zamanlama,

eleman)– Dil ve ürünler (kullanılacak programlama ortamı)– Donanım (Dell)– Yazılım (MySQL)– Kullanıcı PC özellikleri (PIII 1000 MHz, 128 MB

RAM, Windows ME)

Page 100: 006 Uml Modelleri Gereksinimler [120 Slides]

“+” - Interface

• Interface gereksinimleri dış sistemlerle haberleşme amaçlıdır: – Kurumuzdaki eski sistemler– Bileşenlerini satan şirketler– Başka proje ekipleri– Dış kurumlar (İMKB vs.)

Page 101: 006 Uml Modelleri Gereksinimler [120 Slides]

“+” - Operasyonel

• Sisteminiz kullanım halindeyken yönetilebilmelidir

• Yöneticilere gereken kabiliyetler?– Kullanıcı ekleme– Kullanıcı erişim haklarını değiştirme– Kaynak kullanımını izleme (CPU, disk, network)– Fiziki ortamı izleme (ısı, nemlilik)

Page 102: 006 Uml Modelleri Gereksinimler [120 Slides]

“+” - Paketleme

• Ürününüz nasıl paketlenecek?– Medya? CD-ROM? DVD?– Hangi dokümanlar basılacak? Hangileri elektronik

ortamdan sağlanacak?– Kullanıcılar için help desk kimlerden oluşacak?– Farklı ülkelere özel çalışmalar yapılacak mı?

Page 103: 006 Uml Modelleri Gereksinimler [120 Slides]

“+” - Kanuni

• Ürününüz nasıl lisanslanacak?– Kullanıcı başına? Şirket başına?– PC başına?– CPU başına?

• Ürününüzün farklı versiyonları var mı? (akademik, profesyonel)

• Ürününüzün satılamayacağı yerler var mı? (ihracat kısıtlamaları)

Page 104: 006 Uml Modelleri Gereksinimler [120 Slides]

FURPS + ve UML

Page 105: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Ürünleri (Artifact)

Page 106: 006 Uml Modelleri Gereksinimler [120 Slides]

[4]Sözlük (Glossary)

• Proje terimlerini içerir:– Terim 1, Terim 2, … Terim N

• Kısaltmaları ve use case dokümanlarında ifade edilseler çok yer kaplayarak okunmayı zorlaştıracak veri yapısı tanımlarını içerir

• Tanımlar dokümanda olabilir veya başka bir dokümanı refere edebilir

• Sözlük hyperlink’ler içerebilir

Page 107: 006 Uml Modelleri Gereksinimler [120 Slides]

İçerik

• Proje Başarısızlığı Nedenleri• Gereksinim Yönetimi Kavramları• Gereksinim Yönetimi Teknikleri• Problem Analizi Teknikleri• Gereksinim Türleri• Gereksinim Dokümanları• Önceliklendirme ve Takip Edilebilirlik

Page 108: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinimleri Önceliklendirme

• Tüm gereksinimler (özellikle use case modelindeki fonksiyonel gereksinimler) için öncelikler belirlemeli ve ona göre zaman planı yapmalıyız.

• Önceliklendirme gereksinim değişkenleri kullanılarak yapılmalıdır:– {Tür: Zaruri, İstenen, Seçeneğe Tabii}– {Sistem Mimarisine Etki: Var, Yok}– {Emek: Zor, Orta, Kolay}– Vs. vs.

Page 109: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinimlerin Takip Edilebilirliği

Page 110: 006 Uml Modelleri Gereksinimler [120 Slides]

Önceliklendirme ve Takip Edilebilirlik Kriterleri

Page 111: 006 Uml Modelleri Gereksinimler [120 Slides]

Önceliklendirme ve Takip Edilebilirlik Kriterleri

veya

Page 112: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Yönetimi Planı 1“Vizyon Kapsamında”

Page 113: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Yönetimi Planı 2“Vizyon Kapsamında”

Page 114: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Yönetimi Planı 3“Vizyon Kapsamında”

Page 115: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Yönetimi Planı 4“Vizyon Kapsamında”

Page 116: 006 Uml Modelleri Gereksinimler [120 Slides]

Gereksinim Yönetimi PlanıRequirements Management Plan Configuration Management Plan

Page 117: 006 Uml Modelleri Gereksinimler [120 Slides]

1. İterasyonların Belirlenmesiİnternet’te Açık Artırma Sistemi

Page 118: 006 Uml Modelleri Gereksinimler [120 Slides]

2. İterasyonların Belirlenmesi

Page 119: 006 Uml Modelleri Gereksinimler [120 Slides]

3. İterasyonların BelirlenmesiSistem Mimarisini Etkileyen UC’ler

İterasyon 1

İterasyon 2

İterasyon 2

Page 120: 006 Uml Modelleri Gereksinimler [120 Slides]

İlham Kaynakları

Ellen Gottesdiener Alistair Cockburn

James Bielak