Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałMarian Lisowski Został zmieniony 9 lat temu
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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.