concepte uml

29
Concepte UML

Upload: luyu

Post on 05-Jan-2016

91 views

Category:

Documents


0 download

DESCRIPTION

Concepte UML. Metodele de analiză şi proiectare. O metoda este un set integrat de tehnici si proceduri aplicate într-o anumită ordine ce au ca rezultat documentarea aplicatiei Proces , nota ţie, metodă, metodologie Metodele de APOO au apărut ulterior programării OO - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Concepte  UML

Concepte UML

Page 2: Concepte  UML

O metoda este un set integrat de tehnici si proceduri aplicate

într-o anumită ordine ce au ca rezultat documentarea

aplicatiei

Proces, notaţie, metodă, metodologie

Metodele de APOO au apărut ulterior programării OO

Dar şi când au început să apară ....

fiecare metodă folosea propriul limbaj grafic

De aici nevoia de unificare a limbajului grafic

Unificarea MPA nu a avut acelasi succes ca unificarea

limbajului grafic: Rational Unified Process (RUP), DMR

Macroscope, IBM Global Services Method şi Fujitsu SDEM

Metodele de analiză şi proiectare

Page 3: Concepte  UML

Un limbaj de modelare, privit la modul general, poate fi definit ca o serie de concepte, principii, procedee şi mecanisme de extensie utilizabile pentru abstractizarea unor probleme din anumite domenii

Limbajul de modelare poate fi independent şi de metoda de AP şi de limbajul de programare

Limbajele de modelare

Page 4: Concepte  UML

Nu este o metodă de analiză şi proiectare

Este un limbaj universal de reprezentare a unui sistem

informatic în oricare fază a dezvoltării

este un limbaj vizual pentru specificarea, construirea şi

documentarea elementelor sistemelor (OMG)

Poate fi folosit:

◦ În orice domeniu de aplicaţii

◦ Cu orice metodă de analiză şi proiectare

◦ Pentru toate platformele de implementare (J2EE, .NET)

Nu trebuie folosite toate posibilităţile de modelare

UML

Page 5: Concepte  UML

UML presupune aplicarea unui proces iterativ şi incremental, condus

prin cazuri de utilizare şi centrat pe o arhitectură

iterativ - procesul este împărţit în mai multe iteraţii, iar în

cadrul fiecăreia se vor parcurge fazele ciclului de viaţă

incremental – fiecare iteraţie va avea ca rezultat un

increment, adică o versiune nouă a sistemului ce conţine

funcţionalitate sporită

condus prin cazuri de utilizare – CU (cerinţe funcţionale)

stau la baza definirii conţinutului unei iteraţii

centrat pe o arhitectură – preocuparea pentru definirea

modului de organizare generală a sistemului încă de la începutul

proiectului

arhitectură = organizarea de bază a sistemului ca un tot

UML

Page 6: Concepte  UML

ultima versiune – 2.5.1 (octombrie 2012)

specificaţiile UML – 4 părţi:

Superstructură – defineşte notaţia şi semantica elementelor

din diagrame

Infrastructura – defineşte metamodelul pe care se bazează

superstructura

OCL (Object Constraint Language) – pentru descrierea

restricţiilor asociate elementelor din model

UML diagram interchange – descrie modul de transfer a

diagramelor dintr-un mediu în altul

UML

Page 7: Concepte  UML

ElementeRelaţii (între elemente)Extensii (aplicabile elementelor şi relaţiilor)

Diagrame (alcătuite din elemente şi relaţiile dintre acestea)

Vocabularul UML

Page 8: Concepte  UML

Elemente structuraleElemente comportamentaleElemente de grupareElemente explicative

Elemente UML

Page 9: Concepte  UML

sunt substantivele din modelele UML principalele elemente structurale UML sunt

clasele. Tot elemente: interfeţele, colaborările,

cazurile de utilizare, actorii, clasele active, componentele şi nodurile

Clasele se reprezintă cu un dreptunghi în care sunt evidenţiate trei componente: numele clasei, atributele şi operaţiile clasei

Elemente structurale

Page 10: Concepte  UML

