Modelowanie systemu i badanie architektury systemów

Modelowanie systemów

Unified Modeling Language

UML nie jest ...

Rodzaje diagramów

Diagramy struktur

Diagramy zachowań

Projektowanie oprogramowania

  1. Projekt architektury: wyodrębnienie podsystemów, modułów, komponentów i relacji między nimi
    • diagramy: komponentów , pakietów, warstw (nie UML)
  2. Specyfikacja abstrakcji (oprogramowania): wyszczególnienie dostarczanych usług i ograniczeń dla każdego podsystemu (środowisko, biblioteki, technologie, itp.)
    • diagramy: przypadków użycia
  3. Specyfikacja interfejsu dla każdego podsystemu
    • diagram: pakietów, komponentów
  4. Specyfikacja komponentu
    • usługi komponentu, diagram przypadków użycia, sekwencji, itp.
    • budowa komponentu, diagram klas
  5. Specyfikacja danych: opis struktur danych
    • diagramy: klas
  6. Specyfikacja algorytmu: projektowanie algorytmów dostarczających usługi
    • diagramy: sekwencji, aktywności

Najwazniejsze diagramy

Projektując system informatyczny, rozpoczyna się przeważnie od tworzenia diagramów w następującej kolejności:

  1. Przypadków użycia
  2. Sekwencji
  3. Klas
  4. Aktywności

Są to najczęściej wykorzystywane diagramy. Pozostałe bywają pomijane, zwłaszcza przy budowaniu niedużych systemów informatycznych. [Żródlo: Wikipedia]

UML w Visual Studio

UML Modeling Project

Odkrywanie modelu w VS

Inne narzędzia

UML Diagram klas - podstawy

Opis klasy

[widocznosc] nazwa [:typ] [wielokrotnosc][= wartosc domyslna]
[widocznosc] nazwa [( lista parametrow )] [:typ zwracany] 

Zakres

* poziom widoczności

Asocjacje (relacje)

Agregacja

agilemodeling.com_images_models_classdiagramcomposition.jpg

Generalizacja

Powiązania ilościowe

agilemodeling.com_images_models_classdiagramassocationnotation.jpg

1 tylko 1
0..1 0 lub 1
0..* 0 lub więcej
1..n od 1 do n
n..m od n do m

Interfejsy

Diagram klas w VS

Elementy diagramu klas

Generowanie kodu

Generowanie diagramów klas

UML Diagram przypadków użycia - podstawy

Aktorzy

Przypadki użycia

Powiązania

Zawieranie i rozszerzenie

Źródło: http://www.agilemodeling.com/essays/useCaseReuse.htm

Diagram przypadków użycia w VS

UML Diagram sekwencji - podstawy

Elementy diagramu

Regiony

Źródło: http://www.tracemodeler.com/articles/a_quick_introduction_to_uml_sequence_diagrams/

Diagram sekwencji w VS

Generowanie diagramu sekwencji

UML Diagram aktywności - podstawy

Elementy diagramu aktywności

Diagram aktywności w VS

Diagram komponentów

Elementy diagramu komponentów

Diagram komponentów w VS

Diagram warstw

Warstwy w VS

Elementy diagramu warstw

Analiza architektury

Generowanie z kodu

Mapy kodu (code maps)

Dependency graph

Zależności modułów

Zależności wewnątrz modułów i klas

Powiązanie plików C++

Analizator

Architecture Explorer

Połączenie elementów modeli z TFS

Źródła