2007 11 UML – modelowanie dynamicznych aspektów oprogramowania [Inzynieria Oprogramowania]

background image

50

Inżynieria

oprogramowania

www.sdjournal.org

Software Developer’s Journal 11/2007

UML – modelowanie dynamicznych

aspektów oprogramowania

B

ędąc świadomym wymagań stawianych systemowi in-
formatycznemu, kolejnym krokiem jest zaprojektowa-
nie sposobu realizacji tychże wymagań. W tym celu bu-

duje się modele prezentujące statyczne i dynamiczne aspekty
oprogramowania. Modele te budowane są w kontekście realizacji
poszczególnych przypadków użycia. Modele dynamiki systemu
przedstawiają wszelkie możliwe ścieżki realizacji każdego wy-
magania funkcjonalnego (przypadku użycia). Analiza diagramów
modelujących dynamikę uwzględniająca wymagania niefunkcjo-
nalne, prowadzi do zbudowania statycznego modelu oprogramo-
wania. Tak więc pierwszym krokiem na etapie projektowaniu sys-
temu informatycznego jest sprecyzowanie pożądanego sposo-
bu działania systemu, co pozwoli dalej na wyodrębnienie elemen-
tów strukturalnych. W artykule przedstawione zostaną diagramy
UML wykorzystywane do opisu dynamiki oprogramowania.

Diagramy sekwencji

Diagram sekwencji (przebiegu) jest jednym z diagramów inte-
rakcji. Diagramy interakcji odnoszą się do modelowania dyna-
micznych aspektów systemu i służą do opisu współpracy po-
między grupami obiektów. Na diagramach sekwencji uwzględ-
nia się konkretne i prototypowe egzemplarze klas, interfej-
sów, komponentów i węzłów, a także komunikaty przekazy-
wane między nimi. Elementy te są rozpatrywane w kontekście
pewnego scenariusza ilustrującego zachowanie systemu. Dia-
gram sekwencji główny nacisk kładzie na uwypuklenie kolej-
ność przesyłania komunikatów w czasie. Diagramy sekwencji
stosuje się, aby spojrzeć na zachowanie się kilku obiektów w
ramach jednego przypadku użycia systemu. Są użyteczne do
przedstawiania współpracy obiektów, ale nie umożliwiają ści-
słej definicji zachowania. Reasumując, diagramy sekwencji:

• przedstawiają interakcje pomiędzy obiektami (w UML 2.0

tzw. uczestnikami interakcji), przy czym największy na-
cisk kładą na zależności czasowe;

• stosowane są, gdy kolejność wywołań oraz ograniczenia

czasowe są istotne;

• nadają się do modelowania: systemów czasu rzeczywiste-

go, przetwarzania współbieżnego i złożonych scenariuszy;

• nie prezentują związków strukturalnych miedzy współ-

działającymi obiektami;

• pozwalają na zaprezentowanie synchronicznych i asyn-

chronicznych interakcji.

Notacja UML 2.0 wprowadziła do diagramów sekwencji szereg
nowości, które bez wątpienia ułatwiają prezentację złożonych
scenariuszy wybranych przypadków użycia. Częstym proble-
mem towarzyszącym diagramom sekwencji była trudność z
przedstawieniem zachowania warunkowego i pętli. Rozwią-
zaniem okazało się wprowadzenie ramek interakcji, które słu-
żą do wyróżnienia fragmentu diagramu sekwencji. Każda taka
ramka ma operator (stereotyp interakcji), a każdej wydzielonej
części ramki może towarzyszyć warunek, co pozwala na wizu-
alizowanie różnych wariantów złożonego scenariusza. Najczę-
ściej stosowane stereotypy interakcji:

alt

(alternatywa) – zostaje wykonany tylko ta część ram-

ki, której warunek jest prawdziwy;

opt

(opcja) – fragment zostaje wykonany tylko wówczas,

gdy zawarty w nim warunek jest prawdziwy, czyli odpo-
wiednik operatora

alt

z jednym wejściem;

par

(współbieżność) – każda część ramki interakcji uru-

chamiana jest równolegle;

loop

(pętla) – ramka interakcji może być wykonana kilka

razy, a warunek określa podstawę interakcji;

region

(obszar krytyczny) – ramka interakcji może mieć

tylko jeden wątek uruchomiony w danej chwili;

neg

(negacja) – ramka przedstawia niepoprawną interakcję;

ref

(referencja) – ramka odwołuje się do interakcji zdefi-

niowanej na innym diagramie. Ramka jest rysowana tak,
aby przykrywać linie czasu obiektów biorących udział w
interakcji. Można zdefiniować para metry wejściowe i war-
tość zwracaną;

sd

(diagram sekwencji) – używany do otaczania ramką ca-

łego diagramu sekwencji, w miarę potrzeb.

Diagramy komunikacji

Diagram komunikacji, tak jak diagram sekwencji, jest jednym z
diagramów interakcji. Uwzględnia się na nich konkretne i proto-
typowe egzemplarze klas, interfejsów, komponentów i węzłów,
a także komunikaty przekazywane między nimi, w kontekście
pewnego scenariusza ilustrującego zachowanie systemu.

Diagram komunikacji kładzie nacisk na związki struktural-

ne między obiektami (w UML 2.0 tzw. uczestnikami) biorącymi
udział w interakcji oraz komunikaty przesyłane między nimi.
Jest wygodniejszy od diagramów sekwencji do przedstawienia
złożonych iteracji i rozgałęzień. W swojej idei diagramy komu-
nikacji są podobne do diagramów sekwencji. Ich głównym ce-
lem jest więc przedstawienie przepływu komunikatów pomię-
dzy obiektami. Diagramy komunikacji uwzględniają jednak dwa
aspekty: statyczną strukturę uczestniczących obiektów, włą-
czając związki, atrybuty i operacje (jest to nazywane „kontek-
stem współpracy”) oraz kolejność komunikatów wymienianych
pomiędzy obiektami dla realizacji konkretnego zadania. Dia-
gram komunikacji może być rozrysowany dla pewnych typów
obiektów, dla pewnych operacji lub pewnych przypadków uży-

Rafał Kasprzyk

Autor jest absolwentem Wydziału Cybernetyki WAT, gdzie od 2 lat
zajmuje stanowisko asystenta w Instytucie Systemów Informa-
tycznych. Pracuje w firmie ISOLUTION będąc odpowiedzialnym
za przygotowywanie, prowadzenie i audyt szkoleń obejmujących
analizę i projektowanie systemów informatycznych z użyciem no-
tacji UML.
Kontakt z autorem:

rafal.kasprzyk@wat.edu.pl

background image

51

www.sdjournal.org

Software Developer’s Journal 11/2007

UML – modelowanie dynamicznych aspektów oprogramowania

cia. W odróżnieniu od diagramów sekwencji wymiar czasu nie jest bezpo-
średnio odwzorowany i nie ma on takiego znaczenia. Natomiast odwzoro-
wane są powiązania pomiędzy obiektami (prezentujące pewną część po-
wiązań z diagramu klas). Diagram sekwencji i komunikacji są semantycz-
nie równoważne – tzn. przekazują tę samą informację. Istnieje możliwość
przekształcenia diagramu sekwencji w diagram komunikacji i odwrotnie
bez utraty informacji.

Diagramy aktywności

Diagramy aktywności (czynności) w zasadzie są schematami blokowy-
mi, które przedstawiają przepływ sterowania z aktywności do aktyw-
ności. Obrazują one sekwencyjne bądź to równoległe/współbieżne kro-
ki procesu. Stanowią uogólnioną wersję diagramów stanów, a ich podsta-
wowym zadaniem nie jest analiza stanów obiektu, ale modelowanie prze-
twarzania (przepływu zadań). Stany diagramu aktywności odpowiadają
stanom wyróżnianym w trakcie przetwarzania, a nie stanom obiektów.
Aktywność może być interpretowana jako zadanie do wykonania przez
człowieka lub komputer, ale również jako odpowiedzialność, operacja czy
metoda klasy. Przejścia pomiędzy stanami (czynnościami) nie są zwią-
zane z nadejściem zdarzenia, ale z zakończeniem przetwarzania specy-
ficznego dla danej aktywności. Diagramy aktywności możemy wykorzy-
stać na bardzo wiele sposobów. Są szczególnie przydatne przy tworzeniu
SI i to nie tyko w podejściu obiektowym. Tak więc:

• umożliwiają zrozumienie procesów biznesowych;
• doskonale nadają się do modelowania przepływu zdań i w opisie pro-

cesów z dużą liczbą równoległych czynności;

• wykorzystywane są, jako wygodny sposób analizy przypadków użycia;
• dają możliwość opisu czynności warunkowych i współbieżnych;
• proces warunkowy jest przedstawiany za pomocą rozgałęzienia

(ang.

branch) i scalenia (ang. marge);

• proces współbieżnych jest przedstawiany za pomocą rozwidlenia

(ang.

fork) i złączenia (ang. join);

• określają sposób realizacji określonego działania opisując podstawo-

we reguły porządkujące (szeregujące) czynności;

• pozwalają na zobrazowanie współdziałania obiektów oraz określenie

obiektów odpowiedzialnych za wykonanie danej aktywności na wyso-
kim poziomie abstrakcji za pomocą tzw. torów pływackich (ang.

swim-

lines). W celu uszczegółowienia należy stosować diagramy interakcji;

• mogą być stosowane do opisu algorytmów sekwencyjnych, równole-

głych i współbieżnych.

Zmiany wprowadzone w notacji UML 2.0, a dotyczące diagramów aktyw-
ności sięgają bardzo daleko. Pierwszą widoczną zmianą jest umożliwie-
nie zastosowania torów zarówno pionowych jak i poziomych. Pozwala to
prezentować nie tylko obiekty odpowiedzialne za wykonanie danej aktyw-
ności, ale grupować aktywności w większe zbiory i przypisywać im zbior-
cze nazwy lub miejsca realizacji. Inną nowością jest wprowadzenie możli-
wości zakończenia realizacji scenariusza, w dowolnym miejscu, jeżeli zaj-
dzie określony warunek. Dopracowano również sposób przesyłania obiek-

Rysunek 2.

Przykładowy diagram komunikacji

���������������

��������������

����������������

�������������������

��������������������������

�������������������������

�����������������������

����������������

�������������������

������������������������������

���������������

��

����������������

��������

�������

������������

����������

�����������������

�������

������������

���������������

������������

�����������������

�������������

�������������������

������������������

����������������

��������

�������

����������

������������������

�����

������������������

����

���

Rysunek 1.

Przykładowy diagram sekwencji

background image

52

Inżynieria

oprogramowania

www.sdjournal.org

Software Developer’s Journal 11/2007

tów pomiędzy czynnościami wprowadzając pojęcie żetonu (ang.

token) i

wtyku (ang.

pin) wykorzystywanych do przekazywania parametrów wej-

ściowych i wyjściowych pomiędzy czynnościami. Idea ta pochodzi z sie-
ci Petriego. Diagramy aktywności wykorzystywane są do dynamicznego
modelowania systemów. W szczególności stosowane są do modelowania
przepływu zadań i opisu algorytmów. Mocną stroną tych diagramów jest
to, że zachęcają do stosowania procesów współbieżnych tam gdzie to tyl-
ko możliwe.

Diagramy maszyny stanów

Diagramy maszyny stanów, nazywane również diagramami stanów, są
znaną techniką opisu zachowania się systemu. W technice obiektowej
diagramy te wykorzystuje się do zobrazowania możliwych stanów obiek-
tu oraz przejść, które powodują zmianę stanu obiektu. Istotną zaletą dia-
gramów maszyny stanów jest możliwość modelowania zachowania obiek-
tów danej klasy w oderwaniu od reszty systemu. Są szczególnie użytecz-
ne do modelowania historii życia obiektu. Przedstawiają reakcje obiek-
tów na otrzymane sygnały i zdarzenia. Nadaje się więc doskonale do opi-
su obiektów reaktywnych oraz projektowania systemów interakcyjnych.
Formalnie diagram maszyny stanów jest grafem skierowanym, którego
wierzchołki stanowią stany obiektu, a łuki opisują przejścia między stana-
mi. Przejście jest odpowiedzią obiektu na jakieś zdarzenie. Akcje są zwią-

