PSI (4 Diagramy UML)

background image

Projektowanie

systemów

informatycznych

Diagramy UML

background image

GK (PSI(4) - 2009)

2

Wstęp

UML

(Unified Modeling Language) jest formalnym

językiem służącym do opisu obiektów świata rzeczywistego w
analizie obiektowej (Object-oriented analysis)
oraz
programowaniu obiektowym (Object-oriented programming
).

UML jest językiem modelowania wizualnego,

pozwalającym twórcom systemów na konstruowanie projektów, na
których ich wizje zostają uchwycone i wyrażone w standardowy,
łatwy do zrozumienia sposób. Dostarcza też mechanizmów
ułatwiających wymianę informacji i przekazywanie projektów
innym.
Właściwości UML:

UML jest standardowym językiem do specyfikacji, wizualizacji,

budowy i dokumentowania wszystkich wytworów (artefaktów)
dowolnego systemu,

UML jest językiem o szerokim zakresie zastosowań,

UML nadaje się do opisu systemów programowych i

nieprogramowych (tzw. systemów biznesowych) w różnych
dziedzinach i branżach, np. w produkcji, bankowości, handlu
elektronicznym itd.,

UML może być stosowany w całym procesie tworzenia systemu

informatycznego, od gromadzenia wymagań, aż po implementację
systemu,

UML nie jest to zastrzeżonym i zamkniętym językiem

modelowania.

background image

GK (PSI(4) - 2009)

3

Wstęp

Rozwój UML:

lata 80-90: różnorodne metodologie, techniki , różnorodne

notacje, symbole, oznaczenia,

lata 90-95: wyróżniają się 3 główne metody:

Grady’ego Boocha (Booch ’93) kładzie nacisk na
projektowanie i tworzenie systemów oprogramowania.
Niewielka przydatność dla analizy,

Jamesa Rumbaugha (OMT-2 - Object Modeling Technique)
kładzie nacisk na analizę systemów informatycznych.
Niewielka przydatność dla projektowania,

Ivara Jacobsona (OODE - Object-Oriented Software
Engineering) kładzie nacisk na modelowanie biznesowe i
analizę wymagań,

lata 95-97:

Powstał język UML 1.0 w firmie Rational Software

Corporation jako wynik współpracy James’a Rumbaugh,

Ivar’a Jacobson’a i Grady’ego Boocha,

po roku 97:

standaryzacja, korekty i prace nad wersją 2.0

background image

GK (PSI(4) - 2009)

4

Wstęp

Cele UML:

wyposażenie użytkowników i analityków w graficzny

język modelowania,

dostarczenie mechanizmów rozszerzania i

specjalizacji (do koncepcji bazowej):

budowanie modeli dla standardowych aplikacji,

dodawanie nowych pojęć i notacji do koncepcji

podstawowej,

wybór pomiędzy różnymi wariantami.

wspomaganie specyfikacji niezależnych od języka

programowania i metod tworzenia,

wspomaganie koncepcji: wzorców, komponentów,

współpracy, programów ramowych.

UML jest

językiem modelowania a

nie metodą projektowania
systemów informatycznych

background image

5

Bibliografia:

1. Booch G., Raumbaugh J., Jacobson I.,

UML: Przewodnik

użytkownika

, WNT, Warszawa 2001.

2. Cheesman J., Daniels J.,

Komponenty w UML

, WNT, Warszawa 2004.

3. Booch G., Raumbaugh J., Jacobson I., UML:

Przewodnik

użytkownika

, WNT, Warszawa 2001.

4. Flower M., Scott K.,

UML w kropelce

, Wydawnictwo LT&P, Warszawa

2002.

5. Wrycza S., Marcinkowski B., Wyrzykowski K.,

Język UML 2.0 w

modelowaniu systemów informatycznych

, Helion, Gliwice 2005.

6. Śmiałek M.,

Zrozumieć UML. Metody modelowania obiektowego

,

Helion, Gliwice 2005.

7. Wrycza S. (red.),

Ćwiczenia UML 2.1

, Helion 2006.

8. Maksimchuk R.A., Nalburg E.J.,

UML dla zwykłych śmiertelników

,

PWN SA, Warszawa 2007.

9. Dąbrowski W., Stasiak A., Wolski M,

Modelowanie systemów

informatycznych w języku UML 2.1 w praktyce

, PWN SA, Warszawa

2009.

10.Schmuller J.,

UML dla każdego

, Helion, Gliwice 2003.

11.Graessle P., Baumann H., Baumann P.,

UML 2.0 w akcji.

Przewodnik oparty na projektach

, Helion, Gliwice 2005.

Wstęp

GK (PSI(4) - 2009)

background image

Wstęp

W praktycznej realizacji UML przyjmuje postać graficznej

prezentacji projektowanego systemu za pomocą logicznie

powiązanych

diagramów

. Diagramy opisują projektowany system

z różnych punktów widzenia.

W UML są tworzone następujące diagramy:

6

GK (PSI(4) - 2009)

1. Diagramy struktury

Klas

Obiektów

Pakietów

Przypadków użycia

Struktur złożonych

Wdrożeniowe

Komponentów

2. Diagramy dynamiki

Czynności

Maszyny stanowej

Zależności czasowych

Interakcji:

o

Sekwencji

o

Komunikacji

o

Sterowania

interakcją

Projektując system informatyczny, rozpoczyna się

przeważnie od tworzenia diagramów w następującej kolejności:

Przypadków użycia

,

Klas

,

Czynności

i

Sekwencji

. Są to

wykorzystywane najczęściej. Pozostałe z nich bywają pomijane,
zwłaszcza przy tworzeniu niedużych systemów informatycznych.

background image

Wstęp

7

GK (PSI(4) - 2009)

Lp.

Diagram

Opis

1

Diagram klas (Class
Diagram)

Graficzne przedstawienie statycznych,
deklaratywnych elementów dziedziny
przedmiotowej oraz związków między nimi

2

Diagram obiektów
(Object Diagram)

Wystąpienie (realizacja, instancja) diagramu
klas, odwzorowujące strukturę systemu w
wybranym momencie jego funkcjonowania

3

Diagram pakietów
(Package Diagram)

Graficzne przedstawienie logicznej struktury
systemu w postaci pakietów połączonych
zależnościami i zagnieżdżeniami

4

Diagram struktur
złożonych
(Composite
Structure Diagram)

Graficzne przedstawienie współdziałających ze
sobą elementów w celu osiągnięcia wymaganej
wspólnej funkcjonalności

5

Diagram
komponentów
(Component
Diagram)

Rodzaj diagramu wdrożeniowego, który
odwzorowuje organizację i zależności między
komponentami

6

Diagram
rozlokowania
(Deployment
Diagram)

Rodzaj diagramu wdrożeniowego, który
przedstawia sieć połączonych ścieżkami
komunikowania węzłów z ulokowanymi w nich
artefaktami

7

Diagram
przypadków użycia
(Use Case Diagram)

Graficzne przedstawienie przypadków użycia i
aktorów oraz związków między nimi
występujących w dziedzinie przedmiotowej

8

Diagram czynności
(Activity Diagram)

Graficzne przedstawienie sekwencyjnych i
współbieżnych przepływów sterowania oraz
danych pomiędzy uporządkowanymi ciągami
czynności, akcji i obiektów

9

Diagram maszyny
stanowej (State
Machine Diagram)

Graficzne odzwierciedlenie skokowego
zachowania skończonych systemów stan-
przejście

10

Diagram sekwencji
(Sequence Diagram)

Rodzaj diagramu interakcji, opisujący interakcje
pomiędzy instancjami klasyfikatorów systemu w
postaci sekwencji komunikatów wymienianych
między nimi

11

Diagram
komunikacji
(Communication
Diagram)

Rodzaj diagramu interakcji, opisujący
strukturalne związki pomiędzy instancjami
klasyfikatorów, biorącymi udział w interakcji oraz
wymianę komunikatów między nimi

12

Diagram zależności
czasowych (Timing
Diagram)

