Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
O Autorze ........................................................................................ 15
Wstp ............................................................................................. 17
Cz I
Zaczynamy ...................................................................... 19
Rozdzia 4. Zwizki............................................................................................ 55
Powizania.............................................................................................................55
Ograniczenia powiza......................................................................................57
Klasy powiza.................................................................................................57
Wizania ..........................................................................................................58
Liczebno .............................................................................................................58
Powizania kwalifikowane.......................................................................................60
Powizanie zwrotne ................................................................................................60
Dziedziczenie i uoglnienie .....................................................................................61
Poznawanie dziedziczenia..................................................................................62
Klasy abstrakcyjne ............................................................................................62
Zalenoci..............................................................................................................63
Podsumowanie .......................................................................................................64
Warsztaty...............................................................................................................64
Test .................................................................................................................65
wiczenia ........................................................................................................65
Spis treci
7
Zawieranie przypadkw uycia ................................................................................79
Rozszerzanie przypadkw uycia .............................................................................80
Rozpoczcie analizy przypadkw uycia...................................................................80
Podsumowanie .......................................................................................................81
Warsztaty...............................................................................................................81
Test .................................................................................................................81
wiczenia ........................................................................................................82
Spis treci
10
Cz II
Spis treci
11
12
Spis treci
13
Systemy ekspertowe ............................................................................................. 325
Komponenty systemu ekspertowego ................................................................. 325
Przykad......................................................................................................... 327
Modelowanie bazy wiedzy............................................................................... 328
Aplikacje sieci WWW........................................................................................... 331
To ju wszystko ................................................................................................... 333
Podsumowanie ..................................................................................................... 333
Warsztaty............................................................................................................. 334
Test ............................................................................................................... 334
wiczenia ...................................................................................................... 334
Dodatki.......................................................................................... 335
Dodatek A Rozwizania testw ....................................................................... 337
Dodatek B Narzdzia modelowania w UML-u .................................................... 349
Cechy wsplne ..................................................................................................... 349
Rational Rose ....................................................................................................... 350
Select Enterprise ................................................................................................... 352
Visual UML ......................................................................................................... 354
Idealne narzdzie do tworzenia modeli.................................................................... 355
Skorowidz...................................................................................... 363
Rozdzia 1.
Co to jest UML
UML (ang. Unified Modeling Language zunifikowany jzyk modelowania) jest
jednym z najbardziej ekscytujcych narzdzi do tworzenia obiektowo zorientowanych
systemw. Dlaczego? Poniewa UML jest jzykiem modelowania wizualnego, pozwalajcym budowniczym systemw na tworzenie planw, na ktrych ich wizje zostaj uchwycone i wyraone w standardowy, atwy do zrozumienia sposb. Dostarcza
te mechanizmw uatwiajcych efektywn wymian informacji i przekazywanie projektw innym.
W tym rozdziale dowiemy si:
dlaczego UML jest nieodzowny,
jak powsta UML,
czym s diagramy UML-a,
dlaczego wane jest stosowanie kilku rodzajw diagramw.
Poniewa budowanie systemu jest dzieem ludzi, na kadym etapie dziaania istnieje
potencjalne niebezpieczestwo powstania bdu. Analitycy mog le zrozumie klienta
22
Cz I Zaczynamy
lub stworzy dokument, ktrego klient nie bdzie w stanie poj. Wynik pracy analitykw moe nie by jasny dla programistw, ktrzy z kolei mog stworzy program
trudny do obsugi i nierozwizujcy rzeczywistego problemu klienta.
C wic dziwnego, e wikszo dziaajcych od dawna systemw jest le skonstruowana i trudna do uycia?
23
Three Amigos to nazwa parodii westernu z roku 1986, w ktrej trzech pataachw przeywa na prerii
przerne przygody. Nazwa ta rzeczywicie przylgna do trjki twrcw UML-a, o czym mona si
przekona choby na stronie internetowej http://c2.com/cgi/wiki?ThreeAmigos przyp. tum.
OMG (Object Management Group) to organizacja utworzona w 1989 r. przez 13 liczcych si
przedsibiorstw z brany softwareowej. Jej celem jest promowanie teorii oraz praktyki technologii
obiektowych. Obecnie do OMG naley ponad 750 firm-producentw oprogramowania oraz sprztu
komputerowego. Organizacja zajmuje si opracowywaniem standardw pomagajcych w tworzeniu
aplikacji obiektowych przyp. tum.
Cz I Zaczynamy
24
Komponenty UML-a
UML zawiera wiele elementw graficznych grupowanych w postaci diagramw. Poniewa jest jzykiem, okrela zasady czenia tych elementw. Zamiast wyliczania
elementw i zasad, lepiej przejdmy od razu do diagramw, poniewa wanie one
bd Wam suy do analizowania systemw.
To podejcie jest zblione do uczenia si obcego jzyka przez praktyk, zamiast
wkuwania teorii. Jeeli przez pewien czas bdziecie uywa obcego jzyka, atwiej
Wam bdzie potem poj jego zasady gramatyczne.
Celem diagramw 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. Naley podkreli, e model opisuje,
co system ma robi, ale nie okrela, jak system ten ma zosta zaimplementowany.
W kolejnych podrozdziaach zostan krtko opisane najpowszechniej uywane diagramy UML-owe i koncepcje, ktre reprezentuj. Dalej w czci pierwszej kademu z nich
przyjrzymy si dokadniej. Pamitajcie, e jest moliwe tworzenie diagramw hybrydowych i e UML dostarcza sposobw organizowania i rozszerzania diagramw.
Modele:
Model jest pojciem przydatnym w nauce i inynierii. W najoglniejszym sensie, tworzc model, uywamy czego, co dobrze znamy, do zrozumiaego objanienia czego, o czym wiemy
niewiele. W niektrych dziedzinach wiedzy modelem moe by ukad rwna, w innych model
to symulacja komputerowa. Istnieje wiele rnych modeli.
Dla nas modelem bdzie zestaw diagramw UML-owych, ktre bdziemy mogli sprawdza,
ocenia i modyfikowa w celu poznania i rozwinicia systemu.
Diagram klas
Pomylcie o czym nalecym do otaczajcego Was wiata (przyznaj, e to do niesprecyzowane danie, ale sprbujcie). Wikszo rzeczy ma swoje atrybuty (waciwoci) i zachowuje si w szczeglny sposb. O tych zachowaniach moemy myle
jako o zbiorze operacji.
25
Zauwaycie take, e rzeczy w sposb naturalny mona przypisa do rnych kategorii (samochody, meble, pralki). Te kategorie nazywamy klasami. Klasa to kategoria
lub grupa rzeczy, ktre maj podobne atrybuty i wsplne zachowania. Oto przykad.
Cokolwiek nalecego do klasy pralek ma takie atrybuty jak nazwa firmowa, model,
numer fabryczny i pojemno. Czynnoci waciwe dla rzeczy z tej klasy to midzy
innymi dziaania opisane przez polecenia w ubrania, dodaj detergenty, wcz
i usu ubrania.
Na rysunku 1.1 mamy przykad notacji UML-owej. Jest to prostoktna ikona reprezentujca klas. W jej trzech polach oprcz nazwy klasy zostay zapisane jej atrybuty
i dziaania. W czci najwyszej mamy nazw klasy, w rodkowej atrybuty, a w najniszej dziaania. Diagram klas skada si z pewnej liczby takich prostoktw poczonych liniami wskazujcymi zalenoci midzy klasami.
Rysunek 1.1.
Ikona klasy
Diagram obiektw
Obiekt to egzemplarz nalecy do klasy szczeglna rzecz, ktra ma szczeglne atrybuty i operacje. Na przykad Wasza pralka moe 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 prostoktna jak w przypadku klasy, ale nazwa jest podkrelona. Nazwa egzemplarza
jest podana przed dwukropkiem, a nazwa klasy po dwukropku.
Rysunek 1.2.
UML-owa ikona
obiektu
Cz I Zaczynamy
26
Diagram stanw
Obiekt zawsze jest w jakim stanie. Czowiek moe by noworodkiem, niemowlciem, dzieckiem, nastolatkiem lub dorosym. Mamy tu do czynienia ze wznoszeniem,
zatrzymaniem lub spadkiem. Pralka moe pobiera wod, pra, puka, wirowa lub
by wyczona.
UML-owy diagram stanw pokazany na rysunku 1.4 reprezentuje ten fragment rzeczywistoci. Na rysunku zostay pokazane przejcia od jednego stanu do drugiego.
Rysunek 1.4.
Diagram stanw
27
Diagram przebiegu
Diagram klas i diagram obiektw przedstawiaj informacj statyczn. Jednake w dziaajcym systemie obiekty wpywaj na siebie wzajemnie i trwa to w okrelonym czasie. Diagram przebiegu ukazuje dynamik interakcji w zalenoci od czasu.
Wracajc do przykadu z pralk, zauwamy, e jej komponenty to rura (do doprowadzenia wody), bben (cz, w ktrej umieszczamy ubrania) i rura odprowadzajca
wod. Oczywicie, jest tam wiele innych obiektw (jak widzicie, jeden obiekt moe
si skada z wielu innych).
Co si stanie, gdy przystpicie do realizacji przypadku uycia Upierz ubrania? Zamy, e wykonalicie wszystkie operacje w ubrania, dodaj detergent i wcz.
Kolejno nastpnych krokw powinna by nastpujca:
1. Woda wpywa do bbna przez rur.
2. Bben pozostaje nieruchomy przez pi minut.
3. Woda przestaje wpywa do bbna.
4. Bben obraca si tam i z powrotem przez pitnacie minut.
5. Woda z mydem spywa do cieku.
6. Woda zaczyna ponownie napywa.
7. Bben ponownie obraca si tam i z powrotem.
8. Woda przestaje napywa.
9. Woda spukujca spywa do cieku.
10. Bben zaczyna coraz szybciej obraca si w jedn stron i wiruje
przez pi minut.
11. Bben przestaje si obraca pranie jest skoczone.
Diagram czynnoci
Czynnoci, ktre wystpuj w przypadku uycia lub jako operacje obiektu, zwykle nastpuj w okrelonej kolejnoci jak w jedenastu krokach w poprzednim podrozdziale. Kroki od 4 do 6 na rysunku 1.6 zostay pokazane w postaci diagramu czynnoci.
Cz I Zaczynamy
28
Rysunek 1.5.
Diagram przebiegu
Rysunek 1.6.
Diagram czynnoci
Diagram kooperacji
Elementy systemu wsppracuj ze sob w celu zrealizowania celw i jzyk modelowania musi to wyrazi. W UML-u suy temu diagram kooperacji pokazany na rysunku 1.7. Na tym rysunku do zbioru klas tworzcego pralk zosta dodany zegar wewntrzny. Po upywie odpowiednio dugiego czasu zegar zatrzymuje nabieranie wody
i nakazuje rozpoczcie obracania bbna tam i z powrotem.
Rysunek 1.7.
Diagram kooperacji
29
Diagram komponentw
Ten i nastpny diagram nie maj nic wsplnego z pralkami, poniewa diagram komponentw i diagram wdroenia dotycz systemw komputerowych.
W procesie tworzenia wspczesnego oprogramowania uywamy komponentw, co jest
szczeglnie wane przy oparciu pracy na dziaaniu grup. Nie bdziemy si zbytnio rozwodzi nad tym zagadnieniem. Diagram komponentw zosta pokazany na rysunku 1.8.
Rysunek 1.8.
Diagram
komponentw
Diagram wdroenia
Diagram wdroenia pokazuje fizyczn architektur systemu komputerowego (rysunek 1.9). Moe obrazowa komputery i inne przyrzdy oraz poczenia midzy nimi
i oprogramowanie na nich zainstalowane. Kady komputer jest reprezentowany przez
prostopadocian, a poczenia midzy komputerami s widoczne w postaci linii czcych te prostopadociany.
Rysunek 1.9.
Diagram wdroenia
Pakiety
Czasami zechcecie poczy elementy diagramu w grup. Na przykad kilka klas lub
kilka komponentw tworzy podsystem. Do tego suy grupowanie w pakiecie reprezentowanym przez rysunek teczki z zakadk. Patrz rysunek 1.10.
Cz I Zaczynamy
30
Rysunek 1.10.
Pakiet pozwala
na zgrupowanie
elementw diagramu
Notatki
Czasami nie jest jednoznacznie okrelone, dlaczego jaki element diagramu znajduje
si dokadnie w tym miejscu lub co naley z nim robi. W takim przypadku pomocne
jest uycie notatki. Uwaaj notatk za odpowiednik tej karteczki z objanieniem
przylepianej gdzie w widocznym miejscu. Reprezentuje j ikona w postaci prostokta z zagitym rogiem. Wewntrz prostokta zapisujemy tekst objaniajcy. Przykad zosta pokazany na rysunku 1.11. Notatk dodajemy do diagramu, czc j przerywan lini z elementem, do ktrego si odnosi.
Rysunek 1.11.
Za pomoc notatki
moesz umieci
objanienia na
dowolnym diagramie
Stereotypy
UML dostarcza wielu poytecznych elementw, ale nie jest to zestaw wyczerpujcy
moliwoci. Wczeniej czy pniej bdziecie projektowa system wymagajcy uycia blokw konstrukcyjnych specjalnie przystosowanych do jego potrzeb. Stereotypy
pozwalaj na przeksztacenie istniejcych elementw UML-owych w inne. To tak
jakby kupowa gotowy garnitur po to, by go przerobi na wasny rozmiar (zamiast
uszy nowy z kuponu materiau). Uwaajcie stereotyp za przykad tego rodzaju zmiany. Jest przedstawiany w postaci nazwy zawartej w podwjnych nawiasach ktowych
zwanych francuskimi.
Dobrym przykadem jest interfejs. Interfejs obejmuje tylko operacje, bez atrybutw.
Jest to zestaw operacji, ktre chcecie wielokrotnie wykonywa w modelu. Zamiast
wymyla nowy element reprezentujcy interfejs, moecie uy ikony klasy z napisem Intefejs umieszczonym nad nazw klasy. Zostao to pokazane na rysunku 1.12.
Rysunek 1.12.
Stereotyp pozwala
na tworzenie nowych
elementw na podstawie
istniejcych
31
Podsumowanie
Systemy buduj ludzie. Bez uycia atwej do zrozumienia notacji proces tworzenia
systemw zawiera wiele potencjalnych moliwoci popenienia bdw.
UML to notacja systemowa, ktra staa si wiatowym standardem stosowanym w procesach tworzenia systemw. Jest to rezultat pracy Gradyego Boocha, Jamesa Rumbaugha i Ivara Jacobsona. Korzystanie z diagramw UML-a pozwala analitykom budowa plany ukazujce rne oblicza systemu zrozumiae dla klientw, programistw
i wszystkich innych osb zwizanych z procesem twrczym. Tworzenie wszystkich
tych diagramw jest konieczne, poniewa kady z nich przeznaczony jest dla innego
typu uczestnikw owego procesu.
Model przygotowany za pomoc UML-a pokazuje, co system ma robi, ale nie wyjania, jak to ma by wykonane.
Warsztaty
Wiecie ju, czym jest UML. Czas na sprawdzenie nabytej wiedzy o tym doskonaym
narzdziu. W tym celu wykonajcie wiczenia i odpowiedzcie na pytania zawarte w tecie. Rozwizania znajdziecie w dodatku A Rozwizania testw.
Cz I Zaczynamy
32
Test
1. Dlaczego do tworzenia modeli systemw potrzebujemy tak wielu rodzajw
diagramw?
2. Ktre diagramy przedstawiaj statyczny obraz systemu?
3. Ktre diagramy przedstawiaj dynamiczny obraz systemu (tzn. ktre ilustruj
wiczenia
1. Zamy, e budujesz system komputerowy, ktry ma gra w szachy