Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00301 007778 11009306 na godz. na dobę w sumie
UML dla każdego - książka
UML dla każdego - książka
Autor: Liczba stron: 376
Wydawca: Helion Język publikacji: polski
ISBN: 83-7361-107-X Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> uml - programowanie
Porównaj ceny (książka, ebook, audiobook).
UML jest jednym z najbardziej ekscytujących narzędzi do tworzenia obiektowo zorientowanych systemów. Jest to język modelowania wizualnego, pozwalający budowniczym systemów na tworzenie planów, w których ich wizje zostaną uchwycone i wyrażone w standardowy, łatwy do zrozumienia sposób. UML dostarcza też mechanizmy ułatwiające efektywną wymianę informacji i przekazywanie projektów innym.

Podczas 24 sesji zawartych w książce 'UML dla każdego' nauczysz się tworzenia diagramów za pomocą zunifikowanego języka modelowania. Proste wyjaśnienia i metoda prowadzenia za rękę krok po kroku w każdym rozdziale, pozwalają na poznanie podstaw tego języka i zrozumienie jego zastosowań.

Poznasz:

Autor Joseph Schmuller, ekspert w tej dziedzinie, tłumaczy UML-a za pomocą odpowiednio dobranych i interesujących przykładów. Dzięki tej książce w szybkim tempie opanujesz sztukę operowania językiem UML i przekonasz się, jak bardzo porządkuje on proces projektowania oprogramowania.
Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI UML dla ka¿dego KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Autor: Joseph Schmuller T³umaczenie: Krzysztof Mas³owski ISBN: 83-7361-107-X Tytu³ orygina³u: Teach Yourself UML in 24 Hours Format: B5, stron: 372 UML jest jednym z najbardziej ekscytuj¹cych narzêdzi do tworzenia obiektowo zorientowanych systemów. Jest to jêzyk modelowania wizualnego, pozwalaj¹cy budowniczym systemów na tworzenie planów, w których ich wizje zostan¹ uchwycone i wyra¿one w standardowy, ³atwy do zrozumienia sposób. UML dostarcza te¿ mechanizmy u³atwiaj¹ce efektywn¹ wymianê informacji i przekazywanie projektów innym. Podczas 24 sesji zawartych w ksi¹¿ce „UML dla ka¿dego” nauczysz siê tworzenia diagramów za pomoc¹ zunifikowanego jêzyka modelowania. Proste wyjaġnienia i metoda prowadzenia za rêkê krok po kroku w ka¿dym rozdziale, pozwalaj¹ na poznanie podstaw tego jêzyka i zrozumienie jego zastosowañ. Poznasz: • Podstawy projektowania obiektowego, zwi¹zki UML-a z projektowaniem obiektowym • Powi¹zania, agregacje, agregacje ca³kowite, interfejsy i realizacje • Przypadki u¿ycia i diagramy przypadków u¿ycia • Diagramy: stanów, przebiegu, kooperacji, czynnoġci, komponentów, wdro¿enia • Tworzenie systemów za pomoc¹ UML-a • Studium przypadku, pokazuj¹ce kolejne etapy tworzenia z³o¿onego systemu • Przysz³oġæ i rozszerzenia jêzyka UML Autor Joseph Schmuller, ekspert w tej dziedzinie, t³umaczy UML-a za pomoc¹ odpowiednio dobranych i interesuj¹cych przyk³adów. Dziêki tej ksi¹¿ce w szybkim tempie opanujesz sztukê operowania jêzykiem UML i przekonasz siê, jak bardzo porz¹dkuje on proces projektowania oprogramowania. Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Spis treści O Autorze ......................................................................................... 15 Wstęp .............................................................................................. 17 Część I Zaczynamy ...................................................c................... 19 Rozdział 1. Co to jest UML ................................................................................. 21 Dodanie metody do szaleństwa ...................................................t.............................22 Jak się narodził UML...................................................t...........................................23 Komponenty UML-a...................................................t............................................24 Diagram klas ...................................................t.................................................24 Diagram obiektów...................................................t..........................................25 Diagram przypadków użycia ...................................................t...........................26 Diagram stanów...................................................t.............................................26 Diagram przebiegu...................................................t.........................................27 Diagram czynności...................................................t.........................................27 Diagram kooperacji ...................................................t........................................28 Diagram komponentów ...................................................t..................................29 Diagram wdrożenia ...................................................t........................................29 Kilka innych składników ...................................................t......................................29 Pakiety...................................................t...................................................t.......29 Notatki...................................................t...................................................t.......30 Stereotypy...................................................t...................................................t..30 Po co tyle różnych diagramów?...................................................t.............................31 Podsumowanie ...................................................t...................................................t.31 Warsztaty...................................................t...................................................t.........31 Test...................................................t...................................................t...........32 Ćwiczenia ...................................................t...................................................t..32 Rozdział 2. Co to jest obiektowość ..................................................................... 33 Obiekty, obiekty, wszędzie obiekty...................................................t........................34 Kilka pojęć...................................................t...................................................t.......35 Abstrakcja ...................................................t...................................................t..35 Dziedziczenie ...................................................t................................................36 Polimorfizm ...................................................t..................................................37 Kapsułkowanie (hermetyzacja)...................................................t........................38 Wysyłanie komunikatów...................................................t.................................39 Powiązania ...................................................t...................................................t.39 Agregacja...................................................t...................................................t...41 6 UML dla każdego Korzyści ...................................................t...................................................t..........43 Podsumowanie ...................................................t...................................................t.43 Warsztaty...................................................t...................................................t.........44 Test...................................................t...................................................t...........44 Rozdział 3. UML i obiektowość ........................................................................... 45 Wizualizacja klas ...................................................t.................................................45 Atrybuty ...................................................t...................................................t..........46 Operacje ...................................................t...................................................t..........47 Atrybuty, operacje i wizualizacja...................................................t...........................48 Zobowiązania i ograniczenia...................................................t.................................50 Dołączone notatki ...................................................t................................................51 Klasy — do czego służą i gdzie ich szukać...................................................t.............51 Podsumowanie ...................................................t...................................................t.53 Warsztaty...................................................t...................................................t.........54 Test...................................................t...................................................t...........54 Ćwiczenia ...................................................t...................................................t..54 Rozdział 4. Związki............................................................................................. 55 Powiązania...................................................t...................................................t.......55 Ograniczenia powiązań...................................................t...................................57 Klasy powiązań...................................................t..............................................57 Wiązania ...................................................t...................................................t....58 Liczebność ...................................................t...................................................t.......58 Powiązania kwalifikowane...................................................t....................................60 Powiązanie zwrotne ...................................................t.............................................60 Dziedziczenie i uogólnienie ...................................................t..................................61 Poznawanie dziedziczenia...................................................t...............................62 Klasy abstrakcyjne ...................................................t.........................................62 Zależności...................................................t...................................................t........63 Podsumowanie ...................................................t...................................................t.64 Warsztaty...................................................t...................................................t.........64 Test...................................................t...................................................t...........65 Ćwiczenia ...................................................t...................................................t..65 Rozdział 5. Agregacje, agregacje całkowite, interfejsy i realizacje ...................... 67 Agregacje...................................................t...................................................t.........67 Ograniczenia agregacji ...................................................t...................................68 Agregacje całkowite...................................................t.............................................69 Otoczenia...................................................t...................................................t.........69 Interfejsy i realizacje ...................................................t............................................71 Widoczność...................................................t...................................................t72 Zasięg ...................................................t...................................................t........73 Podsumowanie ...................................................t...................................................t.73 Warsztaty...................................................t...................................................t.........74 Test...................................................t...................................................t...........74 Ćwiczenia ...................................................t...................................................t..74 Rozdział 6. Informacje wstępne o przypadkach użycia......................................... 75 Przypadki użycia — co to takiego? ...................................................t........................76 Przypadki użycia — dlaczego są ważne?...................................................t................76 Przykład: automat do sprzedaży napojów gazowanych...............................................77 Przypadek użycia „Kup napój”...................................................t........................77 Dodatkowy przypadek użycia ...................................................t.........................78 Spis treści 7 Zawieranie przypadków użycia ...................................................t.............................79 Rozszerzanie przypadków użycia ...................................................t..........................80 Rozpoczęcie analizy przypadków użycia...................................................t................80 Podsumowanie ...................................................t...................................................t.81 Warsztaty...................................................t...................................................t.........81 Test...................................................t...................................................t...........81 Ćwiczenia ...................................................t...................................................t..82 Rozdział 7. Diagramy przypadków użycia ............................................................. 83 Prezentacja modelu przypadków użycia ...................................................t.................84 Wracamy do przypadku automatu do sprzedaży napojów gazowanych...................84 Śledzenie kroków scenariuszy...................................................t.........................84 Związki między przypadkami użycia ...................................................t.....................86 Zawieranie ...................................................t...................................................t.86 Rozszerzenie ...................................................t.................................................86 Uogólnienie...................................................t...................................................t88 Grupowanie...................................................t...................................................t88 Stosowanie przypadków użycia w procesie analizy ...................................................t.89 Stosowanie modeli przypadków użycia — przykład...................................................t89 Poznanie domeny...................................................t...........................................89 Zrozumienie użytkowników ...................................................t............................90 Zrozumienie przypadków użycia ...................................................t.....................90 Drążąc w głąb...................................................t................................................91 Remanent rzeczy poznanych...................................................t.................................93 Elementy strukturalne...................................................t.....................................94 Związki...................................................t...................................................t......94 Grupowanie...................................................t...................................................t94 Przypisy...................................................t...................................................t.....95 Rozszerzenie ...................................................t.................................................95 I inne ...................................................t...................................................t.........95 Obraz ogólny...................................................t...................................................t....95 Podsumowanie ...................................................t...................................................t.96 Warsztaty...................................................t...................................................t.........96 Test...................................................t...................................................t...........96 Ćwiczenia ...................................................t...................................................t..97 Rozdział 8. Diagramy stanów .............................................................................. 99 Diagram stanów...................................................t.................................................100 Zestaw symboli...................................................t............................................100 Podawanie szczegółów w ikonie stanu ...................................................t...........101 Dodawanie szczegółów transmisji — zdarzenia i akcje.......................................101 Dodawanie szczegółów transmisji — warunki dozoru ........................................103 Podstany...................................................t...................................................t........103 Podstany sekwencyjne...................................................t..................................104 Podstany współbieżne ...................................................t..................................104 Stany wznowienia ...................................................t..............................................105 Komunikaty i sygnały ...................................................t........................................106 Znaczenie diagramów stanów ...................................................t.............................107 Obraz ogólny UML-a ...................................................t.........................................108 Podsumowanie ...................................................t..................................................109 Warsztaty...................................................t...................................................t.......109 Test...................................................t...................................................t.........109 Ćwiczenia ...................................................t...................................................t110 8 UML dla każdego Rozdział 9. Diagramy przebiegu......................................................................... 111 Co to jest diagram przebiegu? ...................................................t.............................111 Obiekty...................................................t...................................................t....112 Komunikaty...................................................t.................................................112 Czas ...................................................t...................................................t........112 GUI...................................................t...................................................t...............113 Kolejność ...................................................t...................................................t.113 Pokazanie kolejności na diagramie przebiegu ...................................................t.114 Przypadek użycia ...................................................t.........................................114 Automat do sprzedaży napojów — diagramy przebiegu: egzemplarzowy i ogólny ......115 Egzemplarzowy diagram przebiegu ...................................................t...............116 Ogólny diagram przebiegu...................................................t............................116 Tworzenie obiektów podczas przebiegu ...................................................t...............119 Rekurencja...................................................t...................................................t.....121 Obraz ogólny UML-a ...................................................t.........................................121 Podsumowanie ...................................................t..................................................121 Warsztaty...................................................t...................................................t.......123 Test...................................................t...................................................t.........123 Ćwiczenia ...................................................t...................................................t123 Rozdział 10. Diagramy kooperacji ....................................................................... 125 Co to jest diagram kooperacji? ...................................................t............................126 GUI...................................................t...................................................t...............126 Zmiany stanu...................................................t...............................................127 Automat do sprzedaży napojów ...................................................t..........................128 Tworzenie obiektów...................................................t...........................................129 Kilka dodatkowych koncepcji ...................................................t.............................131 Obiekty wielokrotne ...................................................t.....................................131 Zwracanie wyniku...................................................t........................................131 Obiekty aktywne...................................................t..........................................132 Synchronizacja ...................................................t............................................132 Obraz ogólny UML-a ...................................................t.........................................133 Podsumowanie ...................................................t..................................................133 Warsztaty...................................................t...................................................t.......134 Test...................................................t...................................................t.........135 Ćwiczenia ...................................................t...................................................t135 Rozdział 11. Diagramy czynności ........................................................................ 137 Co to jest diagram czynności? ...................................................t.............................137 Decyzje...................................................t...................................................t....138 Ścieżki współbieżne (rozwidlone)...................................................t..................139 Sygnały...................................................t...................................................t....140 Stosowanie diagramów czynności ...................................................t.......................140 Operacja: wyrazy ciągu Fibonacciego ...................................................t............140 Proces: tworzenie dokumentu...................................................t........................141 Tory...................................................t...................................................t..............143 Diagramy hybrydowe...................................................t.........................................143 Obraz ogólny UML-a ...................................................t.........................................144 Podsumowanie ...................................................t..................................................145 Warsztaty...................................................t...................................................t.......146 Test...................................................t...................................................t.........147 Ćwiczenia ...................................................t...................................................t147 Spis treści 9 Rozdział 12. Diagramy komponentów.................................................................. 149 Co to jest komponent?...................................................t........................................149 Komponenty i interfejsy ...................................................t.....................................150 Zastępstwo i wielokrotne użycie ...................................................t....................151 Rodzaje komponentów...................................................t.......................................151 Co to jest diagram komponentów?...................................................t.......................152 Reprezentacja komponentu...................................................t...........................152 Sposoby przedstawiania interfejsów...................................................t...............153 Zastosowanie diagramów komponentów ...................................................t..............154 Strona WWW z apletem Java...................................................t........................154 Strona WWW z kontrolkami ActiveX ...................................................t............155 PowerToys...................................................t..................................................156 Diagramy komponentów w ogólnym obrazie UML-a ...............................................157 Podsumowanie ...................................................t..................................................158 Warsztaty...................................................t...................................................t.......159 Test...................................................t...................................................t.........159 Ćwiczenia ...................................................t...................................................t159 Rozdział 13. Diagramy wdrożenia ........................................................................ 161 Czym jest diagram wdrożenia?...................................................t............................161 Stosowanie diagramów wdrożenia...................................................t.......................163 Domowy system komputerowy...................................................t.....................163 Sieć token-ring...................................................t.............................................164 Sieć ARCnet..................................................t.................................................164 Cienki Ethernet...................................................t............................................166 Sieć bezprzewodowa Metricom Ricochet ...................................................t.......167 Diagramy wdrożenia w ogólnym obrazie UML-a...................................................t..168 Podsumowanie ...................................................t..................................................168 Warsztaty...................................................t...................................................t.......169 Test...................................................t...................................................t.........169 Ćwiczenia ...................................................t...................................................t169 Rozdział 14. Podstawowe koncepcje UML-a ........................................................ 171 Struktura UML...................................................t..................................................172 Spojrzenie z bliska na warstwę metamodelu...................................................t.........173 Pakiet Podstawy ...................................................t..........................................174 Pakiet Elementy zachowania ...................................................t.........................175 Pakiet Model zarządzania ...................................................t.............................176 Rozszerzanie UML-a ...................................................t.........................................176 Stereotypy...................................................t...................................................t......177 Zależność ...................................................t...................................................t.177 Klasyfikator...................................................t.................................................178 Klasa ...................................................t...................................................t.......178 Uogólnienie...................................................t.................................................178 Pakiety...................................................t...................................................t.....179 Komponent ...................................................t.................................................179 Kilka dodatkowych stereotypów...................................................t....................179 Stereotypy graficzne...................................................t.....................................179 Ograniczenia ...................................................t...................................................t..180 Metki...................................................t...................................................t.............181 Podsumowanie ...................................................t..................................................181 Warsztaty...................................................t...................................................t.......182 Test...................................................t...................................................t.........182 10 UML dla każdego Rozdział 15. UML jako narzędzie tworzenia systemów ........................................ 183 Metodologie: stara i nowa...................................................t...................................184 Stara metoda ...................................................t...............................................184 Nowa metoda ...................................................t..............................................185 Co trzeba zrobić podczas tworzenia oprogramowania? .............................................185 GRAPPLE...................................................t...................................................t.....187 RAD3: struktura GRAPPLE...................................................t................................187 Zbieranie wymagań...................................................t......................................188 Analiza ...................................................t...................................................t....191 Projekt...................................................t...................................................t.....192 Budowa kodu ...................................................t..............................................193 Wdrożenie...................................................t...................................................t194 Spojrzenie wstecz na GRAPPLE...................................................t.........................195 Podsumowanie ...................................................t..................................................195 Warsztaty...................................................t...................................................t.......196 Test...................................................t...................................................t.........196 Część II Studium przypadku ...................................................c..... 197 Rozdział 16. Studium przypadku — informacje wstępne...................................... 199 GRAPPLE-owanie problemu...................................................t..............................200 Poznanie procesów biznesowych...................................................t.........................200 Obsługa klienta ...................................................t............................................201 Przygotowanie posiłku...................................................t..................................206 Sprzątanie stołu...................................................t............................................208 Czego się nauczyliście? ...................................................t......................................210 Podsumowanie ...................................................t..................................................212 Warsztaty...................................................t...................................................t.......212 Test...................................................t...................................................t.........213 Ćwiczenia ...................................................t...................................................t213 Rozdział 17. Analiza domeny............................................................................... 215 Analiza wywiadu dotyczącego procesów biznesowych.............................................215 Tworzenie wstępnego diagramu klas...................................................t....................217 Grupowanie klas ...................................................t................................................217 Tworzenie powiązań ...................................................t..........................................219 Powiązania z klientem ...................................................t..................................219 Powiązania z kelnerem ...................................................t.................................223 Powiązania z szefem kuchni...................................................t..........................225 Powiązania z sprzątaczem..................................................t..............................225 Powiązania menadżera ...................................................t.................................225 Dygresja...................................................t...................................................t...226 Tworzenie agregacji i agregacji całkowitych ...................................................t........227 Wypełnianie klas ...................................................t...............................................227 Klient..................................................t...................................................t........227 Pracownik...................................................t...................................................t229 Rachunek...................................................t...................................................t.230 Ogólne zagadnienia modelowania ...................................................t.......................231 Słownik modelu...................................................t...........................................231 Organizacja diagramu...................................................t...................................231 Przerobiony materiał ...................................................t..........................................231 Podsumowanie ...................................................t..................................................232 Warsztaty...................................................t...................................................t.......232 Test...................................................t...................................................t.........232 Ćwiczenia ...................................................t...................................................t233 Spis treści 11 Rozdział 18. Poznawanie wymagań systemu ....................................................... 235 Tworzenie wizji ...................................................t.................................................237 Zanim zaczniemy zbierać wymagania systemu ...................................................t.....244 Sesja JAD poświęcona wymaganiom systemu ...................................................t......245 Rezultaty...................................................t...................................................t........248 Co dalej?...................................................t...................................................t........251 Podsumowanie ...................................................t..................................................251 Warsztaty...................................................t...................................................t.......251 Test...................................................t...................................................t.........251 Ćwiczenie ...................................................t...................................................t251 Rozdział 19. Praca nad przypadkami użycia......................................................... 253 Efektywne wykorzystanie przypadków użycia...................................................t......254 Analiza przypadku użycia...................................................t...................................254 Pakiet Kelner...................................................t...................................................t..255 Przyjmij zamówienie ...................................................t....................................256 Przekaż zamówienie do kuchni...................................................t......................256 Zmień zamówienie ...................................................t.......................................257 Śledź stan realizacji zamówienia...................................................t....................258 Informuj szefa o statusie klientów...................................................t..................259 Wystaw rachunek ...................................................t........................................260 Drukuj rachunek ...................................................t..........................................261 Wezwij pomocnika...................................................t.......................................262 Pozostałe przypadki użycia ...................................................t...........................263 Komponenty systemu...................................................t.........................................263 Podsumowanie ...................................................t..................................................264 Warsztaty...................................................t...................................................t.......264 Test...................................................t...................................................t.........264 Ćwiczenia ...................................................t...................................................t264 Rozdział 20. Poznawanie interakcji i zmian stanu ............................................... 265 Robocze części systemu ...................................................t.....................................265 Pakiet Kelner...................................................t...............................................266 Pakiet SzefKuchni...................................................t........................................266 Pakiet Sprzątacz ...................................................t..........................................267 Pakiet Pomocnik Kelnera...................................................t..............................267 Pakiet Pomocnik Szefa Kuchni...................................................t......................267 Pakiet Barman...................................................t.............................................267 Pakiet Szatniarz ...................................................t...........................................268 Interakcje występujące w systemie ...................................................t......................268 Przyjmij zamówienie ...................................................t....................................268 Zmień zamówienie ...................................................t.......................................271 Śledź stan realizacji zamówienia...................................................t....................272 Implikacje ...................................................t...................................................t......273 Podsumowanie ...................................................t..................................................274 Warsztaty...................................................t...................................................t.......274 Test...................................................t...................................................t.........275 Ćwiczenia ...................................................t...................................................t275 Rozdział 21. Ogólne spojrzenie na projektowanie i wdrażanie.............................. 277 Kilka ogólnych zasad projektowania GUI ...................................................t............277 Sesja JAD poświęcona GUI...................................................t................................280 Od przypadków użycia do interfejsów użytkownika.................................................281 Diagramy UML-owe projektowanych GUI ...................................................t..........283 12 UML dla każdego Planowanie wdrażania systemu ...................................................t...........................284 Sieć ...................................................t...................................................t.........284 Węzły i diagram wdrożenia...................................................t...........................285 Następne kroki…...................................................t...............................................286 …i kilka słów od zleceniodawcy ...................................................t.........................287 Zwiększanie zdolności sprzedaży ...................................................t..................287 Ekspansja restauracyjnego imperium ...................................................t.............288 Podsumowanie ...................................................t..................................................289 Warsztaty...................................................t...................................................t.......290 Test...................................................t...................................................t.........290 Ćwiczenia ...................................................t...................................................t290 Rozdział 22. Wzorce projektowe ......................................................................... 291 Parametryzacja...................................................t..................................................291 Wzorce projektowe...................................................t............................................293 Łańcuch odpowiedzialności ...................................................t................................294 Łańcuch odpowiedzialności: domena restauracji ................................................ 295 Łańcuch odpowiedzialności: Modele zdarzeń przeglądarki sieciowej................... 297 Nasze własne wzorce projektowe ...................................................t........................298 Korzyści ze stosowania wzorców ...................................................t........................300 Podsumowanie ...................................................t..................................................300 Warsztaty...................................................t...................................................t.......301 Test...................................................t...................................................t.........301 Ćwiczenia ...................................................t...................................................t301 Część III Spojrzenie w przyszłość ................................................. 303 Rozdział 23. Modelowanie systemów wbudowanych ........................................... 305 Potrzeba jest matką wynalazków ...................................................t.........................306 Narodziny PoprawiaczaChwytu ...................................................t..........................307 Czym jest system wbudowany?...................................................t...........................309 Pojęcia dotyczące systemów wbudowanych...................................................t.........309 Czas ...................................................t...................................................t........310 Wątki...................................................t...................................................t.......310 Przerwania ...................................................t..................................................310 System operacyjny...................................................t.......................................311 Modelowanie PoprawiaczaChwytu...................................................t......................313 Klasy ...................................................t...................................................t.......314 Przypadki użycia...................................................t..........................................315 Interakcje ...................................................t...................................................t.316 Ogólne zmiany stanu...................................................t....................................317 Wdrożenie...................................................t...................................................t318 Poprawianie muskułów...................................................t.......................................318 Podsumowanie ...................................................t..................................................319 Warsztaty...................................................t...................................................t.......320 Test...................................................t...................................................t.........320 Ćwiczenia ...................................................t...................................................t320 Rozdział 24. Co dalej z UML-em? ........................................................................ 321 Rozszerzenia dla biznesu...................................................t....................................321 Nauki płynące z rozszerzeń biznesowych...................................................t.............323 Interfejsy graficzne użytkownika...................................................t.........................323 Połączenie z przypadkami użycia...................................................t...................323 Modelowanie GUI ...................................................t.......................................324 Spis treści 13 Systemy ekspertowe ...................................................t..........................................325 Komponenty systemu ekspertowego...................................................t..............325 Przykład...................................................t...................................................t...327 Modelowanie bazy wiedzy...................................................t............................328 Aplikacje sieci WWW...................................................t........................................331 To już wszystko ...................................................t................................................333 Podsumowanie ...................................................t..................................................333 Warsztaty...................................................t...................................................t.......334 Test...................................................t...................................................t.........334 Ćwiczenia ...................................................t...................................................t334 Dodatki...................................................c....................................... 335 Dodatek A Rozwiązania testów ........................................................................ 337 Dodatek B Narzędzia modelowania w UML-u ..................................................... 349 Cechy wspólne ...................................................t..................................................349 Rational Rose ...................................................t...................................................t.350 Select Enterprise ...................................................t................................................352 Visual UML...................................................t...................................................t...354 Idealne narzędzie do tworzenia modeli...................................................t.................355 Dodatek C Podsumowanie w rysunkach............................................................ 357 Diagram czynności...................................................t.............................................357 Diagram klas ...................................................t...................................................t..358 Diagram kooperacji...................................................t............................................359 Diagram komponentów ...................................................t......................................360 Diagram wdrożenia ...................................................t............................................360 Diagram przebiegu...................................................t.............................................360 Diagram stanów...................................................t.................................................361 Diagram przypadków użycia...................................................t...............................361 Skorowidz....................................................................................... 363 Rozdział 1. Co to jest UML UML (ang. Unified Modeling Language — zunifikowany język modelowania) jest jednym z najbardziej ekscytujących narzędzi do tworzenia obiektowo zorientowanych systemów. Dlaczego? Ponieważ UML jest językiem modelowania wizualnego, po- zwalającym budowniczym systemów na tworzenie planów, na których ich wizje zo- stają uchwycone i wyrażone w standardowy, łatwy do zrozumienia sposób. Dostarcza też mechanizmów ułatwiających efektywną wymianę informacji i przekazywanie pro- jektów innym. W tym rozdziale dowiemy się:  dlaczego UML jest nieodzowny,  jak powstał UML,  czym są diagramy UML-a,  dlaczego ważne jest stosowanie kilku rodzajów diagramów. Najważniejsze jest przekazanie wizji innym. Przed pojawieniem się UML-a rozwój systemów był zawsze mniej lub bardziej udaną próbą trafienia do celu. Analitycy systemowi starali się ocenić potrzeby klientów, następnie tworzyli analizę wymagań i warunków zapisaną w notacji jasnej dla nich, ale nie zawsze zrozumiałej dla klien- tów. Przekazywali tę analizę zespołowi programistów i mieli nadzieję, że produktem końcowym będzie system, którego klient oczekiwał. Kilka pojęć: W tej książce przez system rozumiemy taką kombinację oprogramowania i sprzętu, która jest rozwiązaniem problemu biznesowego. Budowanie systemu to tworzenie systemu dla klienta, czyli osoby, która ma problem do rozwiązania. Analityk tworzy dokumentację pro- blemu klienta i przedstawia ją deweloperom, czyli programistom, którzy tworzą oprogramo- wanie rozwiązujące problem i wdrażają je do użytku na sprzęcie komputerowym. Ponieważ budowanie systemu jest dziełem ludzi, na każdym etapie działania istnieje potencjalne niebezpieczeństwo powstania błędu. Analitycy mogą źle zrozumieć klienta 22 Część I ♦ Zaczynamy lub stworzyć dokument, którego klient nie będzie w stanie pojąć. Wynik pracy anali- tyków może nie być jasny dla programistów, którzy z kolei mogą stworzyć program trudny do obsługi i nierozwiązujący rzeczywistego problemu klienta. Cóż więc dziwnego, że większość działających od dawna systemów jest źle skonstru- owana i trudna do użycia? Dodanie metody do szaleństwa We wczesnym okresie komputeryzacji nieliczni wówczas programiści polegali na ręcznej analizie problemów. Jeżeli w ogóle coś analizowali, robili to zwykle na dru- giej stronie serwetki śniadaniowej. Zwykle pisali programy jednym ciągiem, tworząc kod w miarę poznawania problemu. Miało to swą romantyczną atmosferę i śmiałość spojrzenia, ale całkowicie nie pasowało do obecnego, stawiającego wysokie wymaga- nia, świata biznesu. Dzisiaj dobrze przemyślany plan to podstawa. Klient musi rozumieć, co robi grupa tworząca oprogramowanie, i musi umieć wskazać, w którym miejscu realizujący za- mówienie nie w pełni zrozumieli jego potrzeby (może to być także konieczne, gdy klient zmienił swoje żądania). Ponadto tworzenie systemu jest wysiłkiem grupowym, więc każdy członek grupy musi wiedzieć, którą część całości tworzy (i jak wielka jest ta całość). W miarę jak świat staje się coraz bardziej skomplikowany, systemy będące częścią tego świata i korzystające z komputerów również stają się bardziej skomplikowane. W skład takich systemów wchodzi często wiele elementów sprzętowych, różnych programów, sieci rozciągnięte na duże odległości, połączenia z bazami danych, w których zostały zmagazynowane całe góry informacji. Jeżeli chcecie, aby Wasze systemy sprawnie i skutecznie działały, musicie się pogodzić z tym, że są one skomplikowane. Kluczem do osiągnięcia sukcesu jest odpowiednie zorganizowanie procesu projekto- wania, by analitycy, klienci i programiści zaangażowani w tworzenie systemu rozu- mieli się nawzajem i potrafili się pogodzić. UML zapewnia taką organizację. Tak jak nie można zbudować skomplikowanej struktury biurowca bez wcześniejszego nakreślenia szczegółowego rysunku technicznego, tak bez stworzenia szczegółowego projektu nie można stworzyć systemu, który ma w tym biurowcu funkcjonować. Jego plan musi być tak czytelny dla klienta jak projekt architektoniczny dla zleceniodawcy budowy. Musi on być rezultatem szczegółowej analizy potrzeb klienta. Krótkie terminy wykonania są kolejnym problemem, z którym należy sobie radzić przy tworzeniu współczesnych systemów. Jeżeli terminy „depczą sobie po piętach”, solidne projektowanie jest absolutną koniecznością. Kolejnym aspektem współczesnego życia wymagającym porządnego projektowania są przejęcia firm. Jeżeli jedna firma przejmuje inną, może dokonać ważnych zmian we właśnie realizowanym projekcie (zmienić narzędzia implementacyjne, język ko- Rozdział 1. ♦ Co to jest UML 23 dowania i wiele innych rzeczy). Dobrze skonstruowany plan będzie „odporny na uszkodzenia” i ułatwi dokonywanie niezbędnych poprawek. Jeżeli jest solidny, zmia- ny implementacyjne przebiegną gładko. Potrzeba solidnego projektowania zrodziła potrzebę istnienia notacji, którą analitycy, twórcy oprogramowania i klienci zaakceptują jako standardową — tak jak została powszechnie zaakceptowana inżynierska notacja używana przy kreśleniu diagramów obwodów elektronicznych oraz notacja diagramów Feynmana powszechnie przyjęta przez fizyków. UML jest taką notacją. Jak się narodził UML UML został wymyślony przez Grady’ego Boocha, Jamesa Rumbaugha i Ivara Jacob- sona. Ci trzej dżentelmeni, nazwani „Three Amigos”1, w latach 80 i 90 XX wieku pracowali w trzech różnych organizacjach, niezależnie rozwijając własne metodologie obiektowo zorientowanej analizy i projektowania. Ich osiągnięcia przewyższyły jako- ścią dzieła licznych współzawodników. W połowie lat 90 zaczęli od siebie nawzajem pożyczać pomysły, aż wreszcie zdecydowali się połączyć swoje wysiłki. Rozdział 2 „Co to jest obiektowość” i rozdział 4 „Związki” dotyczą spraw obiekto- wości. W naszej książce te koncepcje odgrywają podstawową rolę. W roku 1994 Rumbaugh przeniósł się do Rational Software Corporation, gdzie Booch już wcześniej pracował. Po roku dołączył do nich Jacobsen. Reszta, jak mówią, jest historią. Szkicowe wersje UML-a zaczęły krążyć w świecie informatycznym i spotkały się z odzewem, pod wpływem którego wersja ostateczna uległa znacznym zmianom. Wiele korporacji uznało, że UML może dobrze służyć ich strategicznym celom, więc powstało UML-owe konsorcjum. Wśród jego członków znalazły się takie firmy jak DEC, Hewlett-Packard, Intellicorp, Microsoft, Oracle, Texas Instruments, Rational i inne. Dzięki temu współdziałaniu w ro- ku 1997 stworzono wersję 1.0 UML-a i przedstawiono ją do oceny OMG (ang. Object Management Group)2 — organizacji, która sformułowała żądania stworzenia standar- dowego języka modelowania. — 1 2 „Three Amigos” to nazwa parodii westernu z roku 1986, w której trzech patałachów przeżywa na prerii przeróżne przygody. Nazwa ta rzeczywiście przylgnęła do trójki twórców UML-a, o czym można się przekonać choćby na stronie internetowej http://c2.com/cgi/wiki?ThreeAmigos — przyp. tłum. OMG (Object Management Group) to organizacja utworzona w 1989 r. przez 13 liczących się przedsiębiorstw z branży software’owej. Jej celem jest promowanie teorii oraz praktyki technologii obiektowych. Obecnie do OMG należy ponad 750 firm-producentów goprogramowania oraz sprzętu komputerowego. Organizacja zajmuje się opracowywaniem standardów pomagających w tworzeniu aplikacji obiektowych — przyp. tłum. 24 Część I ♦ Zaczynamy Konsorcjum rozwinęło się i wyprodukowało wersję 1.1, która — w końcu roku 1997 poddana ocenie OMG — uzyskała aprobatę tej organizacji. OMG przejęła trud roz- wijania UML-a, czego rezultatem było wypuszczenie dwóch kolejnych wersji w roku 1998. UML stał się de facto standardem w przemyśle informatycznym i wciąż jest rozwijany. Komponenty UML-a UML zawiera wiele elementów graficznych grupowanych w postaci diagramów. Po- nieważ jest językiem, określa zasady łączenia tych elementów. Zamiast wyliczania elementów i zasad, lepiej przejdźmy od razu do diagramów, ponieważ właśnie one będą Wam służyć do analizowania systemów. To podejście jest zbliżone do uczenia się obcego języka przez praktykę, zamiast wkuwania teorii. Jeżeli przez pewien czas będziecie używać obcego języka, łatwiej Wam będzie potem pojąć jego zasady gramatyczne. Celem diagramów jest pokazanie wielu perspektyw systemu; ten zestaw perspektyw to model. UML-owy model systemu to coś w rodzaju wykonanego w skali modelu budynku wraz z jego artystyczną interpretacją. Należy podkreślić, że model opisuje, co system ma robić, ale nie określa, jak system ten ma zostać zaimplementowany. W kolejnych podrozdziałach zostaną krótko opisane najpowszechniej używane diagra- my UML-owe i koncepcje, które reprezentują. Dalej w części pierwszej każdemu z nich przyjrzymy się dokładniej. Pamiętajcie, że jest możliwe tworzenie diagramów hybry- dowych i że UML dostarcza sposobów organizowania i rozszerzania diagramów. Modele: Model jest pojęciem przydatnym w nauce i inżynierii. W najogólniejszym sensie, tworząc mo- del, używamy czegoś, co dobrze znamy, do zrozumiałego objaśnienia czegoś, o czym wiemy niewiele. W niektórych dziedzinach wiedzy modelem może być układ równań, w innych model to symulacja komputerowa. Istnieje wiele różnych modeli. Dla nas modelem będzie zestaw diagramów UML-owych, które będziemy mogli sprawdzać, oceniać i modyfikować w celu poznania i rozwinięcia systemu. Diagram klas Pomyślcie o czymś należącym do otaczającego Was świata (przyznaję, że to dość nie- sprecyzowane żądanie, ale spróbujcie). Większość rzeczy ma swoje atrybuty (właści- wości) i zachowuje się w szczególny sposób. O tych zachowaniach możemy myśleć jako o zbiorze operacji. Rozdział 1. ♦ Co to jest UML 25 Zauważycie także, że rzeczy w sposób naturalny można przypisać do różnych katego- rii (samochody, meble, pralki…). Te kategorie nazywamy klasami. Klasa to kategoria lub grupa rzeczy, które mają podobne atrybuty i wspólne zachowania. Oto przykład. Cokolwiek należącego do klasy pralek ma takie atrybuty jak nazwa firmowa, model, numer fabryczny i pojemność. Czynności właściwe dla rzeczy z tej klasy to między innymi działania opisane przez polecenia „włóż ubrania”, „dodaj detergenty”, „włącz” i „usuń ubrania”. Na rysunku 1.1 mamy przykład notacji UML-owej. Jest to prostokątna ikona repre- zentująca klasę. W jej trzech polach oprócz nazwy klasy zostały zapisane jej atrybuty i działania. W części najwyższej mamy nazwę klasy, w środkowej — atrybuty, a w naj- niższej — działania. Diagram klas składa się z pewnej liczby takich prostokątów po- łączonych liniami wskazującymi zależności między klasami. Rysunek 1.1. Ikona klasy Dlaczego w ogóle mamy się zajmować klasami rzeczy, ich atrybutami i działaniami? W celu osiągnięcia interakcji ze złożonym światem zewnętrznym większość progra- mów symuluje niektóre jego aspekty. Doświadczenie dziesiątków lat wskazuje, że łatwiej jest tworzyć oprogramowanie, gdy reprezentuje ono klasy rzeczy ze świata re- alnego. Diagramy klas dla tworzących oprogramowanie są taką reprezentacją. Diagramy klas ułatwiają również wykonywanie analizy. Umożliwiają rozmawianie z klientami ich językiem, za pomocą przyjętych przez nich określeń. Pozwala to na odkrycie ważnych szczegółów problemu, który należy rozwiązać. Diagram obiektów Obiekt to egzemplarz należący do klasy — szczególna rzecz, która ma szczególne atry- buty i operacje. Na przykład Wasza pralka może mieć nazwę firmową Laundatorium, nazwę modelu Washmeister, numer fabryczny: GL57774 i pojemność 5 kg. Na rysunku 1.2 widzimy UML-ową reprezentację obiektu. Zauważ, że ikona jest pro- stokątna — jak w przypadku klasy, ale nazwa jest podkreślona. Nazwa egzemplarza jest podana przed dwukropkiem, a nazwa klasy — po dwukropku. Rysunek 1.2. UML-owa ikona obiektu 26 Część I ♦ Zaczynamy Diagram przypadków użycia Przypadek użycia to opis zachowania systemu z punktu widzenia użytkownika. Dla tworzących oprogramowanie jest to bardzo przydatne narzędzie: służy do uchwycenia metodą prób i błędów założeń systemu z punktu widzenia użytkownika. Jest to istot- ne, jeżeli system ma służyć zwykłym ludziom, a nie „cyborgom”. O przypadkach użycia będziemy szczegółowo mówić w dalszej części książki. Teraz tylko jeden przykład. Pralki używasz, oczywiście, do prania ubrań. Na rysunku 1.3 zostało to pokazane na diagramie UML. Rysunek 1.3. Diagram przypadków użycia Mała schematyczna figurka, w tym przykładzie odpowiadająca użytkownikowi pralki, to aktor. Elipsa reprezentuje przypadek użycia. Zauważ, że aktor inicjuje przypadek użycia. Może to być osoba lub inny system. Diagram stanów Obiekt zawsze jest w jakimś stanie. Człowiek może być noworodkiem, niemowlę- ciem, dzieckiem, nastolatkiem lub dorosłym. Mamy tu do czynienia ze wznoszeniem, zatrzymaniem lub spadkiem. Pralka może pobierać wodę, prać, płukać, wirować lub być wyłączona. UML-owy diagram stanów pokazany na rysunku 1.4 reprezentuje ten fragment rze- czywistości. Na rysunku zostały pokazane przejścia od jednego stanu do drugiego. Rysunek 1.4. Diagram stanów Symbol na górze reprezentuje stan początkowy, a symbol na dole — stan końcowy. Rozdział 1. ♦ Co to jest UML 27 Diagram przebiegu Diagram klas i diagram obiektów przedstawiają informację statyczną. Jednakże w dzia- łającym systemie obiekty wpływają na siebie wzajemnie i trwa to w określonym cza- sie. Diagram przebiegu ukazuje dynamikę interakcji w zależności od czasu. Wracając do przykładu z pralką, zauważmy,
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

UML dla każdego
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: