Sunteți pe pagina 1din 29

 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
 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
 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 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
 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
 Elemente
 Relaţii (între elemente)
 Extensii (aplicabile elementelor
şi relaţiilor)
 Diagrame (alcătuite din
elemente şi relaţiile dintre
acestea)
 Elemente structurale
 Elemente comportamentale
 Elemente de grupare
 Elemente explicative
 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
«Stereotip»
Nume_MetaClasa::Nume_Clasa
+Atribut public : Tip_Data = Valoare_Initiala
#Atribut protejat : Tip_Data = Valoare_Initiala
-Atribut privat : Tip_Data = Valoare_Initiala
+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
 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.
 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ă.
Angajat Popescu Ion : Angajat
-Marca : Char Marca : Char = 1001
-Nume : Char Nume : Char = Popescu
-Prenume : Char Prenume : Char = Ion
-Functia : Char Functia : Char = agent vânzari
-CNP : Char CNP : Char
+Informeaza(in Raport : Char)
«interface»
Interfata
+Operatie1()
+Operatie2()

 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
 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.
Pachet

 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.
 Comentarii (note explicative)
Nota explicativa:

 Tagged values (etichete) = perechi etichetă -


valoare
 Asocieri
 Dependenţe
 Derivări
 Realizări
 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
 - 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.
 binare
1 *

* *

 n-are

*
0..1

 reflexive -Numar : Char


-Data : Date
Doc_insotire

-Doc_anterior : Doc_insotire -corespunde


+Get_Valoare_fara_TVA() : Decimal
+Get_TVA() : Decimal
+Get_Valoare_cu_TVA() : Decimal 0..1
 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ă
 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.
 =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ă
 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)
 Etichetele (tag)
 Restricţiile – (constraints)
 Stereotipuri

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
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>>)
Ce sunt profilele UML?
Diagramă

Diagramă de Diagramă de
structură comportament

Diagramă Diagramă de Diagramă Diagramă de Diagramă de Diagramă a


de clase componente de obiecte activitate cazuri de stărilor de
utilizare tranziţie

Diagramă Diagramă de Diagramă Diagramă de


de structură amplasare de pachete interacţiune
compozită

Diagramă Diagramă de
de secvenţă comunicare

Diagrama de timp
ReviewUML.pdf
 http://ima.udg.edu/~sellares/EINF-
ES2/uml2_diagrams.pdf
 http://www.uml.org/
 http://ima.udg.edu/~sellares/EINF-
ES2/uml2_diagrams.pdf
 http://www.omg.org/news/meetings/worksh
ops/MDA-SOA-WS_Manual/00-
T4_Matthews.pdf

S-ar putea să vă placă și