PSI w5 6 7dz UML


Projektowanie systemów informatycznych
Projektowanie systemów informatycznych
Metody obiektowe
Język UML
Język UML
Unified Modeling Language
Unified Modeling Language
Język UML powstał z połączenia trzech notacji i został
nazwany ujednoliconym językiem modelowania.
Może znalezć zastosowanie zarówno na etapie zamawiania
oprogramowania, jak i podczas szczegółowego
projektowania struktury oraz interakcji składników kodu
systemu i zyskuje przez to powszechne uznanie.
Jest zasadniczym elementem opracowanego przez OMG
standardu Model-Driven Architecture (MDA), który ma na
celu określenie metod tworzenia oprogramowania opartego
na modelach i sterowaniu nimi.
Michał Śmiałek,  Zrozumieć UML 2.0 Metody modelowania
obiektowego , Wyd. Helion, Gliwice 2005
Język UML

Język UML przyjmuje w praktyce postać graficznej
reprezentacji tworzonego systemu, składającej się z
logicznie powiązanych ze sobą diagramów.

Pozwalają one na opisanie systemu od modeli
ogólnych do bardzo szczegółowych.

W standardzie UML w wersji 2.0 występuje
trzynaście rodzajów diagramów, które
charakteryzują statystykę i dynamikę tworzonego
systemu.

Klasyfikację diagramów UML przedstawia następny
slajd..
Diagram UML 2.0
Diagramy w języku UML 2.0
Diagram struktury
Diagram dynamiki
Diagram
Diagram klas
przypadków
Diagram
użycia
Diagram
obiektów
czynności
Diagram
Diagram
Diagram
pakietów struktur
maszyny
połączonych
stanowej
Diagram wdrożeniowy
Diagram interakcji
Diagram
sekwencji
Diagram Diagram
Diagram
komponentów rozlokowania
komunikacji
Stanisław Wrycza, Bartosz Marcinkowski,
Diagram
Krzysztof Wyrzykowski, Język UML 2.0
harmonogramowania
w modelowaniu systemów
Diagram sterowania
informatycznych, Helion, Gliwice 2005
interakcją
Język UML

Na poprzednim slajdzie występują kategorie
diagramów abstrakcyjnych i konkretnych.

Diagramy abstrakcyjne są nazwami uogólniającymi
grupy diagramów konkretnych:

diagramy struktury,

diagramu dynamiki,

diagramy interakcji,

diagramy wdrożenia.
Język UML
Diagramy konkretne stanowią standard języka UML 2.0, są to:

diagram klas,

diagram obiektów,

diagram pakietów,

diagram struktur połączonych,

diagram komponentów,

diagram rozlokowania,

diagram przypadków użycia,

diagram czynności,

diagram maszyny stanowej,

diagram sekwencji,

diagram komunikacji,

diagram harmonogramowania,

diagram sterowania interakcją.
Język UML

Diagram klas (ang. Class Diagram) to graficzne
przedstawienie statystycznych, deklaratywnych
elementów dziedziny przedmiotowej oraz związków
między nimi.

Diagram obiektów (ang. Object Diagram) to
wystąpienie diagramu klas, odwzorowujące strukturę
systemu w wybranym momencie jego działania.

Diagram pakietów (ang. Package Diagram) to
graficzne przedstawienie logicznej struktury systemu
w postaci zestawu pakietów połączonych
zależnościami i zagnieżdżeniami.
Język UML

Diagram struktur połączonych (ang. Composite
Structure Diagram) to graficzne przedstawienie
wzajemnie współdziałających części dla osiągnięcia
pożądanej funkcjonalności współdziałania.

Diagram komponentów (ang. Component Diagram)
to rodzaj diagramu wdrożeniowego, który wskazuje
organizację i zależności między komponentami.

Diagram rozlokowania (ang. Deployment Diagram)
to rodzaj diagramu wdrożeniowego, który
przedstawia sieć połączonych ścieżkami
komunikowania węzłów z ulokowanymi na nich
artefaktami.
Język UML

Diagram przypadków użycia (ang. Use Case
Diagram) to graficzne przedstawienie przypadków
użycia, aktorów oraz związków między nimi,
występujących w danej dziedzinie przedmiotowej.

