• Nie Znaleziono Wyników

Diagramy w UML

N/A
N/A
Protected

Academic year: 2021

Share "Diagramy w UML"

Copied!
20
0
0

Pełen tekst

(1)

Diagramy w UML

Jolanta Sala Halina Tańska

2018/2019

(2)

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…?

(3)

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ć …?

(4)

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

(5)

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 …?

(6)

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

(7)

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?

(8)

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 …?

(9)

Diagram przypadków użycia - przykład

Edycja autora

Inicjaowanie bazy

<<administracja>>

Operator

Edycja publikacji

(10)

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 …?

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

Diagram stanów - przykład

Nowa Pubikacja

Nowy autor Autor

istnieje

Nowy autor Autor

istnieje

(18)

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

(19)

Diagram komponentów - przykład

Pub Baza Danych

PubsSample

<<Standard EXE>>

ADO.DLL

<<Standard DLL>>

(20)

Diagram wdrożenia - przykład

Serwer Bazy danych

Przechowywanie danych Wukonywanie kopii

Stacja robocza

Edycja bazy

Macierz dyskowa

Cytaty

Powiązane dokumenty

standardowy adres warstwy łącza danych, wymagane dla każdego urządzenia podłączonego do sieci LAN żadne z powyższych wyjaśnień nie jest

• Słowo self zawsze odnosi się do obiektu typu, który jest kontekstem ograniczenia OCL.. Jeśli kontekstem jest na przykład klasa Klient, to self wskazuje

• Diagram sekwencji (przebiegu) jest diagramem interakcji, na którym uwypukla się kolejność komunikatów w czasie.. Ma postać tabeli, w której obiekty ułożone są wzdłuż osi

Diagram pakietów (Package diagram) ukazuje organizację elementów w systemie podzieloną na pakiety.. Pakiety są ze sobą

– Diagramy wdrożeniowe – przedstawiają konfigurację systemu czasu wykonania, czyli rozmieszczenie komponentów i obiektów w węzłach.. Węzły modelują obliczeniowe

Gdy w kolejce brak komunikatów wywołanie funkcji mq_receive spowoduje zablokowania procesu bieżącego. Proces ulegnie odblokowaniu gdy w kolejce pojawi się

5.1 plan kosztów (koszty pracy, koszty wspólne, koszty sprzętu, koszty amortyzacji) + 5.2 plan jakości (metryka systemu) (opisujący standardy jakie spełni system). 5.3

Zaprojektuj wydajny algorytm, który dla danej zawartości tablicy a wyznaczy