21 1 Notacja UML w skrocie 2011 Nieznany

background image

1

Notacja UML

w skrócie

wprowadzenie do modelowania oprogramowania

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
stosowanie jednolitej, wspólnej, dobrze zdefiniowanej
notacji, w tym graficznej
Notacja powinna być właściwa do zastosowań
Jest wskazane, aby notacja była popularna i powszechnie
uznana

W procesie dydaktycznym nie jest wskazane stosowanie
tylko jednej notacji, ale najpopularniejsze trzeba
uwzględniać

Modele budowane w procesie
wytwarzania oprogramowania

Biznesowy

Wymagań

Analityczny

Danych

Projektowy

Implementacyjny

Modele budowane w procesie
wytwarzania oprogramowania

Domain

Model

Requirements

Business

Modeling

Design

Partial artifacts,

refined in each

iteration.

Use-Case Model

text
use

cases

:System

foo( x )

system

operation

contracts

system

sequence

diagrams

bar( y )

use

case

diagrams

*

*

Design Model

system
operations

Modele: model dziedziny

Rodzaje diagramów

Modelujące algorytmy/aktywności
Modelujące związki statyczne między elementami
projektu oprogramowania
Modelujące związki dynamiczne między
elementami projektu oprogramowania
Modelujące wymagania
Modelujące organizacje (procesy biznesowe)
Modelujące związki między elementami
implementacyjnymi
Modelujące strukturę techniczną

background image

2

Modele budowane w procesie wytwarzania
oprogramowania (zgodnie z kolejnością
budowania)

Biznesowy

Wymagań

Analityczny

Projektowy

Danych

Implementacyjny

Konstrukcyjny

Elementy notacji (wprowadzenie)

<Actor Name>

(f rom Ac tors)

<Use Case Name>

(from <Use Case Name>)

NewClass

Atrybut

Operacja()

NewPackage

NewState

entry/ Nam e
exit/ Na me
do/ Name
event Event In/ ^Event Out

NewActivity

New Object :

NewClass

NewCo
mponent

<processor name>

pre emptive

<process name >

<th rea d n am e>

<device name>

Elementy notacji - związki

<Actor Name>

(f rom Actors)

<Use Case Name>

(from <Use Case Name>)

NewClass

Atrybut

Operacja()

NewClass 2

NewClass

Atrybut

Operacja()

NewClass 2

NewClass

Atrybut

Operacja()

NewClass 2

NewClass

Atrybut

Operacja()

NewClass2

NewPackage

NewClass2

<Use Case Name>

(from <Use Case Name>)

<Use-Case Name>

<<use-case realization>>

<<realize>>

NewActivity

[ Guard ]

New Object :

NewClass

: NewClass

Operacja( )

New Object :

NewClass

: NewClass

1: Operacja( )

<processor name>

preemptive

<process name>

<thread name>

<device name>

Connection

Stereotypy

NewPackage

NewPackage

<<layer>>

NewPackage

<<subsystem>>

<Use Case Name>

(from <Use Case Name>)

NewUs eCase

<Use Case Name>

(from <Use Case Name>)

NewUs eCase

<<include>>

NewClass

Atrybut

Operacja()

NewClass

<<ste r>> Atrybut

<<ste r>> Operacja()

<<process>>

Sposoby prezentacji stereotypów

ClassB

<<subsystem>>

InterfaceB

<<Interface>>

BuisnessW_X

<<Business Worker>>

BuisnessW_X

CC

atrybut

operacja()

CC
atrybut

operacja()

<<control>>

CC

atrybut

operacja()

ClassB

<<subsystem>>

InterfaceB

BuisnessW_X

Diagram przypadków użycia

Graficzny model wymagań funkcjonalnych
Specyfika podejścia – opis interakcji
systemu z otoczeniem
Przedstawia:

Otoczenie – aktorów
Sposób używania stemu przez otoczenie –
przypadki użycia
Związki otoczenia z przypadkami użycia
Hierarchię otoczenia i przypadków użycia
Związki między przypadkami użycia

background image

3

Przykładowy diagram

Register

Rola 1

UC_X

System 1

Rola 2

Find_a_Book

Hierarchia aktorów i przypadków
użycia

Buy_Books

User

Admin

Create_Account

Make_Deal

Uszczegółowienie przypadków
użycia

Rola 1

Rola 2

Get_Permission

5Get_Key

Fill_Tank

Borrow_Car

<<include>>

<<include>>

<<extend>>

NewUseCase6

NewUseCase3

<<extend>>

<<include>>

Biznesowe przypadki użycia
(organizacji)

Fragment modelu organizacji (przedsiębiorstwa)
Wykonywany opcjonalnie na etapie
wstępnym/strategicznym
Zazwyczaj duży poziom ogólności
Przedstawia sposób widzenia całej organizacji
przez jej otoczenie
Projektowane oprogramowanie jest tylko częścią
tak modelowanej organizacji
Modyfikacja „zwykłego” diagramu przypadków
użycia przez wprowadzenie odpowiednich
stereotypów

