Documente Academic
Documente Profesional
Documente Cultură
de desfăşurare
Diagrame de componente
Exemplu
Relaţia dintre componente şi clase
Asemănări:
- Au un nume format dintr-un şir de caractere.
- Au instanţe, care au un nume separat prin “:” de numele clasei, respectiv
al componentei.
- Pot realiza interfeţe.
- Pot participa la relaţii de asociere, de generalizare, de dependenţă, de
realizare şi de agregare (clase sau componente incluse în alte clase,
respectiv componente).
Deosebiri:
- Clasele sunt abstracţii ale unui set de atribute şi de operaţii;
componentele sunt părţi fizice dintr-un sistem, rezidente într-un nod. Se
utilizează componente când modelăm un lucru rezident într-un nod; în
celelalte cazuri, folosim, în modelare, clase.
- Clasele au atribute şi operaţii, pe când componentele au numai operaţii,
accesibile numai prin intermediul interfeţelor lor.
- O componentă este implementarea fizică a uneia sau a mai multor entităţi
conceptuale, cum sunt clasele şi colaborările; între componente şi
implementările ei există o relaţie de dependenţă.
Componentele folosite în UML pot fi împărţite în trei categorii:
• Componente fundamentale (desfăşurare) – care formează baza
sistemelor executabile, ca de exemplu: executabile, DLL-uri, controale
ActiveX, JavaBeans, componente COM+, pagini WEB, tabelele bazelor
de date, etc.
• Componente create de utilizator – care sunt produse rezultate din
procesul de dezvoltare şi care formează componentele fundamentale, ca
de exemplu: fişiere cu codul sursă şi de date. Aceste componente sunt
folosite în crearea, în modificarea şi în dezvoltarea executabilelor.
• Componente de execuţie – create ca o consecinţă a folosirii unui sistem
executabil.
UML foloseşte şi stereotipuri standard:
• <<executable>> - pentru o componentă care poate fi executată în
noduri;
• <<library>> - pentru o componentă care reprezintă biblioteci;
• <<file>> - pentru o componentă care reprezintă un fişier de date sau
fişier sursă;
• <<table>> - pentru o componentă care reprezintă o tabelă a unei baze de
date;
• <<document>> - pentru o componentă care reprezintă un fişier
document.
Interfeţe
Componentele au numai operaţii, care pot fi accesate numai prin
intermediul interfeţelor lor. Interfeţele unei entităţi (clase sau componente)
reprezintă un set de operaţii pe care entitatea le pune la dispoziţia celorlalte
entităţi şi care sunt ascunse prin încapsulare.
Reprezentare
Exemplu
componente:
- Interfaţa Utilizator, care furnizează o interfaţă prin care utilizatorul poate
interacţiona cu sistemul;
- Date – pentru implementarea funcţionalităţii datelor memorate;
pachete şi subsisteme:
- Interfaţa Utilizator, care grupează clasele care furnizează interfaţa cu
utilizatorul;
- Utilităţi – conţine date, timpul şi alte clase de utilităţi;
- Date - subsistem pentru prelucrarea datelor.
interfeţe:
IProduse – produse realizate (create sau scrise);
IConsumabile – produse folosite (citite sau distruse).
- pachetul Utilităţi aparţine ambelor componente;
- componenta Date conţine şi subsistemul Date, care este reprezentat
în interiorul componentei (modul doi de reprezentare), în timp ce
pachetul Utilităţi este legat printr-o relaţie de dependenţă de
componenta client Date (modul întâi de reprezentare);
- deoarece între pachetele Utilităţi şi Interfaţă Utilizator există o relaţie
de dependenţă, ele trebuie să facă parte din aceeaşi componentă, altfel
pachetul Interfaţă Utilizator nu va putea fi utilizat.
Diagrame de desfăşurare
Diagrama de desfăşurare descrie structura sistemului în momentul
execuţiei. Ea prezintă dispunerea fizică a diferitelor elemente hardware,
numite noduri, care intră în componenţa unui sistem, şi repartizarea
programelor executabile pe aceste elemente. În diagrama de desfăşurare,
se indică nodurile şi conexiunile unui model.
Noduri
Un nod este resursa care este disponibilă în timpul execuţiei unui sistem
software şi reprezintă un procesor sau un dispozitiv, pe care vor fi
desfăşurate şi executate componentele sistemului.
Un procesor este un nod care poate executa o componentă (calculatoare în
reţea). Fiecare nod trebuie să aibă un nume. La nivelul fiecărui procesor pot
fi identificate procese. Un procesor trebuie să aibă memorie şi anumite
capabilităţi de procesare (dispozitive de calcul, resurse umane, etc.)
Clase de noduri:
- Client – tip procesor, pe care se execută componenta Interfaţă Utilizator;
- ServerBaze – tip procesor, pe care se execută componenta Date;
- Imprimantă – tip dispozitiv, folosită de sistem pentru a lista rapoarte;
Instanţe de clase de noduri:
- Andrei: Client; Ana: Client;
- O instanţă a nodului Server;
- Hp100: Imprimantă.
Organizarea nodurilor şi legăturile dintre ele
Nodurile pot fi organizate în pachete, în acelaşi mod ca şi clasele şi
componentele.
T-connector
Dependenţe de desfăşurare
O dependenţă de desfăşurare este o relaţie de la o componentă, numită şi
componentă client, la un nod, numit nod furnizor, şi indică faptul că nodul
conţine componenta respectivă.