spis treŒci systemów informatycznych · 2011. 12. 10. · przypadek użycia ... diagram...

18
Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: [email protected] PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ IDZ DO IDZ DO ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG KATALOG KSI¥¯EK KATALOG KSI¥¯EK TWÓJ KOSZYK TWÓJ KOSZYK CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWOŒCIACH ZAMÓW INFORMACJE O NOWOŒCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE SPIS TREŒCI SPIS TREŒCI DODAJ DO KOSZYKA DODAJ DO KOSZYKA KATALOG ONLINE KATALOG ONLINE Jêzyk UML 2.0 w modelowaniu systemów informatycznych Autorzy: Stanis³aw Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski ISBN: 83-7361-892-9 Format: B5, stron: 448 Poznaj uniwersalne narzêdzie projektowania obiektowego • Diagramy jêzyka UML • Modelowanie biznesowe • Metodyki projektowe oparte na UML • Narzêdzia CASE Rosn¹ca popularnoœæ programowania obiektowego zmieni³a równie¿ metody modelowania systemów informatycznych. Modelowanie strukturalne zosta³o zast¹pione przez modelowanie obiektowe. Standardem w tej dziedzinie sta³ siê jêzyk UML (Unified Modelling Language) — graficzny system wizualizacji, specyfikowania oraz dokumentowania sk³adników systemów informatycznych. Opis systemu wykonany za pomoc¹ jêzyka UML jest jednoznaczny, co bardzo u³atwia napisanie kodu Ÿród³owego w oparciu o modele. Narzêdzia do modelowania obiektowego umo¿liwiaj¹ wygenerowanie szkieletu klas i obiektów, a po odpowiednim zintegrowaniu ze œrodowiskiem programistycznym — pozwalaj¹ na dwukierunkow¹ synchronizacjê modelu z kodem Ÿród³owym. W oparciu o jêzyk UML stworzona zosta³a metodyka projektowania oprogramowania nosz¹ca nazwê RUP (Rational Unified Process) zyskuj¹ca coraz wiêksze uznanie. Znajomoœæ jêzyka UML i metodologii RUP jest dziœ istotnym elementem kwalifikacji kierownika projektów informatycznych. Znajomoœæ jêzyka UML i metodyki RUP jest aktualnie istotnym elementem kwalifikacji analityków, projektantów i kierowników projektów informatycznych a tak¿e sk³adnikiem nowoczesnych programów studiów informatycznych. • Definiowanie wymagañ funkcjonalnych systemu za pomoc¹ diagramów przypadków u¿ycia • Strukturyzacja przypadków u¿ycia i tworzenie diagramów klas • Opis dzia³ania systemu w postaci diagramu czynnoœci i diagramu stanów • Prezentacja komunikacji pomiêdzy elementami systemu za pomoc¹ diagramu interakcji • Tworzenie diagramów wdro¿eniowych • Modelowanie biznesowe i analityczne w metodyce RUP • Narzêdzia CASE • Plakat syntetycznie ujmuj¹cy notacjê UML 2.0 Modelowanie obiektowe to technologia przysz³oœci. Poznaj j¹ ju¿ dziœ

Upload: others

Post on 27-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

Wydawnictwo Helionul. Chopina 644-100 Gliwicetel. (32)230-98-63e-mail: [email protected]

PRZYK£ADOWY ROZDZIA£PRZYK£ADOWY ROZDZIA£

IDZ DOIDZ DO

ZAMÓW DRUKOWANY KATALOGZAMÓW DRUKOWANY KATALOG

KATALOG KSI¥¯EKKATALOG KSI¥¯EK

TWÓJ KOSZYKTWÓJ KOSZYK

CENNIK I INFORMACJECENNIK I INFORMACJE

ZAMÓW INFORMACJEO NOWOŒCIACH

ZAMÓW INFORMACJEO NOWOŒCIACH

ZAMÓW CENNIKZAMÓW CENNIK

CZYTELNIACZYTELNIAFRAGMENTY KSI¥¯EK ONLINEFRAGMENTY KSI¥¯EK ONLINE

SPIS TREŒCISPIS TREŒCI

DODAJ DO KOSZYKADODAJ DO KOSZYKA

KATALOG ONLINEKATALOG ONLINE

Jêzyk UML 2.0 w modelowaniusystemów informatycznych

Autorzy: Stanis³aw Wrycza, BartoszMarcinkowski, Krzysztof WyrzykowskiISBN: 83-7361-892-9Format: B5, stron: 448

Poznaj uniwersalne narzêdzie projektowania obiektowego

• Diagramy jêzyka UML• Modelowanie biznesowe• Metodyki projektowe oparte na UML• Narzêdzia CASE