zane z przejściami i traktuje się je jako procesy szybkie i nieprzerywalne
(atomowe). Ze stanami związane są czynności, które mogą trwać dłużej i
mogą zostać przerwane przez zdarzenie. Diagramy maszyny stanów po-
zwalają również na wizualizowanie tzw. stanów złożonych. Stan złożony
powstaje w efekcie zagnieżdżania stanów i w związku z tym może być do-
komponowany na stany bardziej proste. Dekompozycja jest rodzajem spe-
cjalizacji. Każdy z podstanów musi dziedziczyć przejścia nadstanu. Tylko
jeden z podstanów może być aktywny w danym momencie. Diagramy ma-
szyny stanów radzą sobie również w wypadku, gdy obiekt ma pewne zbio-
ry niezależnych zachowań czyli może znajdować się w kilku stanach rów-
nocześnie (tzw. stany współbieżne). Jeśli jednak dla jednego obiektu jest
kilka skomplikowanych diagramów stanów współbieżnych, to dobrą prak-
tyką jest próba rozbicia tego obiektu na kilka prostszych. Reasumując ele-
menty diagramów stanów to:

Rysunek 4.

Przykładowy diagram maszyny stanów

������������

�����������

���������������

��������

������

������������������

������������������

����������

�����
������

�����
�����

��������

�������

�����������

���������

���������

������������

������������

�������

����������������

�����

������������������
������������
����������

�������������
������������

�����
���������

���������

������������

�������

�������������

�������

����������������������������������

���������������������������������������

Rysunek 3.

Przykładowy diagram aktywności

Rysunek 5.

Przykładowy diagram przeglądu interakcji

��������������

���

�����������������������

��������

��������

�������

��������

������������������

�������������������

��������������

�����������������������������

�����������������

�����������

����������������

���������

���

���

���������������

����������������

background image

53

www.sdjournal.org

Software Developer’s Journal 11/2007

UML – modelowanie dynamicznych aspektów oprogramowania

• stany – mogą mieć nazwy, a identyfikowane są na trzy sposoby:
• wartości atrybutów obiektu;
• czas, gdy obiekt oczekuje na nadejście jakiegoś zdarzenia;

event zdarzenie(a:T)/[warunek]/akcja;

• czas, w którym obiekt wykonuje jakieś czynności;

do/czynność1/czynność2/…;

• zdarzenia – bodźce, które mogą uruchomić przejścia pomiędzy stanami
• wolanie – operacja (a:T), synchroniczne wywołanie żądania, gdzie

obiekt wołający czeka na wynik;

• zmiana –

when

(wyrażenie), ciągłe czekania na spełnienie warunku;

• sygnał – sygnał (a:T), asynchroniczna komunikacja jednokierunkowa;
• czas –

after

(czas), uzależnienie od czasu określanego bezwzględ-

nie lub względnie;

• przejścia – wskazują, że obiekt przejdzie z jednego stanu do drugie-

go, o ile zajdzie określone zdarzenie i będą spełnione warunki;

zdarzenie(a:T)[warunek]/akcja

– przejścia zewnętrzne i we-

wnętrzne;

[warunek]/akcja

– przejście automatyczne;

entry/akcja1we/akcja2we/…

– wykonanie akcji podczas wejścia do

stanu;

exit/akcja1wy/akcja2wy/…

– wykonanie akcji podczas wyjścia ze

stanu.

Diagramy przeglądu interakcji

