Zadanie 2 - Wizualizacja struktury programu obiektowego na diagramie klas

Wstępne informacje

Przebieg ćwiczenia

Diagramy klas pomagają w zrozumieniu obiektowego kodu oraz w jego projektowaniu. Na diagramie można też zauważyć problemy w przyjętych rozwiązaniach (np. kod będzie się trudno rozwijać lub utrzymywać). W tym zadaniu nauczysz się notacji używanej na diagramie klas oraz stworzysz diagram klas na podstawie istniejącego kodu źródłowego.

Notacja

Klasy

Głównym elementem diagramu klas są… klasy :-) Reprezentuje się je w postaci prostokątów.

W klasie można zawrzeć wszystkie szczegóły jej implementacji, jednak należy to robić z rozwagą. Diagramy tworzymy po to, by zrozumieć lub zaprojektować odpowiednią strukturę kodu, więc na diagramach należy umieszczać tylko elementy niezbędne do przeprowadzenia takiej analizy. Umieszczenie na diagramie zbyt wielu informacji może często zaciemnić finalną strukturę.

Nazwa klasy znajduje się w górnej części prostokąta. Poniżej znajdują się definicje pól klasy (minusem - oznacza się pola private, # to protected a + to public).

Jeszcze niżej na diagramie klas umieszcza się metody, stosująć taką samą notację modyfikatorów dostępu. Dodatkowo, można zawrzeć tutaj argumenty metod (zazwyczaj tylko typy) oraz typ zwracany - jeśli istnieje.

Interfejsy

Interfejs wygląda bardzo podobnie do klasy. Jedyna różnica to taka, że nad nazwą interfejsu powinien znaleźć się stereotyp <<interface>>.

Klasy abstrakcyjne

Ich nazwy piszemy na diagramie kursywą.

Zależności pomiędzy klasami

Żaden system stworzony w modelu obiektowym nie składa się z jednego elementu. Występuje w nim wiele klas, na podstawie których tworzone są obiekty, które korzstając nawzajem ze swoich funkcjonalności dostarczają w pełni działający system. To, co jest najcenniejsze w diagramie klas to właśnie możliwość zobrazowania zależności występujących między klasami w obiektowym systemie. Poniżej zamieszczono notację podstawowych zależności między klasami, które występują w obiektowo zaimplementowanym systemie.

Przykładowy diagram

Rysowanie diagramu klas

Wykonaj fork i sklonuj na lokalny komputer repozytorium z projektem implementacji programu do obsługi faktur: https://github.com/fracz/mwo-invoice.

Zaimportuj projekt to środowiska Eclipse.

Narysuj diagram klas Invoice i Product.

Wojciech Frącz, [email protected]