Diagramy w UML
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.
Znaczenie diagramów
Diagram
Diagram
– schemat przedstawiający zbiór
bytów; jest 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
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ęć 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)
Diagramy
• Język UML definiuje następujący zestaw diagramów:
• 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.
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
Model
przypadków
użycia
Diagram
przypadków
użycia
Aktor, przypadek użycia,
inkluzja, ekstensja,
generalizacja
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
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
Diagram przypadków użycia
Diagram przypadków użycia
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)
Diagram przypadków użycia
- przykład
Edycja autora
Inicjaowanie bazy
<<administracja>>
Operator
Edycja publikacji
Diagram klas
Diagram klas
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.
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
Diagram przebiegu i
diagram kooperacji
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
Diagram stanów
przedstawia maszynę stanową składającą się ze stanów, przejść i zdarzeń.
Diagram czynności
Diagram czynności
jest szczególnym przypadkiem 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
Diagram komponentów
pokazuje namacalne, tzn. fizyczne
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
Diagram wdrożenia
przedstawia tzw. węzły działania – 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