Diagram czynności (ang. Activity Diagram) to
graficzne przedstawienie sekwencyjnych i (lub)
współbieżnych przepływów sterowania oraz danych
pomiędzy uporządkowanymi ciągami czynności,
akcji i obiektów.

Diagram maszyny stanowej (ang. Stade Machine
Diagram) to graficzne odzwierciedlenie dyskretnego,
skokowego zachowania skończonych systemów
stan-przejście.
Język UML

Diagram sekwencji (ang. Sequence Diagram) jest rodzajem
diagramu interakcji, opisującym interakcje pomiędzy
instancjami klasyfikatorów systemu w postaci sekwencji
komunikatów wymienianych między nimi.

Diagram komunikacji (ang. Communication Diagram) jest
rodzajem diagramu interakcji, specyfikującym strukturalne
związki pomiędzy instancjami klasyfikatorów biorącymi
udział w interakcji oraz wymianę komunikatów pomiędzy
tymi instancjami.

Diagram harmonogramowania (ang. Timing Diagram) jest
rodzajem diagramu interakcji, reprezentującym na osi czasu
zmiany dopuszczalnych stanów, jakie może przyjmować
instancja klasyfikatora uczestnicząca w interakcji.
Język UML

Diagram sterowania interakcją (ang. Interaction
Overview Diagram) jest rodzajem diagramu
interakcji, dokumentującym przepływ sterowania
pomiędzy logicznie powiązanymi diagramami i
fragmentami interakcji z wykorzystaniem kategorii
modelowania diagramów czynności.
[Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski, Język
UML 2.0 w modelowaniu systemów informatycznych, Wyd. Helion,
Gliwice 2005]
Diagram przypadków użycia
Diagram przypadków użycia to graficzne
przedstawienie przypadków użycia, aktorów oraz
związków między nimi, występujących w danej
dziedzinie przedmiotowej.
Diagramy przypadków użycia przedstawiają usługi
systemu świadczone aktorom, bez wskazywania
konkretnych rozwiązań technicznych.
Diagram przypadków użycia
Stosowanie diagramów przypadków użycia w
dokumentacji wymagań spełnia następujące zadania:

umożliwia analizę obszaru zastosowań, dziedziny
przedmiotowej,

pozwala na opracowanie przyszłego projektu systemu,

stanowi przystępną i zrozumiałą platformę komunikacji i
współpracy udziałowców systemu  aktorów, twórców
systemu, inwestorów, właścicieli,

są rodzajem umowy, kontraktu pomiędzy udziałowcami,
co do zakresu i funkcjonalności przyszłego systemu,

stanowi podstawę testowania systemu na dalszych
etapach jego cyklu życia.
Projektowanie systemów informatycznych
Projektowanie systemów informatycznych
Metody obiektowe
Diagram przypadków użycia
Diagram przypadków użycia
Główne techniki modelowania obiektowego
Główne techniki modelowania obiektowego
Diagram klas Diagram sekwencji
Obiekty i powiązania
(czynności)
między nimi
Kolejność przesyłanych komunikatów
Diagram przypadków użycia
Funkcje systemu
z punktu widzenia użytkowników
Główne techniki modelowania obiektowego
Główne techniki modelowania obiektowego
Diagram klas Diagram sekwencji
(czynności)
Diagram przypadków użycia
Definicja

Reprezentacja systemu lub podsystemu,
Reprezentacja systemu lub podsystemu,
pokazująca funkcje realizowane przez system z
pokazująca funkcje realizowane przez system z
punktu widzenia użytkownika
punktu widzenia użytkownika

Ang.: Use Case Diagram
Ang.: Use Case Diagram

Jest odpowiednikiem diagramu przepływu
Jest odpowiednikiem diagramu przepływu
danych w modelowaniu strukturalnym
danych w modelowaniu strukturalnym

Nie pokazuje technologii przetwarzania danych
Nie pokazuje technologii przetwarzania danych
Przykład
Obsługa zamówień
Złóż Dostarcz
zamówienie przesyłki
Dostawca
Klient
Zwróć towar
Przyślij nam
Sprawdz stan
towar
zamówienia
Firma kurierska
Anuluj
zamówienie
Oblicz koszt
Przedstawiciel
przesyłki
Handlowy
Dostarcz
katalog
Pracownik
Symbole podstawowe
Przypadek użycia
Aktor
System Powiązanie
Symbole: Aktor

