1 / 33

UML cz. II

UML cz. II. Prowadzący: Bartosz Walter. Plan wykładów. Zasady skutecznego działania Specyfikacja wymagań (przypadki użycia) Przeglądy artefaktów (inspekcje Fagana) Język UML, cz. I Język UML, cz. II Metody formalne (sieci Petriego) Wzorce projektowe Zarządzanie konfiguracją (CVS)

misha
Download Presentation

UML cz. II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UML cz. II Prowadzący: Bartosz Walter

  2. Plan wykładów Zasady skutecznego działania Specyfikacja wymagań (przypadki użycia) Przeglądy artefaktów (inspekcje Fagana) Język UML, cz. I Język UML, cz. II Metody formalne (sieci Petriego) Wzorce projektowe Zarządzanie konfiguracją (CVS) Wprowadzenie do testowania Automatyzacja wykonywania testów (jUnit) Programowanie Ekstremalne Ewolucja oprogramowania i refaktoryzacja

  3. Agenda • Diagram komponentów • Diagram pakietów • Diagramy interakcji • Rodzaje komunikatów • Diagramy stanu i czynności • Mechanizm rozszerzeń UML • OCL • Narzędzia UML

  4. Diagram komponentów Komponent reprezentuje podsystem (grupę powiązanych klas), który wymaga pewnych interfejsów, a pewne interfejsy implementuje. Diagram komponentów pokazuje zależności pomiędzy komponentami i interfejsami komponent korzysta z implementacji dostarczonej przez Katalog implementuje interfejs Przeszukiwanie

  5. Zależności pomiędzy komponentami Katalog zależy od Menedżera wydawnictw Menedżer wydawnictw zależy od Bazy danych

  6. Diagram pakietów Pakiety w UML służą do przechowywania innych elementów języka, przede wszystkim klas. Dzięki nim można uporządkować strukturę modelu. Pakiet Obsługa czytelników::GUI

  7. Diagram wdrożenia Diagramy wdrożenia przedstawiają powiązania między oprogramowaniem (artefaktami) i sprzętem (węzłami). Są stosowane przy modelowaniu dużych systemów ścieżka komunikacyjna artefakt węzeł

  8. Diagramy interakcji Diagramy interakcji w UMLu opisują komunikację między obiektami. Zwykle diagramy należą do określonych obiektów. Rodzaje diagramów interakcji w UML: • diagram sekwencji • diagram współdziałania (UML 1.x) lub diagram komunikacji (UML 2.0) • diagram przeglądu interakcji • diagram uwarunkowań czasowych

  9. Diagram sekwencji Diagram sekwencji przedstawia sposób wymiany komunikatów pomiędzy obiektami z zachowaniem ich kolejności sd czas

  10. Rodzaje komunikatów wywołanie procedury powrót z wywołania wyw. asynchroniczne UML 1.x UML 2.0

  11. loop (0, zamówienie.size) Bloki Blok definiuje grupę komunikatów wspólnie posiadającą pewną właściwość.

  12. : Katalog : Katalog : Karta : Karta : Egzemplarz : Czytelnik : Czytelnik wyszukaj sprawdź status wyszukaj przedłuż ustawStatus Przykład

  13. 1.1: wyszukaj 1.2: status 1.2: wypożycz Diagram współdziałania Diagram komunikacji przedstawia sposób wymiany komunikatów pomiędzy obiektami uczestniczącymi w interakcji. Jest rozszerzoną wersją diagramu współdziałania.

  14. Diagram przeglądu interakcji Diagram przeglądu interakcji łączy diagramy interakcji w ogólny diagram czynności, przedstawiający schemat przepływu sterowania [książka niedostępna] [książka dostępna]

  15. Diagram uwarunkowań czasowych Diagram uwarunkowań czasowych koncentruje się na zależnościach czasowych w interakcji pomiędzy grupą obiektów Bibliotekarz rezerwacja weryfikacja rozłącz rezerwacja Czytelnik { 1 min }

  16. Diagram stanu Diagram stanu reprezentuje zachowanie obiektu o skończonej liczbie stanów i zdefiniowanych przejściach między nimi

  17. Stan Stan jest etapem cyklu życia obiektu. Obiekt przebywający w danym stanie spełnia określony warunek. entry: w momencie wejścia do stanudo: wewnątrz stanu exit: w momencie wyjścia ze stanu event: w momencie nadejścia zdarzenia

  18. [ liczba < 4 ] Nowa stan początkowy Otwarta [ liczba >=4 ] / sprawdź dostępność [ specjalna zgoda ] decyzja Zamknięta stan końcowy synchronizacja Usunięta Pseudostany Diagram zawiera także grupę stanów niezwiązanych z dziedziną zastosowań, tzw. pseudostanów

  19. Przejście między stanami Przejście powoduje zmianę stanu i wykonanie pewnych akcji wyzwalacz [dozór] / akcja ^ wysyłane zdarzenia Zdarzenie wyzwalające przejście Wysyłane zdarzenia Warunek pozwalający na przejście Akcja wykonywana w momencie przejścia

  20. Stany złożone Stany złożone posiadają wewnętrzną maszynę stanów. Wejście do stanu jest jej stanem początkowym, a wyjście – końcowym.

  21. przedłużenie[ liczba przedłużeń < 3 ] / data oddania = teraz + 3 tygodnie wypożyczenie[ zarezerwowana ] Nabyta Dostępna Wypożyczona wypożyczenie[ nie zarezerwowana ] zwrot przegląd[ stan < 10% ] / dostępna = false ^zablokuj w katalogu zagubiebie[ time > do kiedy + 3 mies ] przegląd[ stan < 10% ] / dostępna = false ^zablokuj w katalogu Zgubiona Zniszczona Przykład

  22. Diagram czynności Diagramy czynności przedstawiają akcje wykonywane w systemie oraz wynikające z nich zmiany stanów. stan początkowy akcja stan

  23. czytelnik katalog lokalny katalog zdalny wyszukaj wyszukaj zdalnie lokalnie [ true ] pusta [ false ] analiza połącz wydawnictwo : Wydawnictwo Przykład

  24. Mechanizm rozszerzeń UML UML posiada standardowy mechanizm rozszerzeń. Pozwala on na objęcie nowych dziedzin zastosowań bez potrzeby modyfikacji języka lub implementujących go narzędzi. Mechanizm obejmuje trzy elementy • profile • stereotypy • metki

  25. Profile UML Profile UML są narzeczami języka UML przystosowanymi do modelowania pewnej dziedziny zastosowań. Profil obejmuje zdefiniowane stereotypy, metki, ograniczenia.

  26. Stereotypy Stereotypy służą do zmieniania lub doprecyzowania semantyki elementów modelu. Dzięki nim można dokładnie określić ich rolę w systemie. Stereotypy są reprezentowane przez ikonę lub słowo kluczowe ujęte w "łapki": «stereotyp» Różne sposoby przedstawienia stereotypu «EJBSession» w klasie RejestratorCzytelników

  27. Metki Metki (ang. tagged values) pozwalają dołączyć do elementu dodatkowe właściwości • Metki posiadają postać par klucz : wartość • Stereotypy i profile definiują własne zestawy metek • Metki są zapisywane w postaci notatki dołączonej do elementu, którego dotyczą metka EJBTransType określa sposób zarządzania transakcjami w ziarnie EJB

  28. Przykład: modelowanie baz danych

  29. OCL OCL (Object Constraint Language) jest językiem formalnego wyrażania ograniczeń w UML • Własności OCL • wyraża dowolną regułę logiczną: warunki wstępne, końcowe, niezmienniki, wyniki metod etc. • nie może modyfikować modelu, jedynie go sprawdzać • można go związać z dowolnym elementem modelu (klasą, operacją, atrybutem, asocjacją etc.)

  30. {self.wiek >= 21} {self.wiek >= 18} Mąż Żona 1 1 1 1 poślubieni data ślubu data ślubu +mąż +żona {mąż.data ślubu = żona.data ślubu, mąż.żona = żona} 1 1 1 1 +matka +ojciec {matka.dziecko = matka.mąż.dziecko} {ojciec.dziecko = ojciec.żona.dziecko} 0..n 0..n 0..n 0..n +dziecko +dziecko Dziecko Przykład

  31. Wybrane narzędzia: ArgoUML ArgoUML • open source, licencja BSD • wsparcie dla UML 1.4 • możliwość stałej inspekcji modelu • synchronizacja modelu z kodem • http://argouml.tigris.org

  32. Wybrane narzędzia: Rational Rational Rose, Rational Software Modeler • narzędzia komercyjne • integracja z innymi narzędziami Rational • wsparcie dla UML 1.x (Rose) i UML 2.0 (Modeler) • wsparcie dla modelowania wybranych dziedzin i technologii • modelowanie biznesowe • synchronizacja modelu z kodem • http://www-306.ibm.com/software/rational/

  33. Podsumowanie • Diagramy komponentów i wdrożenia przedstawiają logiczną i fizyczną strukturę podsystemów • Diagramy interakcji służą do opisu komunikacji pomiędzy obiektami • Diagramy czynności definiują algorytmy realizacji funkcji, a diagramy stanu – zmianę zachowania obiektów • Mechanizm rozszerzeń UML pozwala na obejmowanie nowych obszarów zastosowań • OCL jest językiem formalnego opisu ograniczeń

More Related