Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

UML – Unified Modeling Language (1) Bartosz Baliś, Na podstawie, m.in.: Introduction to UML: Structural and Use Case Modeling, Cris Kobryn Projektowanie.

Podobne prezentacje


Prezentacja na temat: "UML – Unified Modeling Language (1) Bartosz Baliś, Na podstawie, m.in.: Introduction to UML: Structural and Use Case Modeling, Cris Kobryn Projektowanie."— Zapis prezentacji:

1 UML – Unified Modeling Language (1) Bartosz Baliś, Na podstawie, m.in.: Introduction to UML: Structural and Use Case Modeling, Cris Kobryn Projektowanie Obiektowe, Ian Sommerville Agile modeling: http://www.agilemodeling.com

2 UML – Unified Modeling Language  Graficzny język do analizy i projektowania obiektowego  Standaryzuje kilka metod graficznej reprezentacji UML jest językiem – posiada składnię (notacja graficzna) i semantykę (znaczenie symboli graficznych) Diagramy  4 strukturalne (klas, obiektów, komponentów, wdrożeń)  5 do modelowania zachowania (przypadków użycia, sekwencji, aktywności, współpracy / kolaboracji, stanów)  3 do zarządzania modelem (pakiety, podsystemy, modele) Historia  UML 1.1 – 1997  UML 1.3 – listopad 1999  UML 1.4  UML 1.5  Obecnie – UML 2.0 – znaczne zmiany Wstęp

3 Elementy modelu (klasy, interfejsy, komponenty, przypadki użycia, etc.) Relacje pomiędzy nimi (powiązania, generalizacja, zależności, etc.) Diagramy (diagramy klas, diagramy przypadków użycia, diagramy interakcji, etc.) Zasadnicze składniki UML

4 Przykład diagramu klas

5 Przykład diagramu obiektów (instancji klas)

6 Modele struktury

7 Modelowanie struktury Model systemu, który podkreśla strukturę obiektów, powiązania między klasami, ich atrybuty i operacje Rodzaje diagramów:  Statyczne diagramy struktury Klas, obiektów  Diagramy implementacji Komponentów, wdrożeń

8 Model struktury – zasadnicze elementy

9 Model struktury – podstawowe relacje

10 Statyczne diagramy struktury Diagram klas Diagram obiektów – instancji klas

