Ingineria programarii: Sabloane de proiectare comportamentale 1
Ingineria Programarii
-
Upload
robertcozianu -
Category
Documents
-
view
302 -
download
1
description
Transcript of Ingineria Programarii
-
Ingineria programrii
2. Limbajul unificat de modelare, UML
Florin Leon
Universitatea Tehnic Gheorghe Asachi din Iai Facultatea de Automatic i Calculatoare
http://florinleon.byethost24.com/curs_ip.htm
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
Limbajul unificat de
modelare, UML
1. Modelarea
2. Limbajul unificat de modelare
3. Clasificarea diagramelor UML 2.0
4. Diagramele UML 2.0
5. Concluzii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
Limbajul unificat de
modelare, UML
1. Modelarea
2. Limbajul unificat de modelare
3. Clasificarea diagramelor UML 2.0
4. Diagramele UML 2.0
5. Concluzii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
Modelarea
Un model este o simplificare a unui anumit sistem, care
permite analizarea unora dintre proprietile acestuia
Reine caracteristicile necesare
Folosirea de modele poate nlesni abordarea problemelor
complexe, facilitnd comunicarea i nelegerea
Divide et impera
Exemple:
Formalismul matematic
Reprezentrile din fizic
Orice limbaj intern poate fi folosit pentru modelare, ns ntr-un context formal este nevoie de standardizare
4
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
Limbajul unificat de
modelare, UML
1. Modelarea
2. Limbajul unificat de modelare
3. Clasificarea diagramelor UML 2.0
4. Diagramele UML 2.0
5. Concluzii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
6
Scurt istoric (I)
ntre 1989 i 1994 erau folosite mai mult de 50 de limbaje de modelare software, fiecare cu propriile notaii
Utilizatorii doreau un limbaj standardizat, o lingua franca a
modelrii
La mijlocul anilor 90 trei metode s-au dovedit mai eficiente:
Booch (Grady Booch): potrivit mai ales pentru proiectare i implementare, cu dezavantajul unor notaii complicate
OMT, Object Modeling Technique (Jim Rumbaugh): potrivit pentru analiz i sisteme informaionale cu multe date
OOSE, Object Oriented Software Engineering (Ivar Jacobson):
aceast metod a propus aa-numitele cazuri de utilizare, care ajut la nelegerea comportamentului sistemului n ansamblu
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
7
Precursorii UML
Booch
OMT
OOSE
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
8
Scurt istoric (II)
1994: Jim Rumbaugh, creatorul OMT, a prsit General Electric, alturndu-se lui Grady Booch la Rational Corp.
1995: Ivar Jacobson, creatorul OOSE, a venit la Rational
iar ideile lui, n special conceptul de cazuri de utilizare,
au fost adugate Metodei unificate
Metoda rezultat a fost numit Limbajul unificat de modelare, UML
1996: Formarea de ctre Rational a consoriului Partenerilor UML din care fceau parte gigani precum Hewlett-Packard, Microsoft i Oracle
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
9
UML
Limbaj pentru specificarea, vizualizarea,
construirea i documentarea elementelor sistemelor software
Un limbaj grafic care ne permite s reproducem pe hrtie ceea ce este produs n procesul de dezvoltare a unui sistem software
Poate fi folosit i pentru alte sisteme, cum ar fi procesele de afaceri (business processes)
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
10
Versiuni i standardizare
Ianuarie 1997: UML 1.0 a fost propus spre standardizare
n cadrul OMG (Object Management Group)
Noiembrie 1997: versiunea UML 1.1 a fost adoptat ca standard de ctre OMG
Martie 2003: a fost lansat versiunea 1.5
Octombrie 2004: versiunea 2.0
August 2011: versiunea 2.4.1
UML este standardul ISO/IEC 19501:2005
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
11
UML
Ca orice limbaj, UML are:
Notaii (alfabetul de simboluri)
Sintax i gramatic (reguli pentru combinarea simbolurilor)
UML este un instrument de comunicare
UML nu este o metodologie de dezvoltare
Dar este determinat de cele mai bune practici n
domeniu
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
Limbajul unificat de
modelare, UML
1. Modelarea
2. Limbajul unificat de modelare
3. Clasificarea diagramelor UML 2.0
4. Diagramele UML 2.0
5. Concluzii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
13
Clase de diagrame
Diagrame de structur
Prezint elementele unei specificaii independent de timp
Includ: diagramele de clase, structuri compuse, componente,
desfurare (deployment), obiecte i pachete
Diagrame de comportament
Prezint trsturile comportamentale ale sistemului
Includ: diagramele de activiti, maini de stare i cazuri de utilizare, precum i cele 4 diagrame de interaciune
Diagrame de interaciune
Scot n eviden interaciunile dintre obiecte
Includ: diagramele de secvene, comunicare, interaciuni generale (interaction overview) i cronometrare (timing)
Legend: utilitate practic mare, medie, mic
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
14
Diagramele UML 2.0 (I)
Diagrame de structur: ce conine sistemul
Clase
Structuri compuse
Componente
Desfurare
Obiecte
Pachete
Diagrame de comportament:
ce se ntmpl n sistem
Activiti
Maini de stare
Cazuri de utilizare
Diagrame de interaciune: fluxurile de control i date dintre componentele sistemului
Secvene
Comunicare
Interaciuni generale
Cronometrare Diagrame introduse n UML 2.0
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
15
Diagramele UML 2.0 (II)
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
Limbajul unificat de
modelare, UML
1. Modelarea
2. Limbajul unificat de Modelare
3. Clasificarea diagramelor UML 2.0
4. Diagramele UML 2.0
5. Concluzii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
17
1. Diagrama cazurilor de utilizare
Descrie interaciunile dintre utilizatori i sistem
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
18
Actori i cazuri multiple
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
19
Granularitatea
Un caz de utilizare trebuie s satisfac un scop pentru actor
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
20
Avantaje
Suma cazurilor de utilizare este ntregul
sistem
Permit comunicarea cu persoane fr cunotine tehnice IT
Partiioneaz funcionalitatea, ghideaz dezvoltarea iterativ
Ajut planificarea i testarea
Ajut la crearea manualurilor de utilizare
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
21
Determinarea cazurilor de
utilizare
Interviuri cu utilizatori poteniali
ntlniri cu prile interesate (stakeholders)
Facilitator, asistent (scribe), modelare CASE
Brainstorming
Mai nti actorii
Apoi posibilele cazuri de utilizare
Justificarea fiecrui caz de utilizare
Descriere simpl, de o linie sau un paragraf
Toate ideile trebuie documentate
Cazurile de utilizare nu trebuie s fie perfecte de prima dat, se vor rafina ulterior
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
22
Actori primari i secundari
beneficiaz ia parte
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
23
Identificarea actorilor
Exemplu: timpul poate fi un actor
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
24
Generalizarea actorilor
note (comentarii)
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
25
Relaiile dintre cazurile de utilizare (I)
Include: pentru reutilizare
Doar Check Identity
este conectat cu
Author Credentials
Database
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
26
Relaiile dintre cazurile de utilizare (II)
Generalizarea cazurilor de utilizare:
reutilizare cu modificri
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
27
Relaiile dintre cazurile de utilizare (III)
Extend: comportament
opional, depinznd de o decizie (de implementare
sau din timpul execuiei)
Diferit de incluziune i generalizare!
O relaie mai puin intuitiv
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
28
Specificarea cazurilor
de utilizare (I)
Pre-condiii
Utilizatorul s-a logat
i s-a autentificat ca administrator
Post-condiii
Participantul a fost
eliminat de la curs
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
29
Specificarea cazurilor
de utilizare (II)
Fluxuri de extensie (fluxuri alternative sau fluxuri de excepie)
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
30
Storyboard (tabl de naraiune)
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
31
2. Diagrama de clase
Clasa
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
32
Vizibilitatea trsturilor
Public
Protejat
Pachet
Privat
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
33
Vizibilitatea n C# i Java
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
34
Reprezentarea atributelor
Inline (n interiorul clasei)
Prin asociere
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
35
Vizibilitatea atributelor
De obicei private sau protejate
Nu se recomand atribute publice, dect:
Pentru constante
Atribute read-only
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
36
Operaiile
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
37
Parametrii i tipurile de return
Constructor
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
38
Trsturi statice
Trsturi (features) = atribute i operaii
Trsturile statice se subliniaz
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
39
Relaii ntre clase
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
40
Dependena
O clas folosete pentru scurt timp o alt clas: trimiterea unui mesaj, trimiterea ca parametru
Exemplu: metodele clasei Math
Din punct de vedere al implementrii:
Instanierea unei clase ntr-o metod
Primirea unui obiect ca parametru ntr-o metod
Crearea i returnarea unui obiect dintr-o metod
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
41
Asocierea
De obicei, o clas are un cmp instaniat din cealalt clas
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
42
Direcia de citire
Direcia de citire este de obicei de la stnga la dreapta i de sus n jos
Direcia de citire se poate indica explicit
Sgeata care indic direcia de citire nu trebuie pus pe linia de asociere!
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
43
Validarea asocierilor
Fiecare. Obiect. Este predat ca. 0 sau mai multe. Cursuri.
Fiecare. Curs. Este pentru. Unul i numai unul. Obiect.
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
44
Asociere complex
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
45
Asociere unidirecional
Numai o clas tie de cealalt
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
46
Cardinalitatea (multiplicitatea)
asocierii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
47
Asocieri multiple (I)
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
48
Asocieri multiple (II)
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
49
Agregarea
O clas are dar partajeaz obiecte din cealalt clas
Este o relaie de tip ARE-UN / ARE-O
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
50
Compunerea
Atributele compun clasa
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
51
Implementarea
Din punct de vedere al implementrii, asocierea, agregarea i compunerea sunt identice
Presupun introducerea unui atribut (cmp)
Dac nu sunt evidente sau foarte importante distinciile privind agregarea sau compunerea, este mai simplu s se foloseasc numai relaiile de asociere
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
52
Motenirea (generalizarea)
Este o relaie de tip ESTE-UN / ESTE-O
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
53
Regula 100%
Toate definiiile clasei de baz trebuie s se aplice tuturor claselor derivate
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
54
Corectitudinea generalizrilor
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
55
Motenire multipl
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
56
Recomandare
Compunerea ar trebui preferat motenirii
Motenirea este cea mai puternic form de cuplare
n general, compunerea este mai uor de gestionat
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
57
Clase i operaii abstracte
virtual
abstract
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
58
Interfee
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
59
Template-uri
De exemplu: List tipul este specificat n implementare
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
60
Constrngeri
Tipuri de constrngeri: Invariante
Pre-condiii Post-condiii
OCL (Object Constraint Language) parte din UML 2.0
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
61
Recomandri
Nu introducei prea multe informaii n diagram
Ignorai atributele i operaiile necritice
Artai ntr-o diagram numai clasele relevante pentru un caz de utilizare
Nu includei clasele sistem (string, Hashtable etc.)
Nu includei prea devreme informaii despre implementare (navigabilitate, vizibilitate)
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
62
3. Diagrama de obiecte
Arat cum se comport obiectele ntr-un anumit
scenariu, cum interacioneaz
Asocierile corespund
asocierilor dintre clase
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
63
Template-uri
De exemplu: List tipul este specificat n momentul execuiei
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
64
4. Diagrama de activiti
merge = mbinare
Aceste diagrame descriu logica
procedural, procesele
Sunt asemntoare schemelor logice, dar suport i paralelismul
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
65
Activiti i aciuni
Activitatea este procesul modelat
O aciune este un pas din activitate
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
66
Decizii i mbinri
Condiiile trebuie s fie complete i mutual exclusive Pasul urmtor trebuie s fie unic determinat
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
67
Teste incomplete
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
68
Procese paralele
fork = ramificaie join = reunire
Se folosesc pentru procese sau fire de execuie multiple La reunire, se ateapt terminarea tuturor aciunilor incidente
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
69
Evenimente de timp
Perioad de ateptare
Eveniment de timp recurent
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
70
Apelarea altor activiti
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
71
Semnale
Ateapt tot timpul
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
72
ntreruperi i terminri de flux
Un flux se poate termina fr a termina ntreaga activitate
Dac se mai poate mbunti soluia n 2 secunde, este foarte bine, dac nu, se returneaz rezultatul existent Dup 2 secunde, se returneaz orice rezultat disponibil, mbuntit sau nu
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
73
Partiii (culoare)
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
74
Adnotri
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
75
Conectori
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
76
Exemple
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
5. Diagrama de secvene
Arat modul cum lucreaz sistemul
Greu de neles doar din descrierea structurii
O diagram corespunde unui singur scenariu
Include n principal obiecte i mesaje
Un mesaj poate fi un apel de metod
Indic ordinea evenimentelor
Timpul reprezint aici ordinea, nu durata
Pentru durat, se folosete diagrama de cronometrare
77
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
78
Participani
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
79
Mesaje imbricate
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
80
Tipuri de mesaje
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
81
Diagram complex
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
82
Fragmente
Controlul secvenial natural poate fi extins cu ajutorul fragmentelor de interaciune
Fragmentele sunt asemntoare structurilor de control care exist ntr-un limbaj de programare
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
83
Fragmente opionale
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
84
Fragmente alternative
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
85
Referine
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
86
6. Diagrame de comunicare
Mesaje imbricate
Mesaje concurente
Similare diagramelor de
secvene, dar se concentreaz pe legturile dintre participani
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
87
Alte tipuri de mesaje
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
88
Diagram complex
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
7. Diagrama mainilor de stare
Obiectele pot reaciona diferit n funcie de stare
Diagramele mainilor de stare se realizeaz pentru un singur obiect
Pot descrie comportamentul unui obiect de-a lungul mai multor
cazuri de utilizare
Nu sunt potrivite pentru a descrie colaborarea mai multor obiecte
Sunt folosite intens n anumite tipuri de aplicaii software i hardware, precum:
Sisteme critice de timp real
Bancomate
Jocuri (de exemplu first person shooter)
89
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
90
Stri, tranziii, declanatoare, condiii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
91
Semnale
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
92
Stri compuse (I)
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
93
Stri compuse (II)
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
8. Diagrama de componente
Pentru proiectele mai complexe, este greu de
trecut de la analiz direct la definirea claselor
O component este o parte ncapsulat, reutilizabil i nlocuibil a sistemului
Componentele comunic prin interfee, pentru a asigura cuplarea slab
94
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
95
Notaii pentru componente
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
96
Notaii pentru interfee
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
97
Accent pe interfee
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
98
Accent pe dependene
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
99
Clasele componentelor
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
9. Diagrama de pachete
Sistemele software pot avea sute de clase
Pachetele modeleaz grupuri de clase
Majoritatea limbajelor de programare importante au un
corespondent al pachetelor
C#: namespace
Java: package
Deseori diagramele sunt folosite pentru a indica dependenele dintre pachete
Pachetele pot cuprinde orice element UML, nu doar clase
De exemplu: cazuri de utilizare
Componentele corespund nivelului conceptual (mai generale)
Pachetele corespund nivelului logic, n coresponden cu faza de implementare
100
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
101
Pachete
Organizarea logic
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
102
Clase n pachete
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
103
Dependene
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
10. Diagrama de desfurare
Corespunde nivelului fizic: modeleaz elemente fizice ale sistemului
Fiiere executabile
Entiti hardware
Arat cum sunt atribuite entitile software ctre cele hardware i cum comunic acestea
Poate include hardware, firmware, sistem de
operare, medii de execuie, drivere etc.
Dar trebuie s cuprind doar detaliile importante pentru audien
104
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
105
Artefacte
Organizarea fizic
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
106
Instane de noduri
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
107
Comunicaia ntre noduri
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
108
Exemplu de utilizare
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
109
11. Diagrama
structurilor compuse
Arat cum lucreaz obiectele, cum i ndeplinesc scopurile
Un port reprezint utilizarea distinct a unei clase
Porturile pot grupa
interfee nrudite
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
110
12. Diagrama de cronometrare
Folosit mai ales pentru sisteme de timp real sau
ncorporate
Arat strile unui obiect i cnd se afl obiectul n aceste stri
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
111
Constrngeri
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
112
Notaie alternativ
Recomandat pentru puine stri
Recomandat pentru multe stri
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
113
13. Diagrama
interaciunilor generale
Arat cum interacioneaz mai multe entiti pentru a realiza un caz de utilizare
(sau un scop)
Poate fi vzut ca o diagram de activiti, dar fiecare aciune este o interaciune complet descris de o diagram distinct
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
114
Diagramele UML i ciclul de dezvoltare software
Faza modelrii cazurilor de utilizare
Faza modelrii domeniului
Diagrame statice de structur, diagrame de secvene
Faza modelrii proiectrii
Diagrame de clase, de maini de stare, de activiti
Faza modelrii implementrii
Diagrame de componente, de desfurare
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
115
Diagramele UML i ciclul de dezvoltare software
Modelul vizualizrii 4+1 Perspectiva logic Clase, maini de stare,
secvene .a.
Perspectiva de proces Activiti
Perspectiva de dezvoltare Pachete, componente
Perspectiva fizic Desfurare
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
116
Concluzii
UML este un limbaj pentru specificarea, vizualizarea, construirea i documentarea elementelor sistemelor software
Este un standard de facto pentru modelarea software
UML 2.0 are 13 diagrame, clasificate n:
Diagrame de structur
Diagrame de comportament
Diagrame de interaciune
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
-
117
Referine
Majoritatea diagramelor incluse n acest curs
au fost preluate din urmtoarele surse:
Hamilton, K., Miles, R. (2006). Learning UML 2.0,
O'Reilly
Ariadne Training. UML Applied, 2nd edition, http://ariadnetraining.com/software-courses/images/stories/YesNo/
ariadne/file/UML_Applied\_Second\_Edition.pdf
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm