@PSI W07 Diagramy interakcji


ð
ð
Projektowanie systemów informatycznych
Åšð st. wykÅ‚. mgr inż. Janusz Czuchnowski Master of Business Training
Åšð e-mail: jczu@zie.pg.gda.pl
Åšð tel. praca: +48 58 347 16 12
Åšð pokój: 807a Gmach B
Åšð Konsultacje: Å›roda 13.30  14.00
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski 2
Åšð W01  Wprowadzenie do inżynierii oprogramowania
Åšð W02  Unified Modelling Language - biznesowe przypadki użycia
Åšð W03  Unified Modelling Language - model wymagaÅ„
Åšð W04  Podstawowe zasady obiektowoÅ›ci
Åšð W05  Projektowanie obiektowe
Åšð W06  Diagramy klas
Åšð W07  Diagramy sekwencji i interakcji
Åšð W08  Tworzenie modelu obiektowego
Åšð W09  Model testowania - zapewnienie jakoÅ›ci oprogramowania
Åšð W10  Projektowanie strukturalne
Åšð W11  System informacyjny systemu dziaÅ‚ania
Åšð W12  Proces tworzenia oprogramowania
Åšð W13  Metodyki ewolucyjne projektowania SI
Åšð W14  ZarzÄ…dzanie zmianÄ… - implementacja i rozwój systemu
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski 3
4
ð
ð
opr.: st. wykł. mgr inż. Janusz
2012-02-15
Czuchnowski
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski 5
6
ð
ð
opr.: st. wykł. mgr inż. Janusz
2012-02-15
Czuchnowski
Diagramy interakcji:
żðDiagramy współpracy (interakcji)
żðDiagramy sekwencji
Generyczne diagramy interakcji:
żðWyrażanie warunków
żðWyrażanie iteracji
Współbieżność na diagramach interakcji
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 7
UML posiada dwa rodzaje diagramów interakcji:
żðdiagramy współpracy (kolaboracji)
żðdiagramy sekwencji.
Oba rodzaje diagramów, bazując na danym diagramie klas, pokazują prawie tą samą informację, w
nieco inny sposób. Niektóre narzędzia CASE potrafią generować jedne z tych diagramów z drugich.
Decyzja, który rodzaj diagramów konstruować, zależy od pożądanego aspektu interakcji.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 8
Diagramy interakcji, stanowiące jeden z rodzajów diagramów dynamicznych, pozwalają na
utworzenie opisu interakcji obiektów systemu podczas realizacji danego zadania: np. przypadku
użycia czy też jednego konkretnego scenariusza danego przypadku użycia.
Nie dla wszystkich przypadków użycia może zachodzić potrzeba konstruowania diagramów
interakcji, ale mogą okazać się szczególnie użyteczne np. do komunikacji wewnątrz zespołu
projektowego (jak zresztą wszystkie rodzaje diagramów) czy też do rozważenia opcjonalnych
realizacji w  trudnych przypadkach . Ponadto, niektóre narzędzia CASE potrafią wykorzystać te
diagramy do generacji kodu, co może stanowić ważny powód dla ich konstruowania.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 9
Diagram współpracy pokazuje w jaki sposób system realizuje dany przypadek użycia. Współpracujące
obiekty, połączone liniami nazywanymi  linkami , tworzą rodzaj  kolektywu (tzw. kolaborację).
Linki odpowiadają powiązaniom, czyli wystąpieniom asocjacji z diagramu klas, a to oznacza, że
odpowiednia asocjacja musi (?) istnieć na diagramie klas.
Można tu pokazywać też
informacje w rodzaju:
:Egzemplarz
:Personel
książki
żðnazwy linków,
bibl.
żðkierunki nawigowania,
żðitd., jak na diagramie klas
pod warunkiem, że
:Członek
zwiększą, a nie zmniejszą
:Książka
bibl.
czytelność diagramu.
Prosty diagram współpracy, bez uwidaczniania interakcji między obiektami, stanowi coś w rodzaju
 wystąpienia fragmentu diagramu klas ; pokazuje aktora, relewantne obiekty i powiązania między