Rodzaj diagramu interakcji, reprezentujący na
osi czasu dopuszczalne zmiany stanów, które
może przyjmować instancja klasyfikatora
uczestnicząca w interakcji

13

Diagram sterowania
interakcją
(Interaction
Overview Diagram)

Diagram dokumentujący przepływ sterowania
pomiędzy logicznie powiązanymi diagramami i
fragmentami interakcji z wykorzystaniem
kategorii modelowania diagramów czynności

Pełna lista
diagramów
UML:

background image

GK (PSI(4) - 2009)

8

Modelowanie złożonych systemów jest zadaniem trudnym i

angażuje wiele osób o różnym sposobie postrzegania systemu.
Uwzględniający te różne punkty widzenia, UML jest często
określany jako język modelowania posiadający 4+1 perspektyw
.
Cztery pierwsze opisują wewnętrzną strukturę systemu na różnych
poziomach abstrakcji i szczegółowości. Ostatnia perspektywa (+1)
opisuje funkcjonalność systemu widzianą przez jego
użytkowników.
Są to następujące perspektywy:

Perspektywa przypadków użycia

– opisuje funkcjonalność,

oczekiwanej od systemu przez przyszłych użytkowników (mówi

co

powinien robić system),

Perspektywa logiczna

– zawiera opis sposobu realizacji

funkcjonalności, strukturę systemu widzianą przez projektanta
(opisie

jak

funkcjonalność systemu ma być realizowana),

Perspektywa implementacyjna

– opisuje szczegółowo

poszczególne moduły i ich interfejsy wraz z zależnościami, z
określeniem ograniczeń wynikających z zastosowanego języka
programowania, wybranych technologii etc., jest sposobem
widzenia systemu przez programistę,

Wstęp

background image

GK (PSI(4) - 2009)

9

Perspektywa procesowa

– zawiera podział systemu na

procesy (czynności) i procesory (jednostki wykonawcze),
opisuje właściwości niefunkcjonalne systemu i służy
programistom i integratorom,

Perspektywa wdrożenia

– definiuje fizyczny podział

elementów systemu i sposób ich rozmieszczenia w
infrastrukturze, perspektywa taka służy integratorom i
instalatorom systemu.

Każda perspektywa korzysta z własnego

zestawu diagramów pozwalających czytelnie
przedstawić modelowane zagadnienie.

Wstęp

background image

Diagram

Przypadków użycia

10

GK (PSI(4) - 2009)

Diagram Przypadków użycia

(User Case Diagram –

UCD), narzędzie stosowane w

perspektywie przypadków

użycia

,

odwzorowuje funkcjonalności tworzonego systemu

wraz z jego otoczeniem poprzez graficzną prezentację:

własności

tworzonego systemu informatycznego,

postrzeganych i wymaganych przez

użytkownika

tego

systemu,

usług

oferowanych przez tworzony system informatyczny,

postrzeganych przez

otoczenie

tego systemu.

Diagram UCD jest tworzony przed rozpoczęciem prac

projektowych nad systemem informatycznym i odgrywa

najważniejszą rolę w procesie tworzenia tego systemu, gdyż

pozwala na identyfikację oczekiwanych funkcjonalności

systemu, weryfikację postępów w dalszym modelowaniu,

projektowaniu i implementacji tego systemu oraz zapewnia

komunikatywność kontaktów między zespołem projektantów,

a użytkownikiem systemu.

W procesie tworzenia przypadków użycia

najistotniejsze jest to, że opisują,

co robi system z punktu

widzenia zewnętrznego obserwatora

, a

nie jak to robi

, co

oznacza, iż przypadki użycia, oprócz funkcjonalności, nie
definiują jednocześnie sposobu ich implementacji. Określają
one zatem wymagane zachowanie, ale nie narzucają sposobu
jego rozwiązania, a więc dzięki nim użytkownicy i eksperci w
dziedzinie problemu mogą rozmawiać z projektantami i
programistami bez konieczności analizowania nieistotnych
szczegółów.

background image

Diagram

Przypadków użycia

11

GK (PSI(4) - 2009)

Własności przypadków użycia. Przypadki użycia:

określają zbiory ciągów akcji, z których każdy reprezentuje

interakcję elementów z otoczenia systemu z funkcjami
samego systemu, których na etapie identyfikacji wymagań i
analizy używa się do obrazowania, specyfikowania, tworzenia i
dokumentowania spodziewanego zachowania systemu,

reprezentują wymagania funkcjonalne dla systemu jako

całości,

obejmują interakcje aktorów i systemu, przy czym aktor

(człowiek, system itp.) reprezentuje spójny zbiór ról
odgrywanych przez użytkowników przypadku użycia w czasie
jego realizacji,

mogą mieć warianty, które są uszczegółowionymi wersjami

innych przypadków użycia, są częściami innych przypadków
użycia lub rozszerzają znaczenie innych podstawowych
przypadków użycia

mają za zadanie dostarczyć istotne wyniki,

służą do analizy całego systemu, ale można je również

stosować do analizy części systemu (np. podsystemów), a
nawet pojedynczych jego elementów,

są podstawą do opracowania testów dla modelowanych

funkcjonalności systemu.

background image

Diagram

Przypadków użycia

notacja i semantyka

12

GK (PSI(4) - 2009)

Przypadek użycia

(User Case). Przypadek użycia reprezentuje

z

espół czynności realizowanych przez system w celu

wytworzenia określonego wyniku, mającego znaczenie dla

aktora (użytkownika). Zatem:

przypadek użycia reprezentuje sekwencję, inicjowanych

przez aktora, niezbyt odległych w czasie operacji
wykonywanych przez
system,

przypadek użycia modeluje oczekiwanie zachowanie systemu

wobec danego aktora, nie precyzując sposobu realizacji tego
zachowania,

uruchomienie danego przypadku użycia ma dostarczyć

aktorowi wymiernych wyników,

przypadek użycia zwykle opisuje pewien proces a nie

elementarną czynność (działanie),

przypadek użycia jest całością zadania widzianego z punktu

widzenia

aktora

.

Graficzna symbol przypadku użycia:

Wystawienie faktury

background image

Diagram

Przypadków użycia

notacja i semantyka

13

GK (PSI(4) - 2009)

Każdy przypadek użycia może być opisany za pomocą:

nazwy,

przepływu zdarzeń (scenariuszy),

zależności i relacji,

listy działań charakteryzujących przypadek użycia (przebieg

zdarzeń)

,

wymagań specjalnych,

warunków wstępnych i/lub końcowych.
W zależności od potrzeb przypadek użycia może być
zaopatrzony w dodatkowy opis szczegółowy.

Nazwa

przypadku użycia może być tekstem

zawierającym dowolną liczbę liter, cyfr i znaków
przestankowych (z wyjątkiem dwukropka oddzielającego
nazwę przypadku użycia od nazwy jego pakietu), zapisanym w
wielu wierszach. W praktyce nazwę podaje się w formie
krótkiego wyrażenia z czasownikiem w formie bezosobowej
(najczęściej) na początku, określającego pewną czynność
pochodzącą ze słownictwa modelowanego systemu, np.:

background image

Diagram

Przypadków użycia

notacja i semantyka

14

GK (PSI(4) - 2009)

Aktor

(Actor). Aktor to d

owolny byt będący w interakcji z

przypadkiem użycia (systemem), np. człowiek, inny program,

sprzęt elektroniczny, składnica danych, sieć komputerowa, firma,

jednostka organizacyjna.

Aktor reprezentuje spójny zbiór ról

odgrywanych przez użytkowników przypadku użycia w czasie

interakcji z tym przypadkiem. Aktorzy nie są elementami

tworzonego systemu informatycznego. Istnieją poza systemem.

Zatem:

aktorami mogą być ludzie, urządzenia, inne systemy

informatyczne,

pojęcia aktora odpowiada roli jaką on odgrywa w stosunku do

systemu,

pojęcia aktora nie odpowiada zawsze np. konkretnej osobie

