DIAGRAM KLAS Kamila Vestergaard materiał dydaktyczny
DEFINICJA D I A G R A M K L A S Diagram klas pokazuje wzajemne powiązania pomiędzy klasami, które tworzą jakiś system. Zawarte są w nim informacje dotyczące związków miedzy klasami. Jest to najczęściej używany diagram UML.
CZYM JEST SYSTEM? Zbiór elementów, powiązanych ze sobą relacjami w taki sposób, że stanowią one całość zdolną do funkcjonowania w określony sposób. Tadeusz Tomaszewski Zbiór elementów i zachodzących między nimi relacji. Marian Mazur System to zbiór elementów fizycznych bądź abstrakcyjnych, które wzajemnie powiązane w układy funkcjonują w określony sposób. Wyodrębnienie wszystkich elementów systemu jest najczęściej bardzo trudnym zadaniem, dlatego w celach badawczych wykorzystuje się modele uproszczone. Elementy należące do jednego systemu nie mogą jednocześnie należeć do innego systemu.
PRZYKŁADY SYSTEMÓW
ELEMENTY DIAGRAMU KLAS Diagram klas Klasy Relacje między klasami
KLASA OBIEKTÓW Obiekt - coś, co występuje w świecie rzeczywistym Klasa obiektów jest to grupa obiektów podobnych do siebie, mających podobne cechy Figury geometryczne klasa obiekt obiekt obiekt
NOTACJA Użytkownik # login: String # hasło: String # status: String = aktywny nazwa klasy ( I sekcja) Atrybuty ( II sekcja) + Zaloguj (login, wprowadzhasło) + pobierzstatus(): String + ustalstatus(status) Operacje ( III sekcja)
RELACJE MIĘDZY KLASAMI Zależność Asocjacja Agregacja Kompozycja Uogólnienie Pokazuje relacje między klasami, gdy zmiany w jednej klasie pociągają za sobą konieczność zmiany w drugiej klasie. Pokazuje relacje pomiędzy dwiema klasami, strzałka jest prowadzona od klasy źródłowej do celowej. Oznacza dokładnie to samo co atrybut, można stosować je zamiennie. Pokazuje relacje między klasami, gdy zniszczenie klasy nadrzędnej nie zniszczy klasy podrzędnej. Pokazuje relacje między klasami, z czego jedna z nich nie może istnieć bez drugiej. Gdy zniszczymy klasę nadrzędną, klasa podrzędna nie może bez niej istnieć. Pokazuje relacje między klasami, z których klasa nadrzędna ma cechy wspólne dla klas podrzędnych. Klasa podrzędna specyfikuje pozostałe charakterystyczne cechy.
SEKCJA I NAZWA KLASY W pierwszej sekcji klasy umieszczamy zawsze nazwę klasy. Powinna się ona zaczynać z dużej litery. Jeśli nazwa klasy jest dwuwyrazowa słowa piszemy bez spacji zaczynając każdy wyraz z dużej litery. Przykład znajduje się poniżej: FakturaZaliczkowa - datawystawienia: Date - datapłatności: Date + FakturaZaliczkowa(data) + pobierzdane(): void + WyznaczDatę(date): FakturaZaliczkowa
SEKCJA II - ATRYBUTY Druga sekcja klasy, czyli miejsca, gdzie wpisujemy atrybuty (cechy) obiektu, składa się z następujących elementów:
PRZYKŁADY ATRYBUTÓW Poniżej znajdują się przykłady uzupełnionej drugiej sekcji. Jak widać, atrybut nie musi posiadać tych wszystkich elementów. Aby był prawidłowy, wystarczy specyfikator dostępu, nazwa, :, typ Adres + ulica: String + numerdomu: Integer + numerlokalu: Integer + miejscowość: String Volkswagen + model: String + rocznik: Integer + moc: Integer - cena: Integer + status: String = dostępny
SPECYFIKATORY DOSTĘPU + publiczny dostępny z każdego miejsca w programie - prywatny dostęp tylko w ramach danej klasy ~ pakietowy dostęp w ramach pakietu # chroniony dostęp w danej klasie lub podklasie tej klasy Specyfikator dostępu określa widoczność atrybutu danej klasy.
NAZWA Nazwa określa, jak klasa ma się odwoływać do atrybutu. Nazwę atrybutu piszemy z małej litery, jeśli są to dwa słowa postępujemy tak samo jak w przypadku I sekcji. Atrybut może być mnogi (np. krzesła)
TYPY Typ wyznacza ograniczenia dla obiektów, które są przechowywane w sekcji atrybutów Nazwa Znaczenie Przykład Integer Liczba całkowita ze znakiem - 5421, + 789 String Ciąg znaków aktywny Boolean Wartość logiczna True, false
KROTNOŚCI Oznaczenie Opis Przykład 1 Dokładnie jeden 1 1..* Jeden albo wiele 1..* 0..1 Zero albo jeden 0..1 * wiele * 0..* Zero albo wiele 0..* n Dokładnie n (n>1) 7 1..n Od 1 do n 1..9 0..n Od 0 do n 0..3 n..m Od n do m (n,m>1) 2..12 n..* Więcej niż n 8..* N, m,o..p, q Liczebność złożona 2, 3, 5..8, 9
WARTOŚĆ DOMYŚLNA Wskazuje, jaką wartość przyjmie atrybut, w momencie powstania nowego obiektu tej klasy. OPIS CECHY Opis cechy powinien być zwięzły, czyli składać się z 1 max. 2 słów. Pozwala on na wskazanie dodatkowych własności atrybutu. Przykłady: readonly tylko do odczytu bag - Atrybut jest zbiorem uporządkowanym składającym się z powtarzających się elementów unique wartości atrybutu są unikalne