Bloki konstrukcyjne UML
Transkrypt
Bloki konstrukcyjne UML
Unified Modeling Language Wprowadzenie do UML Igor Gocaliński Odrobina historii • Połowa lat 70-tych i koniec 80-tych to początek analizy obiektowej • Wiele opracowanych metod w połowie lat 90-tych – Metoda Boocha – Object-Oriented Software Engineering (Jacobson) – Object Modeling Technique (Rumbaught) • Październik 1994 – oficjalny początek prac nad UML • Październik 1995 – publikacja UML 0.8. – Do Booch’a i Rumbaught’a dołącza Jacobson • Czerwiec 1996 – powstaje UML 0.9 • Styczeń 1997 – przekazanie UML 1.0 • Jesień 1999 – publikacja UML 1.3 Modele • Model to uproszczenie rzeczywistości • Modele opracowujemy po to, żeby lepiej zrozumieć system, który budujemy • Modele złożonych systemów tworzymy, ponieważ nie potrafimy ogarnąć tych systemów w całości – zasada „dziel i rządź” Znaczenie modelowania • Modelowaniu ma na celu – Ułatwienie wyobrażenia całego system – Wyspecyfikowanie struktury i zachowania systemu – W wyniku modelowania otrzymujemy szablony, które ułatwiają sterowanie procesem tworzenia oprogramowania – Modele stanowią dokumentację systemu Bloki konstrukcyjne UML • Elementy – – – – strukturalne czynnościowe grupujące komentujące • Związki – – – – zależności powiązania uogólnienia realizacji • Diagramy – – – – – – – – – klas obiektów przypadków użycia przebiegu kooperacji stanów czynności komponentów wdrożenia Elementy strukturalne • Klasa – zbiór obiektów, które mają takie same atrybuty i operacje SQL_Query +Database +SQL -CursorPos +Open() +ExecSQL() Elementy strukturalne • Interfejs – zestaw operacji, które wyznaczają usługi oferowane przez klasę lub komponent IPisownia Elementy strukturalne • Kooperacja – definiuje interakcję – zestaw ról i innych bytów, współpracujących w celu wywołania pewnego zespołowego działania, niemożliwego do uzyskania w pojedynkę Hierarchia odpowiedzialności Elementy strukturalne • Przypadek użycia – opis zbioru ciągów akcji wykonywanych przez system w celu dostarczenia danemu aktorowi godnego uwagi wyniku Wystaw zamówienie Elementy strukturalne • Klasa aktywna – zawiera obiekty, które są procesami lub wątkami Zarządca +wstrzymaj() +roześlij() Elementy strukturalne • Komponent – fizyczna część systemu, która wykorzystuje i realizuje pewien zbiór interfejsów. – komponenty • COM+ • Java Beans Formularz Elementy strukturalne • Węzeł – fizyczny składnik działającego systemu – reprezentuje zasoby obliczeniowe • ilość pamięci • zdolności przetwarzania Serwer Bloki konstrukcyjne UML • Elementy – – – – strukturalne czynnościowe grupujące komentujące • Związki – – – – zależności powiązania uogólnienia realizacji • Diagramy – – – – – – – – – klas obiektów przypadków użycia przebiegu kooperacji stanów czynności komponentów wdrożenia Elementy czynnościowe • Interakcja – zachowanie, polegające na wymianie komunikatów między obiektami Odwołaj Elementy czynnościowe • Maszyna stanowa – określa ciąg stanów, jakie obiekt lub interakcja przyjmuje w odpowiedzi na zdarzenia zachodzące w czasie ich życia Oczekiwanie Bloki konstrukcyjne UML • Elementy – – – – strukturalne czynnościowe grupujące komentujące • Związki – – – – zależności powiązania uogólnienia realizacji • Diagramy – – – – – – – – – klas obiektów przypadków użycia przebiegu kooperacji stanów czynności komponentów wdrożenia Elementy grupujące • Pakiet – służy do grupowania elementów – zawiera elementy strukturalne, czynnościowe lub grupujące Grafika Bloki konstrukcyjne UML • Elementy – – – – strukturalne czynnościowe grupujące komentujące • Związki – – – – zależności powiązania uogólnienia realizacji • Diagramy – – – – – – – – – klas obiektów przypadków użycia przebiegu kooperacji stanów czynności komponentów wdrożenia Elementy komentujące • Notatka – rola objaśniająca – używana w celu wzbogacenia diagramu o ograniczenia i objaśnienia Przekazać do weryfikacji Bloki konstrukcyjne UML • Elementy – – – – strukturalne czynnościowe grupujące komentujące • Związki – – – – zależności powiązania uogólnienia realizacji • Diagramy – – – – – – – – – klas obiektów przypadków użycia przebiegu kooperacji stanów czynności komponentów wdrożenia Związki zależności • Związek znaczeniowy między dwoma elementami • Zmiany w definicji jednego (niezależnego) Punkt mogą mieć wpływ na -pozycja znaczenie drugiego +Narysuj() (zależnego) TCanvas Związki powiązania • Związek strukturalny, określający zbiór wiązań między obiektami • Agregacja: całość-część +Pracownik +Pracodawca Osoba Przedsiębiorstwo 1..* * 1 * Dział Związki uogólnienie • Związek między dwoma bytami – ogólnym – szczegółowym • Obiekt bytu szegółowego może być używany w zastępstwie obiektu bytu ogólnego Osoba Student Związki realizacji • Związek między klasyfikatorami, z których jeden określa kontrakt, a drugi zapewnia wywiązanie się z niego • Występują zwykle między – interfejsem a klasami – przypadkami użycia a kooperacjami «interface» IObsługaReguł +DodajRegułę() +ZmienRegułę() +UzasadnijAkcję() RegułyDlaKont Weryfikuj użytkownika Weryfikacja Bloki konstrukcyjne UML • Elementy – – – – strukturalne czynnościowe grupujące komentujące • Związki – – – – zależności powiązania uogólnienia realizacji • Diagramy – – – – – – – – – klas obiektów przypadków użycia przebiegu kooperacji stanów czynności komponentów wdrożenia Diagramy klas • Diagramy strukturalne • Zawierają – – – – klasy interfejsy kooperacje związki między nimi • Spotykane najczęściej Archive 1 +ReadFile() +ReadMemory() +WriteFile() +WriteMemory() 1 1 VolumeBufor -data +ReadVolume() +WriteVolume() #Copy() File SumBufor +CalculateSum() 1 Diagramy obiektów • Diagramy strukturalne • Wyobrażają „zrzut” systemu w danej chwili • Zwierają – obiektów – wiązania pomiędzy obiektami o1 : Obszar r : Robot s : Swiat o2 : Obszar Diagramy przypadków użycia • Przedstawiają – przypadki użycia – aktorów – związki między nimi • Pomocne przy wyznaczaniu i modelowaniu zachowania systemu Telefon komórkowy Zainicjuj połączenie Operator Zaakceptuj połączenie Uż yj programu wybierającego Użytkownik «extends» «extends» Zainicjuj telekonferencję Zaakceptuj dodatkowe połączenie Diagramy przebiegu i kooperacji • To rodzaje diagramu interakcji • Przestawiają interakcje jako zbiór obiektów i związków między nimi, w tym też komunikaty, jakie obiekty przekazują między sobą. • Izomorfizm • Zawierają – obiekty – wiązania – komunikaty Diagramy przebiegu • Diagramy czynnościowe • Obrazują kolejność przesyłania komunikatów w czasie P:Wplata <<create>> :Trans StartTrans TransStarted <<create>> :Konto Dodaj(k) OK <<destoy>> Commit OK <<destoy>> Diagramy kooperacji • Diagramy czynnościowe • Obrazują organizację obiektów uczestniczących w interakcji 3: <<create>> 4: Dodaj(k) 5: <<destroy>> :Trans «local » 7: <<destroy>> 6: CommitTrans 2: StartTrans 1: <<create>> P:Wplata «local » :Konto Diagramy stanów • Diagramy czynnościowe • Obrazują maszynę stanową, – – – – stany przejścia zdarzenia czynności Oczekiwanie WyślijFaks PołączeniePrzerwane Transmisja Diagramy czynności • Diagramy czynnościowe • Szczególny przypadek diagramu stanów • Obrazuje strumień kolejno wykonywanych czynności WczytajDane [Złe Dane] [Dane OK] ObliczWynik PokażWynik WyswietlBłąd Diagramy komponentów • Przedstawiają fizyczne aspektu systemu • Obrazują organizację komponentów i zależności między nimi • Zawierają – komponenty – interfejsy – zależności, uogólnienia, powiązania i realizacje «document» Find.html «executable» Szukaj.exe «library» Jet40.dll Diagramy wdrożenia • Przedstawiają fizyczne aspektu systemu • Obrazują konfigurację węzłów i zainstalowane na nich oprogramowanie • Zawierają – węzły – zależności i powiązania SerwerBD Internet SerwerApl Router LAN Workstation Workstation Workstation Bloki konstrukcyjne UML • Elementy – – – – strukturalne czynnościowe grupujące komentujące • Związki – – – – zależności powiązania uogólnienia realizacji • Diagramy – – – – – – – – – klas obiektów przypadków użycia przebiegu kooperacji stanów czynności komponentów wdrożenia Literatura • G. Booch, J. Rumbaugh, I. Jacobson – „UML – przewodnik użytkownika” • G. Booch, J. Rumbaugh, I. Jacobson – „The Unified Modeling Language Reference Manual”