Dowolny byt będący w interakcji z systemem, np.
człowiek, inny program, sprzęt elektroniczny,
składnica danych, sieć komputerowa, firma,
jednostka organizacyjna

Leży poza systemem

Aktor pełni określoną rolę w systemie:

osoba może być reprezentowana przez wielu aktorów
(wiele ról)

wiele osób może być reprezentowanych przez jednego
aktora (jedna rola)

~ Odpowiednik terminatora (encji zewnętrznej) na
diagramie przepływu danych
Symbole: Aktor (c.d.)

Symbole graficzne:
Xyz

Konwencje nazewnicze:

rzeczownik (może być z innymi wyrazami), np.: Klient,
Kierownik, Firma Kurierska, Bank, Dział Sprzedaży,
System Magazynowy
Symbole: Aktor (c.d.)

Identyfikacja aktorów:

Kto korzysta z systemu?

Kto instaluje system?

Kto uruchamia system?

Kto pielęgnuje system?

Kto wyłącza system?

Jakie inne systemy korzystają z tego systemu?

Kto pobiera dane z tego systemu?

Kto dostarcza dane do systemu?
Symbole: Przypadek użycia

Zespół czynności realizowanych przez system w celu
wytworzenia określonego wyniku, mającego
znaczenie dla aktora

Jest całością zadania widzianego z punktu widzenia
aktora

Zwykle obejmuje działania niezbyt odległe w czasie

Zwykle obejmują działania obsługiwane przez
jednego aktora

Zwykle jest inicjowany przez aktora

Odpowiednik procesu na diagramie przepływu
danych
Symbole: Przypadek użycia (c.d.)

Symbole graficzne:
Symbole graficzne:
Abc

Konwencje nazewnicze:
Konwencje nazewnicze

czasownik + dopełnienie:
Złóż zamówienie, Odbierz towar, Oblicz wartość
podatku, Wyślij zawiadomienie
Symbole: Przypadek użycia (c.d.)

Identyfikacja przypadków użycia:
Identyfikacja przypadków użycia

Jakich funkcji oczekuje aktor od systemu?

Którzy aktorzy tworzą nowe dane, modyfikują lub
usuwają istniejące?

Którzy aktorzy czytają zapamiętane dane?

Jak system zawiadamia aktora o zmianach w swoim
wewnętrznym stanie?

Jak system będzie powiadamiany o zewnętrznych
zdarzeniach?
Symbole: System

Pokazuje granice systemu (lub podsystemu)
obejmując przypadki użycia i pozostawiając aktorów
na zewnątrz

Jeden diagram  jeden system
Symbole: System (c.d.)

Symbole graficzne:
Abc

Konwencje nazewnicze:

rzeczownik odczasownikowy + dopełnienie:
Przyjmowanie zamówienia, Realizacja przewozu,
Zarządzanie zadaniami, Obsługa płatności

rzeczownik: Zamówienia, Płatności
Symbole: Powiązanie

Reprezentuje aktora z powiązanym przypadkiem
użycia

Pokazuje, jaki aktor bierze udział przy realizacji
danego przypadku użycia

Nie ma nazwy (podpisu)
Symbole: Powiązanie (c.d.)

Symbole graficzne:
Przykład  jeszcze raz
Obsługa zamówień
Złóż Dostarcz
zamówienie przesyłki
Dostawca
Klient
Zwróć towar
Przyślij nam
Sprawdz stan
towar
zamówienia
Firma kurierska
Anuluj
zamówienie
Oblicz koszt
Przedstawiciel
przesyłki
Handlowy
Dostarcz
katalog
Pracownik
Zasady

Każdy diagram ma nazwę (tytuł)

Każdy aktor, przypadek użycia i system ma unikalną
nazwę

Nazwa każdego obiektu powinna dokładnie
odzwierciedlać jego cechy

Nazwy obiektów nie odwołują się zwykle do
konkretnych wystąpień obiektów
Zasady c.d.

Nie mogą występować aktorzy lub przypadki użycia
nie powiązane z innymi elementami

Powiązanie w formie strzałki pokazuje kierunek
przepływu danych

Diagramy zwykle nie mają początku ani końca - nie
pokazują kolejności realizowanych działań