fizycznej, bo ta może wcielać się w różne role (np. raz jako

administrator, a raz jako zwykły użytkownik),

jeden aktor może reprezentować całą grupę fizycznych

użytkowników systemu (aktor pracownik reprezentuje wszystkich

pracowników firmy),

aktorzy są zwykle aktywni - inicjują przypadki użycia, choć mogą

być również pasywni (np. aktor tylko korzystający z danych

przetworzonych w systemie).

Klient

Graficzny symbol aktora:

background image

Diagram

Przypadków użycia

notacja i semantyka

15

GK (PSI(4) - 2009)

Nazwa

aktora jest to zwykle rzeczownik lub określenie

rzeczownikowe w liczbie pojedynczej. Nazwa aktora nie ma
identyfikować poszczególnych, realnie istniejących obiektów, ale
role
, które pełnią.
W procesie ustalania aktorów należy kierować się następującymi
przesłankami:

jaka grupa użytkowników (w tym także systemów, aplikacji itp.)

potrzebuje wspomagania swojej działalności przez tworzony
system,

jacy użytkownicy i w jakim zakresie są niezbędni do

prawidłowego funkcjonowania tworzonego systemu (użytkownicy
merytoryczni i użytkownicy wspomagający),

w jakie środki komunikacji z tworzonym systemem będą

wyposażeni użytkownicy
i jakie techniki komunikacji z systemem będą przez nich
stosowane.

Każdy aktor musi użytkować co najmniej jeden przypadek

użycia (musi być z nim połączony na diagramie), natomiast
przypadek użycia musi
być użytkowany przez co najmniej jednego
aktora (musi być z nim połączony na diagramie). Takie połączenie
aktora z przypadkiem użycia oraz połączenia między przypadkami
użycia noszą nazwę związków.

background image

Diagram

Przypadków użycia

notacja i semantyka

16

GK (PSI(4) - 2009)

Związek

(Relationship). Związek oznacza interakcję aktora z

przypadkami użycia, która może oznaczać ich inicjowanie
(uruchamianie), dostarczanie im danych, otrzymywanie od nich
danych przetworzonych lub inne użytkowanie funkcjonalności
realizowanej przez ten przypadek użycia. Związek nie oznacza
żadnych konkretnych rozwiązań, np. nie wskazuje na to, jakie
dane są przekazywane od aktora do przypadku użycia.

Symbolami graficznymi związku są

asocjacje

nieskierowane i skierowane, obrazowane za pomocą
następujących znaków graficznych:

Asocjacja nieskierowana

(linia bez strzałki) wskazuje na

domyślną dwustronną komunikację pomiędzy aktorem a
przypadkiem użycia.

Asocjacja skierowana

(linia ze strzałką) jest

stosowana w przypadku, gdy zachodzi potrzeba wskazania

inicjatora

usługi. Skierowana asocjacja wskazuje również na fakt,

że element inicjujący zna zawsze element inicjowany, natomiast
element inicjowany nie zna tego pierwszego.

background image

Diagram

Przypadków użycia

notacja i semantyka

17

GK (PSI(4) - 2009)

Przykład związku:

Możliwości uszczegółowiania związków

między przypadkami

użycia

stwarzają zależności (dependencies), które wskazują na

taki związek, w którym zmiana jednego przypadku użycia wpływa
na drugi. Wyróżnia się zależności:

zawierania (include),

rozszerzania (extend).

Klient

Złożenie zamówienia

background image

Diagram

Przypadków użycia

notacja i semantyka

18

GK (PSI(4) - 2009)

Związek

zawierania

polega na tym, że

zawierający

(bazowy) przypadek użycia rozszerza swoją funkcjonalność na
zachowanie innego,

zawieranego

przypadku użycia, który stanowi

wydzieloną część funkcjonalności zawierającego przypadku
użycia. Zawierany
przypadek użycia nie jest elementem
samodzielnym, uruchamianym tylko i zawsze, gdy jest
uruchamiany zawierający
przypadek użycia. Przykład:

istota zależności

przykład realizacji

zależności

Tworzenie związku zawierania jest zasadne, gdy:

istnieje możliwość wyłączenia w postaci zawieranego przypadku
użycia pewnej funkcjonalności, wspólnej dla kilku różnych
przypadków użycia,

interakcje aktor-system są bardzo liczne.
Związki zawierania powodują istotne uproszczenie złożoności
modelu systemu oraz oprogramowania systemu.

Dokonanie wypłaty

Sprawdzenie stanu kasy

<<include>>

Zawierający

Zawierany

<<include>>

background image

GK (PSI(4) - 2009)

19

Źródło: R. Simiński: Diagramy przypadków użycia (Internet).

Diagram

Przypadków użycia

notacja i semantyka

Przykład związku

zawieranie

:

background image

Diagram

Przypadków użycia

notacja i semantyka

20

GK (PSI(4) - 2009)

Związek

rozszerzania

polega na tym, że

rozszerzany

(bazowy) przypadek użycia rozszerza swoją funkcjonalność o
funkcjonalność innego,

rozszerzającego

przypadku użycia, który

w sposób fakultatywny może zostać włączony do rozszerzanego
przypadku użycia. Rozszerzający
przypadek użycia może być
elementem samodzielnym. Przykład:

istota zależności

przykład realizacji

zależności

Uruchamianie rozszerzającego przypadku użycia następuje
łącznie z rozszerzanym przypadkiem użycia, ale dopiero po
spełnieniu warunków określonych przez użytkownika, które mogą
być zapisane na diagramie w dowolnym języku.

Dokonanie wypłaty

Zapytanie o nominały

<<extend>>

Rozszerzany

Rozszerzający

Warunek roszerzenia

<<extend>>

background image

Diagram

Przypadków użycia

notacja i semantyka

21

GK (PSI(4) - 2009)

Przykład związku

rozszerzanie

:

Źródło: R. Simiński: Diagramy przypadków użycia (Internet).

background image

Diagram

Przypadków użycia

notacja i semantyka

22

GK (PSI(4) - 2009)

Generalizacja

(Generalization). Generalizacja (także uogólnienie)

jest związkiem pomiędzy aktorami lub przypadkami użycia, w

którym jeden z nich jest

przodkiem

, a drugi –

potomkiem

.

Potomek posiada wszystkie atrybuty przodka i dodatkowo jeszcze

specyficzne, własne: potomek jest niejako specjalizacją

(uszczegółowieniem) przodka. Generalizacja umożliwia tworzenie

hierarchii

dziedziczenia

(inheritance), która oznacza, że obiekty

będące potomkami dziedziczą atrybuty przodka, dodając własne

atrybuty indywidualne.

Generalizację graficznie oznacza się strzałką z pustym

grotem, skierowanym od potomka do przodka. Przykłady związku

generalizacji:

Generalizacja pomiędzy

aktorami

oznacza, że jeden aktor

odgrywa wszystkie role drugiego aktora i dodatkowo może

odgrywać jeszcze inne, własne role, a pomiędzy

przypadkami

użycia

– że jeden przypadek użycia jest uszczegółowioną wersją

drugiego i ten uszczegółowiony dziedziczy zachowanie ogólnego

oraz może dodawać dodatkowe zachowania własne.

Dyrektor

Pracownik

background image

GK (PSI(4) - 2009)

23

Diagram

Przypadków użycia

notacja i semantyka

Przykład
diagramu
przypadk
ów użycia

background image

Diagram

Przypadków użycia

proces tworzenia

24

GK (PSI(4) - 2009)

Proces tworzenia diagramu przypadków użycia obejmuje

następujące podstawowe etapy:
1.Identyfikacja aktorów.
2.Identyfikacja przypadków użycia.
3.Opracowanie związków (asocjacji).
4.Uszczegółowienie diagramu.
Podstawowy zbiór danych niezbędnych do utworzenia diagramu
przypadków użycia analityk, twórca tego diagramu, uzyskuje
poprzez opracowanie – wspólnie z przyszłym użytkownikiem
systemu informatycznego – wymagań do tego systemu.

Zwykle

pod pojęciem wymagań rozumie się wyrażenie odczuwalnej
potrzeby rozwiązania określonych problemów, których
rozwiązanie pozwoli na osiągnięcie zamierzonego celu.

W

szczególności wymagania powinny obejmować:

potrzeby i ograniczenia dotyczące funkcjonalności tworzonego

systemu informatycznego, własności oprogramowania, interfejsu
użytkownik-system, serwisu itp. (wymagania funkcjonalne),

określenie sposobu prezentacji potrzeb i ograniczeń (język

wymagań),

potrzeby, których spełnienie nie jest konieczne i wymagania o

różnych priorytetach (wymagania niefunkcjonalne).

background image

Diagram

Przypadków użycia

proces tworzenia

25

GK (PSI(4) - 2009)

Jedną z najczęstszych przyczyn niepowodzenia projektów

systemów informatycznych są problemy związane z
wymaganiami do nich. Brak części wymagań, wymagania
niekompletne, źle sformułowane, różnie rozumiane przez
użytkownika i projektanta bądź często zmieniane w trakcie
trwania prac projektowych nad systemem są najczęściej
wymienianymi przyczynami powstawania systemów z usterkami
bądź przerywania w ogóle prac nad systemem. W celu uniknięcia
tych przykrych następstw, konieczne jest przed rozpoczęciem
prac projektowych możliwie najbardziej sformalizowane
zapisanie wymagań dotyczących całego systemu.

W przypadku systemu informatycznego wymagania

obejmują dwie ich kategorie: wymagania funkcjonalne i
wymagania niefunkcjonalne
.

Wymagania funkcjonalne

to wymagania związane z

szeroko pojętą funkcjonalnością systemu, rozumianą jako
określenie tego,

co system ma robić

.

Wymagania niefunkcjonalne

odnoszą się do właściwości

systemu takich, jak jego bezpieczeństwo, niezawodność,
skalowalność itp., które w sumie mają określać

jaki system ma

być

.

Wyniki modelowania wymagań funkcjonalnych są

prezentowane w postaci diagramów przypadków użycia.

background image

GK (PSI(4) - 2009)

26

Diagram

Klas -

notacja i

semantyka

Diagram Klas

(Class Diagram - CD) przedstawia

statykę systemu i stanowi podstawę do projektu przyszłej
obiektowej bazy danych
. Formalnie diagram Klas można
określić jako graficzna prezentacja statycznych,
deklaratywnych elementów dziedziny przedmiotowe oraz
związków między nimi.

Podstawowymi pojęciami przy tworzeniu diagramu

klas są pojęcia

obiektu

i

klasy

.

Obiektem

jest każdy byt (osoba, rzecz, pojęcie)

umiejscowiony w dziedzinie przedmiotowej tworzonego
systemu informatycznego i mający znaczenie dla tego
systemu.

Z punktu widzenia modelowania obiekt jest

opisywany za pomocą trzech elementów:

tożsamości,

stanu,

zachowania.

Graficzny symbol obiektu:

student_Abacki

background image

GK (PSI(4) - 2009)

27

Diagram

Klas -

notacja i

semantyka

Każdy obiekt jest opisywany za pomocą stałego zbioru

charakteryzujących go

atrybutów

(cech, właściwości – property)

np. nazwisko, imię, wzrost. Z każdym atrybutem jest związany
zbiór możliwych jego wartości (np. zbiorem wartości atrybutu
imię
jest zbiór imion), przy czym atrybut w danej chwili może
przyjmować tylko jedną wartość.

Stan obiektu

(state) jest definiowany poprzez zbiór

wartości wszystkich jego atrybutów.

Tożsamość obiektu

(identity) jest określana przez wartość

atrybutu wyróżniającą ten obiekt spośród innych o takich samych
atrybutach. Np. tożsamość studenta na uczelni jest określana
poprzez wartość atrybutu „Numer albumu”.

Zachowanie obiektu

(behavior) jest to zbiór usług, które

obiekt potrafi wykonać na rzecz innych obiektów. Zachowanie
obiektu zapewnia możliwość modelowania dynamiki
(funkcjonowania) systemu. W ramach tej dynamiki obiekt może
prosić inny obiekt o wykonanie przez niego na swoją rzecz
określonej usługi, oczywiście możliwej do wykonania przez obiekt
poproszony. Wykonanie usługi może prowadzić do zmiany stanu
obiektu. Zwracanie się o wykonanie usługi następuje w formie

komunikatu

(message) z

parametrami

(parameters), które

stanowią wartości atrybutów obiektu, pozwalające na
odpowiednie sterowanie realizacją usługi.

Efekt wykonania

usługi zależy od stanu obiektu, parametrów wysłanego przez
niego komunikatu oraz od stanu obiektów biorących udział w
wykonaniu usługi.

background image

GK (PSI(4) - 2009)

28

Klasa

(Class) jest nazwanym opisem grupy obiektów

o podobnych właściwościach. Klasa nie jest zbiorem
obiektów, lecz typem obiektu i jego właściwości: cech
strukturalnych i behawioralnych. Do cech strukturalnych
należą atrybuty i asocjacje. Do cech behawioralnych
(zachowań) należą operacje i metody. Każdy obiekt
przynależny do tej samej klasy, nazywany

instancją

, ma

wszystkie atrybuty charakteryzujące tę klasę oraz dostarcza
wszystkich usług określonych przez cechy behawioralne
klasy.

Klasa przechowuje definicje atrybutów, natomiast

wartości atrybutów przechowywane są w obiektach.

Atrybut klasy

jest to nazwana właściwość klasy,

określająca zbiór wartości, które mogą przyjmować jej

instancje. Atrybutu klas charakteryzują pojedyncze obiekty

lub niewielkie grupy obiektów, tworząc dla każdego z nich

niezależną instancję. Atrybuty mogą być przedstawiane na

diagramach na różnym poziomie szczegółowości.

Operacja

jest specyfikacją usługi udostępnianej przez

obiekt.

Metoda

jest implementacją operacji w klasie.

Określa jak obiekt z danej klasy wykonuje swoje działania.

Operacja może mieć zasięg obiektu (instancji) lub całej
klasy. Większość operacji ma zasięg obiektu. Szczególnym
przypadkiem operacji o zasięgu klasy jest operacja
tworzenia nowych obiektów w klasie, tzw. konstruktor.

Diagram

Klas -

notacja i

semantyka

background image

GK (PSI(4) - 2009)

29

Ze względu na różnorodność sposobów

specyfikowania klas, stosuje się w diagramach różne ich
symbole:

na diagramie klasy nie występują sekcje atrybutów i

operacji:

klasa z niewyspecyfikowanymi operacjami lub atrybutami:

klasa z wyspecyfikowanymi atrybutami i operacjami:

Diagram

Klas -

notacja i

semantyka

Student

+NrAlbumu
+Pesel
+Nazwisko
+Imię

Student

+aktualizuj()

Student

Student

+NrAlbumu
+Pesel
+Nazwisko
+Imię

+aktualizuj()

background image

Składnia atrybutów klasy:

[widoczność]

nazwa

