UML cz. II UML cz. II 1/38
UML cz. II 2/38 Klasy Najważniejsze informacje o klasie: różnica pomiędzy klasą a jej instancją (obiektem) na podstawie klasy tworzone są obiekty (instancje klasy) stan obiektu klasy obiekt klasy przechowuje swój stan w postaci atrybutów (danych) zachowanie klasy zachowanie klasy opisuje jakie operacje klasa może wykonać (jakie można wysłać jej komunikaty) klasa powinna zawierać tylko niezbędne informacje (abstrakcja)
UML cz. II 3/38 Hermetyzacja w podejściu obiektowym obiekt powinien zawierać dane i instrukcje hermetyzacja umożliwia ukrycie szczegółów implementacji klasy hermetyzacja ułatwia zmianę sposobu wewnętrznego działania klasy
UML cz. II 4/38 Sposoby przedstawienia klasy Rysunek: Reprezentacja klasy od najbardziej szczegółowej do najprostszej
UML cz. II 5/38 Widoczność Rysunek: Poziomy dostępu zdefiniowane w UML
UML cz. II 6/38 Atrybuty Rysunek: Przedstawienie atrybutów w UML
UML cz. II 7/38 Liczebności Rysunek: Rodzaje liczebności
UML cz. II 8/38 Operacje Rysunek: Operacje klasy
UML cz. II 9/38 Składowe statyczne Rysunek: Składowa statyczna klasy zaznaczona przez podkreślenie
UML cz. II 10/38 Związki pomiędzy klasami Związki między klasami od najsłabszego do najsilniejszego zależność w sytuacji, gdy obiekty jednej klasy działają, wykorzystując przelotnie obiekty innej asocjacja w sytuacji, gdy obiekty jednej klasy działają, wykorzystując obiekty innej klasy przez pewien dłuższy czas agregacja częściowa (agregacja) w sytuacji, gdy jedna klasa zawiera, ale jednocześnie współdzieli odwołanie do obiektów innej agregacja całościowa (kompozycja) w sytuacji, gdy jedna klasa zawiera obiekty innej dziedziczenie w sytuacji, gdy jedna klasa jest rodzajem innej
UML cz. II 11/38 Związek zależności Rysunek: Związek zależności
UML cz. II 12/38 Asocjacja Przykład: c l a s s A { p r i v a t e : B b ; } ; c l a s s B { p r i v a t e : A a ; } ;
UML cz. II 13/38 Agregacja Rysunek: Związek agregacji Przykład: c l a s s A { p r i v a t e : s t d : : v e c t o r <B > b ; } ; c l a s s B { } ;
UML cz. II 14/38 Kompozycja Rysunek: Związek kompozycji Przykład: c l a s s A { p u b l i c : v i r t u a l A( ) { d e l e t e b ; } p r i v a t e : B b ; } ; c l a s s B { } ;
UML cz. II 15/38 Uogólnienie Rysunek: Związek uogólnienia (dziedziczenia)
UML cz. II 16/38 Klasa abstrakcyjna Rysunek: Klasa abstrakcyjna
UML cz. II 17/38 Realizacja interfejsu Rysunek: Realizacja interfejsu
UML cz. II 18/38 Szablon klasy Rysunek: Przykład szablonu klasy
UML cz. II 19/38 Ograniczenia Rodzaje ograniczeń niezmienniki warunki wstępne warunki końcowe
UML cz. II 20/38 OCL Przykładowe wyrażenia OCL basecost >= 0.0 totalcost = basecost (1 + gettaxrate()) status <> Unpaid Typy OCL logiczny całkowitoliczbowy zmiennoprzecinkowy łańcuchowy
UML cz. II 21/38 OCL Operatory OCL arytmetyczne, /, +, dodatkowe arytmetyczne max(), min(), avg(), abs() porównania <=, <, >=, > równości =, <> logiczne and, or, xor, not operacje na łańcuchach concat(), size(), substring()
UML cz. II 22/38 Diagram obiektów Cechy: należy do widoku logicznego przedstawia instancje obiektów
UML cz. II 23/38 Instancja obiektu Rysunek: Instancje obiektu i połączenie między nimi połączenie może wystąpić tylko w wypadku, gdy na diagramie klas występowała asocjacja lub agregacja można pominąć nazwę obiektu
UML cz. II 24/38 Diagram obiektów Rysunek: Instancje obiektu i połączenie między nimi
UML cz. II 25/38 Diagram struktury wewnętrznej Rysunek: Diagram klas Rysunek: Diagram struktury złożonej
UML cz. II 26/38 Konektory Rysunek: Przykład użycia konektora konektor to łącze umożliwiające komunikację pomiędzy częściami przedstawianej struktury liczebności konektorów są takie same jak na diagramach klas
UML cz. II 27/38 Właściwości Rysunek: Diagram klas Rysunek: Diagram struktury złożonej
UML cz. II 28/38 Porty Rysunek: Klasa z portami sygnalizującymi udostępnianie przez nią dwóch usług port to miejsce interakcji między otoczeniem a klasą porty używane są do grupowania podobnych interfejsów
UML cz. II 29/38 Diagram komponentów Komponent komponent to hermetyzowana, możliwa do powtórnego użycia część oprogramowania komponent podlega tym samym związkom, co klasa diagram komponentów ułatwia modelowanie architektury systemu
UML cz. II 30/38 Diagram komponentów komponent wymaga interfejsu do swojego działania komponent udostępnia interfejs innym komponentom porty używane są do grupowania podobnych interfejsów
Diagram komponentów UML cz. II 31/38
UML cz. II 32/38 Pakiety Rysunek: Reprezentacja czterech pakietów (A, B, C, D) w systemie
UML cz. II 33/38 Zawartość pakietów Rysunek: Przedstawienie zawartości pakietów Rysunek: Odwoływanie się do zawartości pakietów
UML cz. II 34/38 Przedstawianie zależności między pakietami Rysunek: Strzałki wskazują na występowanie zależności między pakietami
UML cz. II 35/38 Rodzaje zależności między pakietami Rysunek: Pakiet A ma dostęp do publicznych elementów pakietu C. Nie ma dostępu elementów do pakietu D
UML cz. II 36/38 Szczegóły zależności między pakietami Rysunek: Pakiet users importuje pakiet security Rysunek: Pakiet users importuje klasę z pakietu security
UML cz. II 37/38 Pakiety a przypadki użycia Rysunek: Pakiety mogą grupować podobne przypadki użycia
UML cz. II 38/38 W wykładzie wykorzystano materiały Miles R., Hamilton K.: UML 2.0. Wprowadzenie, Helion, Gliwice 2007, UML 2.1 Tutorial, http://www.sparxsystems.com.au/resources/uml2 tutorial/