Rosn¹ca popularnoœæ programowania obiektowego zmieni³a równie¿ metody modelowania systemów informatycznych. Modelowanie strukturalne zosta³o zast¹pione przez modelowanie obiektowe. Standardem w tej dziedzinie sta³ siê jêzyk UML(Unified Modelling Language) — graficzny system wizualizacji, specyfikowania oraz dokumentowania sk³adników systemów informatycznych. Opis systemu wykonanyza pomoc¹ jêzyka UML jest jednoznaczny, co bardzo u³atwia napisanie kodu Ÿród³owego w oparciu o modele. Narzêdzia do modelowania obiektowego umo¿liwiaj¹ wygenerowanie szkieletu klas i obiektów, a po odpowiednim zintegrowaniu ze œrodowiskiem programistycznym — pozwalaj¹ na dwukierunkow¹ synchronizacjê modelu z kodem Ÿród³owym. W oparciu o jêzyk UML stworzona zosta³a metodyka projektowania oprogramowania nosz¹ca nazwê RUP (Rational Unified Process) zyskuj¹ca coraz wiêksze uznanie. Znajomoœæ jêzyka UML i metodologii RUP jest dziœ istotnym elementem kwalifikacji kierownika projektów informatycznych. Znajomoœæ jêzyka UML i metodyki RUP jest aktualnie istotnym elementem kwalifikacji analityków, projektantów i kierowników projektów informatycznych a tak¿e sk³adnikiem nowoczesnych programów studiów informatycznych.

• Definiowanie wymagañ funkcjonalnych systemu za pomoc¹ diagramów przypadków u¿ycia• Strukturyzacja przypadków u¿ycia i tworzenie diagramów klas• Opis dzia³ania systemu w postaci diagramu czynnoœci i diagramu stanów• Prezentacja komunikacji pomiêdzy elementami systemu za pomoc¹ diagramu interakcji• Tworzenie diagramów wdro¿eniowych• Modelowanie biznesowe i analityczne w metodyce RUP• Narzêdzia CASE• Plakat syntetycznie ujmuj¹cy notacjê UML 2.0

Modelowanie obiektowe to technologia przysz³oœci. Poznaj j¹ ju¿ dziœ

Page 2: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

Spis treści Wstęp .............................................................................................. 9

Część I Podstawy języka UML 2.0 .............................................13

Rozdział 1. Język UML — rozwój, struktura, pojęcia .......................................... 15Znaczenie obiektowości w modelowaniu systemów informatycznych .......................... 15Geneza i ewolucja języka UML ..................................................................................... 17Diagramy UML 2.0 ........................................................................................................ 21Perspektywy w opisie architektury systemu ................................................................... 25Mechanizmy rozszerzalności .......................................................................................... 27

Stereotyp .................................................................................................................. 27Ograniczenie ............................................................................................................ 28Metka ....................................................................................................................... 28

Podstawowe pojęcia ....................................................................................................... 29Pytania i zadania ............................................................................................................. 30

Rozdział 2. Diagramy przypadków użycia ........................................................... 33Znaczenie diagramów przypadków użycia ..................................................................... 33Podstawowe kategorie pojęciowe oraz notacja graficzna ............................................... 34

Przypadek użycia ..................................................................................................... 34Aktor ........................................................................................................................ 35Związek .................................................................................................................... 36

Zaawansowane składniki diagramu ................................................................................ 39Rozbudowa DPU poprzez różnicowanie związków ................................................. 40Zależności zawierania .............................................................................................. 40Zależności rozszerzania ........................................................................................... 41Uogólnienia .............................................................................................................. 43Rodzaje aktorów ...................................................................................................... 45Liczebność ............................................................................................................... 46Nawigacja ................................................................................................................ 47Realizacja ................................................................................................................. 49Przypadki użycia typu CRUD .................................................................................. 49Stosowanie nazw ścieżkowych ................................................................................ 50Diagram kontekstowy .............................................................................................. 50Dokumentacja przypadków użycia .......................................................................... 51

Proces tworzenia diagramu przypadków użycia ............................................................. 54Studium diagramu przypadków użycia .......................................................................... 55Podstawowe pojęcia ....................................................................................................... 56Pytania i zadania ............................................................................................................. 57

Page 3: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

4 Język UML 2.0 w modelowaniu systemów informatycznych

Rozdział 3. Diagramy klas ................................................................................ 61Znaczenie diagramów klas ............................................................................................. 61Podstawowe kategorie pojęciowe oraz notacja graficzna ............................................... 61

Asocjacja .................................................................................................................. 64Nazwy asocjacji ....................................................................................................... 65Role .......................................................................................................................... 66Nawigacja ................................................................................................................ 66Liczebność ............................................................................................................... 66Agregacja ................................................................................................................. 67

Zaawansowane składniki diagramu ................................................................................ 70Rodzaje diagramów klas .......................................................................................... 71Zobowiązania ........................................................................................................... 71Widoczność .............................................................................................................. 72Atrybuty i operacje statyczne ................................................................................... 73Nazwy klas, atrybutów i operacji ............................................................................. 73Notacja atrybutów i składnia operacji ...................................................................... 74Klasy asocjacyjne ..................................................................................................... 77Asocjacje zwrotne i wielokrotne .............................................................................. 79Kwalifikacja ............................................................................................................. 79Uogólnienia, klasy abstrakcyjne oraz konkretne ...................................................... 80Zależność ................................................................................................................. 83Realizacja ................................................................................................................. 83

Diagramy obiektów ........................................................................................................ 85Proces tworzenia diagramu klas ..................................................................................... 86Studium diagramu klas ................................................................................................... 87Podstawowe pojęcia ....................................................................................................... 89Pytania i zadania ............................................................................................................. 91

Rozdział 4. Diagramy czynności ........................................................................ 95Znaczenie diagramów czynności .................................................................................... 95Podstawowe kategorie pojęciowe oraz notacja graficzna ............................................... 96

Czynności a akcje ..................................................................................................... 96Zaawansowane składniki diagramu ................................................................................ 99

