Tematem zadania jest modelowanie struktury obejmujące:
H (high), M (medium), L( low) - priorytety. Kompletna lista atrybutów oraz metody mogą zostać uściślone podczas następnych zajęć.
Realizując zadanie należy uwzględnić rozszerzone tematy podane na końcu tego opisu. Rozszerzenia mają na celu zwiększenie liczby klas.
Wprowadzone atrybuty mają opisywać istotne z punktu widzenia zadań systemu cechy obiektów. Typowy przykład: skórzana tapicerka samochodu jest nieistotna dla systemu rejestracji pojazdów, natomiast może być istotna w systemie obsługującym komis samochodowy.
Uwaga. Nie należy dodawać atrybutów odpowiedzialnych za realizację asocjacji (klucze obce w ERD). Zamiast nich należy wprowadzić role
W podejściu czysto obiektowym system jest siecią obiektów, które wysyłają do siebie komunikaty. Te komunikaty odpowiadają sygnaturom metod.
Sygnatura metody jest specyfikacją usługi, którą obiekt powinien zapewnić korzystając z informacji o swoim stanie (wartościach atrybutów i obiektach powiązanych) oraz obiektach zewnętrznych przekazanych jako parametry.
Identyfikując metody możemy posługiwać się rozmaitymi rutynowymi przepisami:
Przykład: jeżeli piszemy system obsługi dziekanatu złą metodą jest przetwórzKwerendę()
– w domyśle metoda bazy danych – natomiast dobrą: dodajStudenta()
, usunStudenta()
, zarejestrujStudenta()
– w domyśle klasy GrupaStudentów
Metoda przetwórzKwerendę()
byłaby właściwa, gdybyśmy implementowali silnik bazy danych, a nie konkretny system wykorzystujący istniejące oprogramowanie do obsługi baz danych.
UML rozróżnia trzy grupy związków
W przypadku analizy dziedziny związek (1) raczej nie jest modelowany. Należy skupić się na związkach (2) i (3).
Dla przypomnienia: dobrym kryterium ustalania poszczególnych związków są frazy języka naturalnego:
dziedziczenie | jest | Student jest Osobą |
asocjacja | odnosi się do, dotyczy, ma informacje o, używa, korzysta z | Recenzja odnosi się do Filmu, Kierowca używa Samochodu, Ocena z Przedmiotu= Ocena dotyczy Przedmiotu |
agregacja | ma | Pokój ma Ściany |
kompozycja | składa się | Mieszkanie składa się z Pokoi, Kuchni, Łazienki, WC |
Definiując powiązania należy koniecznie ustalić ich krotność. Np.: pokój ma 3,* ścian, mieszkanie składa się z 1,* pokoi.
Przykładowe rozszerzenia tematów pozwalające na zidentyfikowanie większej liczby klas…
1. Zakupy w sklepie internetowym
Uwzględnij: autoryzację, tworzenie grup (kategorii towarów). Edycję danych. Wystawianie faktur do zamówienia.
23. Dyspozytor taksówek
Dodaj: listę postojów, informacje o tym, że taksówka czeka na postoju lub znajduje się w innej lokalizacji. Kurs klienta „z ulicy” i na podstawie zlecenia. Harmonogram dyżurów. Załóż, że kierowcy mogą dzielić taksówkę. Statystyki dyżurów i kursów.
7. Wypożyczalnia filmów DVD
Dodaj: serwis internetowy umożliwiający
rezerwację filmów wystawianie komentarzy podział filmów na kategorie, edycja kategorii (dla uprawnionego użytkownika, pracownika) historia wypożyczeń rabaty
8. Obsługa rachunku bankowego
Dodaj informację o tym, kto i kiedy wykonuje operacje. Dodaj autoryzację pracownika.
9. System rezerwacji i sprzedaży biletów kinowych
Dodaj serwis internetowy umożliwiający rezerwację. Częściowa lub pełna identyfikacja użytkownika. System przydzielający zarejestrowanym użytkownikom punkty za zakupione bilety. Wyszukiwanie filmów seansów. Klasyfikacja wg. kategorii. Streszczenia, recenzje widzów. Przypomnienia o rezerwacji przez e-mail lub SMS.
10. Biblioteka Dodaj kategorie książek, dodawanie opinii o książce w interncie, rezerwacje, powiadomienia o zbliżającym się terminie zwrotu.