UML - Wkuwanko.pl

Transkrypt

UML - Wkuwanko.pl
INFORMATYKA W
ZARZĄDZANIU
Wykład VI
dr Jan Kazimirski
[email protected]
http://www.mac.edu.pl/jankazim
MODELOWANIE
SYSTEMÓW
UML
Literatura
●
●
●
Joseph Schmuller “ UML dla każdego” , Helion
2001
Perdita Stevens “ UML. Inżynieria
oprogramowania” , Helion 2007
Stanisław Wrycza, Bartosz Marcinkowski,
Krzysztof Wyrzykowski “ UML 2.0 w
modelowaniu systemów informatycznych” ,
Helion, 2005
UML
●
●
●
●
UML – Unified Modeling Language –
Zunifikowany język modelowania
Pozwala na graficzne przedstawienie systemów
zorientowanych obiektowo
Język wymiany informacji między
programistami, analitykami i klientami
Połączenie formalizmu i przejrzystości
(diagramy)
UML c.d.
●
Obejmuje szereg diagramów przedstawiających
różne apekty modelowanego systemu np.
–
Diagram przypadków użycia
–
Diagram klas / diagram obiektów
–
Diagram stanów
–
Diagram czynności
–
Diagram przebiegu
–
Diagram kooperacji
–
Diagram komponentów
Modelowanie obiektowe
●
●
●
●
Podejście obiektowe jest aktualnym standardem
tworzenia złozonych systemów komputerowych
Obiektowość to sposób myślenia oparty na kilku
podstawowych zasadach
Poprzedni paradygmat programowania – podejście
strukturalne – dopasowanie sposobu widzenia
rzeczywistości do komputerów
Modelowanie obiektowe – dopasowanie komputerów
do ludzkiego postrzegania rzeczywistości
Klasy i obiekty
●
Wszystko, co nas otacza: przedmioty, zwierzęta,
ludzie postrzegane mogą być jako obiekty.
●
Obiekty należą do określonych kategorii – klas
●
Obiekt jest egzemplarzem klasy.
●
Relacja obiekt klasa:
–
Kot – rodzaj ssaka o pewnych, dokładnie określonych
cechach charakterystycznych (klasa)
–
Kot burek siedzący na dachu – przedstawiciel
gatunku kotów (obiekt)
Struktura obiektu
●
●
●
Każdy obiekt ma określone elementy składowe.
–
Atrybuty (właściwości)
–
Operacje (czynności, zachowania)
Kot ma określony kolor, wagę, wzrost, długość
ogona (atrybuty). Kot potrafi biagać mruczeć,
miałczeć, łasić się, drapać itd. (operacje)
Klasa jest szablonem (formą) obiektu – definiuje
jakie atrybuty i operacje będą miały obiekty.
Abstrakcja
●
●
●
●
Modelowanie ma na celu stworzenie pewnego
uproszczonego modelu rzeczywistości
Model będący kopią rzeczywistości jest
niepraktyczny – zawiera zbyt dużo informacji
Abstrakcja – odfiltrowanie niepotrzebnych
informacji, pozostawienie tylko istotnych dla
danego problemu
Decyzja które informacje pominąć należy do
analityka
Dziedziczenie
●
●
●
●
Klasy tworzą określone hierarchie – klasy pochodne
dziedziczą składowe po klasach bazowych
Hierarchie dziedziczenia mogą być wielopoziomowe
Kot jest ssakiem, który jest zwierzęciem, które jest
istotą żywą.
Definiując klasę pochodną nie musimy tworzyć jej
“ od zera” jeżeli możemy powołać się na klasy
bazowe
Polimorfizm
●
●
Niektóre operacje mogą mieć takie same nazwy
ale inny sens dla różnych obiektów (np. otwarcie
ksiązki, słoika, rachunku w banku)
Polimorfizm to koncepcja w której każda klasa
“ wie” jak daną operację wykonać:
–
“ Otwieram drzwi” - klasa wykona właściwe działanie
–
“ Otwieram konto” - klasa wykona właściwe działanie
Przykład hierarchii klas
Figura
Bok a
policz pole = a*a
Boki a,b
policz pole = a*b
kolor k
policz pole=?
Promień r
policz pole = 2*PI*r
Hermetyzacja (kapsułkowanie)
●
●
●
Modelowane obiekty często mają niezwykle
skomplikowaną strukturę wewnętrzną
Często zaniedbujemy tą strukturę koncentrując
się na operacjach (czyli co obiekt robi a nie jak to
robi) – jest to tzw. hermetyzacja
–
“ Jak działa telewizor?”
–
“ To nie jest ważne dopóki mam w ręku pilota i wiem
jak nim sterować”
Częśc jawna obiektu to interfejs, część ukryta implementacja
Współpraca obiektów
●
●
●
Obiekty nie są od siebie odizolowane.
Współpracują wysyłając różnorodne komunikaty
Przykład: obiekt pilot wysyła komunikat do
obiektu telewizor powodując, że zmienia się jego
stan (zmiana programu).
Interfejs obiektu (klasy) można zdefiniować jako
zbiór komunikatów jakie może on wymienić z
otoczeniem.
Powiązania
●
●
Obiekty często są ze sobą związane, np. pilot i
telewizor, kierowca i samochód, pracownik i
szef. Są to powiązania
Powiązania możemy klasyfikować ze względu na
różnorodne cechy
–
Kierunek powiązania
–
Charakter powiązania (np. agregacja)
–
Liczebność powiązania
UML i klasy
Kot
Kot
kolor
waga
mruczy()
miałczy()
Klasa bez określonej
struktury
Klasa z określoną strukturą:
Atrybuty
Operacje
UML i powiązania klas – diagram klas
Analiza Przypadków Użycia
●
●
●
●
Opisując dany system często pytamy jakie
funkcje on realizuje i kto z niego może korzystać
Pytania te są szczególnie ważne w fazie zbierania
wymagań projektów IT
Modelowanie tego aspektu systemu to analiza
przypadków użycia
Przypadek użycia to określenie co z systemem
można zrobić, korzystający z systemu to aktor
Diagram przypadków użycia
Stany obiektu
●
●
Obiekty posiadają atrybuty które mogą posiadać
różne wartości – obiekty są w różnych stanach
–
Telewizor może odbierać na różnych kanałach
–
Kot może mieć różne kolory
W różnych sytuacjach stan obiektu może ulec
zmianie – następuje przejście między stanami
–
Zmiana kanału telewizora
–
Malowanie kota :-(
Diagram stanów
Komunikacja obiektów
●
●
Obiekty komunikują się ze sobą wysyłając różne
sygnały.
Jeżeli interesuje nas jakie obiekty wysyłają jakie
sygnały w trakcie gdy system wykonuje jakąś
czynność, możemy wykorzystać diagram
przebiegu (sekwencji)
Diagram przebiegu
Czynności
●
●
●
W trakcie realizacji jakiegoś zadania system
wykonuje określone czynności
W trakcie wykonywania serii czynności system
może wybierać różne ścieżki wykonania zależnie
od określonych warunków – punkty decyzyjne.
Do przedstawienia czynności i kolejności ich
wykonania służy diagram czynności
Diagram czynności
Język UML
●
●
●
Przedstawione diagramy stanowią tylko część
specyfikacji UML-a
UML jest językiem bardzo elastycznym –
pozwala opisać dowolny system
UML jest rozszerzalny – można wprowadzać
dodatkowe elementy uściślające model systemu
UML w biznesie
●
●
●
Język UML został wymyślony przez
programistów dla programistów (projektantów)
Jest to jednak język ogólnego przeznaczenia –
można nim opisać np. model działania
przedsiębiorstwa.
Stworzony model może być obiektem analizy w
celu otymalizacji jego działalności
Business Process Reengineering
●
●
Działanie mające na celu zwiększenie wydajności
i efektywności pracy przedsiębiorstwa
Metodologia BPR
–
Stworzenie modelu przedsiębiorstwa
–
Analiza modelu w celu znalezioenia możliwości
zmian
–
Wprowadzenie i weryfikacja zmian w modelu
–
Implementacja zmian w rzeczywistym systemie
Przykład projektu programistycznego
realizowanego z wykorzystaniem
języka modelowania UML