Przykładowy diagram

Rola 1

Rola 2

NewUseCase2

NewUseCase5

NewUseCase4

NewUseCase

<<include>>

<<include>>

<<extend>>

NewUseCase6

NewUseCase3

<<extend>>

<<include>>

Diagramy aktywności

Kiedyś rozumiany jako specjalizacja
diagramu stanów UML- zmiana

Wykorzystywany do opisu wymagań
procesowych (przypadki użycia są jego
fragmentem)

background image

4

Przykładowy diagram

Ndo_A

Do_B

NewActivity3

NewActivity4

[ Warunek 1 ]

[ Warunek 2 ]

[ Warunek 3 ]

Stany początkowe i końcowe

NewActivity

NewActivity2

NewActivity

NewActivity2

NewActivity

NewActivity2

NewActivity3

Operacje równoczesne

NewActivity

NewActivity2

NewActivity3

Operacje równoczesne

NewActivity

NewActivity2

NewActivity3

NewActivity5

NewActivity4

„Tory pływackie”

NewActivity

NewActivity3

NewActivity2

NewSwimlane2

New Sw iml ane

Diagram stanów

Wykorzystywany do opisania dynamiki
(zachowania się) jednego elementu modelu
w zależności od wcześniejszych zdarzeń

Opracowane na bazie map stanów (Harel)

background image

5

Przykładowy diagram

Pracuje

event wył

ą

czenie/ zatrzymanie

Przerwa

event wył

ą

czenie/ null

Wył

ą

czone

ą

czenie

wył

ą

czenie

przerwanie

wznowienie

/

aktywuj

przerwanie

wznowienie

wył

ą

czenie

Akcje wykonywane w stanie

NewState

entry/ Akcja 1
do/ Akcja 2
exit/ Akcja 3
event Zdarzenie In( Arg )[ War 1 ]/ ^Cel.Zdarzenie Out(Arg)
event Zdarzenie In( Arg )[ War 2 ]/ ^Cel.Zdarzenie Out(Arg)

NewState 2

Zdarzenie In 2( Arg )[ War ] / Akcja ^Cel.Zdarzenie Out(Arg)

Zdarzenie 1

Zagnieżdżanie stanów i stany
historyczne

State1

H

State2

State4

State5

State3

H

State2

State4

State5

State3

State4

State5

z-0-1

z-4-5

z-3-3

z-1-0

z-2-3

z-0-2

Diagramy sekwencji

Modelują dynamikę oprogramowania

Uwypuklają następstwa czasowe
komunikatów

Prezentują jedną ścieżkę realizacji
konkretnego wymagania,
odpowiedzialności lub operacji

Przykładowy diagram

a : ClassA

: ClassB

: ClassC

message 1( )

message 2( )

message 3( )

message 4( )

Wywołania warunkowe i iteracje

:ClassA

: ClassB

: ClassC

messageX1( )

message 2( )

message 3( )

message 4( )

Opis warunku

Opis warunków
iteracji

Opis stanu obiektu

background image

6

Komunikaty zwrotne

: NewClass

: NewClass2

: NewClass3

messageX( )

messageZ( )

messageY( )

Diagramy komunikacji
(współpracy)

Tak jak diagramy sekwencji, modelują
dynamikę oprogramowania

Uwypuklają związki między obiektami

Przykładowy diagram

: NewClass

: NewClass2

: NewClass3

1: message 1( )

2: message 2( )

3: message 3( )

4: message 4( )

Równoznaczność diagramów
sekwencji i komunikacji

: NewClass

: NewClass2

: NewClass3

message 1( )

message 2( )

message 3( )

message 4( )

: NewClass

: NewClass2

: NewClass3

1: message 1( )

2: message 2( )

3: message 3( )

4: message 4( )

Diagramy klas

Prezentują statyczne związki między elementami
logicznymi oprogramowania

Klasy
Pakiety
Interfejsy
Podsystemy
Warstwy

Związki między klasami określają wzajemną
„widoczność” klas
Zależności między pakietami wynikające z
„widoczności” klas

Opis klasy

Nazwa klasy

Operacje (odpowiedzialności, metody)

Atrybuty

Nazwa

atrybut 1 : Boolean
atrybut 2 : Integer

operacja 1()
operacja 2()

background image

7

Rodzaje klas

Klasa zwykła

Klasa sparametryzowana

Klasa abstrakcyjna

Operacja abstrakcyjna

<<abstract>>

AC

operacja zwykła()
operacja abstrakcyjna()

Arg1
Arg2

PaCl

CC

Przykładowy diagram

A

message 3()

B

message 1()
message 3()
message 4()

2..7

1

+rola 2

1

C

D

message 2()

0..1

+rola 3

1..n

+rola 1

0..1

E

message C()

Związki

Asocjacje

Jedno i dwukierunkowe
Agregacje
Kompozycje

Generalizacja
(dziedziczenie)
Realizacja
Zależności

Ne wClass6

