Wprowadzenie do modelowania i UML

Transkrypt

Wprowadzenie do modelowania i UML
Wprowadzenie
do modelowania i UML
Anna Bobkowska
lowania
e
d
o
M
z
wykładu
o
d
e
z
ic
n
ETI PG.
c
o
le
ia
m
z
o
d
p
y
ły
na W
dzie.
ła
w
k
Materia
ó
y
m
w
e
t
a
s
n
Sy
ecności
h
b
o
i Analizy
je
u
p
ę
t
lu oraz ic
s
e
a
c
z
m
ie
y
n
n
a
in
.
Ich lektur nie materiałów w
bronione
a
a
z
t
t
s
s
y
z
je
r
o
Wyk
echnianie
z
s
w
o
p
z
o
r
Co to jest model?
Model jest
uproszczeniem rzeczywistości,
(abstrakcją systemu)
na pewnym poziomie abstrakcji
i z pewnego punktu widzenia.
Przykłady modeli
•
•
•
•
•
Modele architektoniczne budynków
Modele aerodynamiczne samolotów
Modele urządzeń telekomunikacyjnych
Scenariusze filmów
Modele w fizyce, socjologii i ekonomii
NIA
A
W
O
M
A
R
OG
R
P
O
I
I
R
ĘT Ą
J
E
I
Y
N
Z
Y
R
Ż
P
N
I
E
I
HN
IE W
C
N
E
A
Z
S
W
W
O
L
O
E
P
MOD
NĄ I
O
Z
D
W
A
R
Ą SP
K
I
N
H
C
E
T
JEST
Dlaczego modelujemy?
• Zrozumienie systemu
ZŁOŻONOŚĆ
• Specyfikowanie struktury i zachowania
PRZEWIDYWANIE CECH I DZIAŁANIA
• Dokumentacja podjętych decyzji
KOMUNIKACJA
Zasady modelowania [Booch]
1. Podjęcie decyzji, jakie modele tworzyć
ma wielki wpływ na to, w jaki sposób
zaatakujemy problem i jaki kształt
przyjmie rozwiązanie.
2. Każdy model może być opracowany na
różnych poziomach szczegółowości.
Zasady modelowania -23. Najlepsze modele odpowiadają
rzeczywistości.
4. Żaden model nie jest wystarczający.
Niewielka liczba niemal niezależnych
modeli to najlepsze rozwiązanie w
przypadku każdego niebanalnego
systemu.
Meta-modele, czyli modele modeli
• Cel tworzenia:
określenie, co przedstawiają modele
• Wykorzystanie:
– pomagają zrozumieć elementy modelu i
powiązania pomiędzy nimi
– pomagają w budowie repozytoriów danych i
narzędzi CASE związanych z modelowaniem
www.m
etamod
el.com
4-poziomowa architektura meta-modeli
Poziom
Opis
Przykłady
Meta-meta
model
Definiuje język opisu
meta-modeli.
Meta-klasa
Meta-atrybut
Wystąpienie metaKlasa, atrybut,
meta-modelu.
operacja,
Meta-model
Definiuje język do
opisu modelu.
Wystąpienie meta- Samochód, ilośćOsób,
modelu, definiuje
PodajPoziomOleju()
Model
język opisu dziedziny
problemu
Wystąpienia modelu,
FordJanka,
Obiekty
opisuje informacje z
<5>,
(dane)
dziedziny problemu
FordJanka.
użytkownika
PodajPoziomOleju()
Modele w kontekście
syntaktyka
semantyka
Dziedzina
Model
Język
pragmatyka
Użytkownicy
celem jest ich zrozumienie
j
re
któ
o,
eg
st
wi
zy
ec
rz
ta
ia
św
Model - abstrakcja obiektów
Modelowanie w analizie
i projektowaniu oprogramowania
Problem
Dziedzina problemowa
Potencjalni udziałowcy
Analiza,
projektowanie,
konstrukcja,
dokumentacja,
wdrożenie,
pielęgnacja
Dziedzina technologii
informatycznej
Projektanci
Rozwiązanie
problemu
Klasyczny model wytwarzania systemów
Faza
Faza
przedprojektowa
przedprojektowa
(Planowanie)
(Planowanie)
Analiza
Analiza
Projektowanie
Projektowanie
Implementacja
Implementacja
Testowanie
Testowanie
Wdrażanie
Wdrażanie
i ipielęgnacja
pielęgnacja
IBM Rational Unified Process (RUP)
Zastosowania modelowania
• Rozpoznanie cech rzeczywistego obiektu przed jego
zbudowaniem, zrozumienie problemu
• Komunikacja z klientem - platforma porozumienia
• Wizualizacja idei
• Redukcja złożoności - wyróżnienie cech istotnych dla
rozwiązywanego problemu
• Analiza, ocena, walidacja, weryfikacja
• Etap przejścia od modelu biznesowego do finalnego
systemu
Unified Modeling Language (UML)
• Jest notacją do celów analizy i projektowania systemów
z użyciem pojęć obiektowych
• Łączy pojęcia metodyk Boocha, OMT (Rumbaugh)
i OOSE (Jacobson)
• Skupia się na standardzie języka do modelowania,
a nie na standardzie procesów tworzenia oprogramowania
• Może służyć do specyfikacji, projektowania, wizualizacji
i dokumentowania produktów, w których istotnym
składnikiem jest oprogramowanie
• Zawiera wiele środków dla wyrażania różnych perspektyw
projektowanego systemu
Źródła UML
Database
Databasedesign
design
Entity-Relational
Entity-RelationalModeling
Modeling
Ted
TedCodd
Coddetetal,
al,1980
1980
Multiple
Multipleviews
viewsofofstatic
staticrelationships;
relationships;
design
based
on
users'
design based on users'concepts
concepts
Larch
Larch
Ada
Ada
Large
Largesystem
systemmodular
modular
real-time
programming
real-time programming
CRC
CRC
Kent
KentBeck
Becketetalal
OMT
OMT
Object
ObjectModeling
ModelingTechnique
Technique
Jim
Rumbaugh
et
Jim Rumbaugh etal,
al,1991
1991
Analysing
Analysingobjects
objectsand
and
static
relationships
static relationships
Grady
GradyBooch,
Booch,1991
1991
[Rational
Corp]
[Rational Corp]
Managing
Managingobject
objectdesigns
designs
and
their
interdependencies
and their interdependencies
Object
ObjectManagement
ManagementGroup
Group
Standards
Standardsorganisation
organisation
C++
C++
Eiffel
Eiffel1988
1988
Bertrand
BertrandMeyer
Meyer
Objectory
Objectory
Ivar
IvarJacobson
Jacobsonetetal,
al,1992
1992
AAprocess
processfor
forobject
object
oriented
design
oriented design
Syntropy
Syntropy1994
1994
influences
[Many
[Manyconsultancies
consultanciesand
and
vendors
of
OO
software]
vendors of OO software]
Smalltalk
Smalltalk
formal
formal
specification
formal
specification
formalVDM
1980
VDM
1980
specification
specificationformal
formal
specification
specification
ZZ
coordinator
UML
UML
1997
1997
Real
RealTime
TimeOOM,
OOM,1994
1994
Bran
Selic
et
al
Bran Selic et al
[ObjecTime]
[ObjecTime]
Steve
SteveCook
Cook&&John
JohnDaniels
Daniels
Fusion
Fusion1994
1994
Derek
DerekColeman
Colemanetetalal
Catalysis
Catalysis1998
1998
Desmond
DesmondD'Souza
D'Souza
Alan
Cameron
Alan CameronWills
Wills
Podstawowe pojęcia w UML
• Elementy diagramów, np. przypadek użycia
• Związki, np. <<include>>
• Diagramy, np. diagram przypadków użycia,
diagram pakietów
•
•
•
•
::Package1
stereotypy, np. <<subsystem>>, <<model>>
opisy i komentarze
ograniczenia [Object Constraint Language]
własności : {słowo_kluczowe = wartość}
Komentarz
np. {wersja=4.1, autor=AB}
Taksonomia diagramów w UML 2.4.1
Diagram
Diagram zachowania
Diagram struktury
Diagram
klas
Diagram
struktury
złożonej
Diagram
profilu
Diagram
obiektów
Diagram
komponentów
Diagram
pakietów
Diagram
przypadków
użycia
Diagram
rozmieszczenia
Diagram
sekwencji
Diagram
komunikacji
Diagram
stanów
Diagram
czynności
Diagram
interakcji
Poglądowy
diagram
interakcji
Diagram
czasowy
Literatura
• Booch G., Rumbaugh J., Jacobson I.,
„UML. Przewodnik użytkownika”, WNT 2001
• OMG Unified Modeling Language Specification,
Version 2.4.1, 6.08.2011
– > Superstructure Specification
– ISO standard: ISO/IEC 19505-1 and 19505-2.
• Object Management Group:
www.omg.org; www.uml.org