Diagramy w UML
Jolanta Sala Halina Tańska
2018/2019
Język UML
• UML to język służący do specyfikowania, konstruowania, obrazowania oraz
dokumentowania składowych systemów oprogramowania. Twórcami UML są: Gary Booch, Ivar Jacobson, oraz James Rumbaugh.
• UML to język a nie metodyka konstruowania oprogramowania, tzn. nie podaje wskazówek dotyczących sposobu organizacji
poszczególnych faz procesu wytwórczego.
powtórzenie powtórzenie
UML służy do …?
UML nie jest…?
Znaczenie diagramów
• Diagram – schemat przedstawiający zbiór bytów, jest Diagram swego rodzaju rzutem systemu
• Diagram przedstawia system z określonej
perspektywy (z określonego punktu widzenia)
• Diagram ma najczęściej postać grafu
• Wierzchołki grafu – elementy
• Gałęzie grafu – związki
powtórzenie powtórzenie
Diagram ma postać …?
Znaczenie diagramów
• Teoretycznie diagram może zawierać dowolną kombinację elementów i związków
• W praktyce wprowadza się pewne kombinacje elementów i relacji, które można umieszczać na diagramach określonego rodzaju
• W UML wyróżnia się dziewięć (13) rodzajów diagramów
• Diagram klas (class diagram)
• Diagram obiektów (object diagram)
• Diagram przypadków użycia (use-case diagram)
• Diagram przebiegu (sequence diagram)
• Diagram kooperacji (cooperation diagram)
• Diagram stanów (statechart diagram)
• Diagram czynności (activity diagram)
• Diagram komponentów (component diagram)
• Diagram wdrożenia (implementation diagram) powtórzeniepowtórzenie
Diagramy
• Diagram przypadków użycia – służy do modelowania funkcjonalności systemu z punktu widzenia jego przyszłych użytkowników
• Diagram klas - służy do modelowania struktury danych przechowywanych w systemie, zawiera klasy i może zawierać obiekty
• Diagram obiektów - służy do modelowania struktury danych przechowywanych w systemie; zawiera wyłącznie obiekty
• Diagramy dynamiczne - służą do modelowania zachowań:
– Diagram stanów – Diagram aktywności
– Diagram interakcji: diagram sekwencji oraz diagram współpracy
• Diagramy implementacyjne:
– Diagram komponentów – Diagram wdrożeniowy
• Diagram pakietów - służy do celów organizacyjnych.
• Diagramy te pozwalają opisać projektowany system z wielu perspektyw, razem składają się na jego szczegółowy opis.
powtórzenie powtórzenie
Diagramy dynamiczne to …?
Modele a diagramy
Główny obszar
działania Modele Diagramy UML Podstawowe pojęcia Struktura Model obiektowy Diagram klas
Diagram obiektów
Klasa, obiekt, asocjacja,
generalizacja, zależność, realizacja, interfejs
Struktura Model
przypadków użycia
Diagram przypadków
użycia Aktor, przypadek użycia, inkluzja, ekstensja, generalizacja
Struktura Model
implementacji
Diagram komponentów Diagram wdrożeniowy
Komponent, interfejs, zależność, realizacja
Węzeł, komponent, zależność, lokacja
Dynamika Model
dynamiczny Diagram stanów Diagram aktywności Diagram interakcji
Stan, zdarzenie, przejście, akcja, aktywność
Stan, aktywność, fork, join, romb decyzyjny
Interakcja, współpraca, komunikat, aktywacja
Zarządzanie Model
zarządzania Diagram pakietów Pakiet, podsystem Rozszerzalność Wszystkie
modele
Wszystkie diagramy Stereotyp, wartość etykietowana, ograniczenie
powtórzenie powtórzenie
Modele obiektowe (UML 2.1)
Rodzaj diagramu Przeznaczenie
Diagram przypadków użycia Identyfikacja kategorii użytkowników oraz sposobów używania przez nich systemu
Diagram klas Modelowanie klas obiektów i ich wzajemnych relacji Diagram czynności (diagram
aktywności) Modelowanie procesów biznesowych, scenariuszy przypadków użycia lub algorytmów
Diagram maszyny stanowej Modelowanie historii życia obiektu – jego stanów i możliwych przejść między stanami
Diagram komponentów Modelowanie fizycznych składników oprogramowania, ich zależności i interfejsów
Diagram pakietów Grupowanie elementów modelu w pakiety i pokazanie wzajemnych zależności pakietów
Diagram rozmieszczenia
(diagram wdrożenia) Modelowanie konfiguracji sprzętowych i programowych komponentów systemu
Diagram sekwencji (diagram
przebiegu) Modelowanie czasowej sekwencji wymiany komunikatów podczas współpracy obiektów, pakietów lub komponentów
Diagram komunikacji Modelowanie przepływu komunikatów podczas współpracy obiektów, pakietów lub komponentów
Diagram struktury złożonej Modelowanie wewnętrznej struktury złożonej klasy, komponentu lub przypadku użycia
Diagram przeglądu interakcji Modelowanie przepływu sterowania w procesie biznesowym lub systemie Diagram obiektu Modelowanie chwilowej konfiguracji obiektów oprogramowania
Diagram czasowy Modelowanie uzależnień czasowych
powtórzenie powtórzenie
? ?
ile?ile? jakie?jakie? dlaczego?dlaczego?
Diagram przypadków użycia
• Służy do modelowania dynamiki systemu
• Przedstawia zbiór przypadków użycia, aktorów oraz związki między nimi
• Jest szczególnie przydatny w obrazowaniu, specyfikowaniu i dokumentowaniu
zachowania
• Przedstawia byty z zewnątrz (wnętrze pozostaje ukryte)
Jaki to diagram …?
Diagram przypadków użycia - przykład
Edycja autora
Inicjaowanie bazy
<<administracja>>
Operator
Edycja publikacji
Diagram klas
• Jest to najczęściej spotykany diagram w modelach obiektowych.
• Diagram przedstawia statyczną stronę projektowanego systemu.
• Na diagramie występują
klasy, interfejsy, kooperacje i związki między nimi.
Jaki to diagram …?
Diagram klas - przykład
Author
EOF() GetOne() Query()
<<Get>> Recordset()
<<Get>> Name()
<<Get>> ID()
<<Get>> FName()
<<Get>> LName()
<<Get>> Phone()
<<Get>> Address()
<<Get>> City()
<<Get>> State()
<<Get>> Zip()
<<Get>> Contract() GetNew()
<<ADO Class>>
Authors
AddNew() BOF() EOF() GetAll() MoveFirst() MoveLast() MoveNext() MovePrevious() Query()
<<Get>> Recordset()
<<Get>> Name()
<<Get>> ID()
<<Get>> FName()
<<Get>> LName()
<<Get>> Phone()
<<Get>> Address()
<<Get>> City()
<<Get>> Zip()
<<Get>> Contract() GetNew()
<<ADO Class>>
Form1
Command1_Click() Command2_Click()
<<Form>>
The application's form has two command buttons. The first button displays information about a specified author. The other button displays a list of all authors in the Pubs database. For more information about the form, run the application in Visual Basic or open the "Logical
View/PubsSample/Show Author"
sequence diagram.
This class represents one author in the database. Information about the author is collected from the database and stored as an ADO Recordset member called "mrs"
(not displayed here).
The first four methods are standard methods defined by the template.
The Property Get methods, starting with Name(), return the properties of an Author. There are no
corresponding data members in the class, as the values of the properties are stored in the "mrs"
Recordset.
This class represents all authors in the database. The set of authors are collected from the database and stored as an ADO Recordset member called
"mrs" (not displayed here).
The first ten methods are standard methods defined by the template. The Property Get procedures, starting with Name(), operate on the current Author in the recordset. The Move... methods are needed to change current author.
Open the "Logical View/ PubsSample/
How to create an ADO class" diagram for more information.
ADO Class - single object ADO Class - set of object
Form1
Diagramy przebiegu i kooperacji
• Diagram przebiegu i diagram kooperacji Diagram przebiegu diagram kooperacji to rodzaje diagramów interakcji
diagramów interakcji
• Na diagramach tych przedstawia się interakcję – współdziałanie – jako zbiór obiektów i związków obrazujących głównie przesyłane komunikaty.
• Diagram przebiegu pokazuje kolejność przesyłania diagramów w czasie.
• Diagram kooperacji uwypukla organizację strukturalną interakcji.
• Diagramy przebiegu i kooperacji są izomorficzne.
• Na diagramach występują:
klasy, obiekty, interakcje
Diagram przebiegu - przykład
User : User Formatka : Form1
Wskazany autor : Author
Połączenie ADO : (::Type libraries::ADODB::Connection)
Zbiór ADO : (::Type libraries::ADODB::Recordset) Command1_Click( )
GetOne("Last name")
Query( )
CreateObject & Open
CreateObject & Open Close
Print author Nazwa Autora?
"Nazwisko"
New
Diagram kooperacji - przykład
Nowy autor : Author
Formatka Wprowadznia : Form
Baza autorów : Authors
1: AddNew( )
Zbiór ADO : Recordset
2: Insert() 3: GetNew( )
4: SetData
Diagramy stanów i diagramy czynności
• Diagram stanów przedstawia maszynę stanową Diagram stanów składającą się ze stanów, przejść i zdarzeń.
• Diagram czynności jest szczególnym przypadkiem Diagram czynności diagramu stanów, pokazuje strumień kolejno
wykonywanych czynności.
• Oba diagramy odnoszą się do modelowania dynamicznych aspektów systemu
• Na diagramach występują:
klasy, obiekty, interakcje, maszyny stanowe oraz
bloki decyzyjne, przejścia, scalenia i rozgałęzienia, tory
Diagram czynności - przykład
Nowa publikacja do/ Wprowdź autora
Wprowadzanie Autora
Autor istnieje Nowy autor
Wyszukaj autora
Wprowadź autora
Autor istnieje Nowy autor
Wyszukaj autora
Wprowadź autora
Diagram stanów - przykład
Nowa Pubikacja
Nowy autor Autor
istnieje
Nowy autor Autor
istnieje
Diagramy komponentów i diagramy wdrożenia
• Diagram komponentów pokazuje namacalne, tzn. fizyczne Diagram komponentów składniki systemu – komponenty i ich wzajemne zależności.
• Komponent realizuje (ucieleśnia) fragment modelu np.
wybrane klasy.
• Na diagramach występują:
klasy, interfejsy, komponenty, realizacje i zależności
• Diagram wdrożenia przedstawia tzw. węzły działania – Diagram wdrożenia urządzenia, na których instaluje się komponenty.
• Oprócz węzła na diagramie może wystąpić urządzenie (ang.
device)
• Na diagramach występują:
węzły, urządzenia, łączenia
Diagram komponentów - przykład
Pub Baza Danych
PubsSample
<<Standard EXE>>
ADO.DLL
<<Standard DLL>>
Diagram wdrożenia - przykład
Serwer Bazy danych
Przechowywanie danych Wukonywanie kopii
Stacja robocza
Edycja bazy
Macierz dyskowa