Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal...

Post on 10-Jul-2020

15 views 0 download

Transcript of Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal...

Yazılım Gereksinimlerinin Görsel Çözümlemeleri:

UML

(Unified Modeling Language) Birleştirilmiş Modelleme Dili

UML Diyagramlarının Sınıflandırması

UML ile

Dinamik

Davranışsal (Behaviour) Modelleme

use case diyagramları

use case Diyagramı

use case, bir sistemin ya da sistemin bir parçasının davranışını betimler. Bu bağlamda değişimleri içeren bir dizi eylemin (action) tanımlaması yapılır. Böylece sistem, herhangi bir aktöre (actor) ait olan gözlemlenebilir bir sonucun değerini verecektir.

The UML User Guide (Booch, 1999)

Aktör , bir sistem, alt sistem veya sınıfla etkileşime giren dışsal (external) bir kişi, bir süreç veya şeydir. Bir aktör , dışsal kullanıcıların sistemle olan etkileşimlerini karakterize eder.

UML Reference Manual (1999, Rumbaugh)

use case

Bir «use case», use case diyagramında elips ile gösterilir.

Bir «use case» her zaman ismi ile etiketlenir.

Derse Kayıt Olur

Her aktör bir veya daha fazla «usecase» ile ilişkili olabilir.

Ogrenci Kisi

Bir aktörün , başka bir aktör ile genelleştirme (generalization ) ilişkisi olabilir.

Aktör

Aktör

Derse kayıt olur

Aktörler ile use case bağlantısı

«association»

şeklinde gerçekleşir.

association

aktör & use case =use case diyagramı

Yolcu

Bilet Satın Alır

Gereksinimlerin anlaşılması-anlamlandırılması (requirementselicitation) sırasında harici (external) davranışı simgelemek üzere kullanılır.

Use case modeli tüm «use case» ler kümesidir. Use case modeli sistemin ve çevresinin fonksiyonelliğinin

betimlemesidir.Buna göre: Her bir «use case», belli bir fonksiyonelliye ait bir dizi etkileşimi

betimler Aktörler, sistemdeki bir tip kullanıcının rollerini betimler

use case Diyagramları

Aktör ve use case

Aktör olarak tanımlanan sistemle etkileşimli olan dışsal varlık (externalentity) kullanıcı, dışsal sistem ya da fiziksel ortam olabilir.

Örnek olarak: Yolcu, GPS uydusu

Her «use case» tek bir isim ile tanımlanır, aktörlerle etkileşir, giriş koşulları ve çıkış koşulları içerir, olayların akışını ve özel gereksinimler

use case diyagramı örneği

İsim:Bilet Satın Alınması Aktör :Yolcu Giriş Koşulu (Entry condition): Yolcu bilet banlkosunda beklerYolcunun bilet satın alacak parası vardır. Çıkış Koşulu(Exit condition):Yolcunun bileti vardır. Olay Akılı (Event flow):1. Yolcu gideceği bölgelerin sayısını belirler zones to be 2. 2. Gişe memuru toplam ücreti belirler 3. Yolcu ödemeyi yapar4. Gişe memuru üstünü verir 5. Gişe memuru bileti basar.

Arızalı

<<extends>>

İptal

<<extends>>

Değişmez

<<extends>> ZamanAşımı

<<extends>>

<<extends>> ilişkisi kural dışı (exceptional) veya nadir (seldom) karşılaşılan ilişkileri gösterir.

Kural dışı (exceptional) olay

akışları temel use case akışının

açıklaştırılmasında kullanılır.

Olası (exceptional) akışları

betimleyen «use case» ler birden fazla

olası «use case» e genişleyebilir.

<<extends>> okunun yönü genişletilen

use case yönüne doğrudur.

«includes» ilişkisi

Yolcu

Tek Bilet Satın Alır Çoklu Kart Satın Alır

Para Toplanır

<<includes>><<includes>>

Değişmez

<<extends>>

İptal edilir

<<extends>>

<<includes>> ilişkisi «use case» in davranışını simgeleyen ilişkidir.

<<includes>> davranışı yeniden kullanım (reuse) için tanımlanır,

<<includes>> ilişkisinin yönü, kullanılan use case yönündedir.

«extends» ilişkisinin yönünün tersi yönde işaretlenir.

14

UML Diyagramlarının Ortak Sözdizimi