[

: typ

[krotność] [{ograniczenia}] = wartość domyślna

30

GK (PSI(4) - 2009)

Diagram

Klas -

notacja i

semantyka

widoczność

opcjonalna, nie ma wartości domyślnej,

wskazuje czy atrybut jest dostępny spoza klasy,

+

-

publiczny

– atrybut jest widoczny przez każdy element

systemu,

-

-

prywatny

– atrybut jest widoczny tylko we własnej klasie,

#

-

chroniony

– atrybut jest widoczny tylko wewnątrz własnej

klasy i w jej podklasach,

~

-

publiczny wewnątrz pakietu

– atrybut jest widoczny tylko

wewnątrz własnego pakietu,

typ

jest opcjonalny, nie ma wartości domyślnej,

typem atrybutu może być inna klasa,

pozostałe typy: boolean, integer, real, string.

background image

GK (PSI(4) - 2009)

31

krotność (liczność)

oznacza liczbę wartości, które mogą być związane
jednocześnie z tym samym atrybutem w atrybucie, krotność,
powtarzalność atrybutu (np. imiona – najwięcej 2),

opcjonalna, ma wartość domyślną równą 1,

oznaczenia krotności:

1..*

- jedna lub wiele wartości,

3..5

– od 3 do 5 wartości (przedział),

2,4,18

– 2 lub 4 lub 18 wartości (wyliczenie),

*

- dowolna liczba wartości,

1..*

- fakultatywność: co najmniej 1 wartość,

0..1

– opcjonalnie: co najwyżej 1 wartość,

ograniczenia

ordered

- wskazuje, że wartości atrybutu są

uporządkowane,

unordered

- wskazuje, że wartości nie są uporządkowane

(domyślnie),

unique

– wartości atrybutu nie powtarzają się (np. numer

albumu studenta),

nonunique

– wartości atrybutu mogą się powtarzać (np.

imię studenta),

frozen

– wartość atrybutu nie może być zmodyfikowana po

jej przypisaniu.

Diagram

Klas -

notacja i

semantyka

background image

[widoczność]

nazwa({lista_parametrów}) [: typ zwracany]

[{ograniczenia}]

Operacja to proces, który klasa potrafi wykonać.

32

GK (PSI(4) - 2009)

Diagram

Klas -

notacja i

semantyka

lista_parametrów ([rodzaj] nazwa : typ [=

wartość_domyślna])

rodzaj - jest opcjonalny, ma wartość domyslną in i może być

następujący:

o inparametr jest tylko wejściowy i nie może być modyfikowany

przez operację,

o out – parametr jest tylko wyjściowy i może być modyfikowany

przez operację,

o inout – parametr jest wejściowo-wyjściowy, wprowadzany jako

wejściowy, a następnie modyfikowany przez operację,

o return – zwracany z operacji.

typ zwracany i wartość-domyślna – są opcjonalne i nie

posiadają wartości domyślnych.

background image

33

GK (PSI(4) - 2009)

Diagram

Klas -

notacja i

semantyka

ogranizczenia

isQuery

- operacja jest zapytaniem i zwraca wartość bez

jakiejkolwiek modyfikacji klasy,

sequential

-

operacja może być wykonana tylko przez

jeden wątek programu,

leaf

-

operacja nie może być przedefiniowana przez klasy

pochodne (jest odwzorowywana na final w Javie, a w C++

odpowiada metodom zadeklarowanym bez słowa

kluczowego virtual),

guarded

-

podobnie jak sequential, ale współbieżne

wywołania tej operacji są obsługiwane sekwencyjne, bez

udziału obsługującego,

concurrent

-

operacja może jednocześnie obsługiwać wiele

wątków ją wywołujących.

background image

wyszukaj(tytuł: String) : Wydawnictwo[]

post:
wynik != null
wynik instanceof

Wydawnictwo[]

pre:
tytuł != null

Warunki

wstępne

opisują stan

systemu
wymagany przed
wykonaniem
operacji

Warunki
końcowe

gwarancje dotyczące
stanu systemu po
wykonaniu operacji

34

GK (PSI(4) - 2009)

Diagram

Klas -

notacja i

semantyka

background image

GK (PSI(4) - 2009)

35

Diagram

Klas -

notacja i

semantyka

W diagramie klas klasy mogą być ze sobą łączone za

pomocą związkami, następujących rodzajów:

asocjacja

– obiekty klas są czasowo ze sobą powiązane,

uogólnienie (generalizacja)

– jedna klasa (podklasa) jest

szczególnym przypadkiem drugiej klasy (nadklasy),

zależność

– zmiana jednej klasy wpływa na drugą,

agregacja

– obiekt jednej klasy jest częścią obiektu drugiej

klasy.

Zależności

są najprostszym i najsłabszym rodzajem

relacji łączących klasy. Graficzne zależność jest obrazowana w
sposób następujący:

Klasa A

Klasa B

<<call>>

background image

GK (PSI(4) - 2009)

36

Diagram

Klas -

notacja i

semantyka

Zależności oznaczają, że zmiana klasy wywołującej (A) w
pewien sposób wpływa na klasę wywoływaną (B), np.:

«call»

- klasa A wywołuje operację w klasie B,

«create»

- klasa A tworzy instancje klasy B,

«instantiate»

- obiekt A jest instancją klasy B,

«use»

- do funkcjonowania klasa A wymaga klasy B,

«import»

- część publiczna klasy B jest dołączana do klasy A,

«permit»

- klasa B zezwala klasie A na dostęp do swoich

atrybutów prywatnych.

Pracownia

StanowiskoBadawcze

<<use>>

background image

Asocjacja

reprezentuje czasowe powiązanie pomiędzy

obiektami dwóch (asocjacje binarne) lub więcej (asocjacje n-arne)

klas. Obiekty związane asocjacją są od siebie niezależne.

Asocjacja jest też używana jako alternatywny (obok atrybutu)

i równorzędny sposób zapisu właściwości klasy. Graficznie asocjacja

w najprostszej formie jest przedstawiana za pomocą linii:

asocjacja binarna

asocjacja n-arna

37

GK (PSI(4) - 2009)

Diagram

Klas -

notacja i

semantyka

Klasa A

Klasa A

Klasa B

Klasa A

Klasa C

Pełna interpretacja asocjacji
wymaga znajomości takich
jej atrybutów, jak:

nazwa

,

role powiązanych klas

,

nawigacji

,

liczebności

i

agregacji

.

background image

GK (PSI(4) - 2009)

38

Diagram

Klas -

notacja i

semantyka

Nazwa asocjacji

. Asocjacje mogą być nienazwane i

nazwane, a te ostatnie – także czasami ze wskazaniem
kierunku odczytu asocjacji (strzałka przy nazwie):

asocjacja nienazwana

asocjacja

nazwana

Role

. Każda klasa pełni rolę jakąś rolę w asocjacji. W

asocjacji binarnej rola klasy oznacza powinność pełnioną
przez nią na rzecz drugiej klasy. W asocjacji n-arnej rola klasy
oznacza powinność, którą ona pełni na rzecz każdej z
powiązanych pozostałych klas. Graficzne oznaczenie ról w
asocjacji:

Klasa D

Klasa E

Klasa D

Klasa E

zarządza

Klasa D

Klasa E

zarządzanie

+zarządzany

+zarządca

background image

GK (PSI(4) - 2009)

39

Diagram

Klas -

notacja i

semantyka

Nawigacja

oznacza komunikowanie się klas procesie

wykonywania operacji. Zwykła asocjacja (linia) oznacza
komunikowanie się dwukierunkowe, co oznacza, że klasy
wymieniają między sobą komunikaty w trakcie wykonywania
operacji. W przypadku, gdy taka komunikacja jest planowana
jako jednokierunkowa, do jej oznaczania stosuje się
oznaczenie w postaci strzałki, skierowanej od nadawcy do
odbiorcy, np.:

Nawigacja kierunkowa może być uzupełniona o warunki jej
realizowalności.

Liczebność

oznacza liczbę obiektów jednej klasy, które

w tym samym czasie mogą być związane z jednym obiektem
drugiej klasy znajdującej się w tej samej asocjacji z klasą
pierwszą. Liczebność jest określana dla każdej klasy w
asocjacji i jej interpretacja polega na rozpatrzeniu sytuacji,
gdy po jednej stronie asocjacji występuje jeden obiekt,
natomiast liczba obiektów drugiej klasy, które są z nim
związane, jest ustalana.

Klasa G

Klasa F

background image

GK (PSI(4) - 2009)

40

Diagram

Klas -

notacja i

semantyka

Oznaczenia liczebności i ich interpretacja są podobne

do oznaczeń krotności atrybutów klas. I tak:

1

- dokładnie jeden obiekt,

n

- dokładnie

n>1

obiektów,

n..m

- od

n

do

m

obiektów (

n,m>1

,

m>n

),

*

- dowolna liczba obiektów,

1..*

- fakultatywność: co najmniej 1 wartość,

0..1

– opcjonalnie: co najwyżej 1 obiekt,

0..*

- opcjonalnie: żaden obiekt lub wiele obiektów.

Klient

Samochód

zakup +produkt

+właściciel

1..*

1

Jeden

klient

(obiekt), drogą

zakupu, może stać się
właścicielem co najmniej
jednego produktu w postaci
samochodu, natomiast jeden

samochód

(obiekt) może

mieć tylko jednego
właściciela.

background image

GK (PSI(4) - 2009)

41

Diagram

Klas -

notacja i

semantyka

Agregacja

(aggregation) opisuje związek całość-część

pomiędzy klasami. Oznacza to, że agregacja umożliwia
oznaczanie sytuacji, w których wiele obiektów cząstkowych
składa się na obiekt całościowy. Wyróżnia się dwa typy
agregacji:

agregację całkowitą

(kompozycja), inaczej agregację silną

lub składową, służącą do modelowania „nierozerwalnego”
związku całość-część, w którym nie ma sensu samodzielne
istnienie części,

agregację częściową

, inaczej agregację słabą lub

współdzieloną.
Symbole graficzne agregacji występują agregatach, przy czym
romb wypełniony
oznacza agregację całkowitą, a romb pusty -
częściową.

Obydwie relacje oparte są na pojęciach

agregatu

(obiekt stanowiący całość) oraz

segmentu

(część obiektu).

Role poszczególnych składników relacji agregacji są ściśle
określone:

agregat

– „składa się z..”, „zawiera”, „obejmuje”,

segment

– „wchodzi w skład”, „należy do”, „jest zawarty

w”.

background image

GK (PSI(4) - 2009)

42

Diagram

Klas -

notacja i

semantyka

W przypadku

agregacji całkowitej

segmenty, tj.

obiekty będące częściami agregatów nie mogą istnieć
samodzielnie i niezależnie funkcjonować, co oznacza, że
usunięcie agregatu powoduje automatyczne usunięcie jego
segmentów.

W przypadku

agregacji częściowej

segmenty, tj.

obiekty będące częściami agregatów mogą samodzielnie
istnieć i funkcjonować, co oznacza, że usunięcie agregatu
nie powoduje automatycznego usunięcie jego segmentów.

Komputery (

Komputer

)

będące (jeżeli były) na
wyposażeniu laboratorium
(

Laboratorium

) nie ulegają

likwidacji w przypadku
likwidacji laboratorium i
mogą być wykorzystane gdzie
indziej.

Laboratorium

Komputer

1

0..*

Laboratorium

StanowiskoBadawcze

1

1..*

Stanowiska badawcze
(

StanowiskoBadawcze

)

ulegają likwidacji w
przypadku likwidacji
laboratorium
(

Laboratorium

).

background image

Uogólnienie (generalizacja)

reprezentuje hierarchiczny związek pomiędzy

elementem ogólnym

(klasa abstrakcyjna, nadklasa, przodek) a

specyficznym jego

rodzajem

– klasa konkretna (podklasa, potomek). Klasy abstrakcyjne nie mają

instancji (konkretnych obiektów), ale stanowią uogólnienie obiektów klas

konkretnych. O klasie abstrakcyjnej mówi się, że jest generalizacją klasy

konkretnej, natomiast o klasie konkretnej mówi się, że jest specjalizacją klasy

abstrakcyjnej.

Klasom abstrakcyjnym można przypisywać atrybuty i operacje podlegające

dziedziczeniu

zgodnie z hierarchią klas dzięki, któremu własności klasy

abstrakcyjnej są importowane do jej klas konkretnych, które oprócz własności

indywidualnych posiadają także wszystkie własności swojej klasy abstrakcyjnej.

43

GK (PSI(4) - 2009)

Diagram

Klas -

notacja i

semantyka

Pracownik

PracownikEtatowy

PracownikSezonowy

Klasy na najniższym poziomie
hierarchii noszą nazwę liści
(leafs
), a na najwyższym poziomie
hierarchii – korzeni (roots
).

background image

Na związek uogólnienia mogą być nakładane następujące ograniczenia:

{complete}

– zawiera wszystkie klasy konkretne dla danej klasy

abstrakcyjnej<

{incomplete}

– zestaw klas konkretnych przypisany danej klasie

abstrakcyjnej nie jest kompletny,

{disjoint}

– domyślny typ uogólnienia oznaczający, że każda klas

konkretna występująca w danej hierarchii jest związana w ogóle tylko z
jedną klasa abstrakcyjną,

{overlapping}

– występujące w hierarchii klasy mogą mieć wspólne

klasy konkretne (dziedziczenie wielokrotne).

44

GK (PSI(4) - 2009)

Diagram

Klas -

notacja i

semantyka

Pracownik

PracownikEtatowy

PracownikSezonowy

{incomple
te}

Jeszcze mogą być inne
kategorie
pracowników niż tylko
wymienione dwie.

background image

45

GK (PSI(3) - 2009)

1. Zidentyfikuj kandydujące rzeczowniki ze sformulowania

problemu i wymagań jako potencjalne klasy.

2. Szukaj transakcji, zdarzeń, ról, i rzeczy dotykalnych, np.

3. Sklasyfikuj rzeczowniki jako: ludzie, miejsca, rzeczy,

organizacje, pojęcia (zasady, pomysły, reguły), zdarzenia
(rzeczy, które się zdarzają).

4. Zidentyfikuj rzeczowniki, które nie mają kompletnej definicji.

Przypisz je do kategorii atrybutów lub klas obiektów.

Transakcje: pożyczka, spotkanie, sprzedaż
Zdarzenia: lądowanie, zapytanie
Role: matka, ojciec, nauczyciel, pasażer
Rzeczy dotykalne: samochód, czujnik, składnik, samolot

Diagram

Klas -

notacja i

semantyka – identyfikacja

obiektów i klas

background image

46

GK (PSI(3) - 2009)

5. Zidentyfikuj potencjalne kolekcje (zbiory). Pewne

rzeczowniki implikuja kolekcje i mogą stać się kontenerami
(container
). Kolekcje wymagają bazy danych i specjalnego
programowania.

6. Zidentyfikuj obiekty stanowiące pogranicze systemu: obiekty

dostępne dla innych systemów, linie komunikacyjne,
urzadzenia peryferyjne, obiekty wejścia/wyjścia,..

Np.: każdy dostęp jest rejestrowany w dzienniku – dziennik jest kolekcją.

Charakterystyczne cechy obiektów we/wy:

ich atrybuty lub stan są ulotne (niestabilne),

zmieniają się pod wpływem bodźców zewnętrznych,

są źródłem/przechowalnią komunikatów z zewnątrz,

nie można ich usunąć.

Diagram

Klas -

notacja i

semantyka – identyfikacja

obiektów i klas

background image

47

GK (PSI(3) - 2009)

1. Rzeczownik może być atrybutem, jeżeli nie można

przypisać mu zachowania i atrybutów.

2. Rzeczownik może być atrybutem, jeżeli wyjaśnienie jego

znaczenia zmusza do odwołania się do jakiegoś innego
rzeczownika (oznaczającego obiekt).

Np. rzeczownik

“kolor” zmusza do zadania pytania “kolor czego?”

.

3. Zastanów się czy coś, co może być atrybutem, nie jest

asocjacją między klasami.

4. Zidentyfikuj klasę lub asocjację, która jest najlepszym

kandydatem jako “właściciel” atrybutu.

Diagram

Klas -

notacja i

semantyka – identyfikacja

atrybutów

background image

48

GK (PSI(3) - 2009)

1. Wyciągnij przed nawias wszelkie wspólne własności

(operacje i atrybuty) kilku powiazanych klas.

2. Zgrupuj te wspólne własności w jedną super-klasę.

3. Nazwij tę superklasę w taki sposób, aby każda pochodna

klasa mogła byc uważana za podklasę.

Np. pies jest

superklasą, pekińczyk, jamnik, pudel są podklasami klasy
pies

.

4. Podklasy moga mieć puste lub niepuste przecięcie. Oznacz

je odpowiednio.

Diagram

Klas -

notacja i

semantyka – generalizacja

background image

GK (PSI(4) - 2009)

49

Diagram

Czynności -

notacja i

semantyka

Diagram Czynności

(Activity Diagram - AD) jest

jednym z diagramów opisujących dynamikę systemu i
stanowi graficzną reprezentację przepływu sterowania.
Diagram AD:

powinien być stosowany:

do analizowania przypadków użycia - gdy interesują

bardziej operacje niezbędne do realizacji danego

przypadku (czy też wzajemne zależności między tymi

operacjami), a nie to, kto jest odpowiedzialny za ich

przeprowadzenie,

do zrozumienia interakcji zachodzących między

przypadkami użycia,

do modelowania przetwarzania wielowątkowego,

nie powinien być stosowany:

do pokazywania współpracy między obiektami w

trakcie realizacji przypadku użycia – do tego bardziej

nadają się diagramy interakcji,

do pokazywania zachowań obiektów w trakcie ich życia

- w tym celu powinno się wykorzystywać diagramy

stanów.

Diagramy AD są tworzone z wykorzystaniem

następujących podstawowych elementów graficznych:

czynności

,

akcje

,

przepływy sterowania

,

początek

,

koniec

i

zakończenie przepływu

oraz

składnicy danych

.

background image

GK (PSI(4) - 2009)

50

Diagram

Czynności -

notacja i

semantyka

Czynności

(activities) mogą określać rozbudowaną

funkcjonalność, tzn. reprezentować złożone procesy
biznesowe bądź algorytmy przetwarzania. Czynność definiuje
się jako określone zachowanie, złożone z logicznie
uporządkowanego ciągu czynności (akcji) oraz obiektów w
celu zrealizowania pewnego procesu.

Graficzny symbol czynności: .

W celu precyzyjniejszego opisu czynności dokonuje się ich
dekompozycji
na czynności bardziej proste. Czynnościami
nie podlegającymi dalszemu dekomponowaniu są

akcje

,

które definiuje się jako elementarne jednostki specyfikacji
zachowania, które reprezentują transformację
(przetwarzanie) w modelowanym systemie.
Przykłady graficznej prezentacji akcji
:

background image

GK (PSI(4) - 2009)

51

Diagram

Czynności -

notacja i

semantyka

Przepływ sterowania

(control flow) jest relacją między

dwoma czynnościami bądź akcjami, wskazująca na kolejność
wykonywania tych czynności bądź akcji. Symbolem graficzny
przepływu sterowania jest strzałka , której
kierunek wyznacza kierunek przepływu sterowania i
następstwo wykonania czynności bądź akcji.

Prezentacja rzeczywistych sytuacji wymaga

umiejętności graficznego prezentowania przepływów
decyzyjnych
oraz przepływów współbieżnych. Przepływy
decyzyjne są to przepływy alternatywne, uzależnione od
spełnienia

warunków

, czy wykonania

scalenia

lub

rozwidlenia

.

Warunek graficznie prezentuje się za pomocą

symbolu decyzyjnego postaci: .

Scalenie

i

rozwidlenie

oznacza się za pomocą symboli:

oraz .

background image

GK (PSI(4) - 2009)

52

Diagram

Czynności -

notacja i

semantyka

Początek i koniec

są oznaczane na diagramie za pomocą symboli:

początek - , koniec - .

Zakończenie przepływu

to punkt zatrzymania wybranego

przepływu sterowania. Na jednym diagramie czynności może
wystąpić więcej niż jedno zakończenie

przepływu, które jest oznaczane symbolem .

Na diagramach czynności mogą również występować

sygnały

, które definiuje się jako asynchroniczne bodźce

inicjujące czynności lub akcje. Wyróżnia się sygnały

nadawcze

oraz

odbiorcze

, odpowiednio wysyłane i odbierane przez

czynności lub akcje. Graficzne symbole sygnałów:

nadawczy: ,

odbiorczy: .

background image

GK (PSI(4) - 2009)

53

Diagram

Czynności -

notacja i

semantyka

Zobrazowanie sposobu realizacji przypadków użycia lub

innych procesów wymaga niejednokrotnie wskazania na

diagramach czynności źródła danych wejściowych do czynności

lub akcji względnie ujścia wytworzonych przez nie danych

wyjściowych. W tym celu wykorzystywane są

składnice danych

(data store nodes), które definiuje się jako pojemnik (bez

wskazywania jego implementacji) na dane przechowywane w

dłuższym okresie.

Graficzny symbol składnicy: .

Powiązanie symbolu składnicy z symbolem czynności lub akcji

następuje za pomocą linii przerywanej zakończonej otwartym

grotem.

W celu poprawienia czytelności diagramu są stosowane

na nim poziome i pionowe

partycje

(tory), służące do dzielenia

czynności (akcji) na grupy, z których każda reprezentuje

jednostkę (organizacji lub systemu) odpowiedzialną za realizację

przydzielonych czynności (akcji). Każda partycja ma nazwę,

unikatową w obrębie jednego diagramu, a każda czynność

(akcja) należy tylko do jednej partycji, ale przepływy mogą

przecinać granice partycji. Graficzne symbole pionowej i

poziomej

partycji: , .

background image

GK (PSI(4) - 2009)

54

Diagram

Czynności -

notacja i

semantyka

background image

GK (PSI(4) - 2009)

55

Diagram

Czynności –

proces

tworzenia

Diagram Czynności

powstaje w wyniku analizy

przypadków

użycia

i przebiega w następujących zasadniczych etapach:

1.Analiza przypadku użycia i jego scenariuszy.
2.Identyfikacja podstawowych czynności na podstawie
scenariusza przypadków użycia.
3.Połączenie czynności za pomocą przepływów sterowania.
4.Identyfikacja decyzyjnych i współbieżnych przepływów
sterowania.
5.Wprowadzenie warunków i ograniczeń przepływów sterowania.

background image

GK (PSI(4) - 2009)

56

Diagram

Sekwencji -

notacja i

semantyka

Diagram Sekwencji

(Sequence Diagram – SD) jest

rodzajem diagramu interakcji i opisuje interakcje pomiędzy

instancjami klasyfikatorów systemu w postaci komunikatów

wymienianych między nimi. Jest związany z diagramem

przypadków użycia.

Interakcja

rozumiana jako zbiór komunikatów pomiędzy

instancjami klasyfikatorów, tj. wywołania operacji, tworzenie i

usuwanie instancji, jest opisywana w diagramie SD jest w dwóch

kierunkach:

poziomym

– jako oś na której zostały umieszczone instancje

klasyfikatorów biorących udział w interakcji (składowa

statyczna),

pionowym

– jako oś czasu przedstawiająca rozmieszczone

chronologicznie komunikaty (składowa dynamiczna).

Podstawowymi elementami diagram sekwencji są:

klasyfikator

,

komunikat

,

linia życia

i

ośrodek sterowania

.

Klasyfikator

to abstrakcyjna kategoria modelowania

uogólniająca kolekcje instancji o tych samych własnościach.

Klasyfikatorem może być aktor, przypadek użycia, klasa.

Linia życia

(lifeline)

to linia powiązana z konkretną

instancją klasyfikatora wskazująca na diagramie okres istnienia

instancji.

Komunikat

(message)

to specyfikacja wymiany danych

między instancjami klasyfikatorów, zawierająca zlecenia

wykonania określonych operacji przez adresata komunikatu.

background image

nazwa1

Instancja klasyfikatora

Linia życia

Aktywacja

nazwa2

komunikat

Treść i parametry
odpowiedzi

(…)

odpowiedź

Ośrodek sterowania

Dezaktywacja

Treść i parametry
komunikatu

(…)

57

GK (PSI(4) - 2009)

Diagram

Sekwencji -

notacja i

semantyka

background image

GK (PSI(4) - 2009)

58

Diagram

Sekwencji -

notacja i

semantyka

Linia życia

reprezentuje okres życia instancji

klasyfikatora, która w pewnych okresach swojego życia jest
aktywna, aktywowana przez komunikaty, a w pozostałych
okresach życia – nie jest aktywna, jest w stanie czuwania. W
okresach aktywności instancja klasyfikatora przejmuje
sterowanie interakcją oraz podejmuje działania zlecone w
komunikacie, a po ich wykonaniu i wysłaniu odpowiedzi
nadawcy komunikatu może przechodzić w stan czuwania.
Okresy aktywności instancji klasyfikatora noszą nazwę

ośrodków sterowania

(execution specification).

Ośrodek

sterowania na diagramie przyjmuje postać prostokąta
położonego na linii życia.

Ośrodek sterowania jest inicjowany

aktywacją

, a

przejście w stan czuwania –

dezaktywacją

.

Zaawansowanymi składnikami diagramu są m.in:

rodzaje komunikatów,

tworzenie i niszczenie obiektów,

warunki,

samowywołanie,

iteracja,

Rozgałęzienie.

background image

GK (PSI(4) - 2009)

59

Diagram

Sekwencji -

notacja i

semantyka

Rodzaje komunikatów:

synchroniczny

,

asynchroniczny

,

zwrotny

,

utracony

,

znaleziony

,

opcjonalny

,

oczekujący

.

Wysłanie komunikatu

synchronicznego

oznacza

przekazanie sterowania do klasyfikatora-odbiorcy. W chwili
przesłania tego komunikatu aktualny

przepływ sterowania klasyfikatora-nadawcy zostaje przerwany
i będzie wznowiony dopiero po wykonaniu przez klasyfikator-
odbiorcę czynności lub operacji inicjowanej przez ten
komunikat.

background image

GK (PSI(4) - 2009)

60

Diagram

Sekwencji -

notacja i

semantyka

Komunikat

asynchroniczny

nie

powoduje przerwania przepływu
sterowania klasyfikatora-nadawcy.
Klasyfikator-nadawca pozostaje w
stanie aktywności i nie oczekuje
odpowiedzi.

Komunikat

zwrotny

wskazuje na

powrót sterowania do
klasyfikatora-nadawcy po
wykonaniu komunikatu
synchronicznego. Komunikat
zwrotny nie tylko przekazuje
sterowanie, ale ma również za
zadanie zainicjowanie operacji.

background image

GK (PSI(4) - 2009)

61

Diagram

Sekwencji -

notacja i

semantyka

Komunikat

utracony

– nieznany odbiorca:

Komunikat

znaleziony

– nieznany nadawca:

background image

GK (PSI(4) - 2009)

62

Diagram

Sekwencji -

notacja i

semantyka

Komunikat

opcjonalny

oznacza,

że nadawca wysyła do odbiorcy
komunikat oczekując jego
bezzwłocznego obsłużenia. W
przypadku, gdy obsługa
komunikatu nie może być
natychmiastowa, nadawca nie
podejmuje dalszych prób jego
przesyłania, komunikat
opcjonalny nie zawsze może być
obsłużony.

Komunikat

oczekujący

– podobny

do opcjonalnego, tylko, że
nadawca czeka na jego wykonanie
przez określony odcinek czasu, a
potem rezygnuje i komunikatu
nie ponawia.

background image

GK (PSI(4) - 2009)

63

Diagram

Sekwencji -

notacja i

semantyka

Tworzenie

lub

niszczenie

obiektu następuje po

przesłaniu odpowiedniego komunikatu

(<<create>>

lub

<<destroy>>

). Obiekt utworzony jest umieszczany na

diagramie sekwencji poniżej pierwotnie istniejących instancji
klasyfikatorów tak, aby jego położenie było zgodne z czasem
utworzenia. Po słowie

create

fakultatywnie może być

umieszczona nazwa operacji tworzącej obiekt.

Obiekt przestaje istnieć po odebraniu od niego komunikatu

destroy

, co na diagramie jest oznaczane znakiem X na linii

życia obiektu niszczonego.

Po słowie

destroy

fakultatywnie

może być umieszczona nazwa operacji niszczącej obiekt.

background image

GK (PSI(4) - 2009)

64

Diagram

Sekwencji -

notacja i

semantyka

Wykonanie komunikatu może zależeć od spełnienia

określonych

warunków

.

Sposób zapisu warunków nie jest

skodyfikowana, ale najczęściej występują one w formie tekstu
ujętego w kwadratowe nawiasy i są umieszczane przed nazwą
komunikatu.

background image

GK (PSI(4) - 2009)

65

Diagram

Sekwencji -

notacja i

semantyka

Samowywołanie

oznacza

sytuację, że instancja klasyfikatora
wywołuje własną operację. Na
diagramie oznaczane jest to za pomocą
zagnieżdżenia ośrodka sterowania
(iteracja).

Iteracja

oznacza wielokrotne, o

określonej wielokrotności,
powtórzenie komunikatu. Iteracja jest
opisana w nazwie komunikatu, a
krotność jej wykonania jest oznaczana
symbolem „

*

” , po którym następuje

liczba wykonań. Podstawowa notacja
iteracji:

*

|

*[

<specyfikacja-iteracji>

]

<nazwa-

operacji>

.

Przykłady:

*[i := 1..10] - komunikat będzie wysłany 10
razy,
*[x < 10] - komunikat będzie wysyłany
dopóki x
< 10,
*[pozycja znaleziona] - komunikat będzie
wysyłany dopóty, dopóki pozycja nie
zostanie znaleziona
(do momentu, gdy warunek przyjmie
wartość FALSE)

background image

GK (PSI(4) - 2009)

66

Diagram

Sekwencji -

notacja i

semantyka

Rozgałęzienie

jest sposobem przekazywania sterowania

z linii życia (ośrodka sterowania) klasyfikatora-nadawcy do
klasyfikatorów-odbiorców

(klasyfikatora-odbiorcy) w

zależności od spełnienia warunku przypisanego do
komunikatu.

Wspólny punkt czasowy

:

warunki muszą się
wykluczać – wysłany będzie
tylko jeden komunikat.
Wysyłane komunikaty mogą
być do jednego lub kilku
odbiorców (np. każdy
komunikat do innego
odbiorcy). W pierwszym
przypadku następuje
rozgałęzienie linii życia
odbiorcy (ilustracja).

background image

GK (PSI(4) - 2009)

67

Diagram

Sekwencji –

proces

tworzenia

Diagram Sekwencji

powstaje w wyniku analizy

przypadków

użycia

i przebiega w następujących zasadniczych etapach:

1.Analiza przypadku użycia i jego scenariuszy.
2.Identyfikacja klasyfikatorów, których instancje będą
uczestniczyć w interakcjach.
3.Opracowanie koncepcyjnego (ogólnego) diagramu sekwencji
zawierającego:

zidentyfikowane instancje klasyfikatorów, rozmieszczone na osi
poziomej,

komunikaty, uporządkowane na osi pionowej,

ośrodki sterowania, zlokalizowane na liniach życia instancji
klasyfikatorów.
4.Opracowanie implementacyjnego diagramu sekwencji poprzez
uszczegółowienie diagramu koncepcyjnego o:

uszczegółowienie warunków komunikatów,

tworzenie i niszczenie obiektów,

samowywołania, iteracje, rozgałęzienia itp.


Document Outline


Wyszukiwarka

Podobne podstrony:
Diagramy w UML
Zadania zajęcia 3 PSI - diagramy sekwencji i kooperacji, szkoła, PSI
Diagramy UML
Diagramy w UML
Diagramy UML
03 Diagramy UML
Diagramy UML
wyklad3 cpp, Reprezentacja klas y pomoc diagramów UML (Unified Modeling Language)
Diagramy w UML
Zadania zajęcia 3 PSI - diagramy sekwencji i kooperacji, szkoła, PSI
analiza systemow informatycznych, Egzamin z PSI, Egzamin składa się z 30 pytań i modelu UML do zapro
@PSI W07 Diagramy interakcji

więcej podobnych podstron