diagramele uml

of 35/35
Diagramele UML A. Diagrame structurale B. Diagrame comportamentale

Post on 03-Jul-2015

434 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

Diagramele UMLA. Diagrame structurale

B. Diagrame comportamentale

Diagrame structurale

Diagrame de clase Diagrame de obiecte Diagrame de componente Diagrame de amplasare

Diagrame comportamentale

Diagrame de cazuri de utilizare Diagrame de secven . Diagrame de colaborare. Diagrame de tranzi ie a st rilor Diagrame de activitate

DIAGRAMA DE CLASE (DC)Diagramele de clase UML permit si reprezentarea Claselor oarecare claselor abstracte claselor template claselor utilitare

Clasele abstracte Clase care nu pot avea instan e directe putand fi instan ia i numai descenden ii lor Numele lor este trecut in italic Pentru o clas , se pot specifica urm toarele: Clasa nu poate avea p rin i ( este r d cina unei ierarhii de clase ); Clasa nu poate avea descenden i ( este frunz );

Client Nume Adres Rat Client()

Aceste propriet i se indic prin nota iile {root} i {leaf} sub numele clasei.

Clasele templateArticol, Valoare Asociere Parametrii clasei template

Asociaz ( i : Articol, v : Valoare ) : Boolean

Clas template

Clas care instan iaz clasa templete folosind parametrii actuali

> ( Client, Comand )

AsociereComand

Fig. 9.3 Reprezentarea unei clase template.

Clas utilitar

Clas _utilitar

Interfa aIn UML interfetele se pot reprezenta in doua moduri :y Un mic cerc conectat printr-o linie la elementul care furnizeaz serviciile descrise de interfa y O clas stereotipizat Clas Clas Op1() Op2() b)

a)

Atribute i opera iiy

Sintaxa folosita pentru descrierea atributelor are urmatoarea forma:

nume_atribut : tip_atribut = valoare_initialay

Sintaxa folosita pentru descrierea operatiilor are urmatoarea forma:

Nume_operatie ( lista_argumente ) : tip_returnat lista_argumente reprezinta lista argumentelor operatiei, fiecare argument fiind descris astfel : nume_argument : tip_argument = valoare_implicita. Pentru atributele si opera iile unei clase se specific vizibilitatea: y O opera ie sau un atribut pot fi publice ( + ) orice alta clas poate folosi proprietatea sau poate invoca opera ia; y O opera ie sau un atribut pot fi protejate ( # ) sunt vizibile numai pentru descenden ii clasei respective; y O opera ie sau un atribut pot fi private ( - ) numai clasa respectiv poate folosi proprietatea sau opera ia.

Opera iile pot fi:y Abstracte (sunt specificate cu caractere italice); y yClient {root} #Nume +RataCredit()

Opera ii de tip frunz ({leaf}); PolimorficeClient

persoan fizic {leaf} +Ratacredit() {leaf}

Rela iile care apar in diagramele de clasey y y y

Asocieri; Rela ii de generalizare; Rela ii de dependen ; Rela ii de realizare;

Navigarea intr-o singura directie Asociere calificat .

Clas 1

Clas 2

Clas 1

calificator

Clas 2

Clas a asocierii.

angajator Companie Job Clas a asocierii descriere salariu

angaja t

Persoan

Agregarea. simpl

companie a) agragare simpl

Departament

Agregare compozi ie

Fereastr b) compoz ie

Cadru

Exemplu - ENUNTSe consider cazul unui sistem ce permite utilizatorilor s comande prin Internet articolele pe care doresc s le cumpere. Principalele func ii ale sistemului sunt : 1. Administrarea bazei de date cu articolele disponibile. 2. Tratarea cererilor clien ilor. Un astfel de sistem const , n principal, din trei p r i : y Serverul de baze de date stocheaz informa ii despre articolele disponibile. y Aplica ia care se execut pe server trateaz cererile venite de la clien i, interogheaz i actualizeaz baza de date; y Programele client care se execut pe browser-ele clien ilor.