Przepływy sterowania .............................................................................................. 99Znacznik sterowania ................................................................................................ 99Przepływy decyzyjne ............................................................................................. 100Decyzja .................................................................................................................. 100Łącznik ................................................................................................................... 104Złączenie ................................................................................................................ 104Przepływy współbieżne .......................................................................................... 106Akcje ...................................................................................................................... 107Przepływy danych .................................................................................................. 111Przekaźniki danych ................................................................................................ 112Parametr czynności ................................................................................................ 116Wagi ....................................................................................................................... 117Sygnały .................................................................................................................. 118Bufor centralny ...................................................................................................... 118Składnica danych ................................................................................................... 120Partycje diagramów czynności ............................................................................... 121Obszar rozszerzenia ............................................................................................... 127Obszar przerwania .................................................................................................. 130Manipulator wyjątków ........................................................................................... 131

Page 4: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

Spis treści 5

Proces tworzenia diagramu czynności .......................................................................... 132Studium diagramu czynności ....................................................................................... 133Podstawowe pojęcia ..................................................................................................... 135Pytania i zadania ........................................................................................................... 136

Rozdział 5. Diagramy maszyny stanowej .......................................................... 143Znaczenie diagramów maszyny stanowej ..................................................................... 143Podstawowe kategorie pojęciowe oraz notacja graficzna ............................................. 144Zaawansowane składniki diagramu .............................................................................. 146

Sekcje symbolu graficznego stanu ......................................................................... 146Klasyfikacja stanów ............................................................................................... 148Obszary współbieżne ............................................................................................. 150Pseudostany ............................................................................................................ 152Rodzaje przejść ...................................................................................................... 157Protokołowe maszyny stanowe .............................................................................. 158Maszyny stanowe zachowania ............................................................................... 161Zdarzenia ............................................................................................................... 163

Proces tworzenia diagramu maszyny stanowej ............................................................ 164Studium diagramu maszyny stanowej .......................................................................... 165Podstawowe pojęcia ..................................................................................................... 168Pytania i zadania ........................................................................................................... 169

Rozdział 6. Diagramy interakcji ....................................................................... 173Interakcje ...................................................................................................................... 173Diagramy interakcji ...................................................................................................... 173Składnia komunikatu .................................................................................................... 174Podstawowe pojęcia ..................................................................................................... 177Pytania i zadania ........................................................................................................... 177

Rozdział 7. Diagramy sekwencji ...................................................................... 179Znaczenie diagramów sekwencji .................................................................................. 179Podstawowe kategorie pojęciowe oraz notacja graficzna ............................................. 180

Rodzaje diagramów sekwencji ............................................................................... 180Klasyfikator, komunikat i linia życia ..................................................................... 181Rodzaje klasyfikatorów .......................................................................................... 183Ośrodek sterowania ................................................................................................ 184

Zaawansowane składniki diagramu .............................................................................. 185Rodzaje komunikatów ............................................................................................ 187Tworzenie i niszczenie obiektów ........................................................................... 190Warunki ................................................................................................................. 191Samowywołanie ..................................................................................................... 192Iteracja ................................................................................................................... 192Rozgałęzienie ......................................................................................................... 194Fragmenty wyodrębnione i operatory interakcji ..................................................... 196Przywoływane wystąpienia interakcji .................................................................... 214Bramy ..................................................................................................................... 216

Proces tworzenia diagramu sekwencji .......................................................................... 219Studium diagramu sekwencji ....................................................................................... 219Podstawowe pojęcia ..................................................................................................... 223Pytania i zadania ........................................................................................................... 224

Page 5: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

6 Język UML 2.0 w modelowaniu systemów informatycznych

Rozdział 8. Diagramy komunikacji ................................................................... 231Znaczenie diagramów komunikacji .............................................................................. 231Podstawowe kategorie pojęciowe oraz notacja graficzna ............................................. 232

Numerowanie komunikatów .................................................................................. 233Zasady wprowadzania komunikatów do diagramu ................................................ 234

Zaawansowane składniki diagramu .............................................................................. 235Izomorfizm ............................................................................................................. 235Zagnieżdżenie ........................................................................................................ 235Poprzednik ............................................................................................................. 239Współbieżność ....................................................................................................... 239Obiekty wielokrotne ............................................................................................... 240Klasy aktywne ........................................................................................................ 241Inne kategorie zaawansowane ................................................................................ 242

Proces tworzenia diagramu komunikacji ...................................................................... 244Studium diagramu komunikacji .................................................................................... 245Podstawowe pojęcia ..................................................................................................... 247Pytania i zadania ........................................................................................................... 247

Rozdział 9. Diagramy harmonogramowania ...................................................... 251Znaczenie diagramów harmonogramowania ................................................................ 251Podstawowe kategorie pojęciowe oraz notacja graficzna ............................................. 252Zaawansowane składniki diagramu .............................................................................. 253

Zdarzenia i ograniczenia czasowe .......................................................................... 253Alternatywne sposoby prezentacji stanów ............................................................. 254Harmonizacja linii zmiany stanów ......................................................................... 254Przesyłanie komunikatów ...................................................................................... 256Diagramy sekwencji a harmonogramowanie ......................................................... 258

Proces tworzenia diagramu harmonogramowania ........................................................ 259Podstawowe pojęcia ..................................................................................................... 260Pytania i zadania ........................................................................................................... 260

