Skip to content

Latest commit

 

History

History
336 lines (239 loc) · 17.4 KB

README.md

File metadata and controls

336 lines (239 loc) · 17.4 KB

FCIM UTM

░▒▄█▀▄░▒▐██▄▒▄██▌▒▄█▀▀█ ▒▐█▄▄▐█░▒█░▒█░▒█░▒▀▀█▄▄ ▒▐█░▒▐█▒▐█░░░░▒█▌▒█▄▄█▀

Technical University of Moldova

FCIM | UTM | Spring 2022


p. Radu Melnic

lab. Nina Sava


Chisinau 2022





REFERINȚE BIBLIOGRAFICE

Principale
  1. Anca Daniela Ioniţă, Modelarea în ingineria sistemelor de programare. Bucureşti, BIC ALL, 2003. – 207 pag.

  2. Dorin Zaharia, Ioan Roşca, Proiectarea obiectuală a sistemelor informaţionale. Bucureşti, DuAl Tech, 2003. – 341 pag.

  3. D. M. Popovici, I.M. Popovici, J. G. Rican, Proiectarea şi implementarea SOFRWARE. Bucureşti, Teora, 1999. – 238 pag.

  4. Daniela Saru, Anca D. Ioniţă, Sisteme de programe orientate pe obiecte. Bucureşti, ALL Educational, 2000. – 318 pag.

  5. D. Bocu, R. Bocu, Modelare obiect orientata cu UML. Bucureşti, Albastra, 2007. – 251 pag.

  6. С. А. Трофимов, CASE – технологии практическая работа в Rational Rose. M., Бином, 2002. – 284 стр.

  7. AMSI. Îndrumar pentru prelegeri. R. Melnic, Şt. Marin, N. Sava, forma electronică. Suplimentare

  8. [https://www.omg.org/ techprocess/meetings/schedule/UML_RTF.html]

  9. [https://www.citforum.ru/book/umlbooch/umlbooch_c.shtml]




c.AMS | FCIM UTM Spring 2022 | 104 | 21.09.2021

Limbaj de programare – are cuvinte cheie Limbaj de modelare – are entitati si relatii

Entitatile ULM:

  1. de structura
  2. comportament
  3. grupare
  4. adnotare

Entitati - elementele obiect orientate ale limbajului UML

  • Entitati de structura - substantivele ale limbajului UML. De regula ele reprezinta partile statice ale modelului care crespund elementelor fizice si conceptuale ale sistemului.

Entitati de structura:

  1. Clasa - blueprintul unui obiect. (class) este o descriere a unei totalităţi de obiecte cu atribute, operaţii, relaţii şi semantica comună.
  • Clasa: Name, Atribute, Methods
  • Cuvintele cheie scrise intre paranteze figurate {} reprezinta constrangere(constanta).
  • Numele se incepe cu majuscula si nu poate contine caractere speciale.

  1. Interfata - (interface) este o totalitate de operaţii care definesc servicii oferite de clasă sau componentă.
  • Interfata: Name, Dialog

  1. Use Case (caz de utilizare) - este o descriere a consecutivităţii de acţiuni îndeplinite de sistem care produc un rezultat semnificativ pentru un anumit actor.

  1. Colaborarea - (collaboration) defineşte o interacţiune, ea reprezintă o totalitate de roluri şi alte elemente care produc un efect cooperativ şi care nu se aduce numai la suma termenilor unei adunări.

  1. Active class (active class) se numeşte o clasă obiectele căreia sunt antrenate în unul sau mai multe procese sau în şiruri (threads) şi deaceea ele pot iniţia o acţiune administrativă.

  1. Componenta - (component) este o parte fizică a sistemului, care corespunde unui anumit set de interfeţe şi asigură realizarea lui.

  1. Nod - Nodul (node) este un element real (fizic) al unui sistem care reprezintă un mijloc de calcul cu un anumit volum de memorie şi deseori cu capacitate de prelucrare a informaţiei şi care există în timpul funcţionării unui produs soft.


  • Şapte elemente de bază enumerate - sunt entităţile principale de structură care pot fi utilizate în diagramele UML.
  • Tipuri de componente: Există şi alte varietăti ale entităţilor de structură: actori, semnale, utilite (tipurile de clase), procese şi şiruri (tipuri de clase active), aplicaţii, documente, fişiere, biblioteci, pagini şi tabele (tipuri de componente).




For next lecture:

Entitati de comportament : elementele dinamice ale limbajului UML, de regula reprezinta verbele limbajului, care descriu comportamentului in timp si spatiu



c.AMS | FCIM UTM Spring 2022 | 104 | 28.09.2021


  • Entitati de comportament :

Interactiune - (interaction) este un mod de comportare care constă în schimb reciproc de mesaje (messages) între obiecte în cadrul unui anumit context pentru a atinge un anumit scop. Cu ajutorul interacţiunii se descrie atât o operaţie cât şi comportarea unui set de obiecte.;

Automatul - (state machine) este un algoritm de comportare care defineşte o succesiune de stări prin care trece un obiect sau o interacţiune pe parcursul ciclului de viaţa răspunzînd la diferite evenimente şi reacţiile lui la aceste evenimente.

  • Cu ajutorul automatului se descrie comportarea unei clase sau a unei colaborări de clase.
  • Cu automatul este legat un şir de alte elemente: stări, tranziţii de la o stare la altă, evenimente care sunt entităti ce iniţiază tranziţii şi tipuri de actiuni - reacţii la tranziţii.




  • Entitati de grupare - elementele organizatorice ale modului UML, ele reprezintablocuri ale modelului ( care impart modelul in subunitati , denumite package)

Package - (packages) reprezintă un mecanism universal de organizare în grupe.

În pachet pot fi plasate entităţile de structură, de comportament şi alte entităţi de grupare.

Spre deosebire de componentele care există real, în timpul execuţiei unui program, pachetele au caracter pur conceptual, adică ele există doar în timpul elaborării.



  • Entitati de adnotare: părţile explicative ale unui model UML.

Acestea sunt comentarii destinate descrierii adiţionale, explicaţiei sau observaţiei către orice element al unui model. Există numai un singur tip de bază al elementelor de adnotare – remarca.

Remarca - (note) este numai un simbol pentru reprezentarea comentariilor sau a constrângerilor, legate de un element sau de un grup de elemente.



Relatiile

Tipuri de relatii:

  1. Dependenta
  2. Asocierea
  3. Generalizarea
  4. Realizarea
  • Dependenta - dependency) este o relaţie semantică între două entităţi astfel încît modificarea uneia din ele, a celei independente, poate influenţa semantica celeilalte, dependente.

  • Asocierea - (association) este o relaţie de structură care descrie o totalitate de legături, prin legătură se subînţelege conexiunea semantică între obiecte.

În calitate de simboluri suplementare pot fi utilizate numele unei asocieri, numele şi multiplicitatea claselor – rolurile asocierii.

!!! Numele asocierii nu este un element obligatoriu. Dacă numele este dat, atunci el se scrie cu majusculă lînga linia ce corespunde asocierei. !!!

Relatie de structura ce reprezinta legatura intre entitati ( poate avea moltitudini: 0->1, 0->M, 1->M, M->M);


!!!     Cuvintele cheie de tip ITALIC , in UML sunt comentarii     !!!


   Asocierea - are caz particular / forma speciala -> "Agregare", acesta la randul sau are o forma speciala -> "Compozitia" ; Agregarea - reprezinta relatia dintre partea intraga si partea componenta (la distrugerea partii intregi nu distruge si partea componenta);



Agregare (aggregation) este o anumită relaţie între întreg şi părţile lui componente.

Această relaţie are un sens fundamental pentru descrierea sistemelor complexe fiindcă se utilizează pentru reprezentarea legăturilor «parte-întreg».

Dezvăluind structura interioară a sistemului, relaţia de agregare arată din ce elemente constă sistemul şi cum elementele sunt legate.

Compoziţie - este cazul particular al relaţiei de agregare. Această relaţie este destinată prezentării formei speciale a relaţiei «parte-întreg» în care părţile componente sunt în interiorul părţiii întregi. Specifica legăturii între ele constă în aceea că părţile componente nu pot exista fără partea întreagă, adică cu distrugerea întregului se destrug şi părţile componente a lui.

   Compozitia - relatia dintre partea intreaga si partea componenta, insa cu o forma mai specifica, de parca partea componenta este in interiorul partii intregi; ( partea componenta nu poate exista fara partea intreaga, cu alte cuvinte la distrugerea partii intregi se distruge si partea componenta)

  • Generalizarea - (generalization) este o relaţie de tip «specializare/generalizare» în urma căreia un obiect al elementului specializat (descendent) poate substitui obiectul elementului generalizat (părinte). Descendentul (child) moşteneşte structura şi comportamentul părintelui (parent) său. (relatie de tip mostenire)

  • Realizarea -relatie semantica dintre doua entitati unde una dintre ele reprezinta un contract iar cea de-a doua o realizeaza( sageata cu linie intrerupta si varf de culoare alba)

    se utilizeasa in doua cazuri:
  1. intre interfata si clase sau componte ce o realizeaza ( pe aceasta interfata)
  2. intre cazuri de utilizare si colaborarea ce o realizeaza



Diagrame

Tipuri de diagrame:
  1. use-case
  2. de interactiune ( de segventa si de colaborare )
  3. de clase
  4. de comportament ( de stare si de de activitate )
  5. de componente
  6. de plasare      ( daca 5. si 6. diagrama este de "realizare")

Starea din diagrama de stari reprezinta o "activitate"

Starea din diagrama de activitati reprezinta o "actiune"

Cazuri de utilizare- un sir actiuni care trebuie sa fie executate de catre sistem in colabirare cu un anumit actor

Actor - entitiate externa fata de sistemul proiectat/modelat care colaboreaza/interactioneaza cu sistemul utilizand functionalitatile lui pentru un anumit scop (numele lui se scrie cu majuscula)

Interfata -(interface) specifică parametrii modelului care sunt vizibili din afară fără indicarea structurii lor interne.

repezinta o totalitate de operatii ce asigura serviciile necesare pentru actori ( pot contine doar operatii fara indicarea specificatilor lor de relizare, nu pot contine atribute sau/nici stari) (ex: o interfata formal poate fi considerata clasa abstracta faca atribute si metode, doar cu reprezentarea operatiolor abstracte)

În limbajul UML interfaţa este clasificatorul care caracterizeză numai o parte limitată a comportării unei entităţi modelate.

Referitor la diagrama cazurilor de utilizare interfeţele definesc o totalitate de operaţii ce asigură serviciile necesare sau funcţionalitatea pentru actorii.

Colaborare - defineste o interactiune care reprezinta un efect corporativ

Tipuri de relatii (Colaborare):

  • Actor -> Actor
  • Actor -> Use-Case
  • Use-Case -> Use-Case
  • Use-Case -> Interface
  • Use-Case -> Colaborare

Interactiune

  • Segventa - reprezinta schimbul de mesaje in timp ( merg de la prima pana la ultima)
  • Colaborare - reprezinta schimbul de mesaje in spatiu, accentul este pe diagrame (unul la unul)

Obiect - instanta a clasei ( se reprezinta sub forma de dreptunghi, numele obiectului este subliniea)

!!! Elementele sau obiectele care sunt subliniate sunt " instante"

6 tipuri :

  1. OCP ( N_o : T_c : T_p ) ---> <[ O : C :: P ]> (obiectul : clasa :: pachet)
  2. <[ O : C ]> ( obiectul "O" al clasei "C")
  3. <[ O ::]> ( "Obiect Orfan" , obiectul nu este atribuit)
  4. <[ O ]>(stim cine este, dar nu detalii.... , doar obiectul "O")
  5. <[ : C :: P ] ( obiect anonim al clasei "C" pachetul "P", numele obiectului nu se stie : poate fi Radu sau ION sau ...)
  6. <[ : C ]> (doar clasa, obiect asincron )

Următoarele sunt variante de indicare a textului în înteriorul dreptunghiului.

  • : С – un obiect anonim creat pe baza clasei С.
  • / R – un obiect anonim cu rolul R.
  • / R : С – un obiect anonim creat pe baza clasei С cu rolul R.
  • О / R – un obiect cu numele O cu rolul R.
  • О : С – un obiect cu numele O creat pe baza clasei С.
  • О / R : С – un obiect cu numele O creat pe baza clasei С cu rolul R.
  • О sau obiectul cu numele О.
  • О : – un "obiect orfan" cu numele О.
  • / R – un rol cu numele R.
  • : С – un rol anonim pe baza clase С.
  • / R : С –un rol cu numele R pe baza clase С.

Focus control - (linia vietii, arata timpul in care elementul e ectiv, iar "X" momentul de timp in care obiectul e distrus)(imaginea de mai jos)

Asincron (dreptunghi vertical in imaginea de mai sus) - transmite un semnal fara a primi raspuns

Stereotipuri : În limbajul UML sunt presupuse numai acţiuni standarde, care se execută la primirea mesajului respectiv.

Ele pot fi indicate în diagrama de secvenţă sub forma de stereotipuri ataşate mesajelor respective şi se scriu în ghilimele.

Pentru diagrama de secvenţă sunt următoarele stereotipuri de mesaje:

  • "call" – invocă chemarea operaţiei sau procedurei obiectului-destinatar;
  • "return" – returnează valoarea operaţiei executate sau procedurei obiectului apelant;
  • "create" – crează un alt obiect pentru executarea anumitor acţiuni;
  • "destroy" – mesaj cu o cerinţă clară de a distruge obiectul corespunzător.Se transmite în cazul când este necesar pentru a opri acţiunile nedorite a obiectului din sistemul existent, sau atunci când obiectul nu mai este necesar şi ar trebui să elibereze resursele alocate lui;
  • "send" – trimiterea unui semnal care este iniţializat asincron de către un obiect şi este acceptat de altul. (Diferenţa între un semnal şi un mesaj constă în fapt că semnalul trebuie să fie descris în clasa obiectul căruia iniţializează transmiterea lui.)

În afară de stereotipuri, mesajul poate avea denumirea sa proprie, a operaţiunii.

În acest caz lîngă săgeată se scrie numele operaţiei cu paranteze rotunde în care se indică parametrii sau argumentele operaţiei respective.

Dacă parametrii lipsesc atunci parantezele rămîn neapărat după numele operaţiei.