Exemplu DIAGRAMA DE CLASEM a n a g e r lo g in 1 * 1 * C o n t_ u tiliz a to r1 1 user p a ro la a d re s a _ m a il lo g in (in u s e r, in p a ro la ) v a lid e a z a () in tro d u c e _ m a il(in a d re s a _ m a il)

U tiliz a to r

C o s_ c o m e n z iA d a u g a _ a rtic o l(in a rtic o l_ id ) S te rg e _ a rtic o l(in a rtic o l_ id ) N u m a r_ a rtic o le ()

*

*

*

* A rtic o l ID d e ta lii_ a rtic o l() * 1

S to c _ a r tic o leV e rific a _ s to c (in a rtic o l_ id )

C a ta lo g _ a r tic o le 1 c a u ta _ in _ c a ta lo g () d e ta lii_ a rtic o l(in a rtic o l_ id ) 1

C a r te

R e v ista

DIAGRAME DE OBIECTE (DO)Reprezentarea obiectului Pot ap rea stereotipurile claselor c rora le apar in obiectele respective. Reprezentarea poate include si valorile atributelor.Nume_obiect Nume_obiect : nume_clas : Nume_clas

mp r ireCuZero

Linie_comand Cantitate = 45

Exemplu de DIAGRAM DE OBIECTEc : Utilizator Nume = Popescu Adresa = str. Roma, nr. 5 Telefon = 643 34 56 Nr_card = 987657896 c_util : Cont_utilizator user = pop parola = pop123 adresa_mail = [email protected]

com_1 : Comanda : Carte

Cod_articol = 23 Titlu = Autor =

ID = 125634 cod_articol = 23 Dat _comand = 07 / 23 / 2001

s : Co _comenzi

PACHETE I DIAGRAME DE PACHETEntre pachete pot exista urm toarele rela ii :Import / export presupunnd dou pachete, A i B, dac pachetul A import pachetul B, atunci elementele din A vor vedea elementele publice din B. Partea public a lui B reprezint exportul pachetului B. Grafic se reprezint printr-o rela ie de dependen stereotipizat .Pachet A Pachet B

y

Generalizare este asem n toare cu generalizarea claselor. Pachetele mai specializate mo tenesc elementele publice i protejate de la pachetul mai general. La fel ca i n cayul claselor, pachetele mai specializate pot nlocui pachetele mai generale oriunde acestea sunt folosite.Pachet A

Pachet B

Pachet C

Exemplu DIAGRAMA DE PACHETESelectare i comand articole Pachte de clase pentru interfa a grafic Administrare baz de date

Client

Pachete de clase pt. acces la baza de date.

Fig. 9.8 Diagrama de pachete

DIAGRAMA CAZURILOR DE UTILIZARE (DIAGRAMA USE CASE)Plasare comand Prelucrare comand

colaborare Fig. 9.9 Caz de utilizare prin colaborare

Actor 1

Caz de utilizare 1 Caz de utilizare 3 Caz de utilizare 2 Fig. 9.10 Diagrama cazurilor de utilizare

Actor 2

Exemplu DIAGRAMA CAZURILOR DE UTILIZARESistem Login / Logout

Utilizator

Comand articole Administrare > > Actualizare baz de date

Administrator

Fig. 9.11 Diagrama cazurilor de utilizare

DIAGRAMA DE INTERACTIUNE (DI)Exista dou tipuri de diagrame de interac iune i anume diagrama de secven (DS)

diagrama de colaborare (DC).

DIAGRAMA DE SECVENObiect 1 Creare Obiect 2 Mesaj 1 ntoarcere Mesaj 3 Mesaj 4 Distrugere Punct de control * [ pentru ... ] executa () [ Condi ie ] executa () Creare

(DS)Obiect 1

Iterare

Condi ie

Autoapelare

Exemplu - DIAGRAMA DE SECVEN: Cont_utilizator : Co _comenzi

(DS): Articol

: Catalog_articole

: Utilizator Login ( user, parola ) Valideaz () return ( ok ) Caut _n_catalog ()

return ( list _articole )

* [ pentru fiecare articol din list ] Detalii_articol ( articol_id )