Rozdział 10. Diagramy sterowania interakcją .................................................... 263Znaczenie diagramów sterowania interakcją ................................................................ 263Podstawowe kategorie pojęciowe oraz notacja graficzna ............................................. 264Zaawansowane składniki diagramu .............................................................................. 266Proces tworzenia diagramu sterowania interakcją ........................................................ 268Studium diagramu sterowania interakcją ...................................................................... 268Podstawowe pojęcia ..................................................................................................... 270Pytania i zadania ........................................................................................................... 271

Rozdział 11. Diagramy wdrożeniowe .................................................................. 273Znaczenie diagramów wdrożeniowych ........................................................................ 273Diagramy komponentów .............................................................................................. 273

Interfejsy ................................................................................................................ 277Specyfikacja komponentów ................................................................................... 278Porty ....................................................................................................................... 280Konektory .............................................................................................................. 280Implementacyjny diagram komponentów .............................................................. 281

Diagramy rozlokowania ............................................................................................... 282Węzły ..................................................................................................................... 284Ścieżki komunikowania ......................................................................................... 285Osadzone artefakty i komponenty .......................................................................... 286Manifestowanie ...................................................................................................... 287Specyfikacja rozlokowania .................................................................................... 289Diagramy rozlokowania na poziomie fizycznym ................................................... 290

Page 6: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

Spis treści 7

Proces tworzenia diagramów wdrożeniowych ............................................................. 291Podstawowe pojęcia ..................................................................................................... 292Pytania i zadania ........................................................................................................... 293

Rozdział 12. Diagramy struktur połączonych ..................................................... 299Znaczenie diagramów struktur połączonych ................................................................ 299Podstawowe kategorie pojęciowe oraz notacja graficzna ............................................. 300Proces tworzenia diagramu struktur połączonych ........................................................ 302Podstawowe pojęcia ..................................................................................................... 303Pytania i zadania ........................................................................................................... 303

Rozdział 13. Diagramy pakietów ....................................................................... 305Znaczenie diagramów pakietów ................................................................................... 305Podstawowe kategorie pojęciowe oraz notacja graficzna ............................................. 305

Pakiet ..................................................................................................................... 306Zależność ............................................................................................................... 307Zagnieżdżenie pakietów ......................................................................................... 308

Zaawansowane składniki diagramu .............................................................................. 309Stereotypowanie pakietów ..................................................................................... 310Stereotypowanie zależności ................................................................................... 311

Proces tworzenia diagramu pakietów ........................................................................... 312Studium diagramu pakietów ......................................................................................... 312Podstawowe pojęcia ..................................................................................................... 314Pytania i zadania ........................................................................................................... 314

Część II Metodyki, modele i narzędzia wspomagające UML 2 ....317

Rozdział 14. Metodyka RUP ............................................................................. 319Znaczenie iteracyjno-przyrostowego procesu projektowania systemów ...................... 319Struktura RUP .............................................................................................................. 321

Dyscypliny ............................................................................................................. 323Fazy ........................................................................................................................ 325

Podstawowe pojęcia ..................................................................................................... 327Pytania i zadania ........................................................................................................... 328

Rozdział 15. Modelowanie biznesowe ................................................................ 329Znaczenie modelowania biznesowego ......................................................................... 329Podstawowe kategorie pojęciowe oraz notacja graficzna ............................................. 330Studium modelu biznesowego ...................................................................................... 331Podstawowe pojęcia ..................................................................................................... 341Pytania i zadania ........................................................................................................... 341

Rozdział 16. Modelowanie analityczne .............................................................. 343Znaczenie modelowania analitycznego ........................................................................ 343Podstawowe kategorie pojęciowe oraz notacja graficzna ............................................. 344Proces tworzenia modelu analitycznego ....................................................................... 346Studium modelu analitycznego .................................................................................... 349Podstawowe pojęcia ..................................................................................................... 350Pytania i zadania ........................................................................................................... 350

Rozdział 17. Komputerowe wspomaganie modelowania systemu ........................ 353Pakiety CASE wspomagające UML i RUP .................................................................. 353

Zakres wspomagania diagramów UML ................................................................. 355Generowanie szkieletowego kodu źródłowego ...................................................... 356Inżynieria zwrotna .................................................................................................. 357Obsługiwane platformy .......................................................................................... 358

Page 7: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

8 Język UML 2.0 w modelowaniu systemów informatycznych

Sparx Systems Enterprise Architect ............................................................................. 359Narzędzia CASE firmy IBM pod marką Rational ........................................................ 362

IBM Software Development Platform .................................................................... 362Zastosowanie IBM Rational Software Modeler ..................................................... 363

Poseidon for UML ........................................................................................................ 366Platforma Eclipse ......................................................................................................... 366UML i RUP w zasobach Internetu ............................................................................... 368Podstawowe pojęcia ..................................................................................................... 369Pytania i zadania ........................................................................................................... 369

Dodatki ......................................................................................371

Dodatek A Definicje i pojęcia ......................................................................... 373

Dodatek B Notacja graficzna .......................................................................... 381

Dodatek C Diagramy ...................................................................................... 389

Dodatek D UML 2.0 w liczbach ...................................................................... 399

Dodatek E Słownik polsko-angielski ............................................................... 401

Dodatek F Słownik angielsko-polski ............................................................... 409

Dodatek G Spis rysunków .............................................................................. 417

Dodatek H Spis tabel ..................................................................................... 423

Dodatek I Literatura ..................................................................................... 425