clasă este abstractă -> numele ei se scrie cu caractere italice; deasupra numelui clasei, se scrie stereotipul acesteia între caracterele „<< >>”; în faţa numelui clasei se scrie, metaclasa specializată prin aceasta; în faţa numelor atributelor şi a operaţiilor se scrie simbolul de vizibilitate; numele fiecărui atribut este urmat de tipul de dată al acestuia; multiplicitatea unui atribut: data_receptie[0..1] : Date tipurile de dată ale atributelor pot fi precedate de valorile iniţiale ale acestora; dacă o operaţie este abstractă, toate proprietăţile ei se scriu cu caractere italice; operaţiile sunt urmate de lista de parametri, prezentată între paranteze rotunde

„( )”; în lista de parametri se specifică: tipul (intrare, ieşire, intrare/ieşire), numele,

tipul de dată şi o eventuală valoare implicită; după numele fiecărui parametru se scrie caracterul două puncte „:” şi tipul de

dată al acestuia; chiar dacă o operaţie nu are nici un parametru, după numele acesteia, tot se

scriu parantezele rotunde; dacă o operaţie întoarce o valoare, după închiderea parantezei rotunde,

destinate specificării parametrilor, se scrie caracterul două puncte şi tipul de dată al valorii întoarse.

+Operatie publica(in Parametru_1 : Tip_Data = Valoare_implicita, out Parametru_N : Tip_Data) : Tip_Data#Operatie protejata(in Parametru_1 : Tip_Data, inout Parametru_i : Tip_Data, out Parametru_N : Tip_Data) : Tip_Data-Operatie privata() : Tip_Data

+Atribut public : Tip_Data = Valoare_Initiala#Atribut protejat : Tip_Data = Valoare_Initiala-Atribut privat : Tip_Data = Valoare_Initiala

«Stereotip»Nume_MetaClasa::Nume_Clasa

Page 11: Concepte  UML

Simbolul folosit în UML pentru reprezentarea unui obiect instanţiat dintr-o anumită clasă este tot un dreptunghi în care sunt evidenţiate doar două din cele trei părţi: identitatea şi starea. A treia parte, comportamentul, nu se reprezintă şi în simbolul fiecărui obiect, deoarece acesta este comun tuturor obiectelor instanţiate din aceeaşi clasă.

Marca : Char = 1001Nume : Char = PopescuPrenume : Char = IonFunctia : Char = agent vânzariCNP : Char

Popescu Ion : Angajat

+Informeaza(in Raport : Char)

-Marca : Char-Nume : Char-Prenume : Char-Functia : Char-CNP : Char

Angajat

Page 12: Concepte  UML

desemnează serviciile (grupurile de operaţii) oferite de clase sau componente.

descriu comportarea vizibilă din exterior a claselor

nu specifică niciodată implementarea acestor operaţii

separă structura unui obiect de implementarea sa

o clasă poate implementa una sau mai multe interfeţe

Interfaţă+Operatie1()+Operatie2()

«interface»Interfata

Page 13: Concepte  UML

sunt verbele unui model ajung să fie implementate printr-un schimb

de mesaje (apelările de metode)

O interacţiune este un set de mesaje schimbat într-un grup de obiecte pentru atingerea unui anumit obiectiv.

O stare de tranziţie este starea prin care trece un obiect ca răspuns la apelări ale anumitor metode.

Elemente comportamentale

Page 14: Concepte  UML

Spre deosebire de componente (care există în momentul rulării), pachetele sunt doar elemente conceptuale (există doar în timpul dezvoltării), neconcretizându-se obligatoriu în fişiere.

Într-un pachet pot fi introduse elemente structurale, elemente comportamentale şi chiar alte pachete.

Elemente de grupare Pachet

Page 15: Concepte  UML

Comentarii (note explicative)

Tagged values (etichete) = perechi etichetă - valoare

Elemente explicative

Nota explicativa:

Page 16: Concepte  UML

Asocieri Dependenţe Derivări Realizări

Relaţii UML

Page 17: Concepte  UML

