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