Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Inżynieria oprogramowania UML cz. II Prowadzący: Bartosz Walter.

Podobne prezentacje


Prezentacja na temat: "Inżynieria oprogramowania UML cz. II Prowadzący: Bartosz Walter."— Zapis prezentacji:

1 Inżynieria oprogramowania UML cz. II Prowadzący: Bartosz Walter

2 Inżynieria oprogramowania UML cz. II (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 Inżynieria oprogramowania UML cz. II (3) Agenda 1.Diagram komponentów 2.Diagram pakietów 3.Diagramy interakcji 4.Rodzaje komunikatów 5.Diagramy stanu i czynności 6.Mechanizm rozszerzeń UML 7.OCL 8.Narzędzia UML

4 Inżynieria oprogramowania UML cz. II (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 Inżynieria oprogramowania UML cz. II (5) Zależności pomiędzy komponentami Katalog zależy od Menedżera wydawnictw Menedżer wydawnictw zależy od Bazy danych

6 Inżynieria oprogramowania UML cz. II (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 Inżynieria oprogramowania UML cz. II (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 węzeł ścieżka komunikacyjna artefakt

8 Inżynieria oprogramowania UML cz. II (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 Inżynieria oprogramowania UML cz. II (9) Diagram sekwencji Diagram sekwencji przedstawia sposób wymiany komunikatów pomiędzy obiektami z zachowaniem ich kolejności czas sd

10 Inżynieria oprogramowania UML cz. II (10) Rodzaje komunikatów wywołanie procedury powrót z wywołania wyw. asynchroniczne UML 1.xUML 2.0

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

12 Inżynieria oprogramowania UML cz. II (12) Przykład : Czytelnik : Karta : Katalog : Egzemplarz wyszukaj przedłuż ustawStatus sprawdź status wyszukaj

13 Inżynieria oprogramowania UML cz. II (13) 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. 1.1: wyszukaj 1.2: status 1.2: wypożycz

14 Inżynieria oprogramowania UML cz. II (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 Inżynieria oprogramowania UML cz. II (15) Diagram uwarunkowań czasowych Diagram uwarunkowań czasowych koncentruje się na zależnościach czasowych w interakcji pomiędzy grupą obiektów Bibliotekarz Czytelnik rezerwacja weryfikacja rezerwacja rozłącz { 1 min }

16 Inżynieria oprogramowania UML cz. II (16) Diagram stanu Diagram stanu reprezentuje zachowanie obiektu o skończonej liczbie stanów i zdefiniowanych przejściach między nimi

17 Inżynieria oprogramowania UML cz. II (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 stanu do: wewnątrz stanu exit: w momencie wyjścia ze stanu event: w momencie nadejścia zdarzenia

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

19 Inżynieria oprogramowania UML cz. II (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 Warunek pozwalający na przejście Akcja wykonywana w momencie przejścia Wysyłane zdarzenia

20 Inżynieria oprogramowania UML cz. II (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 Inżynieria oprogramowania UML cz. II (21) Przykład Nabyta DostępnaWypożyczona Zniszczona Zgubiona wypożyczenie[ zarezerwowana ] wypożyczenie[ nie zarezerwowana ] przegląd[ stan < 10% ] / dostępna = false ^zablokuj w katalogu zwrot zagubiebie[ time > do kiedy + 3 mies ] przedłużenie[ liczba przedłużeń < 3 ] / data oddania = teraz + 3 tygodnie przegląd[ stan < 10% ] / dostępna = false ^zablokuj w katalogu

22 Inżynieria oprogramowania UML cz. II (22) Diagram czynności Diagramy czynności przedstawiają akcje wykonywane w systemie oraz wynikające z nich zmiany stanów. akcja stan stan początkowy

23 Inżynieria oprogramowania UML cz. II (23) Przykład pusta wyszukaj lokalnie połącz analiza wyszukaj zdalnie wydawnictwo : Wydawnictwo [ true ] [ false ] katalog zdalnykatalog lokalnyczytelnik

24 Inżynieria oprogramowania UML cz. II (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 Inżynieria oprogramowania UML cz. II (25) Profile UML Profile UML są narzeczami języka UML przystosowanymi do modelowania pewnej dziedziny zastosowań. Profil obejmuje zdefiniowane stereotypy, metki, ograniczenia.

26 Inżynieria oprogramowania UML cz. II (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 Inżynieria oprogramowania UML cz. II (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 Inżynieria oprogramowania UML cz. II (28) Przykład: modelowanie baz danych schematpakiet «schema» tabelaklasa «RelationalTable» klucz podstawowyatrybut «PK» klucz obcyatrybut «FK» ograniczeniemetoda «constraint»

29 Inżynieria oprogramowania UML cz. II (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 Inżynieria oprogramowania UML cz. II (30) Przykład Mąż data ślubu Żona data ślubu 111 +żona 1 +mąż poślubieni Dziecko 0..n 1 1 +dziecko 0..n +matka 1 +dziecko 0..n +ojciec 1 {matka.dziecko = matka.mąż.dziecko} {ojciec.dziecko = ojciec.żona.dziecko} {mąż.data ślubu = żona.data ślubu, mąż.żona = żona} {self.wiek >= 21}{self.wiek >= 18}

31 Inżynieria oprogramowania UML cz. II (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

32 Inżynieria oprogramowania UML cz. II (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

33 Inżynieria oprogramowania UML cz. II (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ń


Pobierz ppt "Inżynieria oprogramowania UML cz. II Prowadzący: Bartosz Walter."

Podobne prezentacje


Reklamy Google