NewClass7

Ne wClass6

NewClass7

Ne wCl ass6

NewClass7

Ne wCl ass6

NewClass7

NewCl ass6

NewClass7

NewClass6

NewClass7

NewClass6

NewInterface7

Opis asocjacji

Nazwa (nieużywana)

Stereotyp

Nazwy ról

Krotność

Zakres widzialności

A

B

1..7

2

Nazwa

<<sterotyp>>

-rola B

+rola A

Zakres widzialności

Publiczny

Chroniony

Prywatny

Implementacyjny (zaprzyjaźniony)

NewClass6

NewClass7

+rola

#rola

-rola

rola

Nazwa

publiczny
chroniony
prywatny
Iiplementacyjny

publiczny()
chroniony()
prywatny()
implementacyjny()

Nazwa

+ Ppubliczny
# chroniony
- prywatny
Implementacyjny

+ publiczny()
# chroniony()
- prywatny()
implementacyjny()

Wykorzystanie pakietów

Pakiet 1

Pa kiet 2

NewClass

message 3()

(from Pakiet 1)

NewClass2

message 1()
message 3()
message 4()

(from Pakiet 1)

0..n

1

+Rola 2

1

0..n

NewClass4

(from Pakiet 2)

NewClass3

message 2()

(from Pakiet 2)

1..n

0..1

+Rola 3

1..n

+Rola 1

0..1

NewClass5

(from Pakiet 2)

background image

8

Wykorzystanie podsystemów i
interfejsów

Podsystem to wyizolowany pakiet
widoczny tylko poprzez dokładnie
określony interfejs

Interfejs definiuje tylko operacje i stałe
implementowane w pakiecie, podsystemie
lub klasie

NewInterface

operacja 1()
operacja 2()

NewPackage

<<subsystem>>

NewInterface

operacja 1()
operacja 2()

<<Interface>>

NewClass8

Diagram procesów

Przedstawia hierarchię procesów,
podprocesów i wątków

Określa związek między procesami oraz
między procesami a implementującymi je
klasami

Przykładowy diagram procesów

Thread Name 1

<<thread>>

Threa d Nam e 2

<<thread>>

Process Name

<<process>>

Subprocess Name

<<process>>

Process Name 2

<<process>>

Thread Name 3

<<thread>>

Diagram komponentów

Jak perspektywa logiczna ma być
„zanurzona” w środowisku
implementacyjnym

Związek klas z komponentami

Komponenty odpowiadają zazwyczaj
jednostkom kompilacji (plikom)

Pakiety odpowiadają podsystemom
implementacyjnym (katalogom, pakietom)

Przykładowy diagram

NewSubprogSpec

NewCo
mponent

NewSubprogBody

NewMainSubprog

NewPackageSpec

NewPackageBody

NewTaskSpec

NewTaskBody

Diagram montażowy

Uświadamia ograniczenia konstrukcji
oprogramowania wynikające ze struktury
technicznej
Nie ma na celu precyzyjnego modelowania
struktury technicznej
Przedstawia elementy struktury technicznej:

Procesory – elementy aktywne
Urządzenia – elementy pasywne
Połączenie między elementami

Przedstawia rozmieszczenie programów (i
procesów) w procesorach

background image

9

Diagram montażowy: przykład

NewCo
mponent

NewCo
mponent

Serwer

preemptive

NewMainSubprog
Process Name
Thread Name

Urz

ą

dzenie

USB

Stacja

Proces

Ethernet 100

Przykłady wykorzystania DM

Modelowanie oprogramowania w tym
statyczny model procesów i model
komunikacji/synchronizacji

Modelowanie organizacji – modelowanie
procesów organizacji

Model matematyczny – wektory stanów

56

Too many different views … ?

UML

+ Metodyka (RUP)

+ ...

= Projektowanie

I co dalej ?

Notacja UML

Koniec


Wyszukiwarka

Podobne podstrony:
2011 02 21 WIL Wyklad 20id 2752 Nieznany (2)
2011 02 21 WIL Wyklad 19id 2752 Nieznany
objjasnienie do pit36 za 2011 i Nieznany
angielski (sobota24 09 2011)2 i Nieznany
angielski (niedziela 25 09 2011 Nieznany (3)
21 sposobow na grubszy portfel Nieznany (3)
21 sposobow na grubszy portfel Nieznany (2)
EGZAMIN ze statystyki 20 6 2011 Nieznany
AiR 11 12 wyklad 09 02 12 2011 Nieznany (2)
21 10 Podstawy Prawaid 29056 Nieznany (2)
19 Nederlands in de wereld 2011 Nieznany
20111010023418 SbusIIIdz 2011 1 Nieznany (2)
ArtLeanOrganization WEUG 2011 i Nieznany
opis uml id 367372 Nieznany
21 01 2014 Sapaid 29041 Nieznany (2)
OPRACOWANIE NA ZALICZENIE 2011 Nieznany
egzamin praktyczny styczen 2011 Nieznany

więcej podobnych podstron