Contents ...................................................................................... 431

Skorowidz ..................................................................................... 437

Page 8: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

Rozdział 9.

Diagramyharmonogramowania

Znaczenie diagramówharmonogramowania

Analizowane i projektowane interakcje w systemie realizowane są w określonym cza-sie. Spełnienie kryterium czasu przez interakcję jest ważnym czynnikiem oceny tychsystemów — zwłaszcza systemów wbudowanych i systemów czasu rzeczywistego. Wy-chodząc naprzeciw tym oczekiwaniom, zaproponowano diagramy harmonogramowania.

Diagram harmonogramowania jest rodzajem diagramu interakcji, reprezentującymna osi czasu zmiany dopuszczalnych stanów, jakie może przyjmować instancjaklasyfikatora uczestnicząca w interakcji.

Diagramy te stosuje się w celu sporządzenia harmonogramów interakcji, a więc spe-cyfikacji interakcji instancji klasyfikatorów w aspekcie zmian czasu trwania ich sta-nów. Punktem wyjścia tych diagramów są podstawowe kategorie diagramów sekwen-cji oraz maszyn stanowych. Terminowa realizacja interakcji wymaga niekiedy wielkiejdokładności czasowej. W związku z tym na diagramach harmonogramowania możnaprzedstawiać kolejność występowania stanów instancji klasyfikatorów oraz czas ichtrwania. Wprowadzenie diagramów harmonogramowania w UML 2.0 jest istotną zmia-ną w stosunku do poprzednich wersji. Ich tworzenie i użytkowanie jest szczególniezalecane w systemach o rozbudowanej dynamice.

Page 9: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

252 Część I ♦ Podstawy języka UML 2.0

Podstawowe kategorie pojęcioweoraz notacja graficzna

Diagramy harmonogramowania dokumentują aspekt czasu interakcji. Stąd w diagra-mie harmonogramowania na osi poziomej zaznacza się skalę czasu w postaci ustalo-nych odcinków. Natomiast na osi pionowej przedstawia się poszczególne instancjeklasyfikatorów biorące udział w interakcji, a przy każdej z nich jej stany. Z zasadydiagramy harmonogramowania tworzy się po opracowaniu diagramów sekwencji lubkomunikacji. Na diagramach tych bowiem precyzyjnie wskazane są instancje klasyfi-katorów występujące w systemie, a wyszczególnienie linii życia, ośrodków sterowaniai komunikatów ułatwia ustalenie jednostek na skali czasu. W ten sposób osiąga sięharmonizację interakcji pomiędzy instancjami klasyfikatorów w układzie czasowym.Akceptowalne jest również autonomiczne podejście do tworzenia wspomnianych dia-gramów, bez uwzględniania powiązanych diagramów sekwencji czy komunikacji, napodstawie innych posiadanych specyfikacji systemu.

W podstawowej postaci diagramu harmonogramowania ilustrowane są jego podstawo-we kategorie pojęciowe (por. rysunek 9.1):

klasyfikator,

nazwa stanu,

linia zmiany stanów instancji klasyfikatora.

Pojęcie klasyfikatora wprowadzono i omówiono w rozdziale 1., podczas gdy powszech-nie stosowane rodzaje klasyfikatorów języka UML 2 wskazano w rozdziale 7.

Lista możliwych stanów jest specyficzna dla każdej instancji klasyfikatora, jednakmożna wyróżnić kilka typowych stanów (ang. states), takich jak:

bezczynność,

czuwanie,

oczekiwanie,

wykonywanie,

obliczanie.

Linia zmiany stanów (ang. timeline) może przedstawiać stany instancji klasyfikatoralub określonej, mierzalnej zmiennej — np. natężenia hałasu lub poziomów wybranegoindeksu giełdowego. Diagram harmonogramowania w odniesieniu do instancji klasyfi-katora Rezerwacja ze stanami sporządzanie, potwierdzanie, opłacanie oraz wysyłanieprzedstawia rysunek 9.1.

Page 10: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

Rozdział 9. ♦ Diagramy harmonogramowania 253

Rysunek 9.1.Diagramharmonogramowaniadla obiektu klasyRezerwacja

td Obsługa Rezerwacji

R

ezer

wac

ja

wysyłanie

opłacanie

potwierdzanie

sporządzanie

Kwadrans 0 1 2 3 4 5 6 7 8 9 10

Zaawansowane składniki diagramuPrzedstawiony na rysunku 9.1 diagram harmonogramowania jest użyteczny w dokumen-towaniu stosunkowo prostych interakcji. Istnieje jednak możliwość jego rozszerzeniao szereg zaawansowanych kategorii, takich jak:

zdarzenia,

ograniczenia czasowe,

alternatywne sposoby prezentacji stanów,

harmonizacja linii zmiany stanów dla kilku instancji klasyfikatorów biorącychudział w interakcji,

przesyłanie komunikatów.

Zdarzenia i ograniczenia czasowe

Załamanie linii zmiany stanów instancji klasyfikatora oznacza wystąpienie zdarzeniapowodującego zainicjowanie nowego stanu tej instancji. Zdarzenia w harmonogramierezerwacji przedstawia rysunek 9.2. Sprecyzowano na nim stany instancji klasyfikatoraRezerwacja i czas ich trwania poprzez określenie ograniczeń czasowych (ang. con-straints) w odniesieniu do stanów:

potwierdzanie — {<30 min},

