UML – Unified Modeling
Language
Obiekt pojęcie to w informatyce podobnie jak w realnym świecie wiele znaczy. Dlatego też nie
można się spodziewać tu precyzyjnej definicji. Z jednej strony można powiedzieć że jest to
konkretny byt który można jednoznacznie zidentyfikować i przyrównać do realnego,
materialnego a z drugiej że jest pewną abstrakcją programową stworzoną w celu pożądanej
logiki. Jest to pojęcie podstawowe i daje początek racji bytu kolejnym pojęciom. Każdy obiekt
w bazie ma typ oraz wewnętrzną i zewnętrzną definicję. Definicja zewnętrzna określa usługi i
atrybuty oferowane użytkownikom obiektu(interfejs). Definicja wewnętrzna czyli
implementacja zawiera szczegóły niedostępne na zewnątrz. Obiekt może być skojarzony z
metodami lub operacjami, które na nim działają, z reguły definiowanych, przechowywanych w
ramach jego klasy oraz jego nadklas. Obiekt jest instancją klasy. Obiekty mogą być
rekurencyjnie powiązane między sobą związkami semantycznymi. Odwołanie do konkretnego
obiektu w systemie jest realizowane przez wysłanie do niego komunikatu.
Abstrakcja
Dziedziczenie
Polimorfizm
Hermetyzacja
Powiązanie (Asocjacja)
Agregacja
Zunifikowany język do modelowania, zawierający
pojęcia i notacje
służące do obiektowej analizy, modelowania i
projektowania.
UML został opracowany przez czołowych
metodologów:
G.Boocha, I.Jacobsona, J.Rumbaugha, i jest
rozpowszechniany
przez firmę Rational Inc. Jest on następcą OMT,
metodyki
Boocha oraz metodyki opartej na przypadkach
użycia (use cases) Jacobsona.
Geneza UML
OMT
Object Modeling Technique
Objectory
Grady Booch, 1991
[Rational Corp]
Object Management
Group
Diagramy encji
Ada
Z
VDM 1980
UML
wpływa
koordynator
C++
Smalltalk
Eiffel
Projektowan
ie baz
danych
Klasyfikacja diagramów, zawarta w standardzie UML
• Klasa:
– nazwa
– atrybuty
– operacje
Figura
rozmiar
pos : Pozycja
widoczna : Boolean = true
licznik : Number = 0
rysuj()
skaluj(p : Procent = 100)
weź_obszar() : Obszar
integruj()
Ile() : Number
Widzialność
Sygnatura
Wartości domyślne
Elementy klasowe
+
#
-
Pojazd
Samochód
Wyścigówka
Łódź
Ciężarówka
Motorówka
Żaglówka
• Relacja pomiędzy klasami - dziedziczenie (inheritance)
– klasa specjalizacja (podklasa) dziedziczy wszystkie
elementy: atrybuty, operacje, relacje od generalizacji
(nadklasy)
Okno
OK
Przycisk
Cancel
samochód
nazwa
nazwa()
Osoba
nazwisko
nazwisko()
0..*
kierowca
samochód
Rola
Krotność
Nazwa
właściciel
• ASOCJACJE
- Nazwa, Krotność, Role
– n..m
– 0..1 0..*1..*
– 2
• Klasa asocjacji (association class)
– asocjacja może być reprezentowana przez klasę, aby umożliwić opisanie
atrybutów i operacji związanych z asocjacją
C
x : Type
op ( x :T )
A
B
• Klasa asocjacji - przykłady
Firma
Osoba
0..*
Pracownicy
Zatrudnienie
Zarobki
Autoryzacja
prioryt
et
uprawnienia
rozpocznij_sesje( )
Osoba
użytkownik
Autoryzowany na
0..*
Komputer
0..*
0..*
• Asocjacja N-arna (n-ary association)
Dana klasa może być w asocjacji z wieloma innymi klasami
Kurs
początek:Time
koniec :Typ
Student
Nauczyciel
Pokój
1..1
1..*
1..1
1..*
• Agregacja (aggregation)
– opisuje relację “całość-część” pomiędzy
instancjami
– ta sama część może być składową
różnych agregatów
• Kompozycja lub silna agregacja (composite
aggregation)
– jedna część może być składową tylko
jednego agregatu
Koło
Silnik
Samochód
4
4
Osoba
Drużyna
0..*
1..*
członkowstwo
klub
członek
0..*
1..*
Opis systemu rzeczywistego - obiekty
• Instancja modelu statycznego
• Elementy
– obiekty (nazwy są podkreślone)
– połączenia (links)
BMW: Samochód
rej_no : WRC4321
data : 1998
Ford/Służbowy
rej_nr : WRC5678
data : 1997
Fiat:
Samochód
rej_no : WOE1234
data : 1996
A/Manager: Osoba
nazwisko : Kowalski
: Osoba
nazwisko : Nowak
• Interfejs
– deklaracja podzbioru operacji, które łącznie definiują
pewien zestaw usług oferowanych przez instancję (klasy,
przypadku użycia, komponentu)
Figura
Skalowaln
y
Klonowaln
y
Model przypadków użycia (PU)
• Ilustruje
– zbiór przypadków
użycia systemu
• Identyfikuje
– aktorów, którzy
wchodzą w interakcje
z systemem
• Definiuje
– jakie działania
podejmuje system -
przypadki użycia
– to, co istnieje na
zewnątrz systemu -
aktorów
• Wyrażony diagramem
przypadków użycia
Statystyka sprzedaży
Statystyka klientów
Sprzedaż
Sprzedawca
Kierownik
System sprzedaży
Diagram maszyny
stanów
• Przeznaczenie
– do opisu (wewnętrznego) zachowania obiektów pewnej klasy
lub metod w terminach zmian stanów zachodzących pod
wpływem nadchodzących zdarzeń
• Elementy
– stany (states)
– przejścia (transitions)
– zdarzenia (events)
On first
floor
Moving Up
Moving to first
Idle
go up
go down
After(10 min)
Daj kawę
do filtru
Dodaj wode
do zbiornika
Wstaw filtr
do ekspresu
Daj
filiżankę
Parz kawę
Włącz
Ekspres
Pij
Daj puszki
coli
Znajdź
napitek
Napełnij kawę
[brak kawy]
[brak coli]
[jest cola]
[jest kawa]
Diagram aktywności - rozszerzenie diagramu
stanów