Aktor leży poza granicami systemu  ułatwia
pokazanie jakie są granice
Dokumentowanie przypadków użycia

Opis przypadku użycia zawiera o nim szczegółowe
informacje:

Warunki wstępne  jakie warunki muszą być spełnione,
aby przypadek użycia mógł być zrealizowany

Przebieg zdarzeń  lista działań charakteryzujących
przypadek użycia

Warunki końcowe  co jest efektem realizacji przypadku
użycia

Odpowiednik specyfikacji procesu z diagramu
przepływu danych
Bardzo rozbudowany diagram
Co z tym zrobić?

Ograniczyć liczbę przypadków użycia na jednym
diagramie

Przypadki użycia ująć w pakiety (podsystemy)

Utworzyć model wielopoziomowy  hierarchiczny
(podobnie do diagramów przepływu danych)
Pakiety - podsystemy
System obsługi zamówień
Składanie Realizacja
zamówień zamówień
Przypadki użycia w pakiecie
Składanie zamówień
Składanie zamówień
Złóż
zamówienie
Sprawdz stan
zamówienia
Dostarcz
katalog
Przedstawiciel
Klient
Anuluj
zamówienie
Handlowy
Zwróć towar
Złóż skargę
Przypadki użycia w pakiecie
Realizacja zamówień
Realizacja zamówień
Dostarcz
przesyłki
Pobierz
informacje
o towarze
Firma
Oblicz koszt System
Aktualizuj
przesyłki
kurierska
magazynowy
ilość
towaru
Wydrukuj
etykietę
Przyjmij
towar
teleadresową
od dostawców
System
Pracownik
księgowy
Obciąż konto
Uznaj konto
Dodatkowe symbole

Związek zawierania

Związek rozszerzania

Dziedziczenie
Związek zawierania

Pokazuje, że jeden przypadek użycia zawiera drugi
Anuluj
zamówienie
<>
Znajdz
Klient
zamówienie
 Anuluj zamówienie zawiera  Znajdz zamów. -
 Znajdz zamówienie jest częścią  Anuluj
zamówienie
Związek rozszerzania

Pokazuje, że jeden przypadek użycia w niektórych
sytuacjach może być rozszerzony przez inny
Złóż
zamówienie
<>
Podaj adres
Klient
wysyłki
 Podaj adres wys. rozszerza  Złóż zamówienie -
Czasami  Złóż zamówienie wymaga również
realizacji  Podaj adres wysyłki
Związek rozszerzania c.d.

Konieczne jest:

zdefiniowanie warunku, którego spełnienie decyduje o
rozszerzeniu przypadku użycia

miejsca rozszerzania
Złóż zamówienie
Extension Points
Nowy klient: przed
krokiem 6.
<>
(Nowy klient)
[klient pierwszy raz składa zamówienie]
Klient
Podaj adres
wysyłki
Dziedziczenie (uogólnianie)

To związek  jest rodzaju - jeden element jest
rodzajem drugiego elementu

Pomiędzy aktorami  jeden aktor odgrywa wszystkie
role drugiego aktora, może dodatkowo odgrywać
inne role

Pomiędzy przypadkami użycia  jeden przypadek
użycia jest uszczegółowioną wersją drugiego;
uszczegółowiony dziedziczy zachowanie ogólnego i
może dodawać dodatkowe zachowania
Dziedziczenie - c.d.
Złóż
zamówienie
Złóż
zamówienie
przez WWW
Złóż
zamówienie
Klient
Sprawdz stan
przez telefon
zamówienia
Przygotuj
raport
o sprzedaży
Przedstawiciel
Handlowy
Przykład
Obsługa zamówień
Aktualizauj
Złóż
zamówienie <>
stan konta
<>
<>
<> System
Zwróć towar
Klient
Aktualizauj
<>
księgowy
<>
ilość towaru
Anuluj
<>
zamówienie <>
Pobierz
inform.
Sprawdz stan
o towarze
System
zamówienia
Przedstawiciel
magazynowy
Przyjmij
Dostarcz
Handlowy
towar
katalog
<>
od dostawców
Złóż skargę
Przygotuj i
Pracownik
wyślij
przesyłkę
Firma kurierska
Diagramy klas
Definicja

Diagram klas odwzorowuje świat rzeczywisty
obejmując obiekty świata rzeczywistego i
powiązania między nimi

