Top Banner
Diagramele UML A. Diagrame structurale B. Diagrame comportamentale
35

Diagramele UML

Jul 03, 2015

Download

Documents

Cata Catalin
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Diagramele UML

Diagramele UML

A. Diagrame structurale

B. Diagrame comportamentale

Page 2: Diagramele UML

Diagrame structurale

       Diagrame de clase

       Diagrame de obiecte

       Diagrame de componente

       Diagrame de amplasare

Page 3: Diagramele UML

Diagrame comportamentale

       Diagrame de cazuri de utilizare

       Diagrame de secvenţă.

       Diagrame de colaborare.

       Diagrame de tranziţie a stărilor –

       Diagrame de activitate

Page 4: Diagramele UML

DIAGRAMA DE CLASE (DC)

Diagramele de clase UML permit si reprezentarea

• Claselor oarecare

• claselor abstracte

• claselor template

• claselor utilitare

Page 5: Diagramele UML

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ă );

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

Client

NumeAdresă

RatăClient()…

Page 6: Diagramele UML

Clasele template

Asociere

Articol, Valoare

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

AsociereComandă

<< bind >>( Client, Comandă )

Fig. 9.3 Reprezentarea unei clase template.

Clasă template

Parametrii clasei template

Clasă care instanţiază clasa templete folosind parametrii

actuali

Page 7: Diagramele UML

Clasă utilitară

<<utility>>

Clasă_utilitară

Page 8: Diagramele UML

Interfaţa

In UML interfetele se pot reprezenta in doua moduri :

  Un mic cerc conectat printr-o linie la elementul care furnizează serviciile descrise de interfaţă

O clasă stereotipizată <<interface>>

Clasă <<interface>>Clasă

Op1()Op2()…

a) b)

Page 9: Diagramele UML

Atribute şi operaţii      Sintaxa folosita pentru descrierea atributelor are urmatoarea forma:

nume_atribut : tip_atribut = valoare_initiala

      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:

        O operaţie sau un atribut pot fi publice ( + ) – orice alta clasă poate folosi proprietatea sau poate invoca operaţia;

        O operaţie sau un atribut pot fi protejate ( # ) – sunt vizibile numai pentru descendenţii clasei respective;

        O operaţie sau un atribut pot fi private ( - )– numai clasa respectivă poate folosi proprietatea sau operaţia.

Page 10: Diagramele UML

Operaţiile pot fi:

        Abstracte (sunt specificate cu caractere italice);

        Operaţii de tip frunză ({leaf});

        PolimorficeClient

persoană fizică{leaf}

Client{root}

#Nume…

+RataCredit()…

+Ratacredit() {leaf}…

Page 11: Diagramele UML

Relaţiile care apar in diagramele de clase

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

Page 12: Diagramele UML

•Navigarea intr-o singura directie

• Asociere calificată.

•Clasă a asocierii.

•Agregarea. simplă

•Agregare compoziţie

Clasă 1 Clasă 2

Clasă 1calificator

Clasă 2

Companie Persoanăangajator angaja

t

Job

descrieresalariu

Clasă a asocierii

companie Departament

a) agragare simplă

Fereastră Cadru

b) compozţie

Page 13: Diagramele UML

Exemplu - ENUNT

Se 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 :

      Serverul de baze de date – stochează informaţii despre articolele disponibile.

      Aplicaţia care se execută pe server – tratează cererile venite de la clienţi, interoghează şi actualizează baza de date;

      Programele client care se execută pe browser-ele clienţilor.

Page 14: Diagramele UML

Exemplu – DIAGRAMA DE CLASEUtilizatorManager login

1 *

login(in user, in parola)valideaza()introduce_mail(in adresa_mail)

userparolaadresa_mail

Cont_utilizator

1

*

Adauga_articol(in articol_id)Sterge_articol(in articol_id)Numar_articole()

Cos_comenzi

Verifica_stoc(in articol_id)

Stoc_articole

*

1

detalii_articol()