nimi. Możliwe jest pokazanie więcej niż jednego obiektu danej klasy.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 10
Diagramy współpracy mogą dodatkowo pokazywać interakcje zachodzące między obiektami
zaangażowanymi w realizację danego przypadku użycia. Sekwencja interakcji oznacza tu sekwencję
komunikatów przesyłanych między współpracującymi obiektami.
komunikat wysyłany
od aktora do obiektu
:Egzemplarz
klasy Członek bibl.
:Personel
książki
bibl.
4: Zaznacz wypożyczenie
Pożycz (tytuł)
3: Czy wolny
:Członek
:Książka
bibl.
2: Czy tytuł dostępny
Możliwe scenariusze:
1) nie można pożyczyć
1: Czy można pożyczyć
2) można pożyczyć ale książka jest niedostępna
üð3) można pożyczyć, książka jest, trzeba
zarejestrować wypożyczenie
Komunikaty przedstawiane są tu w postaci etykiet strzałek rysowanych wzdłuż linków między
współpracującymi obiektami.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 11
Na diagramach współpracy nie pokazuje się odpowiedzi na wysyłane komunikaty.
Komunikaty mogą być numerowane, albo kolejnymi liczbami naturalnymi (jak na poprzednim
diagramie), albo stosując tzw. numerację zagnieżdżoną. W obu przypadkach, z reguły nie bierze się
pod uwagę komunikatu wysyłanego od aktora.
:Egzemplarz
:Personel
książki
bibl.
2.2: Zaznacz wypożyczenie
Pożycz (tytuł)
2.1: Czy wolny
:Członek
:Książka
bibl.
2: Czy tytuł dostępny
1: Czy można pożyczyć
Numeracja zagnieżdżona oznacza, że jeśli obiekt o otrzyma komunikat m o numerze np. 7.3 to ten
numer będzie dołączany jako prefix do każdego komunikatu wysyłanego w trakcie realizacji
komunikatu m przez obiekt o.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 12
Dla implementacji w języku obiektowym (np. w C#, Javie), przypadek użycia  pożycz egzemplarz
książki mógłby być zrealizowany poprzez sekwencję komunikatów, jak na poniższym diagramie (bez
usuwania polskich znaków diakrytycznych). W Javie, metody klasowe mogłyby być implementowane
za pośrednictwem np. metod statycznych.
: EgzemplarzKsiążki
:Personel
bibl.
1: pożycz (daneOsobowe, tytuł)
1.2.2: zaznaczWypożyczenie
(członekBibl)
1.2.1: czyWolny ()
1.3: zaznaczWypożyczenie (egzemplarzKsiążki)
:CzłonekBibl
: Książka
?
1.2: pożycz (tytuł, członekBibl)
1.1: czyMożnaPożyczyć ()
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 13
Diagram klas, zgodny z diagramem współpracy jak na poprzedniej folii, wyglądałby jak poniżej.
CzłonekBibl
pożyczył
pożycz (daneOsobowe, tytuł)
0..1
czyMożnaPożyczyć ()
*
zaznaczWypożyczenie (egzemplarzKsiążki)
EgzemplarzKsiążki
czyWolny ()
zaznaczWypożyczenie (członekBibl)
1..*
Książka
pożycz (tytuł, członekBibl)
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 14
Diagramy sekwencji nie pokazują linków między współpracującymi obiektami, ale można to
wydedukować w oparciu o zaznaczone komunikaty.
:Członek :Egzemplarz
:Książka
bibl. książki
:Personel
bibl.
linia życia
Pożycz (tytuł)
obiektu
czas
1: Czy można pożyczyć
aktywne 2: Czy tytuł dostępny
życie obiektu
2.1: Zaznacz wypożyczenie
Kolejność obiektów nie ma tu
znaczenia, ale warto zadbać o
czytelność diagramu.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 15
Na diagramach sekwencji, wyrazniej niż na diagramach współpracy, można pokazać
przekazywanie sterowania.
:Członek :Egzemplarz
:Książka
bibl. książki
:Personel
bibl.
Pożycz (tytuł)
1: Czy można pożyczyć
2: Czy tytuł dostępny
2.1: Zaznacz wypożyczenie
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 16
Główna przewaga diagramów sekwencji nad diagramami współpracy przejawia się w ich zdolności do
graficznego prezentowania upływu czasu, a nawet do podawania ograniczeń czasowych, czy też  co
może być kontrowersyjne  skali czasowej. Taka możliwość może mieć duże znaczenie dla opisu
systemów czasu rzeczywistego.
:Sterowanie :OdbierajÄ…cy
:DzwoniÄ…cy
podniesienie słuchawki
a
{b - a < 1 sec.}
ton w słuchawce
b
{c - b < 10 sec.}
wybór cyfry
c
.
.
.
Rozmowa
d
Å‚Ä…czenie
jest Å‚Ä…czona
d
poprzez sieć
uruchomienie dzwonka
ton dzwonka
{d - d < 5 sec.}
podniesienie słuchawki
koniec dzwonienia
koniec tonu
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 17
:Członek :Egzemplarz
:Książka
bibl. książki
:Personel
bibl.
gdy interesuje nas czas
Pożycz (tytuł)
przesłania komunikatu
A
1: Czy można pożyczyć
{C-A < 5 sek.} { Zaznacz wypożyczenie -
Czy tytuł dostępny < 1 sek.}
2: Czy tytuł dostępny
2.1: Zaznacz wypożyczenie
C
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 18
Czasami przydaje się uwidocznienie wartości zwracanej przez komunikat, poprzez instrukcję
przypisania. Umożliwia to pózniejsze wykorzystanie tej wartości, np. jako argumentu dla innego
komunikatu. Wartość zwracana może też być wykorzystana do specyfikowania warunku czy iteracji.
diagram sekwencji
nowy obiekt pojawia siÄ™ na
:Wykładowca
diagramie w miejscu
:Sekretariat
korespondujÄ…cym z czasem jego
ds. nauczania
utworzenia
n := PobierzNazwisko
:Szef
UtwórzNowegoSzefaWykładowców (n) Wykładowca
wykładowców
usuń
X
Szef
koniec życia
wykładowców
obiektu
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 19
1: n := PobierzNazwisko
:Sekretariat
:Wykładowca
ds. nauczania
[usuwany]
3: usuń
2: UtwórzNowegoSzefaWykładowców (n)
:Szef
wykładowców
[nowy]
Komunikaty wysyłane od aktora są tu numerowane,
aby można było ustalić ich kolejność.
Projekt musi specyfikować, kto jest odpowiedzialny za usuwanie obiektów, aby zapobiec tzw.
 wyciekaniu pamięci . Niektóre języki, takie jak np.Java czy SmallTalk, posiadają wbudowane
mechanizmy zbierania nieużytków (garbage collectors). Z grubsza, polega to na usuwaniu (w jakimś
czasie) wszystkich obiektów, do których nie ma żadnych referencji w systemie.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 20
W UML, generyczny diagram interakcji powinien specyfikować wszystkie możliwe sekwencje
interakcji dla danego przypadku użycia, a nie tylko dla jednego ze scenariuszy. Diagram dla
pojedynczego scenariusza jest tu nazywany wystąpieniem generycznego diagramu interakcji. Ponieważ
diagramy generyczne mogą w niektórych przypadkach okazać się zbyt złożone, dopuszcza się
rozwiązania połowiczne.
Przedstawianie zachowań warunkowych
Wysłanie komunikatu może być uzależnione od spełnienia wyspecyfikowanego warunku.
dwa różne punkty
ten sam punkt
:K :K
w czasie
w czasie
{dla interakcji
[i = 0] x [i = 0] x
synchronicznej
warunki muszÄ… siÄ™
[i = 1] y
[i = 1] y
wykluczać}
Może być wysłany albo komunikat x albo
Możliwe są wszystkie kombinacje.
y. Może też nie być wysłany żaden z nich.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 21
Warunek, zapisany wewnątrz nawiasów [ ], stanowi wyrażenie typu Boolean i może być wyrażony w
języku naturalnym, w języku ustrukturalizowanym (np. OCL), w języku programowania,
pseudokodzie czy innej notacji.
:K1 :K2
Linia życia dla wystąpienia klasy K2 uległa
rozgałęzieniu, aby podkreślić fakt, że stan obiektu
może wyglądać inaczej w zależności od tego, który
z komunikatów (x czy y) zostanie wysłany.
7.1: [i = 0] x
7.2: [i = 1] y
Budzi wątpliwości numeracja komunikatów, bo może wykonać się tylko jeden z nich. Być może
oba powinny być oznaczone przez 7.1.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 22
Wyrażanie warunków na diagramach współpracy jest także możliwe. Nie da się tu jednak pokazać
rozgałęzienia linii życia obiektu. Wydaje się, że poza najprostszymi sytuacjami, diagramy
sekwencyjne lepiej modelują realizację bardziej złożonych (z opcjonalnymi scenariuszami)
przypadków użycia.
Przedstawianie iteracji
UML umożliwia oznaczenie komunikatu, który ma być wysłany wiele razy, poprzez poprzedzenie go
symbolem * (dla iteracji współbieżnej używany jest symbol *//). Oczywiście musi być też
wyspecyfikowany warunek, określający zakończenie iteracji. UML nie narzuca formy warunku.
Przykłady iteracji:
*[i := 1..10]  komunikat będzie wysłany 10 razy,
*[x < 10]  komunikat będzie wysyłany dopóki x będzie < 10,
*[pozycja nie znaleziona]  komunikat będzie wysyłany dopóty, dopóki pozycja nie zostanie
znaleziona, czyli do momentu, gdy warunek przyjmie wartość FALSE.
Jeśli w trakcie wielokrotnego wysyłania komunikatu x, będzie wysyłany także komunikat y, to zostanie
on wysłany tyle razy, ile razy wysyłane jest x. W takim wypadku, dla zachowania spójności diagramów
nie należy powtarzać symbolu iteracji przed komunikatem y.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 23
:K1 :K2 :K3
3.1: *[i := 1..2] x
xyxy
3.1.1: y
:K1 :K2 :K3
xyyyxyyy
3.1: *[i := 1..2] x
3.1.1: *[j := 1..3] y
sekwencja
Komunikatów
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 24
Dla implementacji w C#, Javie przypadku użycia  pożycz egzemplarz książki , generyczny diagram
interakcji mógłby wyglądać następująco:
: EgzemplarzKsiążki
:Personel
bibl.
1: pożycz (daneOsobowe, tytuł)
1.2.2: [wolny] zaznaczWypożyczenie (członekBibl)
1.2.1: *[poprz. egz. zajęty i nie koniec przeglądania]
wolny = czyWolny ()
1.3: [znaleziono wolny egzemplarz]
zaznaczWypożyczenie (egzemplarzKsiążki)
:CzłonekBibl.
: Książka
?
1.2: [można] egzemplarzKsiążki = pożycz (tytuł, członekBibl)
1.1: można = czyMożnaPożyczyć ()
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 25
Diagram klas, zgodny z diagramem współpracy przedstawionym na poprzednim slajdzie,
wyglądałby jak poniżej.
CzłonekBibl
pożyczył
pożycz (daneOsobowe, tytuł)
0..1
czyMożnaPożyczyć : Boolean
zaznaczWypożyczenie (egzemplarzKsiążki)
*
EgzemplarzKsiążki
czyWolny : Boolean
zaznaczWypożyczenie (członekBibl)
1..*
Książka
pożycz (tytuł, członekBibl) : EgzemplarzKsiążki
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 26
Obiekt, adresat komunikatu, musi go rozumieć, co oznacza, że klasa której jest wystąpieniem, musi
dostarczyć tę operację.
Konstruowanie diagramów interakcji może pomóc w identyfikowaniu zarówno operacji w klasach,
jak i asocjacji między klasami, a przez to może prowadzić do korekty diagramu klas, i temu celowi
zresztą głównie służy. Jest oczywistym, że oba modele: obiektowy i dynamiczny muszą być spójne.
Rodzaje interakcji:
żðSekwencyjna (synchroniczna)
żðWspółbieżna.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 27
żðSekwencyjna (synchroniczna)  tylko jeden aktor może zainicjować sekwencjÄ™ komunikatów i w
danym momencie tylko jeden obiekt może  działać . Obiekt rozpoczyna tzw.  aktywne życie (staje
się aktywny) w momencie otrzymania komunikatu. Zanim wyśle odpowiedz do nadawcy komunikatu,
może prowadzić obliczenia czy też wysyłać komunikaty do innych obiektów. Wysyłając komunikat do
innego obiektu nadal pozostaje aktywny, ale jego własna działalność zostaje zawieszona do czasu
otrzymania odpowiedzi na wysłany komunikat, wysyłanie komunikatu zwiazane jest tu z
przekazywaniem sterowania do odbiorcy komunikatu. W każdym momencie istnieje w systemie stos
aktywnych obiektów; na szczycie stosu znajduje się ten obiekt, który aktualnie  działa . Wysłanie
odpowiedzi na komunikat powoduje zdjęcie obiektu ze stosu.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 28
Dla interakcji sekwencyjnych nadawca komunikatu oczekuje na odpowiedz odbiorcy zawieszajÄ…c
własną działalność w trakcie oczekiwania. W danym momencie czasu działa tylko jeden obiekt i
wysyłany może być tylko jeden komunikat. Takie systemy nazywane są też czasami proceduralnymi
lub jednowÄ…tkowymi.
Prosta definicja systemu współbieżnego mówi: wiele obiektów może działać jednocześnie, wiele
komunikatów może być wysyłanych w tym samym czasie.
Do systemów współbieżnych możemy zaliczyć, np.:
żð systemy rozproszone  przetwarzanie zachodzi równoczeÅ›nie na wielu procesorach w różnych
miejscach,
żð wielowÄ…tkowe aplikacje  przetwarzanie równolegÅ‚e na wielu procesorach lub na jednym
procesorze z podziałem czasu.
Przetwarzanie współbieżne jest często mylone z przetwarzaniem w czasie rzeczywistym, ponieważ
systemy czasu rzeczywistego są często współbieżne i vice versa. Jednakże idee leżące u podłoża obu
rodzajów systemów są różne: system jednowątkowy może być systemem czasu rzeczywistego,
podczas gdy współbieżny może takim systemem nie być. Dla systemu czasu rzeczywistego istotne jest
wypełnianie ograniczeń czasowych.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 29
Rozpoczęcie nowego wątku sterowania jest możliwe np. poprzez:
Rozdzielenie istniejącego wątku na kilka innych: Obiekt, który działa (bo otrzymał
komunikat) może wysłać jednocześnie kilka synchronicznych komunikatów. Synchroniczność
oznacza tu, że będzie oczekiwał na zakończenie wszystkich.
Na diagramie sekwencji byłoby to uwidocznione przez pokazanie komunikatów wysyłanych w
tym samym punkcie czasowym, jak już było prezentowane wcześniej, ale tym razem bez
ograniczenia, że warunki muszą się wzajemnie wykluczać.
Na diagramach kolaboracji można używać nazw (pojedynczego znaku lub łańcucha znaków) na
oznaczenie współbieżności komunikatów: np. 2.10.A jest współbieżne z 2.10.B dla aktywności
spowodowanej wysłaniem komunikatu 2.10, w przeciwieństwie do 2.10.1 i 2.10.2, które
oznaczają komunikaty nie współbieżne.
Aktor, może wysłać nowy komunikat w trakcie przetwarzania systemu.
Obiekt może wysłać asynchroniczny komunikat do innego obiektu. Oznacza to, że może
uaktywnić inny obiekt nie zawieszając swojej własnej aktywności.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 30
Znaczenie
Rodzaj interakcji Symbol
 Normalna proceduralna sytuacja. Nadawca zawiesza
synchroniczna
działanie, dopóki odbiorca nie zwróci sterowania. Można to
(synchronous)
oznaczyć wykorzystując symbol powrotu.
powrót Powrót nie jest komunikatem. Oznacza zakończenie
(return) komunikatu i przekazanie sterowania do nadawcy.
Nadawca komunikatu przekazuje sterowanie do odbiorcy
jednostronna
oraz kończy własną działalność nie oczekując na
(flat)
odpowiedz.
Nadawca komunikatu nie oczekuje na odpowiedz odbiorcy,
asynchroniczna
ale też i nie kończy własnej aktywności, co oznacza, że
(asynchronous)
nadal przetwarza i może wysyłać komunikaty.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 31
:Członek
bibl.
:Personel
bibl.
Czy przetrzymuje
[jeśli przetrzymuje] email
Rejestruj nowÄ…
:Książka
Rejestruj nowy
:Egzemplarz
książki
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 32
pakiet
Zamiana subkolaboracji
Wyróżnianie subkolaboracji
Złożona kolaboracja
na pakiet
Opisywanie interakcji na wyższym poziomie poprzez ukrywanie detali - jest użyteczne - jak każda
abstrakcja. Temu celowi służy wyodrębnienie subkolaboracji, a następnie zamiana jej na pakiet. Pakiet,
w UML, przeznaczony jest do grupowania elementów modelu. Pakiet nie posiada własnego interfejsu,
w tym sensie, że przesłanie komunikatu do pakietu, oznacza przesłanie komunikatu do obiektu
wewnÄ…trz pakietu.
W UML, sparametryzowana kolaboracja jest traktowana jako wzorzec projektowy (design pattern).
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 33
Powszechnie stosowana reguła (Law of Demeter), określa do jakich obiektów mógłby ewentualnie
wysłać komunikat obiekt o w trakcie realizacji otrzymanego komunikatu m:
żð do siebie samego,
żð do obiektów stanowiÄ…cych argumenty metody m,
żð do obiektów, które tworzy w trakcie realizacji komunikatu m,
żð do obiektów, z którymi jest bezpoÅ›rednio powiÄ…zany.
żð Ponadto, obiekt mógÅ‚by wysÅ‚ać komunikat, realizujÄ…cy operacjÄ™ klasowÄ….
*
KontrolerWszystkiego
KontrolerPracy
1
1
getKP(p:Praca) : KontrolerPracy
1
Praca
Przykład złego projektowania, *
*
które nie stosuje się do np.
przedostatniej z ww. zasad reguły.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 34
Diagramy interakcji, czyli diagramy współpracy i sekwencji, jako główne zadanie mają wspomożenie
projektanta w procesie konstruowania modelu obiektowego. Pomoc polega na analizie zachowania
systemu w trakcie realizacji jego zadań i identyfikowaniu nowych czy też korekcie już istniejących
elementów modelu, np.: klas, ich atrybutów, metod oraz asocjacji między klasami.
Struktura, opisywana przez model obiektowy, musi zapewnić możliwość realizacji zadań
postawionych przed systemem.
að Oba rodzaje diagramów przedstawiajÄ… bardzo podobnÄ… informacjÄ™, w nieco inny sposób.
að Diagramy współpracy, stanowiÄ…ce w pewnym sensie wystÄ…pienia fragmentu diagramu klas, lepiej
przedstawiają związki między obiektami biorącymi udział w realizacji danego przypadku użycia.
Aatwiej też można tu odwzorować efekty oddziaływania na pojedynczy obiekt.
að Diagramy sekwencji lepiej przedstawiajÄ… zależnoÅ›ci czasowe, bardziej niż diagramy współpracy
nadają się do modelowania systemów czasu rzeczywistego i złożonych scenariuszy.
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski Slajd 35
Wysiłek związany z projektowaniem systemu informatycznego jest duży,
ale efekt uzyskany po sfinalizowaniu wszystkich prac  jest wart tego wysiłku
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski 36
2012-02-15 opr.: st. wykł. mgr inż. Janusz Czuchnowski 37


Wyszukiwarka

Podobne podstrony:
06 Diagramy interakcji
10 Diagram sterowania interakcjÄ…
W07 W08 SCR
Praca mag Interaktywny system regułowej analizy danych marketingowych dotyczących satysfakcji klie
07 Diagram sekwencji
W07 08 WYKLADY TIORB 2007 MECHANIZACJA CALOSC z rysunkami
Sem 4 Wykład nr 9 Interakcje 2013
Agnieszka Jędrzejczak Dobry Psi Obywatel
4 WWSI PSI
Phase Diagram of Ultrafine Carbon
Toyota Supra? Wiring Diagrams
3 WWSI PSI
interakcja przeszukiwanie
0708z sk zlm w07

więcej podobnych podstron