Universitatea „1 Dece mbrie 1918”, Alba Iulia Facultatea de Știinte Exacte şi Inginereşti Specializarea Informatică
Proiect la analiza şi proiectarea sistemelor de calcul Magazin Online
Studenți Irimie Robert Simoc Alin Coordonator Boca Loredana
Alba-Iulia, 2018 0
Cuprins
Introducere……………………………………………………………………………2 Diagrama cazurilor de utilizare……………………………………………………….3
Diagrama de activități………………………………………………………………...4 Diagrama de clase…………………………………………………………………… .5 Diagrama de obiecte ………………………………………………………………… .6
Diagrama de stări…………………………………………………………………… ..7 Diagrama de secvență………………………………………………………………... 8 Diagrama de colaborare ……………………………………………………………… 9 Diagrama de componente ……………………………………………………………1 0
Concluzii……………………………………………………………………………..11
1
Introducere Ce este UML?
UML(Unified Modeling Language ) este un limbaj standard pentru descrierea de modele de modele și specificații pentru software pentru software. Limbajul a fost creat de către consorțiul Object Management Group (OMG) care a mai produs printre altele și limbajul de programare CORBA. UML a fost la bază dezvoltat pentru reprezentarea complexității programelor orientate pe obiect, al căror fundament este structurarea programelor pe clase, și instanțele acestora (numite și obiecte). Cu toate acestea, datorită eficienței și clarității în reprezentarea unor elemente abstracte, UML este utilizat dincolo de domeniul IT. Așa se face că există aplicații ale UML-ului pentru management de proiecte, pentru business Process Design etc. Ce este StarUML?
StarUML este un software care oferă suport de modelare în limbajul UML și oferă diferite tipuri de diagrame care acceapta notatiile UML 2.0. Acesta are activat suportul de MDA(Model Driven Architecture) care permite profilelor UML sa conceapa si sa genereze coduri pentru o multitudine de limbaje. De ce am ales “Magazin Online” ?
Am ales pentru proiect titlul de „ Magazin Online” deoarece am reprezentat legatura intre „actorul1” ( client) şi „actorul2” (comerciant), interactiunea realizându-se în cadrul „actorului3”(mediul online) ce se poate detalia în diagramele UML foarte bine. Diagramele UML create descriu pas cu pas evoluția unui client care intră pe magazinul online unde poate vizualiza și achiziționa produse puse în vânzare de către comerciant . Diagramele cuprind detalii despre magazin, comerciant și client care iși exercită fiecare rolul stabilit. Un magazin online este un mediu virtual ce reușește să faciliteze achiziționarea de produse de la un comerciant, de către un număr infinit de clienți. Comercianții plătesc taxele și impozitele cerute în țara în care își desfășoară activitatea, în condițiile legii în vigoare. Un magazin online poate fi înființat de orice persoană care consideră că în acest mediu poate avea parte de un venit fezabil. Persoana ce se ocupă de magazinul online nu este constrânsă să aibă o limită a numărului de angajați, astfel personalul este flexibil și poate fi diversificat pe parcurs. .
2
Diagrama cazurilor de utilizare O diagramă a cazuril or de utilizare(use case ) prezintă o colectie de cazuri de utilizare și actori care:
Oferă o descriere generală a modului în care va fi utilizat sistemul Furnizează o privire de asamblu a functionalitaților care se doresc a fi oferite de sistem Arată cum interactionează sistemul cu unul sau mai multi actori Asigură faptul că sistemul va produce ceea ce s -a dorit.
Figura 1: Diagram use case “ Magazin Online”
După cum se observă în acestă diagramă avem trei actori : magazinul online, comerciantul și clientul. Diagramele sunt legate prin relatii de tip generalizare si de tip <> ca sa le facă dependente de activitățile cu care sunt legate. Sc enariul din aceste diagrame începe cu clientul care intră pe magazinul online. În functie de nevoile clientului, acesta vizualizează produsele disponibile disponibile pe site. La final final după alegerea produselor, se selectează modul de plată. Un exemplu de diagramă a cazurilor de utilizare incepe altfel:
Clientul intră pe site. Clientul verifică oferta magazinului. Clientul platește produsele selectate. selectate.
3
Diagrama de activități O diagramă de activitațe poate reda paș ii unui proces de calcul, fulxul controlului într-o operație, execuția secvențială sau paralelă a unor acț iuni. Se folosesc pentru modelarea aspectelor dinamice ale unui sistem, la diferite nivele: începâ nd de la nivelul „business
process”, p ână la nivel de opera ție a unei clase. Din acest motiv, diagramele de activitate se folosesc în număr mare de simboluri. Acestă diagramă începe de la un nod ini țial(stare inițială), trece prin anumite activit ăți și se încheie la un nod final(stare final ă). După cum se
observă starea inițială incepe cu intrarea pe magazinul online, apoi se trece la vizualizarea Dacă clientul
produselor.
mulțumit,
atunci
se
trece
este la
urmatoarea activitate, achiziționarea
iar în caz contrar, acesta poate să părăsească părăsească magazinul online . Pentru a putea achiziționa, clientul trebuie să
treacă
prin
checkout,
completându-și datele cu caracter
personal și de contact, respectiv adresa la care vrea să fie livrate produsele. Pasul următor constă în plata produselor comandate urmând
ca de aici să se ajung ă la nodul final(starea finală) care se termină in diagrama de secvență.
În această diagramă folosim actiuni, stări, decizii iar ca relații avem controlul fluxului actiunilor.
Figura 2: Activity diagram“Magazin Online”
4
Diagrama de clase Diagrama de clase este un tip de diagramă utilizată pentru descrierea structurii statice, adică a entităţilor sau claselor existente într-un sistem. Diagramele de clase sunt utilizate de către dezvoltatori pentru specificarea claselor dar poate fi foarte util şi pentru specificarea structurii unor sisteme sau subsisteme dintr-un business real. Arata relatiile dintre clase de tipul: mostenire, agregare si asociere, precum si operatiile si atributele aferente fiecareia. Clasa are instanţe, sau realizări. Aceste instanţe sunt obiectele clasei. Prin conceptul de clasă se descriu structura şi comportarea obiectelor clasei. Structura conţine atributele fiecărui obiect din clasă.
Figura 3: Class diagram “Magazin Online” Clasa cabinet medical este cea mai importantă deoarece de la ea vin toate legăturile principale(persoana, principale(persoana, doctor, pacient, tratament, programare consultate și consultare) iar toate legăturile sunt definite ușor cu un scop anume iar acel scop este de a gestiona cât mai ușor datele și a oferi o perspectiva mai clasa asupra atributelor, cheilor principale din bază. Clasa persoana constituie o clasa care contine nume, prenume, numar de telefon, cnp, adresa si email. Are ca operatie lucreaza() care poate fi adevarata sau falsa. Clasa doctor şi pacient mostenesc clasa persoana deoarece trebuie sa declaram atributele in doctor si pacient ca sa completam toate datele despre pacien t şi doctor. Clasa reteta legata de doctor deoarece fiecare reteta este prescrisa de un doctor si are cheia primara doctorului ca id_doctor integrata in clasa. Clasa consultare este mostenita e la clasa cabinet deoarece se baseaza pe cabinet, doctor și pacient pentru a oferi un diagnostic exact despre starea pacientului. Acestă stare este definita in functie de gravitatea sanătăți pacientului. Clasa consultare este mostenita de la clasa cabinet deoarece in acesta se memorează programările pentru consultare consultare a pacientului. Atributele acestei clase sunt simple și se basează pe id_doctor, id_pacient și data in care va avea loc consultația. 5
Diagrama de obiecte Diagramele de obiecte (de instanțe) ilustrează obiecte şi legături. Ca în cazul diagramelor de clase, diagramele de obiecte reprezintă structura statică. Notația pentru diagramele de obiecte este derivată din aceea pentru diagramele de clase. Instanțe sunt subliniate. Diagramele de obiecte sunt folosite în primul rând pentru a arăta un context – spre spre exemplu, înainte sau după o interacțiune. Totuşi, ele sunt folositoare în a ajuta la înțelegerea structurilor de date complexe, cum sunt structurile recursive. Acest tip de diagramă este o variantă a diagramei claselor, care în locul unei clase prezintă mai multe instanţe ale ei.
Figura 4: Object diagram “Magazin Online”
Acestă diagramă descrie popularea legăturilor și obiectelor din clase care provin de la persoana și sunt mostenite de către clasele doctor și pacient. Pacientul1 este popula t după atributele de la clasa Persoana(nume, prenume, nr_telefon, cnp, adresa, email). De exemplu vom descrie cum functionează functionează clasa de obiecte Pacientul1 Pacientul1 și Doctor1. Numele este Leah iar prenumele este Daniel Daniel și are 17 ani. Daniel a fost diagnosticat cu gripă. Pacientul nu are nici o alergie și este asigura medical iar consultația din câte se observă in diagramele anterioare, Daniel Leah a fost consultat de către Doctorul1 și a primit diagnosticarea. Doctorul1 este moștenit de la clasa Persoana iar, numele lui e ste Donea,iar prenumele este Alexandru care este chirurg cu experiență de patru ani. Pacientul2 pe nume Jurj,iar prenumele este Florin care are nevoie de operație chirurgicală așa cum este descris în diagramă. Pacientul3 pe nume Samuilă si cu prenumele Tudor este ultim ul ,nu are asigurare medicală și asteaptă in cabinet deoarece consultarea lor urmează sa fie efectuată in conformitate cu programările din cabinet. 6
Diagrama de stări O diagramă de stări modelează viața unui obiect prin stările sale și schimbările de stare care au loc pe parcursul vieții. Schimbările de stare sunt determinate de evenimente și reprezintă un automat cu stări finite. Stările sunt reprezentate prin dreptunghiuri rotunjite iar tranzitiile prin săgeți deschise. Starea inițială și cea finală se reprezinta astfel: Stare inițială Stare finală
Figura 5: State machine diagram “ Magazin Online”
Acestă diagram, asa cum stim, are doua stari: starea initiala(intrarea pacientului in cabinet) și starea finală(părăsirea cabinetului medical) . După starea initială , pacientul este consultat de către doctorul din cabinetul medical. După ce este consultat pacientul asteaptă rezultatul consultației și în caz că rezultatul este bolnav, atunci pacientul are de făcut două alegeri între a refuza internarea in spital sau a se interna în spital. În ambelele cazuri pacientul reia consultarea dup ace se termina tratamentul si revine la cabinet. Odată ce pacientul revine la cabinet iar rezultatul este ca pacientul este sănătos atunci pacientul la cabinet programează următorul consult dacă este cazul în funcție de gravitațea situatiei, iar apoi părăsește cabinetul. cabinetul. 7
Diagrama de secvență Diagramele de secvență sunt mesaje de legatura cunoscute ca și MSC(Message Sequence Charts) care prezintă temporal interacțiunile intre obiecte si au un mare rol important în diagramele UML ca scop de a modela scenariile posibile care se vor intampla. Diagramele secvențiale prezintă colaborarea dinamică între un număr de obiecte, mai precis secvenţele de mesaje trimise între acestea pe măsura scurgerii timpului pentru a descoperi interfetele necesare fiecărui obiect și pentru a valida fiecare interfata cu adevărat utilizată. Aceste diagrame reprezintă obiecte(atribut) căruia îi atribuie un mesaj către alt obiect(atribut).
Figura 6: Sequence diagram “Magazin Online”
Acestă diagramă descrie mesajele care se utilisează intr -o situație reală intre trei obiecte: pacient,doctor pacient,doctor și cabinet medical. Exemplul din diagrama de mai sus este explicat pe scurt prin perspectiva diagramei: Cele trei obiecte interactionează cu ajutorul mesajelor. Aceste mesaje indică în ordine
cronologică acțiunile ce se petrec în î n timpul unei vizite medicale așa cum a fost reprezentață mai sus. Din punct de vedere al tipului de mesaj, avem mesaje simple , care au ș i un raspuns. 8
De exemplu obiectul pacientul dup ă ce a fost confirmat de către obiectul “sistemul medical ” din cabinet, îi cere unui alt obiect, “doctorului”, să fie consultat.
Diagrama de colaborare Diagrama de colaborare este o diagramă de interacţiuni care pune accentul pe organizarea structurală a obiectelor care participă la interacţiune. Diferenţa semnificativă faţă de diagrama de secvenţă este aceea că diagrama de colaborare arată explicit legăturile dintre obiecte. De asemenea, la diagrama de colaborare timpul nu are o dimensiune explicită. Din acest motiv, ordinea în care sunt trimise mesajele este reprezentată prin numere de secvenţă. Diagrama de colaborare poate conţine: • obiecte; • legături între obiecte; • mesajele prin care obiectele comunică.
Figura 7: Collaboration diagram“Magazin Online”
În acestă diagramă observăm ca actorii colaborează intre ei prin obiecte de legătura și cel mai important lucru la acestă diagramă este ca avem o colaborare între doua persoane (pacient și doctor) deoarece al treielea actor ( este cabinetul medical) care împreună cu el este un alt actor (laboratorul) care sunt pasivi deoarece ambii actori așteaptă sa colaboreze cu ceilalti
actori(doctorul și pacientul). Totul este structurat și numerotat chronologic deoarece fiecare colaborare are scopul ei in acestă cronologie și descrie cu exactitate colaborarea între acto ri pas cu pas. 9
Obiectele sunt sunt legate între ele și fiecare obiect are eticheta eticheta numerică de cronologie care care rezultă pasul care va fi executat. Prima data incepe cu pacientul care termiă programarea așa cum este ilustrat in imagine si in functie de pașii numerici(+1 Programare ) pe care ii urmeaza chronologic până la ultimul(+6 Reteță).
Diagrama de componente O componentă este un modul soft (cod sursă, cod binar, dll, executabil etc.) cu o interfaţă bine definită. Un altfel tip de componentă reprezintă o parte distinctă a implementării unui sistem. Diagramele de componente sunt foarte folositoare în cazul în care se lucrează la un proiect cu un număr relativ mare de echipe de dezvoltare,iar e le ajută la modelarea şi apoi identificarea componentelor softwar e şi a interfeţelor acestora.
Figura 8: Component diagram “ Magazin Online” Acestă diagramă descrie siteul și serverele cabinetului medical prin care poate fi accesat online. Siteu este format din server care este găzduit in cabinetul medical și este controlat/administrat de către personalul din cabinetul medical. Siteul web este programat in php, css, html și baze de date. Acest site contine :
pagina principal prin care se postează postează noutăti despre despre cabinetul medical medical Home.php- pagina Logare.php- acestă pagina permite pacientului să intre in contul lui Programări.php-acestă pagină permite pacientului să faca programări. 10
Siteul contine interfete și este foarte util în cazul cazul unei programări online deoarece asa se poate salva mult timp pe ntru că pacientul poate decide în ce data sa vină la programare.Siteul oferă si zile care sunt libere si prin aceste zile un pacient poate să confirme data pentru program are.Doctorul și personalul din cabinet pot să administreze site -ul și sa confirme sau să anuleze programări.Desigur,pot sa posteze pe pagina home.php știri,noutăti sau pot sa trimită mail pacientilor care au cont si sunt înregistrați in baza lor de date și în cabinet.
Concluzii UML ofer ă arhitecturi de sisteme ce func ționeaza pe analiza și proiectarea obiectelor cu un limbaj corespunzator pentru specificarea, vizualizarea, construirea și documentarea. Nota țiile UML constituie un element esential al limbajului pentru realizarea propriu-zisa a modelarii si anume, partea reprezentarii grafice pe care se bazeaza orice limbaj de modelare. Mai pe scurt, ideea de baz ă este că este absolut necesar sa cunoastem principalele elemente ale unui limbaj de modelare inainte de a initia proiectarea si dezvoltarea unui sistem. În exemplul nostru, magazinul online, folosim aceste diagrame pentru a construi o imagine a elementelor participante la actiune. Spre dezvoltare, acest exemplu simplu, poate fi exemplificat într-un sistem mai complex.
11
Bibliografie
Laboratoare și cursuri oferite la laboratorul de Proiectarea si analiza sistemelor de calcul, profesor coordonator coordonator Boca Loredana. Loredana. Applying UML and Patterns:An Introduction to Objected-Oriented Analysis and designs and Iterative Development(3rd Edition),Graic Larman.
12