Projektowanie Aplikacji Komputerowych UML – Unified Modeling Language Piotr Górczyński 25/08/2001
Plan Wstęp Diagram przypadków użycia (use case) Diagram klas (class) Współpraca MS Visio i VB Diagram pakietów (package) Diagram aktywności (activity) Diagram stanów (state) Diagram sekwencji (sequence) Diagram współpracy (collaboration) Diagram komponentów (component) Diagram wdrożeniowy (deployment) 25/08/2001
Wstęp UML jest językiem specyfikacji, konstruowania, wizualizacji i dokumentowania dla systemów wykorzystujących oprogramowanie UML wykorzystuje szereg diagramów, które modelują system z różnych perspektyw i na różnym poziomie szczegółowości. 25/08/2001
Diagram przypadków użycia (Use Case Diagram) - UCD Przypadek użycia opisuje sposób użycia systemu przez zewnętrznego użytkownika Precyzuje zakres funkcjonalny systemu Weryfikuje poprawność i kompletność projektu Stanowi pomost między użytkownikami a projektantami 25/08/2001
Składniki UCD Element Opis Symbol Granice systemu Wyznaczają zakres systemu – co nie wchodzi w jego skład. Aktor Reprezentuje zewnętrzny obiekt (np. użytkownika) i jego rolę dla systemu. Jeden obiekt może być reprezentowany przez wielu aktorów. Przypadek użycia Reprezentuje zbiór czynności, które musi wykonać aktor, aby wykonać pewien proces;zazwyczaj nie reprezentuje pojedynczych kroków. Związek interakcji Związek między aktorem a przypadkiem użycia. Związek „używa” Związek między przypadkami użycia. Zazwyczaj związek ten oznacza, że użycie jest obligatoryjne (np. Wypożyczenie używa Autoryzacji) „rozszerza” Związek między przypadkami użycia. Przypadek użycia rozszerzający funkcjonalność zachodzi później (np.. DodanieKsiążki po Zalogowaniu) 25/08/2001
Przykład UCD 25/08/2001
Diagram klas (Class Diagram) - CD Pokazuje statyczną strukturę systemu Prezentuje klasy zidentyfikowane w dziedzinie przedmiotowej Określa ich właściwości oraz metody Określa związki dziedziczenia (generalizacji) Określa związki asocjacyjne (mnogościowe) W MS Visio diagram klas należy do grupy Static Structure Diagram 25/08/2001
Składniki CD Element Opis Symbol Klasa Reprezentuje zbiór obiektów o takich samych właściwościach i metodach. Musi mieć unikalną nazwę. Związek dziedziczenia (generalizacji) Strzałka jest skierowana od obiektu, który dziedziczy do obiektu ogólniejszego. Związek asocjacji (mnogościowy) Reprezentuje zależność mnogościową obiektów, czyli ile do ilu. 25/08/2001
Przykład CD 25/08/2001
Współpraca MS Vision i VB Pakiet MS Vision może importować projekt aplikacji napisanej w VB i na jego podstawie tworzyć automatycznie diagramy klas (model statyczny) Proces odtwarzania modelu z systemu nazywa się Reverse Engineering Przykład znajduje się w katalogu Download\Projektowanie Aplikacji Komputerowych\ Reverse Engineering 25/08/2001
Zasady odtwarzania klas w MS Visio z kodu VB Podczas importowania klasy z systemu na diagramie odwzorowane zostaną elementy, który zostały opisane w kodzie klasy: Właściwości Metody (bez kodu) Argumenty metod Nie zostaną zaimportowane elementy, których opisu nie ma w kodzie klasy: Obiekty interfejsu Metody obsługi zdarzeń, dla których nie stworzono procedury obsługi (np. Load, Unload) Wniosek: jeżeli chcemy, aby MS Visio zaimportował metody obsługi zdarzeń, to musimy stworzyć w kodzie procedury obsługi zdarzeń, nawet jeśli mają być puste 25/08/2001
Sposób odtworzenia klas w MS Visio z kodu VB Uruchamiamy MS Visio Uruchamiamy VB Otwieramy w VB projekt systemu Naciskamy przycisk Reverse Engineer UML Model na pasku przycisków lub z menu Tools wybieramy polecenie Visio UML Solution i następnie wybieramy pod-polecenie Reverse Engineer UML Model Klasy VB zostaną odtworzone w Visio 25/08/2001
Przykład – System 25/08/2001
Przykład – Odtworzony model 25/08/2001
Diagram pakietów (Package Diagram) - PD Pakiety pozwalają grupować elementy modelu związane ze sobą Każdy element może należeć tylko do jednego pakietu Pakiet może zawierać diagram, pakiet lub pojedyncze elementy Ułatwiają projektowanie systemu przy złożonych projektach poprzez dzielenie systemu na mniejsze części 25/08/2001
Składniki PD Element Opis Symbol Pakiet Grupuje elementy modelu, które są ze sobą związane. Pakiet może zawierać diagramy, pakiety lub pojedyncze elementy W MS Visio cały system jest traktowany jako jeden duży pakiet „Top package” 25/08/2001
Przykład PD 25/08/2001
Diagram aktywności (Activity Diagram) – AD Przedstawia sieć przejść między czynnościami zachodzących pod wpływem wewnętrznych sygnałów w ramach pewnej operacji (procesu) Uwypukla równoległe i współbieżne czynności Odnosi się do przypadków użycia lub klas 25/08/2001
Składniki AD Element Opis Symbol Stan początkowy Reprezentuje początek wykonywania operacji. Stan końcowy Reprezentuje koniec wykonywania operacji. Stan Reprezentuje obiekt w momencie, w którym spełnił jakiś warunek, wykonuje czynność lub czeka na zdarzenie. Symbol stanu może być podzielony na 2 części: w górnej jest nazwa, a w dolnej czynności, które obiekt ma wykonać. Przejście Reprezentuje przejście między czynnościami. :event-name (parameters) [guard condition] / action ^ send-clause right-mouse-down (location) [location in window] / object:=pick-object (location) ^ object.highlight () 25/08/2001
Składniki AD c.d. Element Opis Symbol Rozgałęzienie (Fork) Rozdziela przepływ – następne czynności mają być wykonane równolegle. Złączenie (Join) Łączy przepływy – wszystkie poprzednie czynności muszą być skończone. Decyzja Reprezentuje punkt, w którym kierunek przepływu zależy od pewnych warunków. 25/08/2001
Przykład AD 25/08/2001
Diagram aktywności Sygnatury Istnieje Nie wypożyczona Nie zarezerwowana Istnieje Nie wypożyczona Zarezerwowana START TAK Istnieje? Nie istnieje Nie wypożyczona Nie zarezerwowana Istnieje Wypożyczona Nie zarezerwowana NIE KONIEC 25/08/2001
Diagram stanów (Statechart Diagram) – STD Przedstawia sieć przejść między stanami klasy lub przypadkami użycia zachodzących pod wpływem zewnętrznych sygnałów Przedstawia maszynę stanów Pokazuje sekwencję stanów obiektu w ciągu jego życia Notacja taka sama jak w diagramie czynności 25/08/2001
Przykład STD 25/08/2001
Diagram sekwencji (Sequence Diagram) – SD Pokazuje sekwencje interakcji między aktorami lub obiektami oraz komunikaty, które są wymieniane Pojedynczy diagram opisuje jeden przypadek użycia 25/08/2001
Składniki SD Element Opis Symbol Aktor Reprezentuje zewnętrzny obiekt (np. użytkownika) i jego rolę dla systemu. Jeden obiekt może być reprezentowany przez wielu aktorów. Obiekt Reprezentuje klasę z diagramu klas. Musi mieć unikalną nazwę. Aktywność Wyznacza czas w jakim obiekt wykonuje pewne czynności. Komunikat Istnieje kilka typów komunikatów. Najczęściej komunikat powoduje wywołanie metody klasy, do której jest skierowany. 25/08/2001
Przykład SD 25/08/2001
Przykład SD Dla przykładowego systemu, na którym demonstrowano możliwości importowania modelu w MS Visio można – na podstawie kodu aplikacji – pokusić się o odtworzenie diagramu sekwencji 25/08/2001
Diagram współpracy (Collaboration Diagram) –COD Opisuje współprace obiektów w ramach jednego przypadku użycia Uwzględnia związki między obiektami Nie uwzględnia czasu tylko sekwencję wydarzeń, dlatego komunikaty są numerowane 25/08/2001
Składniki COD Element Opis Symbol Obiekt Reprezentuje klasę z diagramu klas. Musi mieć unikalną nazwę. Multi-obiekt Zbiór takich samych klas. Asocjacja Opisuje związek między elementami. Asocjacja może opisywać związki mnogościowe, oraz przesyłane komunikaty. 25/08/2001
Przykład COD 25/08/2001
Diagram komponentów (Component Diagram) - CPD Przedstawia zależności pomiędzy komponentami oprogramowania Przedstawia typy, a nie instancje Komponentem mogą być oprogramowanie lub dokument biznesowy Pokazuje zależności między komponentami Może specyfikować interfejsy 25/08/2001
Składniki CPD Element Opis Symbol Komponent Reprezentuje oprogramowanie lub dokument biznesowy. Może zawierać w sobie klasy. Może pozwalać na dostęp do metod lub właściwości klas. Interfejsy Pokazuje metody służące do komunikacji z komponentem. Zależność Opisuje zależność między komponentami. 25/08/2001
Przykład CPD 25/08/2001
Diagram Wdrożeniowy (Deployment Diagram) - DPD Prezentuje strukturę rzeczywistego działającego systemu Pokazuje związki między oprogramowaniem i sprzętem Przypisuje komponenty do procesorów 25/08/2001
Składniki DPD Element Opis Symbol Komponent Reprezentuje oprogramowanie lub dokument biznesowy. Może zawierać w sobie klasy. Może pozwalać na dostęp do metod lub właściwości klas. Węzeł Reprezentuje jednostkę przetwarzającą (procesor, komputer, człowieka) Interfejsy Pokazuje metody służące do komunikacji z komponentem. Zależność Opisuje zależność między komponentami. 25/08/2001
Przykład DPD #1 25/08/2001
Przykład PDD #2 Serwer Beta Serwer Active Directory Serwer pocztowy Komputer w LAN Baza danych Windows Aplikacja klienta WWW Serwer WWW Aplikacja klienta Serwer Alfa Komputer w LAN/WAN 25/08/2001