Ang.: Class Diagram

Jest rozszerzoną formą diagramu związków encji z
modelowania strukturalnego

Główne elementy diagramu:

klasa (class)

związek (association)
Przykład
Klient Zamówienie
złożenie
1 0..*
nazwa data
adres stan
Płatność
1..* 1 policzPodatek
kwota
policzSumę
jest opłacane
1
posiada
1..*
PozycjaZam Towar
ilosc waga
0..* 1
Karta Gotówka Czek
stawkaVat opis
zawiera
numer ilośćGotówki nazwa
policzWartosc getCena
dataWażności bankId
policzWagę getWaga
autoryzuj autoryzuj
Symbole

klasa

związek
Symbole: Klasa

Jest reprezentacją obiektu świata rzeczywistego

Cechy klasy:

nazwa (unikalna)

zestaw atrybutów

zestaw metod

Może implementować działanie elementów innych
diagramów:

aktora:

Samochód  Silnik, Karoseria, Hamulec

przypadku użycia:

Wyślij towar  Wysyłka, Towar, Opłata
Symbole: Klasa (c.d.)

Formy zapisu klas:
Klient
Klient
+ klient_id
+ klient_id
+ nazwa
Klient + nazwa
+ zlozZamowienie
+ zlozZamowienie
# podajAdres
# podajAdres
Klasa implementuje
osoby składające
zamówienia
Symbole: Klasa (c.d.)

Atrybuty  właściwości klasy

nazwa (polimorfizm)

typ danych

widoczność

+ publiczny (public) - wszystkie obiekty w systemie

# chroniony (protected) - obiekty z danej klasy i klas potomnych
(dziedziczących)

- prywatny (private) - obiekty z danej klasy

~ pakietowy (package) - instancje klasy z tego samego pakietu

zasięg

egzemplarzowy (instance)  odrębne wartości dla
poszczególnych obiektów klasy

klasyfikatorowy (classifier)  jedna wartość wspólna dla
wszystkich obiektów klasy
Symbole: Klasa (c.d.)

Metody - operacje, które klasa może wykonać lub
które na danej klasie może wykonać osoba lub
inna klasa

nazwa (unikalna w obrębie klasy i klas nadrzędnych)

mogą używać parametrów (wej., wyj.)

mogą zwracać wartość określonego typu

widoczność  jak w przypadku atrybutów

zasięg  jak w przypadku atrybutów
Symbole: Związek

Ilustruje związek znaczeniowy między klasami

Cechy związku:

nazwa (unikalna?) - nieobowiązkowa

kierunek

liczebność/udział

brak atrybutów, ale możliwe klasy powiązane
Symbole: Związek (c.d.)

Liczebność:

0..1  zero lub jeden

1  dokładnie jeden

0..*  zero lub więcej

1..*  jeden lub więcej

n  dokładnie n (n>1)

*  wiele (niezalecane)

0..n  od zera do n (n>1)

1..n  od jeden do n (n>1)

n..m  od n do m (n>1, m>1)

n..*  n lub więcej (n>1)
Klasa powiązana
Przykład
0..* 1..*
Kandydat Kierunek
Zdawanie
Dodatkowe symbole

Zależność

Agregacja

Kompozycja

Dziedziczenie
Symbole: Zależność

Pokazuje, że zachowanie jednej klasy wpływa na
zachowanie innej

Nie pokazuje powiązania między danymi (na
zasadzie relacji w bazie danych)

Symbol
Symbole: Agregacja

Pokazuje, że dana klasa składa się z innych  obiekty
jednej klasy zawierają obiekty innej klasy, np.:

drużyna  zawodnik

grupa  student
Drużyna Zawodnik
Symbole: Kompozycja

Silniejsza odmiana agregacji:

jeden komponent może należeć tylko do jednej całości

czas życia komponentu jest zdeterminowany przez czas
życia całości:

tylko całość może utworzyć nową część

jeśli całość zostanie zniszczona, niszczone są wszystkie jej
części

Przykład

biurko  blat

klawiatura - przycisk
Biurko Blat
Agregacja i Kompozycja
Przykład
Symbole: Dziedziczenie

Pokazuje, że dana klasa zachowuje się podobnie do
innej i posiada dodatkowe cechy (atrybuty i metody)

Przykład:

zwierzę  ssak  kot

osoba  student
Zwierzę
Ssak
Przykład  jeszcze raz
Klient Zamówienie
złożenie
1 0..*
nazwa data
adres stan
Płatność
1..* 1 policzPodatek
kwota
policzSumę
jest opłacane
1
posiada
1..*
PozycjaZam Towar
ilosc waga
0..* 1
Karta Gotówka Czek
stawkaVat opis
zawiera
numer ilośćGotówki nazwa
policzWartosc getCena
dataWażności bankId
policzWagę getWaga
autoryzuj autoryzuj
Kontekst

Istotny jest kontekst odwzorowania świata
rzeczywistego:

inaczej w odniesieniu do systemu administracji
samorządowej

inaczej w odniesieniu do przedsiębiorstwa

inaczej w odniesieniu do użytkownika domowego

...
Zasady

Atrybut opisujący klasę umieszczamy jedynie w tej
klasie

Nie umieszczamy atrybutów, których wartość
możemy wyliczyć na podstawie innych atrybutów

Atrybut powinien mieć jedną wartość

Jeśli nie jesteśmy pewni liczebności w związku,
bezpieczniej jest umieścić większą niż mniejszą

Nie pokazuj klas z dwoma blokami (częściami) 
metody czy atrybuty

Nazwy metod powinny zawierać czasownik
Zasady (c.d.)

Jeśli na liście atrybutów lub metod nie pokazano
wszystkich elementów to należy umieścić '...' dla
oznaczenia istnienia dodatkowych

Umieszczaj atrybuty/metody statyczne (static,
classifier) przed egzemplarzowymi (instance) i
oznaczaj podkreśleniem

Atrybuty i metody w kolejności malejącej
widoczności

Przy parametrach, które są obiektami  jedynie
nazwa (bez typu)

Unikaj stosowania stereotypów, które są słowami
kluczowymi w językach programowania
Zasady (c.d.)

Zawsze pokazuj liczebność

Unikaj liczebności '*'

Związki nietrwałe (not persistent  transitory)
pokazuj za pomocą zależności (dependency)

Twórz jedynie powiązania bezpośrednie

Jeśli konieczne, używaj oznaczenia kierunku czytania
nazwy związku

Jeśli istnieją dwa związki między tymi samymi
klasami, dodaj role

Umieszczaj klasy dziedziczące pod nadrzędnymi
Zasady (c.d.)

Jeśli dwie klasy dziedziczą z innej, to powinny się
różnić między sobą

Podklasa dziedziczy wszystko

Kompozycje stosuj do rzeczy fizycznych

biurko  blat (TAK)

drużyna  zawodnik (NIE)

Nie trać dużo czasu na analizowanie konieczności
zastosowania agregacji lub kompozycji
Diagramy sekwencji
Definicja

Jego celem jest pokazanie jednostek
współpracujących przy realizacji zadania oraz
komunikatów wymienianych między nimi

Inna nazwa: diagram przebiegu

Ang.: Sequence Diagram

Stanowią formę specyfikacji pojedynczego
(zazwyczaj) przypadku użycia

Zawiera wymiar czasu (oś pionowa)  czynności
realizowane pózniej umieszczane są niżej
Elementy diagramu

Elementy diagramu:

aktor (actor)

obiekt (object)

komunikat (message)
Symbole

aktor

obiekt

komunikat
Symbole: Aktor

Repezentuje byt (osoba, organizacja, inny system,
itp.) będący w interakcji z modelowanym systemem

Oznacza to samo, co na diagramie przypadków
użycia

Symbol:
Klient
Symbole: Obiekt

Stanowi wydzieloną część systemu, pełniącą
określoną rolę w systemie

Przykładowe kategorie obiektów:

części interfejsu,

elementy struktury danych

elementy warstwy sieciowej (komunikacyjnej)

elementy modułów programowych

elementy funkcji systemu
Symbole: Obiekt (c.d.)

Możliwe jawne określenie klasy obiektu (classifier)

Opcje nazewnicze:

tylko nazwa obiektu

nazwa obiektu i klasy

tylko nazwa klasy (bez nazwy obiektu)

Każdy obiekt ma linię życia (lifeline)

Możliwe oznaczenia na linii życia:

tworzenie obiektu (create)

aktywacja (activation)