sporządzanie — {30 min +/- 15 min},

opłacanie — {<=1 godzina}.

Jeśli skala czasu w sposób jednoznaczny określa długość trwania stanu, nie zaznaczasię ograniczeń czasowych, co zilustrowano na rysunku 9.2 dla stanu wysyłanie.

Page 11: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

254 Część I ♦ Podstawy języka UML 2.0

td Obsługa Rezerwacji

Rez

erw

acja

wysyłanie

opłacanie

potwierdzanie

sporządzanie

{< 30 min}

nadejściePotwierdzenia

{30 min +/- 15 min}

wydrukPotwierdzenia

sporządzenieFaktury

{<= 1 godzina}

Kwadrans 0 1 2 3 4 5 6 7 8 9 10 Rysunek 9.2. Diagram harmonogramowania ze zdarzeniami i ograniczeniami czasowymi

Alternatywne sposoby prezentacji stanówPoza podstawową formą prezentacji diagramów harmonogramowania istnieje alterna-tywna konwencja ich dokumentowania. Obie notacje mogą być stosowane zamienniei wzajemnie przekształcane. Diagram harmonogramowania utworzony z wykorzysta-niem alternatywnej konwencji, będący odpowiednikiem rysunku 9.2, zaprezentowanona rysunku 9.3.

td Obsługa Rezerwacji

Rez

erw

acja

{< 30 min}

potwierdzanie nadejściePotwierdzenia

{30 min +/- 15 min}

sporządzanie

wydrukPotwierdzenia

wysyłanie

{<= 1 godzina}

opłacanie

Kwadrans 0 1 2 3 4 5 6 7 8 9 10

sporządzenieFaktury

Rysunek 9.3. Alternatywna notacja diagramów harmonogramowania

Harmonizacja linii zmiany stanówW interakcji w praktyce uczestniczy kilka, kilkanaście, a w niektórych sytuacjachnawet więcej instancji klasyfikatorów. Każda z nich może przyjmować określone sta-ny. Diagramy harmonogramowania umożliwiają przedstawienie interakcji w pełnym

Page 12: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

Rozdział 9. ♦ Diagramy harmonogramowania 255

wymiarze, tzn. ze wszystkimi współpracującymi instancjami klasyfikatorów w hory-zoncie czasowym harmonogramu. W tak opracowanym diagramie harmonogramowa-nia osiąga się nie tylko specyfikację zmian stanu instancji klasyfikatora. Umożliwia onrównież przedstawienie interakcji instancji klasyfikatorów, które biorą udział w tej inte-rakcji w każdym momencie okresu, dla którego jest opracowany harmonogram. Stwarzato możliwość harmonizacji współdziałania instancji klasyfikatorów w czasie. Harmo-nizacja poszczególnych instancji klasyfikatorów i ich stanów na osi czasu może byćwłaściwie oddana wyłącznie z wykorzystaniem podstawowej notacji. Diagram na ry-sunku 9.4 jest przykładem harmonizacji instancji klasyfikatorów. Przedstawia przypa-dek rejestrowania rezerwacji w bazie danych hotelu.

td Rezerwacja Hotelowa

bezczynność

wprowadzanie

oczekiwanie

wyświetlanie

sprawdzanie danych

rezerwowanie

potwierdzanie

oczekiwanie

przetwarzanie

odpowiadanie

0 5 10 15 20 25 30 Sekunda

Baz

aDan

ych

IRez

erw

acja

Rec

epcj

onis

ta

Rysunek 9.4. Harmonogramowanie rejestrowania rezerwacji hotelowej

Przypadek rejestrowania rezerwacji w bazie danych hotelu jest elementem scenariuszawyspecyfikowanego na diagramie sekwencji przedstawionym na rysunku 7.5. W przy-padku tym występują trzy instancje klasyfikatorów:

Recepcjonista,

IRezerwacja,

BazaDanych.

Page 13: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

256 Część I ♦ Podstawy języka UML 2.0

Na wstępie instancje te są odpowiednio w stanach: bezczynności, wyświetlania orazoczekiwania. W wyniku wystąpienia konkretnego zdarzenia, tj. przyjęcia zgłoszeniaklienta, recepcjonista otwiera rezerwację. Posługuje się w tym celu wyświetlaną na ekra-nie formatką IRezerwacja. Recepcjonista wprowadza dane, których kompletność orazpoprawność formalna jest sprawdzana przez IRezerwację. Następnie realizowana jestoperacja przetwarzania danych — fakt dokonania rezerwacji pokoju albo pokoi jest od-notowywany w BazieDanych. W ramach IRezerwacji wyświetlane jest potwierdzeniedokonania rezerwacji. W efekcie zakończenia realizacji całej transakcji poszczególneinstancje klasyfikatorów przechodzą do stanów wyjściowych.

Prezentowanie stanów kilku instancji klasyfikatorów w systemie jest możliwe takżez wykorzystaniem opisanej notacji alternatywnej. Notacja ta pozwala na specyfikacjęstanów poszczególnych instancji względem czasu trwania tych stanów. Nie zawiera onajednak elementu harmonizacji poszczególnych instancji klasyfikatorów i ich stanówna osi czasu (rysunek 9.5).

15

td Rezerwacja Hotelowa

bezczy- nność wprow. oczekiwanie wprowadzanie oczekiwanie wprow. bezczynność

wyświe- tlanie

sprawdzanie danych wyświetlanie rezerwo-