Asociere: „un mijloc fix este în gestiunea unui anumit gestionar”

Instanţă a unei asocieri: „Mijlocul fix cu numărul de inventar 331265 este în gestiunea lui Popescu”

O asociere poate fi între două sau mai multe clase

Între două clase pot exista mai multe asocieri

Au cardinalităţi

Asocieri

Page 18: Concepte  UML

- 1 – unul şi doar un obiect; - 0..1 – nici unul sau maxim un obiect; - 0..* - nici unul sau mai multe obiecte; - * - tot zero sau mai multe obiecte; - 1..* - unul sau mai multe obiecte; - 1..n - unul sau maxim n obiecte; - 0..n sau n – nici unul sau maxim n obiecte; - nl, n2, n3 - înşiruire de numere, care

exprimă numărul de obiecte; - n - m - număr de obiecte cuprins între n şi

m.

Cardinalităţi ale asocierilor

Page 19: Concepte  UML

binare

n-are

reflexive

În funcţie de numărul de elemente pe care le leagă

1 *

* *

*

+Get_Valoare_fara_TVA() : Decimal+Get_TVA() : Decimal+Get_Valoare_cu_TVA() : Decimal

-Numar : Char-Data : Date-Doc_anterior : Doc_insotire

Doc_insotire

-corespunde

0..1

0..1

Page 20: Concepte  UML

Un tip aparte de asociere o clasă poate fi modelată, ca fiind parte a

unei alte clase Pot fi: fixe, variabile, recursive

Compoziţie Agregarea partajată

Agregarea

Page 21: Concepte  UML

schimbările într-un element sursă pot determina schimbări în elementul destinaţie

sunt unidirecţionale, un element fiind considerat independent, iar celălalt, dependent.

Dependenţe

Page 22: Concepte  UML

=specializare, generalizare, moştenire obiectele unei clase derivate moştenesc

atribute şi metode ale clasei de bază la care se adaugă membrii clasei proprii

moştenire multiplă

Derivări

Page 23: Concepte  UML

o relaţie semantică între două părţi în care una din ele defineşte o funcţionalitate, iar cealaltă o execută

între interfeţe şi clase Între elemente de analiză (cazuri de

utilizare) şi elemente de proiectare (colaborări)

Realizări

Page 24: Concepte  UML

1) Etichetele asigură o formă de definire a noi proprietăţi unor elemente deja existente

permit asocierea de date unui element din model este sub forma unei perechi “nume-valoare” etichete predefinite – Documentation, Location, Semantics exemple de etichete ce pot fi adăugate: autor, data creare,

data ultimei modificări etc. pot fi folosite şi pentru adăugarea informaţiilor necesare

generatoarelor de cod

Extensii UML Etichetele (tag)

Restricţiile – (constraints)

Stereotipuri

Page 25: Concepte  UML

2) Restricţiile extind semantica elementelor UML prin adăugarea de noi reguli

este reprezentată ca o expresie de tip text fiecare expresie are un limbaj de interpretare implicit

notaţie formală matematică limbaj natural limbaj de programare OCL – Object Constraint Language

restricţii predefinite – Complete, Incomplete, XOR, Disjoint, Overlapping

3) Stereotipurile asigură completarea semanticii unor elemente deja existente

apar sub forma <<numeStereotip>> sunt folosite de regulă pentru a evidenţia diferite tipuri de

clase (<<Interface>>) sau relaţii (<<Become>>)

Extensii UML

Page 26: Concepte  UML

Ce sunt profilele UML?

Întrebări care caută răspuns!!!!

Page 27: Concepte  UML

Diagramă

Diagramă de structură

Diagramă de comportament

Diagramă de clase

Diagramă de componente

Diagramă de obiecte

Diagramă de structură compozită

Diagramă de amplasare

Diagramă de pachete

Diagramă de activitate

Diagramă de cazuri de utilizare

Diagramă a stărilor de tranziţie

Diagramă de interacţiune

Diagramă de comunicare

Diagramă de secvenţă

Diagrama de timp

Page 28: Concepte  UML

ReviewUML.pdf