UML cz.2
Diagramy UML pozwalają na ilustrację rozmaitych aspektów systemu:
- pewne diagramy ujmują wyłącznie statyczne aspekty systemu – jego strukturę
- inne rodzaje diagramów ujmują dynamiczne aspekty systemu – jego zachowanie
- są diagramy ilustrujące łącznie aspekty dynamiczne i statyczne – zachowanie systemu z uwzględnieniem jego struktury
Mimo że UML jest silnie związany z obiektowym modelem oprogramowania, używa się go także przy modelowaniu systemów zawierających, dodatkowo lub wyłącznie, oprogramowanie inne niż obiektowe.
Obecna specyfikacja UML wyróżnia 13 rodzajów diagramów w następującej hierarchii:
- diagramy struktury:
- diagramy klas, obiektów, komponentów, struktur złożonych, pakietów, wdrożenia
- diagramy zachowania:
- diagramy przypadków użycia, maszyny stanowej, czynności
- diagramy interakcji:
- diagramy przeglądu interakcji, sekwencji, komunikacji, czasowe
Autorzy UML rozróżniają pięć perspektyw spojrzenia na system informatyczny i przyporządkowują im odpowiednie rodzaje diagramów UML:
- perspektywa przypadków użycia – zachowanie systemu obserwowane z zewnątrz; diagramy przypadków użycia, interakcji, stanów i czynności
- perspektywa projektowa – klasy, interfejsy, kooperacje; diagramy klas, obiektów, interakcji, stanów i czynności
- perspektywa procesowa – wątki i procesy, współbieżność i synchronizacja; diagramy te same jak w perspektywie projektowej ze szczególnym uwzględnieniem klas i obiektów aktywnych
- perspektywa implementacyjna – komponenty i pliki, zarządzanie konfiguracją; diagramy komponentów, interakcji, stanów i czynności
- perspektywa wdrożeniowa – węzły, fizyczna realizacja sprzętowa;
Język UML może być stosowany w ramach tzw. inżynierii wprzód (forward engineering) - w takim wypadku najpierw powstaje model UML systemu, a następnie na jego podstawie projektuje się i implementuje system.
Język UML może być także stosowany w ramach tzw. inżynierii odwrotnej (inżynierii wstecz, reverse engineering):
- w tym wypadku model UML ma odzwierciedlać istniejący kod
- inżynierię wstecz stosuje się aby np.
- zaprezentować program
- dokonać modyfikacji kodu (np. na postawie wzorców