11 Klasy: przykład tatus: {current, left, retired} taxCode: integer... join () leave () retire () changeDetails ( Pracownik nazwisko : string adres : string dataUrodzenia : Date numerPracownika : integer PESEL : string dział : Dział przełożony : Pracownik wynagrodzenie : integer stan : {zatrudniony, zwolniony, emerytowany} NIP : integer... dołącz() opuść() przejdźNaEmeryturę() zmieńSzczegóły()

12 Diagram klas – przykład

13 Hierarchia uogólnień – przykład Pracownik Kierownik zarządzaneBudżety dataPrzyjęcia Programista przedsięwzięcie językiProg Kierownik Przedsięwzięcia przedsięwzięcie Kierownik Działu dział Kierownik Strategiczny obowiązki

14 Powiązania – przykład Kierownik DziałPracownik jest-członkiem jest-zarządzany-przez zarządza

15 Powiązania – jedno i dwukierunkowe http://www.agilemodeling.com

16 Agregacja i kompozycja Agregacja i kompozycja – obiekt składa się z innych obiektów Agregacja – zespół składa się z pracowników Kompozycja – samolot składa się z części Reguła: kompozycja jest "silniejszą" formą agregacji – jeśli całość jest niszczona, to jej części także, w przypadku agregacji tak nie jest.

17 Generalizacja-specjalizacja – przykład: taksonomia obiektów

18 Interfejsy: notacja skrótowa Fig. 3-29, UML Notation Guide

19 Interfejsy: notacja rozszerzona Fig. 3-29, UML Notation Guide

20 Diagram obiektów

21 Diagramy implementacji Pokazują takie aspekty implementacji jak struktura kodu źródłowego, oraz struktura podczas wykonywania się systemu Rodzaje  Diagram komponentów  Diagram wdrożeń (deployment)

22 Komponenty i wdrożenia: przykład

23 Fig. 3-99, UML Notation Guide Komponenty – przykłady

24 Fig. 3-95, UML Notation Guide Diagram komponentów – przykład

25 Diagram wdrożeń – przykład Fig. 3-97, UML Notation Guide

26 Projektowanie oparte o interfejsy

27 Projektowanie oparte o interfejsy (interface-based design) Skupia się na specyfikacji interfejsów systemu Oddziela się specyfikację operacji jakiejś usługi (interfejsy) od ich realizacji (implementacja) Przykład: CORBA IDL (Interface design language) jako projektowanie aplikacji rozproszonych oparte o interfejsy  IDL definiuje interfejsy obiektów bez nakładania ograniczeń na ich implementację  Definiuje strukturę aplikacji rozproszonej  Nie pozwala na specyfikowanie zachowania obiektów lub relacji pomiędzy klasami poza generalizacją

28 Przykład: punkt sprzedaży (point of sale) module POS { typedef long POSId; typedef string Barcode; interface InputMedia { typedef string OperatorCmd; void barcode_input(in Barcode item); void keypad_input(in OperatorCmd cmd); }; interface OutputMedia { boolean output_text(in string string_to_print ); };... Generic IDL Point of Sale (POS) example. [Siegel 00]

29 Przykład punkt sprzedaży (c.d.)... interface POSTerminal { void login(); void print_POS_sales_summary(); void print_store_sales_summary(); void send_barcode(in Barcode item); void item_quantity(in long quantity); void end_of_sale(); }; #endif /* _POS_IDL_ */

30 From [Kobryn 00].

31 Przypadki użycia

32 Fig. 3-53, UML Notation Guide Diagram przypadków użycia

33 Relacje pomiędzy przypadkami użycia Generalizacja (uogólnienie)  Jeden przypadek użycia jest uogólnieniem innego Dołączanie (include)  Zachowanie dołączanego przypadku użycia jest dołączane do podstawowego przypadku użycia Rozszerzenie (extend)  Zachowanie rozszerzającego przypadku użycia jest dołączane do podstawowego przypadku użycia w ściśle określonym miejscu (określanym przez tzw. extension point) >

34 Extend vs. include >  Używa się wtedy, gdy dołączany przypadek użycia musi być wykonany >  Używa się, gdy rozszerzający przypadek użycia może lecz nie musi być wykonany  Przez zdefiniowanie tzw. extension points określa się w którym dokładnie miejscu może być wykonany rozszerzający przypadek użycia

35 Diagram przypadków użycia – przykład

36 Fig. 3-55, UML Notation Guide Relacje pomiędzy aktorami

37 Opis przypadku użycia n Actors: traveler, client account db, airline reservation system n Preconditions:  Traveler has logged on to the system and selected ‘change flight itinerary’ option n Basic course (podstawowy przebieg)  System retrieves traveler’s account and flight itinerary from client account database  System asks traveler to select itinerary segment she wants to change; traveler selects itinerary segment.  System asks traveler for new departure and destination information; traveler provides information.  If flights are available then  …  System displays transaction summary. n Alternative courses (gdy wystąpi jakaś sytuacja wyjątkowa)  If no flights are available then …

38 Opis przypadku użycia – tabela

39 Dalsza lektura Ian Sommerville, Inżynieria oprogramowania, r. 12 http://www.agilemodeling.com  Artifacts, UML 2 http://www.agilemodeling.com


Pobierz ppt "UML – Unified Modeling Language (1) Bartosz Baliś, Na podstawie, m.in.: Introduction to UML: Structural and Use Case Modeling, Cris Kobryn Projektowanie."

Podobne prezentacje


Reklamy Google