ID

Articol

Carte Revistacauta_in_catalog()detalii_articol(in articol_id)

Catalog_articole

*

1 1

*

*

*

11

Page 15: Diagramele UML

DIAGRAME DE OBIECTE (DO)

Nume_obiect Nume_obiect : nume_clasă : Nume_clasăReprezentarea obiectului

Pot apărea stereotipurile claselor cărora le aparţin obiectele respective.

<<exception>>

ÎmpărţireCuZero

Reprezentarea poate include si valorile atributelor.

Linie_comandă

Cantitate = 45

Page 16: Diagramele UML

Exemplu de DIAGRAMĂ DE OBIECTE

c : 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 : Comandă

ID = 125634cod_articol = 23Dată_comandă = “07 / 23 / 2001”

a : Carte

s : Coş_comenzi

Cod_articol = 23Titlu = “ … “Autor = “ … ”

Page 17: Diagramele UML

PACHETE ŞI DIAGRAME DE PACHETE

Între pachete pot exista următoarele relaţii :

     

Pachet A

 

Pachet B

 

Import / export – presupunând 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ă <<import>>.

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

Page 18: Diagramele UML

Exemplu – DIAGRAMA DE PACHETE

Pachte de clase pentru interfaţa grafică

Selectare şi comandă articole Administrare bază de date

Pachete de clase pt. acces la baza de date.

Client

Fig. 9.8 Diagrama de pachete

Page 19: Diagramele UML

DIAGRAMA CAZURILOR DE UTILIZARE (DIAGRAMA USE CASE)

Plasare comandă

Prelucrare comandă

colaborare

Fig. 9.9 Caz de utilizare prin colaborare

Actor 2

Actor 1Caz de utilizare 1

Caz de utilizare 2

Caz de utilizare 3

Fig. 9.10 Diagrama cazurilor de utilizare

Page 20: Diagramele UML

Exemplu – DIAGRAMA CAZURILOR DE UTILIZARE

Fig. 9.11 Diagrama cazurilor de utilizare

Sistem

Login / Logout

Comandă articole

Administrare

Actualizare bază de date

<< extends >>

<< extends >>

UtilizatorAdministrator

Page 21: Diagramele UML

DIAGRAMA DE INTERACTIUNE (DI)

Exista două tipuri de diagrame de interacţiune şi anume

• diagrama de secvenţă (DS)

• diagrama de colaborare (DC).

Page 22: Diagramele UML

DIAGRAMA DE SECVENŢĂ (DS)

[ Condiţie ]executa ()

* [ pentru ... ]executa ()

Distrugere

Obiect 1 Obiect 1

Creare

Mesaj 1

Obiect 2

ÎntoarcereMesaj 3

Mesaj 4

Iterare

Condiţie

Autoapelare

Creare

Punct de control

Page 23: Diagramele UML

Exemplu - DIAGRAMA DE SECVENŢĂ (DS)

: Utilizator

: Cont_utilizator : Catalog_articole: Coş_comenzi

Login ( user, parola )

Validează ()

: Articol

Caută_în_catalog ()

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

return ( listă_articole )

return ( info_articol )return ( info_articol )

Adaugă_articol ( articol_id )

return ( ok )

Page 24: Diagramele UML

DIAGRAMA DE COLABORARE (DC).

Obiect 1

Obiect 2Obiect 3

1:<<creare>>

2: mesaj

3:<<distrugere>>

<<local>><<global>>

2.1: mesaj

2.2: [condiţie] mesaj]

Legatura

MesajNumăr de secvenţă

Autoapelare

Page 25: Diagramele UML

Exemplu - DIAGRAMA DE COLABORARE (DC).

: Utilizator

: Cont_utilizator : Coş_comenzi

: Catalog_articole

1. Login ( user, parola )9. Adauga_articol ( articol_id )

: Articol

2. Validează ()

3. Caută_în_catalog ()5. detalii_articol ( art_id )

4. return ( listă_art )8. return ( info_art )

