background image

 

 

UML – Unified Modeling 

Language

background image

 

 

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

background image

 

 

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. 

background image

 

 

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

background image

 

 

Klasyfikacja diagramów, zawarta w standardzie UML

background image

 

 

• 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

+

#

-

background image

 

 

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)

background image

 

 

background image

 

 

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  

background image

 

 

• 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

background image

 

 

• 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..*

background image

 

 

background image

 

 

• 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..*

background image

 

 

• 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..*

background image

 

 

 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

background image

 

 

background image

 

 

• 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

background image

 

 

background image

 

 

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

background image

 

 

background image

 

 

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)

background image

 

 

background image

 

 

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

background image

 

 

background image

 

 

background image

 

 

background image

 

 

background image

 

 


Document Outline