Detalii_articol ()

return ( info_articol ) Adaug _articol ( articol_id )

return ( info_articol )

DIAGRAMA DE COLABORARE (DC).Obiect 1

Legatura

1: 2: mesaj 3:

Autoapelare

Obiect 2 Obiect 3

2.1: mesaj 2.2: [condi ie] mesaj] Mesaj

Num r de secven

Exemplu - DIAGRAMA DE COLABORARE (DC).: Utilizator 1. Login ( user, parola ) 9. Adauga_articol ( articol_id )

3. Caut _n_catalog () 5. detalii_articol ( art_id ) : Cont_utilizator 4. return ( list _art ) 8. return ( info_art ) 2. Valideaz () : Co _comenzi

6.detalii_articol () : Articol 7. return ( info_art ) : Catalog_articole

DIAGRAMA DE ACTIVITATI (DA)culoar [ condi ie 1]

Activitate sincronizare [ condi ie de sincronizare] Obiect Flux de obiecte

Activitate

[ condi ie 2]

Activitate

Activitate

Activitate Ramur secven ial [ condi ie 3]

[ condi ie 4]

Exemplu - DIAGRAMA DE ACTIVITATI (DA)Utilizator Aplica ie server Mangement articole Afi eaz pagin logareIntroduce utilizator i parol

[ utilizator invalid ]Valideaz utilizator

[ utilizator valid ] Afi are Home page Cere list articole disponibile

Construie te list articole Afi are list articole

Alege articole i cantitatea Verific dac articolelele comandate sunt n stoc eroare [ articolele sunt disponibile ] Adaug articole la comand

DIAGRAME DE TRANZITIE A STARILOReveniment timpafter (2 sec)/ send c.isAlive

semnal send

eveniment declansator Stare eveniment Stare

tranzitie fara declansare Stare

eveniment declansator cu parametriitargetAt(p) [isThreat]/ t.addTarget(p)

conditie guard

Stare actiune

contact

Stare

Fig. 9.18 Diagrama de stare

Stari si tranzitii avansateNume stare

actiune de intrare actiune de iesire eveniment amanat activitate tranzitie interna

entry/ ac iune(parametru) exit/ ac iune(parametru) ac iune/ defer do/ ac iune/ ac iune()

Fig. 9.19 Reprezentarea st rilor i tranzac iilor avansate

Starea compustranzitie din/in stare compusa Stare

Stare compus entry/ ac iune exit/ ac iune

tranzi ie

cancel stare

substare

[c o n d i ie ]

substare

substare

[ c o n d i ie ]substare

tranzitie din substare

Exemplu - DIAGRAME DE TRANZITIE A STARILOR Clasa Cos_comenziA teaptare comand articol nou / adaug _articol ( ) articol nou / adaug _articol ( )

Ad ugareentry / verific _articol ( )

valideaz

Articolul nu este disponibil n stoc

Eroare Validare comanddo / nregistreaz _comanda ( ) do / trimite_mesaj_eroare ( )

DIAGRAME DE DESFInternet nod modem

URARE (DD)

conexiune

Server cache

Server cache

nod

Retea locala

Server principal

Server

Server

Server

Exemplu - DIAGRAMA DE DESF

URARE (DD)

Calculator local

>

Server central Server de Web

>

Server de baze de date

Fig. 9.23 Diagrama de desf urare pentru un sistem distribuit

DIAGRAME DE COMPONENTE (DC)Component

Nume fi ier Nume fi ier Nume fi ier

Nume fi ier

Nume fi ier

Nume fi ier

Nume fi ier

Etape i activit ii1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Modelarea realizarii unui caz de utilizare Modelarea produselor executabilele i a bibliotecilor Modelarea fisierelor, tabelelor i documentelor Modelarea unei interfe e de programare a aplica iei (API) Modelarea codului surs Modelarea procesoarelor i dispozitivelor Modelarea distribu iei componentelor Modelarea implement rii unei opera ii Modelarea unui mecanism Modelarea unui pattern de proiectare Modelarea unui pattern arhitectural Modelarea unui pattern arhitectural