wanie wyświetlanie

Baz

aDan

ych

IR

ezer

wac

ja

R

ecep

cjon

ista

oczekiwanie prze- twarz. oczekiwanie odpow. oczekiwanie

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Sekunda

odpow. prze-twarz.

potw.

Rysunek 9.5. Rejestrowanie rezerwacji w bazie danych hotelu — notacja alternatywna

Przesyłanie komunikatów

Diagramy harmonogramowania można wzbogacić o dokumentowanie interakcji w po-staci komunikatów przesyłanych między instancjami klasyfikatorów. Źródłem tej in-formacji są odpowiednie diagramy sekwencji lub komunikacji. W związku z tym nadiagramach harmonogramowania można przedstawić wszystkie rodzaje komunikatów

Page 14: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

Rozdział 9. ♦ Diagramy harmonogramowania 257

omówionych w punkcie Zaawansowane składniki diagramu z wyjątkiem komunikatuutraconego oraz znalezionego. Na podstawie diagramu harmonogramowania przed-stawionego na rysunku 9.4 wyspecyfikowano następujące komunikaty:

otwórzRezerwację,

sprawdźDostępnośćPokoi,

wprowadźDane,

dokonajRezerwacji,

potwierdźRezerwację,

zamknij.

Zostały one wprowadzone do diagramu harmonogramowania zilustrowanego na ry-sunku 9.6.

td Rezerwacja Hotelowa

bezczynność

wprowadzanie

oczekiwanie

wyświetlanie

sprawdzanie danych

rezerwowanie

potwierdzanie

Baz

aDan

ych

IRez

erw

acja

Rec

epcj

onis

ta

oczekiwanie

przetwarzanie

odpowiadanie

0 5 10 15 20 25 30 Sekunda

sprawdźDostępnośćPokoi

dokonajRezerwacji

potwierdźRezerwację

zamknij otwórzRezerwację wprowadźDane

przyjęcieZgłoszenia

zamknięcieAplikacji

Rysunek 9.6. Komunikaty na diagramach harmonogramowania

Page 15: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

258 Część I ♦ Podstawy języka UML 2.0

Diagramy sekwencji a harmonogramowanie

Pewne elementy harmonogramowania, w szczególności ograniczenia czasowe, możnaprzedstawić na diagramach sekwencji. Wprowadza się je:

nad symbolem komunikatu pomiędzy dwoma instancjami klasyfikatorów— w przypadku wskazywania czasu wykonania operacji inicjowanej przezkomunikat;

równolegle do linii życia instancji klasyfikatora pomiędzy dwoma komunikatami— w przypadku wskazywania przedziału czasowego pomiędzy tymikomunikatami.

Określanie ograniczeń czasowych w wersjach 1.x języka UML było możliwe przedewszystkim na diagramach sekwencji. Na diagramach harmonogramowania ograniczeniaprzedstawia się w sposób jawny. Jednak poważnym, technicznym utrudnieniem zapi-su wspomnianych ograniczeń na diagramie sekwencji jest stosowanie przy ich tworze-niu pełnej, obszernej składni komunikatu. W połączeniu z zapisem ograniczeń czaso-wych nadmiernie komplikuje to diagram, czyniąc go tym samym mało przejrzystym.W związku z wprowadzeniem diagramów harmonogramowania poprzednia forma zapi-su ograniczeń czasowych może mieć jedynie charakter wstępny lub uproszczony. Ogra-niczenia czasowe na diagramach sekwencji przedstawia rysunek 9.7.

Kierownik

IHarmonogram BazaDanych

inicjujNoweSpotkanie(data, uczestnicy)

{t = czasBieżący}

utwórzPołączenie {0..5s}wyświetl("Połączenie nawiązane")

{t = czasBieżący+15}

zapisz(data, uczestnicy) {0..3s}

wyświetl("Spotkanie zarejestrowane")

weryfikujPotwierdzenia(dataSpotkania)

pobierzDane(potwierdzenie) {0..3s}

wyświetl(potwierdzenie) {0..1s}

Rysunek 9.7. Ograniczenia czasowe w systemie harmonogramowania spotkań

Rysunek ten ilustruje harmonogramowanie projektów. I tak Kierownik, chcąc zaini-cjować nowe spotkanie zespołu projektowego, określa datę oraz uczestników spotka-nia z wykorzystaniem interfejsu IHarmonogram. W momencie, gdy Kierownik po-twierdzi wybór, instancja klasyfikatora IHarmonogram tworzy połączenie z BaząDanych.Zastosowane ograniczenie czasowe wskazuje, że wykonanie operacji utwórzPołącze-nie może potrwać maksymalnie 5 sekund. W momencie uzyskania połączenia na inter-fejsie IHarmonogram wyświetlane jest stosowne potwierdzenie. Następnie realizowanajest operacja zapisz. Jej wykonanie powoduje zapisanie w BazieDanych daty spotkania

Page 16: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

Rozdział 9. ♦ Diagramy harmonogramowania 259

i jego składu osobowego, wcześniej określonego przez Kierownika. Limit czasu wy-konania wspomnianej operacji wynosi 3 sekundy. Z kolei pomiędzy wywołaniem ope-racji utwórzPołączenie oraz zapisz upływa w systemie 15 sekund.