6.detalii_articol ()

7. return ( info_art )

Page 26: Diagramele UML

DIAGRAMA DE ACTIVITATI (DA)

[ condiţie 1]

[ condiţie 2]

Activitate Activitate

ActivitateActivitate

Activitate

sincronizare

[ condiţie de sincronizare]

culoar

Ramură secvenţială

[ condiţie 4]

[ condiţie 3]

Obiect

Flux de obiecte

Page 27: Diagramele UML

Exemplu - DIAGRAMA DE ACTIVITATI (DA)Utilizator Aplicaţie server Mangement articole

Afişează pagină logare

Introduce utilizator şi parolă

Validează utilizator

Afişare “Home page”

[ utilizator valid ]

Verifică dacă articolelele comandate

sunt în stoc

Adaugă articole la comandă

eroare

[ utilizator invalid ]

Cere listă articole disponibile

Construieşte listă articole

Afişare listă articoleAlege articole şi cantitatea

[ articolele sunt disponibile ]

Page 28: Diagramele UML

DIAGRAME DE TRANZITIE A STARILOR

Stare Stare Stare

Stare Stare

eveniment

contact

after (2 sec)/ send c.isAlive

targetAt(p) [isThreat]/

t.addTarget(p)

eveniment timp semnal send

eveniment declansator tranzitie fara declansare

actiune

eveniment declansator cu

parametrii

conditie guard

Fig. 9.18 Diagrama de stare

Page 29: Diagramele UML

Stari si tranzitii avansate

Nume stare

entry/ acţiune(parametru)

exit/ acţiune(parametru)

acţiune/ defer

do/

acţiune/ acţiune()

actiune de intrare

actiune de iesire

tranzitie interna

activitate

eveniment amanat

Fig. 9.19 Reprezentarea stărilor şi tranzacţiilor avansate

Page 30: Diagramele UML

Starea compusă

tranzitie din substare

Stare

stare

Stare compusă

entry/ acţiuneexit/ acţiune

tranziţie

cancel

tranzitie din/in stare compusa

substare

substare substare

substare

[condiţie]

[ condiţie]

Page 31: Diagramele UML

Exemplu - DIAGRAME DE TRANZITIE A STARILOR – Clasa “Cos_comenzi”

Adăugare

entry / verifică_articol ( )

articol nou / adaugă_articol ( )

Eroare

do / trimite_mesaj_eroare ( )

Articolul nu este disponibil în stoc

Validare comandă

do / înregistrează_comanda ( )

Aşteaptare comandă

articol nou / adaugă_articol ( )

validează

Page 32: Diagramele UML

DIAGRAME DE DESFĂŞURARE (DD)

Internet

Server cache Server cache

Server principal

Server Server Server

conexiune

nod

nod

modem

Retea locala

Page 33: Diagramele UML

Exemplu - DIAGRAMA DE DESFĂŞURARE (DD)

Server central

Server de Web

Server de baze de date

<< tcp / ip >>

Calculator local << tcp / ip >>

Fig. 9.23 Diagrama de desfăşurare pentru un sistem distribuit

Page 34: Diagramele UML

DIAGRAME DE COMPONENTE (DC)

Nume fişierNume fişier Nume fişier

Nume fişierNume fişier

Nume fişier Nume fişier

Componentă

Page 35: Diagramele UML

Etape şi activităţii

1. Modelarea realizarii unui caz de utilizare

2. Modelarea produselor executabilele şi a bibliotecilor

3. Modelarea fisierelor, tabelelor şi documentelor

4. Modelarea unei interfeţe de programare a aplicaţiei (API)

5. Modelarea codului sursă

6. Modelarea procesoarelor şi dispozitivelor

7. Modelarea distribuţiei componentelor

8. Modelarea implementării unei operaţii

9. Modelarea unui mecanism

10. Modelarea unui pattern de proiectare

11. Modelarea unui pattern arhitectural

12. Modelarea unui pattern arhitectural