Diagramy przeglądu interakcji są krzyżówką diagramów aktywności i dia-
gramów sekwencji i/lub komunikacji. Należy je traktować tak, jak diagra-
my aktywności, w których aktywności są zastąpione przez diagramy se-
kwencji. Istnieje możliwość stosowania dwóch rodzajów elementów inte-
rakcyjnych: prostokąty posiadające nazwę diagramu sekwencji i stano-
wiące jego referencję, zaznaczaną słowem kluczowym

REF

, które znaj-

duje się w lewym górnym rogu diagramy sekwencji bądź komunikacji,
które mogą być bezpośrednio zagnieżdżane w diagramach przeglądu in-
terakcji. Ponieważ diagramy przeglądu interakcji są nowością, to trudno
stwierdzić, jak przydatne okażą się w praktyce.

Diagramy przebiegów czasowych

Diagram przebiegów czasowych jest nowym diagramem interakcji, w któ-
rym nacisk kładzie się na ograniczenia czasowe – albo dla pojedynczego
obiektu, albo, co bardziej pożyteczne, dla całej grupy obiektów. Na jego po-
jawienie się czekali przede wszystkim projektanci systemów czasu rze-
czywistego i aplikacji, których działanie jest uzależnione od współpracy z
urządzeniami wejścia/wyjścia. Diagram przebiegów czasowych obrazuje
zachowanie obiektu z naciskiem na dokładne określenie czasu, w którym
obiekt jest poddawany jakimś zmianom lub sam wykonuje jakieś działanie.
Diagramy czasowe przydają się do obrazowania ograniczeń czasowych
występujących między zmianami stanów różnych obiektów. Są szczegól-
nie przyjazne dla inżynierów zajmujących się projektowaniem urządzeń.

Możliwe są dwa alternatywne sposoby przedstawienia ograniczeń

czasowych na diagramach przebiegów czasowych (Rysunek 6). Stany
można przedstawiać w postaci pól lub linii poziomych. Oba sposoby niosą
tą samą informację. Praktyka dowodzi natomiast, że pierwszy styl spraw-
dza się lepiej, gdy musimy się zajmować dużą liczbą stanów.

Podsumowanie

Modelując dynamiczne aspekty rozwiązania budujemy modele, które pre-
zentują poszczególne ścieżki realizacji wymagań funkcjonalnych. Mode-
le budowane są w oparciu o diagramy sekwencji, komunikacji, aktywno-
ści i stanów. W przypadku modelowania systemów specjalizowanych po-
mocne mogą się okazać nowe diagramy przeglądu interakcji i przebiegów
czasowych. n

Rysunek 6.

Przykładowy diagram przebiegów czasowych

��������������

���������������

���������������

���������������

��������

��������

��������

���������

������������������

������������

�����������

�����

��

��

��

��������������

����������������������

�����������������

���������������������

�����������������������

����������������

�������������

�����������

������

�����������

�������

������������������

�����

����������������������

�����������������������


Wyszukiwarka

Podobne podstrony:
2007 08 UML – modelowanie statycznych aspektów oprogramowania [Inzynieria Oprogramowania]
2007 11 Extreme Programming i CMMI [Inzynieria Oprogramowania]
2007 06 UML – potrzeba standaryzacji notacji [Inzynieria Oprogramowania]
2007 11 05 Kariera dla inzyniera 2007
Lab5 Modelowanie dynamiki id 25 Nieznany
kurier lubelski magazyn 2007 11 09 romans w pracy pdf
2007 11 21 1353 sprostowanie
egzamin (11), pwr biotechnologia(I stopień), VI semestr, Inżynieria genetyczna - wykład, Egzamin
EDW 2007 11
giełda na koła, oddechowka2, Wysłany: Wto 16 Sty, 2007 11:20 FIZJOLOGIA - giełda ODDECHÓWKA
biologia geol 2007 11 29 wyklad2 bez ilustr
2007-11-08 Reprywatyzacja odblokowana, materiały, Z PRASY
Dynamiczne aspekty zachowania się człowieka, Psychologia
e projekt 2007 11 Rys 6
8.8. Modelowanie pożarów, Politechnika Poznańska, Inżynieria Bezpieczeństwa, 6. SEMESTR, Dahlke, Lab

więcej podobnych podstron