Po zapisaniu danych wyświetlane jest potwierdzenie zarejestrowania spotkania. Asyn-chronicznie w stosunku do inicjowania przez siebie nowych spotkań, Kierownik możeweryfikować potwierdzenia obecności uczestników na innych spotkaniach projekto-wych. W tym celu Kierownik określa konkretną datę spotkania. Następnie IHarmono-gram pobiera potwierdzenia zarejestrowane tego dnia. W efekcie realizowana jest ope-racja wyświetl, udostępniająca Kierownikowi potwierdzenia poszczególnych uczestnikówspotkań projektowych. Na wyświetlenie potwierdzeń przewidziano 1 sekundę.

Proces tworzeniadiagramu harmonogramowania

Informacje przedstawiane na diagramach harmonogramowania są w znacznej mierzepochodną kategorii pojęciowych diagramów sekwencji, komunikacji oraz diagramówmaszyny stanowej. Stąd w procesie tworzenia diagramów harmonogramowania wyko-rzystywane mogą być inne diagramy języka UML. Kluczowymi etapami tego procesu są:

1. identyfikacja interakcji udokumentowanej diagramem sekwencji lub diagramemkomunikacji,

2. przeniesienie lub dobór klasyfikatorów,

3. identyfikacja stanów każdej instancji klasyfikatora z wykorzystaniemdiagramów maszyny stanowej,

4. ustalenie horyzontu czasowego diagramu,

5. wyspecyfikowanie linii zmiany stanu instancji klasyfikatorów,

6. wprowadzenie ograniczeń czasowych dla poszczególnych stanów instancjiklasyfikatora,

7. nazwanie i wprowadzenie odpowiednich zdarzeń na podstawie diagramówmaszyny stanowej,

8. harmonizacja linii zmiany stanu wszystkich instancji klasyfikatorów interakcjiprezentowanych na diagramie,

9. przeniesienie lub wprowadzenie komunikatów przesyłanych pomiędzyinstancjami klasyfikatorów uczestniczącymi w interakcji.

Ze względu na wykorzystywanie w procesie tworzenia diagramów harmonogramowa-nia szeregu kategorii pojęciowych innych diagramów, bardzo istotne jest zachowy-wanie spójności pomiędzy nimi. Proces tworzenia diagramów harmonogramowaniapodlega regułom iteracyjno-przyrostowego cyklu życia systemu.

Page 17: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

260 Część I ♦ Podstawy języka UML 2.0

Podstawowe pojęciaDiagram harmonogramowania Harmonizacja

Definicja Interakcja

Klasyfikator Iteracja

Linia zmiany stanów Komunikat

Nazwa stanu Przesyłanie

Notacja Asynchroniczny

Klasyczna Oczekujący

Alternatywna Opcjonalny

Proces tworzenia Synchroniczny

Diagram komunikacji Zwrotny

Izomorfizm Ograniczenie czasowe

Stan Skala czasu

Bezczynność Stan

Czuwanie System

Obliczanie Czasu rzeczywistego

Oczekiwanie Wbudowany

Wykonywanie Warunek

Diagram maszyny stanowej Zdarzenie

Diagram sekwencji

Ośrodek sterowania

Linia życia

Pytania i zadania 1. Wyjaśnij zależności pomiędzy poszczególnymi diagramami interakcji.

2. Uzasadnij potrzebę sporządzania harmonogramów interakcji.

3. Jakie rodzaje diagramów języka UML można uznać za źródłowe dla diagramówharmonogramowania? Wyjaśnij dlaczego.

4. Wymień przykłady instancji klasyfikatorów, których stany mogą byćodzwierciedlane na diagramie harmonogramowania. Wskaż typowe stanydla każdego z nich.

Page 18: SPIS TREŒCI systemów informatycznych · 2011. 12. 10. · Przypadek użycia ... Diagram kontekstowy ..... 50 Dokumentacja przypadków użycia ... 252 Część I ♦ Podstawy języka

Rozdział 9. ♦ Diagramy harmonogramowania 261

5. Czym jest linia zmiany stanu instancji klasyfikatora? Co oznaczają jejzałamania?

6. Opierając się na diagramach 7.24 oraz 5.13, sporządź diagramharmonogramowania opisujący funkcjonowanie:

Licytacji,

Egzaminu.

7. Jakich aspektów dotyczą zaawansowane kategorie pojęciowe diagramówharmonogramowania?

8. Na diagramie harmonogramowania instancji klasyfikatora Licytacja (pytanie 6.)zaznacz i nazwij zdarzenia.

9. Uzupełnij tak sporządzony diagram o ograniczenia czasowe. Przekształćstosowaną na nim notację w alternatywną.

10. W jakim celu stosuje się harmonizację? Jakie warunki muszą być spełnione,aby zaprezentowanie harmonizacji na diagramie było możliwe?

11. Opierając się na rysunku 7.17, sporządź diagram harmonogramowania.Obligatoryjnie uwzględnij komunikaty.

12. Odwołaj się do strony internetowej www.bankier.pl. Wybierz produktyfinansowe o notowaniach skokowych. Na ich podstawie opracuj stosownydiagram harmonogramowania.

13. Porównaj użyteczność i przejrzystość zapisu ograniczeń czasowychna diagramach harmonogramowania i diagramach sekwencji. Zilustruj wnioskigraficznie, korzystając z diagramu zamieszczonego na rysunku 9.2.

14. Jak przebiega proces tworzenia diagramów harmonogramowania? Uzasadnijjego poszczególne etapy.