Aktörler(Actors): Bir UML aktörü sistem ile bir arayüzü (etkileşim noktasını) işaret eder..

– Aktörlerin kullanılmasının amacı sistem etkileşimlerinin gruplandırılmasıdır.

– Aktörler insan /canlı olabildiği gibi, diğer sistemler de olabilir. Bir aktör modellenen sistemin bir parçası olamaz

– Aktör sistemin dışında (extarnal) olan sistem ile ilgili bir şeydir.

Kutular (Boxes): ayrık elemanları, gruplamaları ve içermeleri göstermek üzere kullanılır.

15

UML Diyagramlarının Ortak Sözdizimi

Oklar(Arrows): UML diyagramının belirli bir tipinin bağlı olduğu her şeyi ifade eder. Oklar genel olarak akış (flow), bağlılık(dependency),birliktelik (association) ya da genelleştirme (generalization) ifade eder.

Nicellik (Cardinality): Oklara uygulanır; bir modeldeki elemanlar arasındaki sayısal ilişkileri gösterir

1 den 1 e (1 to 1) , 1 den çoka (1 to many) vs.

16

UML Diyagramlarının Ortak Sözdizimi

Kısıtlar (Constraints): Model elemanları üzerinde bazı kısıt (constraint) bildirimlerine (notation) izin verilir.

Stereotypes: UML semantiği yazılı sözcüklere genişletilir. Bir sözcük ya da kısa bir açıklamadır ve diyagramın ne yaptığını açıklar. Stereotypes her UML diyagram tipi için tüm farklı diyagramlarının örneklerinde aynı anlamı vermesi gerekir.

17

use case Örneği Haberleri yayınlayan bir web sitesindeki ilişkilerin görsel tasarımı

4 aktör ve 3 use case tanımlayarak «günlük haberleri yayınlayan bir web sitesinin gereksinimlerinin görsel olarak kavramsal tanımlamasının yapılmasıAktörleri)Okuyucu (web kullanıcısı)ii)Tasarımcı iii)Editöriv)Ajans -----Sistemle iletişimde bulunan özel bir aktördür. Fakat diğer aktörler gibi

canlı bir varlık (insan) değildir.

«Use case» lerOkuyucunun internete girerek haberleri okuyacağı web arayüzü iki farklı use case ile tanımlanabilir:i)Okuyucu arayüzü kullanarak sayfaya girer. ii) Tasarımcı belli periyodlarda arayüzü yeniden düzenler .iii)Haber içeriğin tutulduğu veritabanı üzerinde günlük değişimler gerçekleştirilir.

«use case»lerin Tanımlanması

Bir «use case» olası işlevlerini tanımlarken her bir aktörün aşağıdaki soruları cevaplaması beklenir.

Bunlar ne (what) sorularıdır.

Aktör ne gerçekleştirmek istemektedir?

Aktörün neler yapabilme kapasitesi vardır?

Aktörün temel görevi (task) nedir?

Aktörün sistemden alması gereken bilgiler nedir?

Aktör sisteme ne tür bilgiler aktarır?

Aktörler ve «use case»ler arasındaki İletişimde Önemli Özellikler

Bir aktör, bir varlık ile pek çok «use case» kullanarak iletişimde olabilir.

Bir «use case», işlevini gerçekleştirirken bir veya daha fazla aktör ile iletişimde olabilir.

İki «use case» aynı varlığı betimleyerek birbiri ile iletişimde bulunamaz.

Çünkü «use case» lerin herbiri varlığı ayrı ayrı kullanır.

İki use case birbirleri ile iletişimde ise , «include» ya da «extend» ilişkisindeki «use case» aktörle bağıntılı olamaz. Aktörle ilişki diğer (temel) «use case» den gelir.

«include» ve «extend» ilişkileri arasındaki Temel Farklar

İnclude use case Extend use case

Bu «use case» seçmeli midir? No Yes

«Temel use case» bu «use case» olmadan işlevini tamamlar mı? No Yes

Bu «use case» in çalışması koşula bağlı mıdır? No Yes

Bu «use case» «temel use case» in davranışını değiştirir mi? No Yes

Bir Yazılım Sisteminin Gereksinimlerinin Modellenmesi Örneği

Aktörler ve «use case» ler GM ‘e ait çeşitli cümlelerden , tanımlamalardan, çıkartılmıştır.

Bir Yazılım Sisteminin Gereksinimlerinin Modellenmesi Örneği