niszczenie obiektu (destroy)
Symbole: Komunikat

Ilustruje sygnał przesyłany między dwoma
elementami diagramu:

aktorem a obiektem

dwoma obiektami

Komunikat może zawierać np.:

polecenie wykonania określonej operacji

dane przesyłane do innego elementu

odpowiedz
Symbole: Komunikat (c.d.)

Rodzaje komunikatów:

prosty (niezdefiniowany)

synchroniczny

asynchroniczny

zwrotny

tworzący obiekt

niszczący obiekt

Jeśli czasy nadania i odebrania komunikatu są różne
(długi czas transmisji) to komunikat oznaczamy linią
ukośną
Poziomy szczegółowości

Możliwe jest tworzenie kilku diagramów sekwencji,
które pokazują różne poziomy szczegółowości tego
samego scenariusza:

poziom ogólny  pokazuje komunikację aktora (-ów) z
systemem

poziom szczegółowy  pokazuje, z którymi elementami
systemu komunikuje się aktor

poziom bardzo szczegółowy  pokazuje wiele
komunikatów pomiędzy elementami systemu

Możliwe jest tworzenie kilku diagramów sekwencji
w celu pokazania różnych scenariuszy realizacji
jednej operacji/funkcji
Poziomy szczegółowości
Przykład  Poziom systemu*
yródło: Visual Paradigm
Poziomy szczegółowości
Przykład  Poziom podsystemu*
yródło: Visual Paradigm
Poziomy szczegółowości
Przykład  Poziom trzeci*
yródło: Visual Paradigm
Zasady

Nazywaj aktorów w sposób spójny z diagramami
przypadków użycia

Nazywaj obiekty/klasy w sposób spójny z
diagramami klas

Po lewej stronie umieszczaj aktorów, którzy są
ludzmi lub organizacjami

Po prawej stronie umieszczaj aktorów, którzy są
innymi systemami reagującymi na działanie
modelowanego systemu

Po lewej stronie umieszczaj aktorów, którzy są
systemami inicjującymi interakcję z modelowanym
Zasady (c.d.)

Aktor może mieć tę samą nazwę co klasa

Jeśli nie jest to niezbędne  nie umieszczaj
niszczenia (destroy) obiektu

Umieszczaj nazwę obiektu jeśli występuje odwołanie
do niej w komunikacie

Umieszczaj nazwę obiektu jeśli istnieje wiele
obiektów tej samej klasy

Jeśli umieszczono kilka obiektów o tej samej nazwie,
muszą pochodzić z różnych klas

Przy aktorach i obiektach/klasach umieszczaj
stereotypy informujące o warstwie systemu, w której
one działają
Zasady (c.d.)

Umieszczaj najważniejsze komunikaty (zwykle)

Jeśli komunikat jest wysyłany do obiektu/klasy,
który jest implementowany jako składnik
oprogramowania (klasa, interfejs, komponent),
nazywaj komunikat z użyciem składni języka
programowania

Jeśli komunikat wymaga przekazania parametrów,
podaj ich nazwy, a nie same typy danych

Komunikaty wychodzące od aktorów, którzy są
osobami lub organizacjami, nazywaj w sposób
opisowy (zdaniem)
Zasady (c.d.)

Komunikaty przesyłane do klas (nie obiektów)
implementowane są jako metody statyczne

Przy włączaniu innych przypadków użycia do
aktualnie modelowanego stosuj komunikaty ze
stereotypem <>

Komunikat tworzący obiekt oznaczaj stereotypem
<>

Aktywacja nie jest obowiązkowym elementem linii
życia, ale ułatwia zrozumienie diagramu  podkreśla
czas trwania danej operacji
Dziękuję za uwagę
Proszę o pytania...


Wyszukiwarka

Podobne podstrony:
PSI w5 SUM ETI zaoczne
UML 20 w akcji Przewodnik oparty na projektach
W5 Tranzystor
Agnieszka Jędrzejczak Dobry Psi Obywatel
4 WWSI PSI
w5 PSYCH
Zaopatrzenie w wod kan W5
building web applications with the uml?2EDDA8
PK W5
3 WWSI PSI
KC K W5
4OS 11 w5
W5 Rodzina jako system
OBWODY ELEKTRYCZNE i MAGNETYCZNE w5

więcej podobnych podstron