��Dlaczego ten temat?
Prawie ka|dy w swojej pracy wykorzystuje notacj
graficzn (np. do modelowania, ilustrowania itp.)
Prawie ka|dy stosuje inn, kt�r musi definiowa
We wsp�lnej grupie (produkcyjnej) konieczne jest
Notacja UML
stosowanie jednolitej, wsp�lnej, dobrze zdefiniowanej
notacji, w tym graficznej
w skr�cie
Notacja powinna by wBa[ciwa do zastosowaD
Jest wskazane, aby notacja byBa popularna i powszechnie
wprowadzenie do modelowania oprogramowania
uznana
W procesie dydaktycznym nie jest wskazane stosowanie
tylko jednej notacji, ale najpopularniejsze trzeba
uwzgldnia
Modele budowane w procesie Modele budowane w procesie
wytwarzania oprogramowania wytwarzania oprogramowania
Domain
Business Model
Partial artifacts,
Modeling
Biznesowy *
refined in each
*
iteration.
WymagaD
Use-Case Model
Analityczny
:System
foo( x )
Danych
Requirements
bar( y )
system
Projektowy
text use system operations
system
use case sequence
operation
Implementacyjny
cases diagrams diagrams
contracts
Design Model
Design
Modele: model dziedziny
Rodzaje diagram�w
Modelujce algorytmy/aktywno[ci
Modelujce zwizki statyczne midzy elementami
projektu oprogramowania
Modelujce zwizki dynamiczne midzy
elementami projektu oprogramowania
Modelujce wymagania
Modelujce organizacje (procesy biznesowe)
Modelujce zwizki midzy elementami
implementacyjnymi
Modelujce struktur techniczn
1
Modele budowane w procesie wytwarzania
oprogramowania (zgodnie z kolejno[ci
Elementy notacji (wprowadzenie)
budowania)
NewCo
Biznesowy
NewClass mponent
Atrybut
Operacja()
WymagaD
NewPackage <�processor name>
Analityczny
NewState
entry/ Nam e
pre emptive
Projektowy exit/ Name
do/ Name
<�process name >
event Event In/ ^Event Out New Object : <�th rea d n ame>
NewClass
Danych
<�Actor Name> NewActivity
(f rom Ac tors)
<�device name>
Implementacyjny
Konstrukcyjny
<�Use Case Name>
(from <�Use Case Name>)
Elementy notacji - zwizki Stereotypy
<�<�realize>>
NewClass
Atrybut NewClass2
NewClass <�<�process>>
Operacja()
NewClass
Atrybut
<�<�ster>> Atrybut
NewClass
Operacja()
Atrybut NewClass2
<�Use Case Name> <�<�ster>> Operacja()
<�<�use-case realization>>
<�Use-Case Name> (from <�Use Case Name>)
Operacja()
New Object : : NewClass
NewClass NewClass
Atrybut NewClass2
[ Guard ] Operacja( )
Operacja() NewPackage <�<�layer>> <�<�subsystem>>
NewPackage NewPackage
NewClass NewActivity
Atrybut NewClass2
1: Operacja( )
Operacja()
New Object :
: NewClass
NewClass
NewPackage
NewClass2
<�processor name> <�<�include>>
<�device name>
Connection
<�Use Case Name> NewUs eCase <�Use Case Name> NewUs eCase
(from <�Use Case Name>) (from <�Use Case Name>)
preemptive
<�Use Case Name>
<�Actor Name>
<�process name>
(from <�Use Case Name>)
(f rom Actors) <�thread name>
Sposoby prezentacji stereotyp�w Diagram przypadk�w u|ycia
Graficzny model wymagaD funkcjonalnych
<�<�Business Worker>>
BuisnessW_X
Specyfika podej[cia opis interakcji
BuisnessW_X
BuisnessW_X
systemu z otoczeniem
<�<�control>> CC
Przedstawia:
CC
atrybut atrybut
Otoczenie aktor�w
operacja() operacja() CC
atrybut
Spos�b u|ywania stemu przez otoczenie
operacja()
przypadki u|ycia
<�<�subsystem>>
<�<�Interface>>
<�<�subsystem>> Zwizki otoczenia z przypadkami u|ycia
InterfaceB
ClassB ClassB
InterfaceB
Hierarchi otoczenia i przypadk�w u|ycia
Zwizki midzy przypadkami u|ycia
2
Hierarchia aktor�w i przypadk�w
PrzykBadowy diagram u|ycia
Make_Deal
Register
System 1
User
Rola 1
UC_X
Buy_Books
Find_a_Book
Rola 2
Admin
Create_Account
Uszczeg�Bowienie przypadk�w Biznesowe przypadki u|ycia
u|ycia (organizacji)
Fragment modelu organizacji (przedsibiorstwa)
Wykonywany opcjonalnie na etapie
Get_Permission wstpnym/strategicznym
5Get_Key
<�<�include>>
Zazwyczaj du|y poziom og�lno[ci
<�<�include>>
Rola 1
Przedstawia spos�b widzenia caBej organizacji
<�<�extend>>
przez jej otoczenie
Borrow_Car Fill_Tank
<�<�extend>> Projektowane oprogramowanie jest tylko cz[ci
tak modelowanej organizacji
<�<�include>>
Rola 2
NewUseCase6
Modyfikacja zwykBego diagramu przypadk�w
NewUseCase3
u|ycia przez wprowadzenie odpowiednich
stereotyp�w
PrzykBadowy diagram Diagramy aktywno[ci
Kiedy[ rozumiany jako specjalizacja
diagramu stan�w UML- zmiana
NewUseCase2
NewUseCase5
<�<�include>> <�<�include>>
Wykorzystywany do opisu wymagaD
Rola 1
procesowych (przypadki u|ycia sjego
<�<�extend>>
NewUseCase NewUseCase4 fragmentem)
<�<�extend>>
Rola 2 <�<�include>>
NewUseCase6
NewUseCase3
3
PrzykBadowy diagram Stany pocztkowe i koDcowe
Ndo_A
NewActivity
NewActivity
NewActivity
Do_B
NewActivity2
NewActivity2
NewActivity2
[ Warunek 2 ]
[ Warunek 1 ]
NewActivity3 NewActivity4
NewActivity3
[ Warunek 3 ]
Operacje r�wnoczesne Operacje r�wnoczesne
NewActivity NewActivity
NewActivity2 NewActivity3 NewActivity2 NewActivity3
NewActivity5
NewActivity4
Tory pBywackie Diagram stan�w
NewSwiml ane NewSwimlane2
Wykorzystywany do opisania dynamiki
(zachowania si) jednego elementu modelu
NewActivity
w zale|no[ci od wcze[niejszych zdarzeD
NewActivity2
Opracowane na bazie map stan�w (Harel)
NewActivity3
4
PrzykBadowy diagram Akcje wykonywane w stanie
wznowienie/aktywuj Zdarzenie 1
przerwanie
Pracuje Przerwa
wBczenie przerwanie
NewState
event wyBczenie/ zatrzymanie
event wyBczenie/ null
entry/ Akcja 1
do/ Akcja 2
exit/ Akcja 3
wznowienie
wyBczenie
event Zdarzenie In( Arg )[ War 1 ]/ ^Cel.Zdarzenie Out(Arg)
event Zdarzenie In( Arg )[ War 2 ]/ ^Cel.Zdarzenie Out(Arg)
wyBczenie
WyBczone
Zdarzenie In 2( Arg )[ War ] / Akcja ^Cel.Zdarzenie Out(Arg)
NewState2
Zagnie|d|anie stan�w i stany
historyczne Diagramy sekwencji
z-0-2
Modeluj dynamik oprogramowania
State1
H
H
Uwypuklaj nastpstwa czasowe
State2
State2
z-0-1
komunikat�w
State4
State4
State4
Prezentuj jedn [cie|k realizacji
z-4-5
State5
State5
State5
konkretnego wymagania,
odpowiedzialno[ci lub operacji
z-2-3
z-1-0
z-3-3
State3
State3
PrzykBadowy diagram WywoBania warunkowe i iteracje
a : ClassA : ClassB : ClassC
:ClassA : ClassB : ClassC
message 1( )
Opis warunku
messageX1( )
message 2( )
message 2( )
message 4( )
message 3( )
message 3( )
Opis stanu obiektu
message 4( )
Opis warunk�w
iteracji
5
Diagramy komunikacji
Komunikaty zwrotne (wsp�Bpracy)
: NewClass : NewClass2 : NewClass3
Tak jak diagramy sekwencji, modeluj
dynamik oprogramowania
messageX( )
Uwypuklaj zwizki midzy obiektami
messageY( )
messageZ( )
R�wnoznaczno[ diagram�w
PrzykBadowy diagram sekwencji i komunikacji
: NewClass
: NewClass : NewClass2 : NewClass3
: NewClass
1: message 1( )
message 1( )
1: message 1( )
4: message 4( ) 3: message 3( )
4: message 4( ) 3: message 3( )
message 2( )
message 3( )
: NewClass2
: NewClass2
message 4( )
2: message 2( )
: NewClass3
2: message 2( )
: NewClass3
Diagramy klas Opis klasy
Prezentuj statyczne zwizki midzy elementami
Nazwa klasy
logicznymi oprogramowania
Klasy
Operacje (odpowiedzialno[ci, metody)
Pakiety
Atrybuty
Interfejsy
Podsystemy
Warstwy Nazwa
atrybut 1 : Boolean
Zwizki midzy klasami okre[laj wzajemn
atrybut 2 : Integer
widoczno[ klas
operacja 1()
operacja 2()
Zale|no[ci midzy pakietami wynikajce z
widoczno[ci klas
6
Rodzaje klas PrzykBadowy diagram
CC
B
Klasa zwykBa
A
+rola 2
message 1()
message 3() 1 2..7 message 3()
1
Arg1
Klasa sparametryzowana message 4()
0..1
0..1
Arg2
+rola 1
PaCl
C
message C()
<�<�abstract>>
Klasa abstrakcyjna
AC
+rola 3 1..n
Operacja abstrakcyjna
D
operacja zwykBa()
operacja abstrakcyjna()
message 2()
E
Zwizki Opis asocjacji
Asocjacje NewClass6 NewClass7
Nazwa (nieu|ywana)
NewClass6 NewClass7
Jedno i dwukierunkowe
Stereotyp
NewCl ass6 NewClass7
Agregacje
Nazwy r�l
NewCl ass6 NewClass7
Kompozycje
Krotno[
Generalizacja
NewCl ass6 NewClass7
(dziedziczenie) Zakres widzialno[ci
NewClass6 NewInterface7
Realizacja
<�<�sterotyp>>
Nazwa
+rola A -rola B
NewClass6 NewClass7 A B
Zale|no[ci
2 1..7
Zakres widzialno[ci Wykorzystanie pakiet�w
Publiczny
NewClass NewClass3
1..n
1..n
(from Pakiet 1) 0..1 (from Pakiet 2)
0..1
+Rola 1
+Rola 3
Chroniony message 3() message 2()
1
1
0..n
0..n
+Rola 2
Prywatny
NewClass2
(from Pakiet 1)
Implementacyjny (zaprzyjazniony) NewClass5 NewClass4
message 1()
(from Pakiet 2) (from Pakiet 2)
message 3()
message 4()
Nazwa Nazwa
publiczny + Ppubliczny
+rola
chroniony # chroniony
#rola
prywatny - prywatny
NewClass6 NewClass7
-rola
Implementacyjny
Iiplementacyjny
rola
Pakiet 1
Pakiet 2
+ publiczny()
publiczny()
# chroniony()
chroniony()
- prywatny()
prywatny()
implementacyjny()
implementacyjny()
7
Wykorzystanie podsystem�w i
interfejs�w Diagram proces�w
Podsystem to wyizolowany pakiet Przedstawia hierarchi proces�w,
widoczny tylko poprzez dokBadnie podproces�w i wtk�w
okre[lony interfejs
Okre[la zwizek midzy procesami oraz
Interfejs definiuje tylko operacje i staBe midzy procesami a implementujcymi je
implementowane w pakiecie, podsystemie klasami
lub klasie
<�<�Interface>>
NewInterface
NewInterface NewClass8
<�<�subsystem>> operacja 1()
NewPackage operacja 2()
operacja 1()
operacja 2()
PrzykBadowy diagram proces�w Diagram komponent�w
Jak perspektywa logiczna ma by
<�<�process>> <�<�process>>
Process Name Process Name 2
zanurzona w [rodowisku
implementacyjnym
Zwizek klas z komponentami
<�<�thread>>
<�<�thread>>
Thread Name 2
Thread Name 1
Komponenty odpowiadaj zazwyczaj
jednostkom kompilacji (plikom)
<�<�thread>>
Thread Name 3
<�<�process>>
Subprocess Name
Pakiety odpowiadaj podsystemom
implementacyjnym (katalogom, pakietom)
PrzykBadowy diagram Diagram monta|owy
U[wiadamia ograniczenia konstrukcji
NewSubprogSpec NewSubprogBody
oprogramowania wynikajce ze struktury
technicznej
Nie ma na celu precyzyjnego modelowania
struktury technicznej
NewMainSubprog NewPackageSpec NewPackageBody
NewCo Przedstawia elementy struktury technicznej:
mponent
Procesory elementy aktywne
Urzdzenia elementy pasywne
NewTaskBody PoBczenie midzy elementami
NewTaskSpec
Przedstawia rozmieszczenie program�w (i
proces�w) w procesorach
8
Diagram monta|owy: przykBad PrzykBady wykorzystania DM
Modelowanie oprogramowania w tym
Serwer
statyczny model proces�w i model
NewCo
mponent
Urzdzenie
USB
komunikacji/synchronizacji
preemptive
NewMainSubprog
Process Name Modelowanie organizacji modelowanie
Thread Name
Ethernet 100
proces�w organizacji
Model matematyczny wektory stan�w
Stacja
NewCo
mponent
Proces
Too many different views & ?
I co dalej ?
UML
+ Metodyka (RUP)
+ ...
= Projektowanie
56
Notacja UML
Koniec
9
Wyszukiwarka
Podobne podstrony:
2007 06 UML – potrzeba standaryzacji notacji [Inzynieria Oprogramowania]UML opis notacji(21 Potencjał zakłócający i anomalie)980928 21173 21 (10)2 21 SPAWANIE MIEDZI I STOPÓW MIEDZI (v4 )049 051USTAWA z dnia 21 marca 1985 r o drogach publicznychwięcej podobnych podstron