23
Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML (Unified Modeling Language) Birleştirilmiş Modelleme Dili

Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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

UML

(Unified Modeling Language) Birleştirilmiş Modelleme Dili

Page 2: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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

Page 3: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

UML ile

Dinamik

Davranışsal (Behaviour) Modelleme

use case diyagramları

Page 4: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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)

Page 5: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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

Page 6: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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

Page 7: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

Aktör

Derse kayıt olur

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

«association»

şeklinde gerçekleşir.

association

Page 8: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

aktör & use case =use case diyagramı

Page 9: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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ı

Page 10: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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

Page 11: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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.

Page 12: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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.

Page 13: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

«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.

Page 14: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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.

Page 15: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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.

Page 16: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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.

Page 17: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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.

Page 18: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

«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?

Page 19: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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.

Page 20: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

«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

Page 21: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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.

Page 22: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin

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

Page 23: Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML ... · UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları . usecaseDiyagramı usecase, bir sistemin