Zajęcia 15 - Krótki przegląd UML


Diagramy UML

Diagramy przypadków użycia

  • Cel: zamodelowanie różnych przypadków interakcji pomiędzy użytkownikiem a systemem. Inaczej: kto będzie używał systemu i co będzie z nim robił.
  • Podstawowe przykłady
  • Złożone przykłady
  • Relacje reużytkowania (reuse) w diagramach przypadków użycia:
    • <<include>> - tak jak "wywołanie" innego przypadku użycia, np. "SaveAll" zawiera "SaveSettings", "SaveDocuments", itd.
    • Dziedziczenie przypadków użycia - jeden przypadek użycia dziedziczy zachowanie innego i zarazem dodaje lub modyfikuje część tego zachowania. Np. z przypadku użycia "zapisz na uniwersytet" może dziedziczyć inny: "zapisz krewnego profesora na uniwersystet". Oznacza to, że ogólna procedura jest podobna, ale np. obowiązują inne reguły jeśli zapisujący się jest krewnym profesora.
    • <<extend>> - jeden przypadek użycia rozszerza drugi. Podobne do dziedziczenia, ale możemy dokładnie określić, w którym miejscu rozszerzający przypadek użycia dodaje coś do rozszerzanego (przez tzw. extension point).

    • Dziedziczenie aktorów - np. z aktora "Student" może dziedziczyć "Student międzynarodowy". Oznacza to, że student międzynarodowy jest studentem, ale np. obowiązują go nieco inne reguły.

Diagramy klas

  • Cel: modelowanie klas w systemie i relacji pomiędzy nimi
  • Przykłady
  • Relacje pomiędzy klasami:
    • Powiązania (association) - oznacza, iż obiekty łączy jakaś relacja, np. klient powiązany jest z zamówieniem
    • Generalizacja (generalization) - oznacza, że jakaś klasa jest generalizacją lub specjalizacją jakiejś innej (dziedziczenie)
    • Agregacja i kompozycja (aggregation and composition) - obiekt składa się z innych obiektów, np. zespół składa się z pracowników (agregacja), albo samolot składa się z części (kompozycja). Kompozycja jest "silniejszą" formą agregacji - jeśli całość jest niszczona, to jej części także, w przypadku agregacji tak nie jest.

Diagramy interakcji (sekwencji i kolaboracji/komunikacji)

  • Cel: zamodelowanie sekwencji wiadomości pomiędzy współpracującymi obiektami w ramach jakiegoś przypadku użycia
  • Diagramy sekwencji skupiają się na kolejności zdarzeń i wiadomości
  • Diagramy kolaboracji/komunikacji skupiają się na powiązaniach pomiędzy obiektami
  • Diagramy sewkencji dobrze pokazują kolejność wiadomości, gorzej ogólny pogląd na to, co dzieje się w danym scenariuszu, diagramy komunikacji/kolaboracji - odwrotnie.
  • Przykład
  • Diagram komunikacji - Przykład

Diagramy aktywności

  • Cel: modelowanie przepływu aktywności w systemie w ramach jakiegoś przypadku użycia
  • Zaleta: łatwość modelowania alternatywnych przebiegów operacji
  • Dobre do modelowania skomplikowanych operacji. Operacje proste nie wymagają diagramu aktywności.
  • Przykład

Diagramy stanu

Diagramy komponentów

Diagramy wdrożeń


Bartosz Baliś, balis at agh.edu.pl
Włodzimierz Funika, funika at agh.edu.pl
Maciej Malawski, malawski at agh.edu.pl