Sunteți pe pagina 1din 33

INTRODUCERE

„Industria informaticii nu respectă tradiția -


respectă doar inovația..”
SATYA NADELLA
Se cunoaşte faptul că, actualmente, cea mai dinamică evoluţie o înregistrează Tehnologia
Informaţiei. Întreprinderile sunt constrânse să reacţioneze la noile cerinţe ale societăţii în timp real,
în care scopul este să-şi amplifice sau să-şi restructureze procesele din business şi să le administreze
cu eficienţă sporită.
În momentul actual se utilizează din ce în ce mai multe tranzacţii electronice pentru
efectuarea plaţilor, încăsărilor, creditărilor şi a altor operaţii. De asemenea, a crescut gradul de
prelucrare a datelor, s-au automatizat procesele decizionale, se adoptă soluţii integrate pe o scară
largă.
În secolul al XXI-lea, când tehnologiile informaţionale şi comunicaţionale joacă un rol tot
mai important în toate sferele vieţii, organizaţiile au adoptat diverse mecanisme pentru
eficientizarea activităţii lor. Tehnologiile moderne sunt transformate în instrumente comode de
lucru care vin să contribuie la sporirea eficacităţii şi chiar a rentabilităţii firmelor.
Organizaţiile, indiferent de tipul sau mărimea lor, utilizează tehnologiile informaţionale şi
comunicaţionale drept un mijloc util fie de management, de control sau folosit în execuţie, de
cercetare, acestea luând forma, de cele mai multe ori, a unor sisteme informaţionale.
Practic, nu există domeniu în economie (sfera socială, energetică, educaţională, apărare
etc.) în care să nu existe, cel puţin, un sistem informaţional, care să controleze diferite elemente ale
activităţii acelor domenii. Dezvoltarea rapidă al domeniului TIC a condus şi la apariţia unor noi
noţiuni care de multe ori sunt ambigue.
Un sistem informaţional este proiectat pe sistemul economic pe care îl deserveşte. Sistemul
informaţional are în componenţa sa resurse materiale, umane şi informaţionale, sisteme
informatice, care sunt destinate pentru rezolvarea sarcinilor pe care le are de executat la un anumit
moment sau într-o perioadă de timp. Acest lucru explică importanţa sistemelor informaţionale în
administrarea eficientă a organizaţiilor contemporane.
Fiecare firmă, în funcţie de necesităţi şi priorităţi, implementează şi dezvoltă sisteme
informaţionale în vederea automatizării proceselor de operare cu datele, de furnizare a datelor şi
informaţiilor, atât de utile în condiţiile unei societăţi moderne.

3
De cele mai multe ori, companiile optează pentru sistemele informaţionale uşor adaptabile
din punct de vedere tehnic şi operaţional, pentru a putea opera modificări şi completa cu noi
funcţionalităţi la orice moment în funcţie de circumstanţele şi necesităţile noi ale organizaţiei.
Implementarea unui sistem informaţional din punct de vedere tehnic într-o organizaţie nu
este suficientă, întrucât este necesară acceptarea şi adaptarea acestui sistem de către toţi angajaţii
organizaţiei sau, cel puţin, a celor care operează direct şi cărora le este destinat.
Un sistem informaţional poate ocupa diferite poziţii într-o organizaţie, dar de fiecare dată
scopul utilizării şi implementării unui sistem informaţional într-o organizaţie va fi cel de
eficientizare sau, cel puţin, de contribuţie la eficientizarea activităţii organizaţiei.
Sistemele informaţionale sunt implementate, dar şi dezvoltate în organizaţii din diferite
motive, care ţin de domeniul de activitate al firmei, de obiectivele stabilite de aceasta, numărul de
angajaţi, stilul de management, cultura organizaţională şi alţi factori.
În general, există mai multe părţi interesate de un SI aşa ca: utilizatorul final;
client/beneficiar; manager de proiect; analist de sistem; dezvoltător; arhitect; inginer de suport etc.
În dezvoltarea unui SI există întotdeauna multiplte părţi interesate, aceştia se mai numesc, din limba
engleză şi stakeholders. Fiecare persoană priveşte SI din punctul său de vedere.
Actualitatea şi importanţa cercetatării: Practica de management din unităţile economice
a evidenţiat legătura directă care există între procesul managerial propriuzis şi Sistemul
informaţional existent. Rolul unui Sistem informaţional în cadrul unei organizaţii relevă din
beneficiile pe care le oferă angajaţilor, decidenţilor acesteia. Fiecare tip de organizaţie îşi adaptează
anumite categorii de Sistem informaţional în funcţie de necesităţile organizaţionale. Există o serie
de modele de sisteme informaţionale aşa ca: sistemele de management al documentelor;
management al proiectelor; management al sarcinilor; sisteme informaţionale de gestiune a
resurselor umane; sisteme de măsurare şi de management al performanţelor; sisteme informaţionale
de contabilitate etc.

Scopul acestui proiect de curs este de a analiza și modela un sistem.

Obiectivele în conformitate cu scopul urmărit sunt multiple:

- studierea și analizarea domeniului;


- investigarea implementării cerințelor într-un mediu software;
- realizarea concluziilor cu privire la studiul făcut.

4
Structura raportului este format din 2 capitole, fiecare dintre acestea vine să abordeze cu
stricteţe tema şi particularităţile propuse pentru analiză, incluzând şi alte elemente structurale cum
ar fi introducerea , încheierea, bibliografia și anexe.

Concluziile formulate reprezintă esenţa proiectului în cauză.

Bibliografia cuprinde 11 surse utilizate la elaborarea proiectului de curs.

5
I. DESCRIEREA DOMENIULUI DE APLICAȚIE
I.I STUDIUL CERINȚELOR

Prin acest proiect se dorește îmbunătățirea eficienței operaționale a actului medical prin:

- fluidizarea și îmbunătățirea fluxului de lucru dintr-un centru medical de diagnostic și


tratament
- achiziționarea și gestionarea unui volum ridicat de date medicale despre pacienti (Fișa
Electronica a Pacientului)
- eliminarea transferului dosarelor fizice în interiorul organizației/ sistemului
- punerea la dispoziția personalului medical de informații în timp real despre datele medicale
integrate ale pacientului
- asigurarea unei securități sporite a informației

Necesitatea unui astfel de sistem pornește de la ideea că medicina modernă presupune și


o schimbare a mentalității pacienților despre propria sănătate, o schimbare a atitudinii în relația
medic-pacient și realizarea unui climat propice comunicării permanente în beneficiul pacienților.

Sistemul își propune să răspundă cu succes problemelor pe care le ridică la momentul


actual sistemul de sănătate din Moldova: necesitatea de a livra servicii medicale de o calitate și
eficiență crescută în condițiile unui buget care trebuie controlat din ce în ce mai strict.

Problema propusa spre rezolvare se încadrează în domeniul medical și are ca scop


îmbunătățirea activității unui Centru Medical de Diagnostic și Tratament, iar obiectivul centrului
medical este de a oferi servicii care sa raspundă unor cerințe medicale exigente de profesionalism,
siguranță și confort.

În cadrul unui Centru Medical de Diagnostic și Tratament există cabinete medicale care
oferă consultații pacienților sau laboratoare care efectuează analize. Se pune problema
programării pacienților pentru aceste servicii și apoi a calculării și facturării sumelor de plată
rezultate. Toate aceste operații se vor efectua pe calculator prin intermediul unei aplicatii,iar
informațiile vor fi stocate într-o baza de date.

6
Prin realizarea aplicației informatice se urmărește eficientizarea procedurilor de
programare și facturare a serviciilor oferite, dar și a modului de informare a pacienților și a
medicilor. Pentru a impiedica efectuarea de inscrieri fictive care ar conduce la pierderi importante
de timp, se vor folosi conturi si parole de autentificare.

I.II NOUTĂȚI DIN DOMENIU MEDICAL

Încă din anii 2013-2014 pe portalurile de știri au început să apară noutăți cu subiectele:
”Fișe medicale electronice și programări online la medicul de familie”, ” În Moldova a
început era medicinei on-line” ș.a.
Însă, chiar și astăzi aflîndu-ne în anul 2018, am accesat site-ul web: https://sia.amp.md/ și
am constatat faptul că fișele medicale electronice încă nu au fost create pentru toți cetățenii RM.
Am încercat să completez datele primare și am primit următorul mesaj:

”Costul proiectului este de 19,2 milioane de lei, bani alocaţi din bugetul de stat” a anunțat
încă în anul 2014 portalul de știri http://www.jurnal.md

7
O altă știre mai recentă cu subiectul: ”Fișa medicală va putea fi consultată şi de la
distanţă” apărută la sfîrșitul lunii noiembrie 2018, relatează următoarea informație: ” Fişa
medicală va putea fi consultată on-line sau pe o aplicaţie mobilă. Este vorba de un nou sistem
electronic care va fi aplicat în următorii ani la Institutului Mamei şi Copilului, iar mai apoi si la
alte instituţii medicale din ţară. Proiectul este finanţat de Guvernul României şi are un buget de
aproximativ 3 milioane de euro pentru următorii trei ani. Potrivit autorităţilor, digitalizarea
informaţiei va contribui la creşterea calităţii serviciilor şi optimizării activităţii medicilor,
relatează Mesager.”

Alte aplicații informatice utilizate in domeniu

Pîna în prezent au fost create foarte multe aplicații informatice care au ca obiectiv
managementul unităților medicale cu diferite specializări. Acestea sunt mai simple sau mai
complexe, oferind o gamă mai restrînsă sau mai largă de facilități.

Prezint în continuare cîteva din aplicațiile existente în domeniul medical.

Principalul produs software dezvoltat și comercializat de Briliant Technologies se


numește Brildent și este un program destinat cabinetelor și clinicilor de stomatologie și oferă
soluția completă de gestiune, de urmărire a pacienților și a tratamentelor efectuate. Cu Brildent
medicii stomatologi și managerii cabinetelor stomatologice pot urmări situația pacienților, a
tratamentelor care au fost efectuate, plățile efectuate de pacienți, perioadele de rechemare a
pacienților, încasările zilnice și totale efectuate de un medic sau de toți medicii care lucrează în
cabinetul sau clinica de stomatologie.

Site-ul https://terramed.md/webforma.php?lang=ro oferă o prezentare a clinicii


medicale și oferă posibilitatea de a face și programarea online.

Hospital Manager (HM) este un sistem complet de administrare a tuturor fluxurilor


informaționale dintr-un spital modern, public sau privat: fișa electronică medicală a pacientului,
organizare și planificare activitați departamente, informații financiare și costuri, raportare
specifică. HM oferă managerilor de pe orice nivel informația exactă asupra stării de sănătate și a
costurilor îngrijirii profesionale a pacienților din unitatea lor.

8
I.III NOUTĂȚI DIN DOMENIUL UML

5 dintre cele mai bune programe pentru diagrame UML pe Windows 10

Conform https://windowsreport.com top dintre cele mai bune programe pentru diagrame UML
sunt:

1. Edraw UML Diagram


2. UMLet 14.3
3. Visio
4. StarUML 3
5. ConceptDraw Diagram 12

Enterprise Architect Official Version: 14.1 Build 1427 11-Sep-2018

9
II. ANALIZA ȘI MODELAREA SISTEMULUI
II.I. DIAGRAMA CAZ DE UTILIZARE

În urma descrierilor făcute în studiul cerințelor se conturează urmatoarele cazuri de utilizare:

- administrare sistem - actualizează baza de date pentru centrul de diagnostic și gestionează


utilizatorii sistemului
- autentificare utilizator - permite introducerea contului și a parolei în vederea programarii
- programare consultații - înscrierea pacientului autentificat la unul din medicii care oferă
consultații de specialitate
- vizionare servicii - permite navigare în lista serviciilor din cadrul Centrului Medical de
Diagnostic și Tratament
- vizionare programari - permite parcurgerea listei cu programări
- realizare consultații - înregistrează în fișa pacientului datele consultației
- înscrie pacienți - programează pacienții la serviciile medicale
- facturare servicii - calcularea sumelor de plată și facturarea lor.

Actorii care interacționează cu sistemul sunt următorii:

- administrator sistem - administrează baza de date a sistemului și gestionează utilizatorii


sistemului
- pacient - vizionează serviciile medicale, se autentifică și se programează la serviciile medicale
- medic - se autentifică, vizioneaza lista programărilor, consultă pacienții
- operator - se autentifica, înscrie pacientii la diferite servicii medicale, emite facturi pentru
serviciile medicale efectuate
- vizitator - vizioneaza serviciile medicale

Diagrama generală a cazurilor de utilizare este prezentată in Figura 1.1 și cu ajutorul ei


se poate delimita aria de cuprindere a sistemului și se pot identifica cerințele.

10
uc Caz de utilizare

Centru de Diagnostic

Administrare Facturare
Programare serv icii

Administrator

«include» «include»
«include»

Operator

Autentificare
utilizator

Medic

«include»
«include»
«include»

Inscrie pacient
Pacient
Realizare
Vizualizare consultatie
programari

Vizitator
Vizualizare
serv icii

Figura 1.1 Diagrama generală a cazurilor de utilizare

Detalierea cazurilor de utilizare

Autentificare utilizator: Realizeaza operatia de autentificare pentru un utilizator al programului.


Actori: medic, operator, pacient, administrator aplicatie.
Flux principal de evenimente: actiunile efectuate de utilizator sunt următoarele:

 Introducere login și parola.


 Programul verifică corectitudinea informațiilor introduse.
 Dacă informațiile sunt corecte, atunci se permite accesul utilizatorului în sistem, iar cazul
de utilizare se încheie.

Flux alternativ de evenimente: dacă informațiile nu sunt corecte:

 Se afișează un mesaj de eroare și se solicită reintroducerea informațiilor pentru


autentificare.
 Utilizatorul poate reîncerca autentificarea, deci se reia cazul de utilizare cu fluxul principal
de evenimente.

11
 Utilizatorul renunță, cazul de utilizare luînd sfîrșit.

Administrare: Descrie secvențele de acțiuni prin care se adaugă/modifică/șterg informațiile


despre utilizatorii aplicației și prin care se actualizează lista de servicii oferite.
Actori: administrator sistem
Flux principal de evenimente: acțiunile executate de administrator, atunci cînd adaugă un nou
utilizator, sunt:

 Include cazul de utilizare autentificare utilizator pentru logarea utilizatorului cu drept de


administrator.
 Setează identificator și parolă pentru utilizator.
 Setează drepturile de utilizare a aplicației.
 Adaugă informații suplimentare despre utilizator.
 Salvează în baza de date.

Postconditii: informațiile despre utilizator sunt stocate în baza de date, el putîndu-se conecta la
aplicație.

Diagrama detaliata a cazului de utilizare administrare este prezentata in Figura 1.2.

uc Administrare

Administrare

Autentificare Inregistreaza
utilizator cont

Gestiune conturi

«include»
«include»

Administrare Modificare cont


Verifica
«include» existenta cont

Administrator

«include»

Actualizare
serv icii Stergere cont

Figura 1.2 Diagrama detaliata a cazului de utilizare administrare


12
Programare: Realizează operația de programare a pacientului la medic.
Actori: pacient, medic, operator.
Flux principal de evenimente: acțiunile executate de utilizator, atunci cînd adaugă o nouă
programare, sunt:

 Include cazul de utilizare autentificare utilizator pentru logarea utilizatorului cu drept de


înregistrare programare.
 Selectează medicul, data și ora la care se va face programarea.
 Vizualizează informațiile introduse și asteapta confirmarea sistemului.
 Salvează în baza de date.

Flux alternativ de evenimente: Dacă înregistrarea informațiilor s-a încheiat cu eroare, se afișează
un mesaj corespunzător și se reia cazul de utilizare.
Preconditii: Informațiile despre medicul ce va face consultația, informații ce trebuiesc introduse
în baza de date.
Postconditii: Programarea se înregistrează în baza de date.

Diagrama detaliata a cazului de utilizare programare este prezentata in Figura 1.3.

uc Programare

Programare

Autentificare
Pacient utilizator
Reprogramare

«include»
«extend»

Medic
Programare

«extend»

Anulare
programare

Operator

Figura 1.3 Diagrama detaliata a cazului de utilizare programare

13
Realizare consultatie: Descrie operația de realizare consultație.
Actori: medic.
Flux principal de evenimente: Acțiunile efectuate la realizarea unei consultații sunt:

 Include cazul de utilizare autentificare utilizator pentru logarea medicului


 Posibilitatea vizualizării istoricului pacientului prezent la consultație
 Completarea fișei pacientului cu informațiile corespunzatoare consultației
 Înregistrarea consultației în baza de date.

Preconditii: Pacientul trebuie să fie programat la consultație.


Postconditii: Consultatia se inregistreaza in baza de date.

Diagrama detaliată a cazului de utilizare realizare consultație este prezentata in Figura 1.4.

uc Realizare consultatie

Realizare consultatie

Autentificare
utilizator Inregistrare
consultatie

«include»

Medic
Realizare
consultatie Vizualizare istoric
«extend» pacient

Figura 1.4 Diagrama detaliata a cazului de utilizare realizare consultatie

14
Vizualizare programări: Oferă posibilitatea utilizatorului de a vizualiza programările dintr-o
anumită zi.
Actori: medic.
Flux principal de evenimente:

 Include cazul de utilizare autentificare utilizator pentru logarea medicului.


 Se selectează ziua dorită pentru a vizuliza programările.
 Se pot vizualiza informații despre pacienții programați în ziua respectivă.

Preconditii: Informațiile ce privesc programările ce trebuiesc introduse în baza de date.

Diagrama detaliată a cazului de utilizare vizualizare programări este prezentata in Figura 1.5.

uc Vizualizare programari

Vizualizare programari

Autentificare
utilizator

«include»

Medic

Vizualizare Vizualizare
programari «extend» informatii pacient

Figura 1.5 Diagrama detaliata a cazului de utilizare vizualizare programări

15
Vizualizare servicii: Permite utilizatorilor să vizualizeze serviciile oferite de centrul medical de
diagnostic.
Actori: pacient, vizitator.
Flux principal de evenimente:

 Selectează tipul de servicii dorite (consultații sau analize).


 Vizualizează informațiile dorite.

Preconditii: Informațiile ce privesc serviciile ce trebuiesc introduse in baza de date.

Înscrie pacient: Realizează înscrierea unui pacient în baza de date. Operația nu este permisă
unui utilizator neînregistrat, pentru a nu se înregistra pacienți fictivi.
Actori: operator.
Flux principal de evenimente:

 Include cazul de utilizare autentificare utilizator pentru logarea operatorului.


 Se preiau datele pacientului ce se va înregistra.
 Se înregistrează în baza de date.

Postconditii: Pacientul a fost înscris în baza de date.

Diagrama detaliată a cazului de utilizare înscriere pacient este prezentată in Figura 1.6.

uc Inscriere pacient

Inscriere pacient

Autentificare
utilizator

«include»
Operator

Inscrie pacient

Figura 1.6 Diagrama detaliată a cazului de utilizare înscriere pacient


16
Facturare: Realizează facturarea serviciilor.
Actori: operator.
Flux principal de evenimente:

 Include cazul de utilizare autentificare utilizator pentru logarea operatorului.


 Fiecare serviciu dorit este introdus în factură.
 Factura este înregistrată în baza de date.

Flux alternativ: dacă înregistrarea informațiilor s-a încheiat cu eroare, atunci se generează un
mesaj și se propune reintroducerea acestora.
Preconditii: exista o comandă deschisă.
Postconditii: s-a realizat înregistrarea în gestiunea firmei.

Diagrama detaliată a cazului de utilizare facturare servicii este prezentată in Figura 1.7.

uc Facturare

Facturare

Autentificare
utilizator

«include»

Facturare Introduce Inregistreaza


serv icii serv icii factura

Operator

Figura 1.7 Diagrama detaliată a cazului de utilizare facturare servicii

17
Diagrama detaliată a cazurilor de utilizare este prezentata in Figura 1.8.

uc Caz de utilizare schema generala

Centru de Diagnostic

Actualizare Creare cont


serv icii
«include» Verificare
existentei
Gestiune conturi Modificare cont «include» contului

Administrare «include»

Stergere cont

«include» Operator

Autentificare
utilizator

Administrator

«include»

Vizualizare «include» «include»


programari
Facturare
Programare serv icii

«extend» «include»
«extend»
Medic «include»
Anulare Introduce
Vizualizare «extend» programari serv icii
informatii
pacient

Reprogramare

Inscrie pacient Inregistreaza


factura

Realizare
consultatie

«extend»

Inregistrare
Vizualizare
consultatie
istoric pacient

Vizualizare Vizitator
serv icii
Pacient

Figura 1.8 Diagrama detaliata a cazurilor de utilizare

18
II.II DIAGRAMA DE SECVENȚĂ

Diagramele de secvență descriu cronologic interacțiunea obiectelor, identificînd mesajele


schimbate între obiecte ca răspuns la un eveniment, împreună cu secvența mesajelor. Cu ajutorul
diagramelor de secvență se realizează o prima vizualizare a intercomunicării claselor. Scopul este
întelegerea ordinii evenimentelor. Pe masură ce ordonarea devine stabilă, un eveniment devine o
operație specifică pe care o inițializează obiectul receptor.

Diagrama de secventă pentru programarea pacientului la medic este reprezentata în Figura 2.1.

sd Diagrama de secv ente

Cont Medic Programare

Pacient

Logare (login,parola)

valideaza()
return (ok)

SolicitaMedic (cod_medic) SolicitaListaProgramari (cod_medic)

return (lista_date_libere) return (lista_programari)

InregistreazaProgramare (cod_medic,cod_pacient,data)

return(ok)

Figura 2.1 Diagrama de secvență pentru programare

Pașii parcurși de un pacient pentru a obține o programare la un medic sunt descriși în


continuare.

Pacientul se autentifică introducînd un login și o parolă. Sistemul validează datele introduse


urmînd ca pacientul să primească confirmarea de logare dacă datele au fost corecte. În continuare,
pacientul își alege medicul dorit dintr-o anumită specializare și vizualizînd programul acestuia

19
optează pentru o dată și o oră disponibile și convenabile pentru el. Alegerea făcuta este înregistrată
în baza de date.

Diagrama de secvență pentru consultație este reprezentată în Figura 2.2.

sd Diagrama de secv ente consultatie

Cont Programare Pacient Consultatie

Pacient

logare (login,parola)

valideaza()
return (ok)

VerificaPacient (cod_pacient)

return (ok)

VerificaProgramarea
(cod_medic,cod_pacient,data)

return (ok)

InregistreazaConsultatie (observatii)

return (ok)

Figura 2.2 Diagrama de secventa pentru consultatie

Pașii parcurși de un medic pentru a înregistra o consultație sunt descriși în continuare.

Medicul se autentifica introducînd un login și o parolă. Sistemul validează datele introduse urmînd
ca medicul să primească confirmarea de logare dacă datele au fost corecte. În continuare, medicul
verifică dacă pacientul este în baza de date și dacă există programarea și dacă este achitată.
Consultația facută este înregistrată în baza de date.

20
II.III DIAGRAMA DE COLABORARE

O interacțiune interesantă se produce între diagramele de secvență și diagramele de


colaborare, ambele diagrame furnizînd puncte de vedere diferite ale aceleiași informații.

Diagrama de colaborare permite focalizarea asupra unei anumite clase și ajută la rafinarea
diagramei claselor, adaugînd atribute și operații.

Diagramele de colaborare pentru programare și consultație sunt reprezentate în Figurile


2.3, respectiv 2.4. și arată legătura tuturor operațiunilor unei anumite clase. Pentru fiecare operație
este arătat obiectul țintă și orice alt obiect pe care îl solicită pentru a implementa operația.

sd Diagrama de colaborare_programare

2: valideaza()

Cont

1: Logare (login,parola)

3: return(ok)

9: return(ok)
Pacient

8: InregistreazaProgramare(cod_medic,cod_pacient,data)

Programare

4: SolicitaMedic(cod_medic)
7: return(lista_date_libere)

5: SolicitaListaProgramari(cod_medic)

6: return(lista_programari)

Medic

Figura 2.3 Diagrama de colaborare pentru programare

21
sd Diagrama de colaborare_consultatie

2: valideaza()

Cont

1: logare(login,parola)

3: return(ok) Programare
6: VerificaProgramare(cod_medic,cod_pacient,data)

7: return(ok)

Medic 9: return(ok)

8: InregistreazaConsultatie(observatii)
Consultatie
5: return(ok)
4: VerificaPacient(cod_pacient)

Pacient

Figura 2.4 Diagrama de colaborare pentru consultație

După cum se poate vedea din Figurile 2.3 si 2.4 prezentate anterior, diagrama de
colaborare, prin faptul că filtreaza timpul sau examinarea secvențiala a scenariului pentru a studia
asocierile statice și comportamentele dinamice ale obiectelor implicate în interacțiune, ajută la
clarificarea contextului.

In Anexa 1 sunt prezentate diagramele de secvență și colaborare pentru facturare.

22
II.IV DIAGRAMA DE CLASE

Cea mai importantă diagramă în cadrul analizei și proiectării orientate obiect este
diagrama claselor, al carei scop este de a structura natura statica a claselor .

Diagrama claselor este reprezentata în Figura 2.5. și conține clasele și asocierile dintre
clase.

class Diagrama de clase

Consultatie
+apartine +apartine Cont

+apartine 0..* +apartine


0..* 1
1

+realizeaza 1 +are +are +are 0..1


0..1 1
Medic
Pacient
+face
+are
+are 0..* 1 1
+apartine
+apartine
Programare 0..*
+apartine 1
0..*

Specializare

+are 1

+apartine 1..*

Serv iciuSpecializare

+are 1

+apartine 1
+are Factura
Serv iciu +apartine
+apartine
+are 1
+apartine 1
RandFactura
1 0..* 1..*

+are 1

Analiza
+apartine

1..* +are

1 CategorieAnaliza

Figura 2.5 Diagrama claselor

23
Un cont apartine unui singur pacient sau medic.

Un medic sau pacient are niciunul sau un cont.

Un pacient face niciuna sau mai multe programari.

O programare apartine unui singur pacient.

O consultatie apartine unui singur pacient.

Un pacient are niciuna sau mai multe consultatii.

O programare apartine unui singur medic.

Un medic are niciuna sau mai multe programari.

Un medic realizeaza niciuna sau mai multe consultatii.

O consultatie apartine unui singur medic.

Un medic are o singura specializare.

O specializare apartine niciunuia sau mai multor medici.

O specializare are unul sau mai multe servicii specializare.

Un servicii specializare apartine unei singure specializari.

Un servicii specializare are un singur serviciu.

Un serviciu apartine unui singur serviciu specializare.

O analiza are un singur serviciu.

Un serviciu apartine unei singure analize.

O analiza apartine unei singure categorii de analize.

O categorie de analize are una sau mai multe analize.

O factura are unul sau mai multe randuri factura.

Un rand factura apartine unei singure facturi.

24
Un rand factura are un singur serviciu.

Un serviciu apartine unuia sau mai multor randuri factura.

Diagrama de clase detaliată rezultă prin rafinarea diagramei de clase din etapa de analiză,
implementîndu-se anumite detalii precum specificarea tipurilor atributelor. Această diagrama este
prezentată în Figura 2.6.

class Diagrama de clase

Consultatie
Cont
- Cod: int
- Cod: int
- Medic: Medic
- CNP: string
- Pacient: Pacient
- Rol: string
- Data: date
+apartine - Login: string
- Observatii: string +apartine - Parola: string
+apartine +apartine
+ Creaza() 0..*
1 + Creaza()
+ Modifica() 1
0..* + Modifica()
+ Sterge()
+ Sterge()
+realizeaza +are Pacient
Medic
1 0..1 - Cod: int
- Cod: int Programare - Cont: Cont
- Nume: string
- Cont: Cont
+are - Cod: int +are - Prenume: string
- Specializare: Specializare
- Medic: Medic
- Nume: string 0..1 1 - DataNasterii: date
- Pacient: Pacient +apartine +face - Sex: char
- Titulatura: string
- Data: date 1 - Inaltime: int
- DataNasterii: date +apartine 0..*
- Achitata: boolean - Greutate: int
- DurataConsultatiei: int +are
- Telefon: int
1 0..* RandFactura
+ Creaza() - Email: string
+ Creaza()
+ Modifica()
+ Modifica() - CodFactura: int
+ Sterge() + Creaza()
+ Sterge() - Pozitie: int
- Sectia: string + Modifica()
+are 0..* - Serviciu: Serviciu + Sterge()
Serv iciuSpecializare - Cantitate: int
- Pret: int +apartine
+apartine 1 - Cod: int
- Specializare: Specializare
+ Creaza()
Specializare - Serviciu: Serviciu 1..*
+apartine + Modifica()
+are Factura
+ Sterge()
- Cod: int +are 1..* + Creaza()
- Denumire: string - Cod: int
+ Modifica() +are 0..* 1
- Descriere: string 1 - Descriere: string
+ Sterge()
- Data: date
+ Creaza() +are 1 - Moneda: string
+ Modifica() +apartine 1 - Rinduri: RindFactura
+ Sterge() +apartine - Total: int
Serv iciu
1 + Creaza()
- Cod: int + Modifica()
- Denumire: string + Sterge()
Analiza +apartine - Moneda: string
- Cod: int - Pret: int
+are 1
- Categorie: CategorieAnaliza
- Serviciu: Serviciu + Creaza()
1
+ Modifica() CategorieAnaliza
+apartine + Sterge()
+ Creaza()
+ Modifica() +are - Cod: int
1..* - Denumire: string
+ Sterge()
1
+ Creaza()
+ Modifica()
+ Sterge()

Figura 2.6 Diagrama de clase detaliată

25
Toate clasele prezentate în diagrama detaliată a claselor permit următoarele operații:

- Creare
- Modificare
- Ștergere.

Se prezintă în continuare modul de realizare a acestor operații pentru principalele clase.

Clasa Medic

Pentru fiecare medic din cadrul centrului medical se memoreaza date despre nume, data
nașterii, specializare, titulatura, durata consultației, precum și contul alocat pentru logare. În
momentul schimbării unora dintre aceste date, ele se pot modifica. De asemenea datele despre un
medic pot fi șterse.

Clasa Pacient

Pentru pacienții centrului medical se memorează date despre nume, data nașterii, sex,
înălțime, greutate, telefon, email, precum și contul alocat pentru logare. În momentul schimbării
unora dintre aceste date, ele se pot modifica. De asemenea datele despre un pacient pot fi șterse.

Clasa Programare

Cînd un pacient se programează la medic, se memorează date despre pacient, medic, data
și ora planificată, urmînd ca în momentul achitării acestei programări să aiba loc actualizarea
acestei informații. De asemenea pacientul are posibilitatea să modifice data și ora programării sau
chiar să le anuleze.

Clasa Factura și clasa RandFactura

Cînd un pacient plătește servicile solicitate, se emite o factură cu unul sau mai multe rînduri
prin care se înregistrează date despre serviciile respective, moneda de achitare, după care se
calculează totalul de achitat. Factura suportă modificări sau poate fi anulată.

26
II.V DIAGRAMA DE STARE

Conform UML, o stare este o condiție sau o situație din momentul existenței unui obiect
care satisface în acel moment anumite condiții, efectuează anumite activități sau asteaptă anumite
evenimente. Diagramele de stare identifică evenimentele care fac tranziția unui obiect dintr-o
stare în alta.

Diagrama de stare pentru obiectul programare este reprezentată în Figura 2.7, iar pentru
obiectul factura in Figura 2.8.

stm Diagrama de stare_programare

Intrare

Inregistrare programare

Programare noua

Reprogramare

Programare
inregistrata

Anulare programare
Achitare programare

Programare achitata Programare anulata

Iesire Iesire

Figura 2.7 Diagrama de stare pentru programare

Pacientul se va autentifica în aplicație și își va face o programare alegînd specializarea,


medicul, data și ora dorite în functie de disponibilitățile medicului. Programarea va fi înregistrată

27
în baza de date. Dacă pacientul se răzgîndește, se poate reprograma sau poate anula programarea
făcută. Dacă pacientul a achitat programarea, aceasta se actualizează în baza de date ca fiind
plătită.

stm Diagrama de stare_factura

Intrare

Factura noua

Completare rinduri factura

Factura completata

Achitare factura Neachitare factura

Factura platita Factura neplatita

Iesire Iesire

Figura 2.8 Diagrama de stare pentru factura

Pentru a emite o factură nouă, operatorul trebuie să se autentifice în aplicație. În continuare


va completa factura adaugînd rîndurile necesare conform serviciilor prestate. Dacă pacientul
achită factura, aceasta devine pentru aplicație "plătita", în caz contrar devenind "neplătită". Starea
facturii va fi înregistrată în baza de date.

28
II.VI DIAGRAMA DE ACTIVITATE

Pentru o mai bună întelegere a operațiilor, în special a celor complexe, se realizează diagrama de
activitate. Aceasta se prezintă sub forma unei scheme logice, care arată fluxurile de control dintre
activități, și este folosită pentru a modela aspectele dinamice ale sistemului, modelarea unui
proces efectuîndu-se pas cu pas.

Diagrama de activitate pentru programare este reprezentata in Figura 2.9.

act Diagrama de activ itate_programare

Solicita programul
Pacient

Introduce login Alege ora


si parola unui medic dintr-o zi
programare

NU
Aplicatie server

Sunt ore libere?


DA NU DA Afiseaza lista Inregistreaza
Afiseaza pagina Valideaza Valid? Afisare pagina de
start cu orele libere programare
de logare utilizator
ManagementProgramare

Construieste lista
cu orele libere

Figura 2.9 Diagrama de activitate pentru programare

În momentul în care un pacient vrea să facă o programare la un medic, aplicația va afișa


pagina de logare. Pacientul va introduce login și parola, urmînd ca acestea să fie validate de
sistem. În cazul în care datele introduse nu sunt valide, utilizatorul va fi redirecționat către pagina
de logare. Dacă datele sunt valide, se va afișa pagina de start pentru programări. Pacientul va alege
un medic cu o anumită specializare și va solicita programul acestuia cu orele libere dintr-o anumită
zi. În continuare se construiește lista cu orele libere ale medicului ales, se afișează și se solicită
pacientului să-și aleagă ora convenabilă. Programarea va fi înregistrată în baza de date.

29
II.VII DIAGRAMA DE COMPONENTE

Diagrama componenelor este un graf de componente între care există relații de dependență
sau de compunere. Se adună informații din diagrama claselor și se crează componente.

Aceasta diagramă este prezentata in Figura 3.1.

cmp Diagrama de componente

Baza de date
Interfata cu
utilizatorul

Business Logic Acces baza de date

Testare

Fig. 3.1 Diagrama de componente

Diagrama componentelor modelează dependența componentei software în functie de


codul sursa, codul binar și componentele executabile.

30
II.VIII DIAGRAMA DE PACHETE

Un pachet este un mecanism destinat unor scopuri generale, care organizează elementele
în grupuri. Un pachet arată doar structurile pe care le conține și nu arată comportamentul
pachetelor sale.

În cadrul acestei aplicații se lucreaza pe o arhitectură cu 3 nivele, prezentata în Figura 3.2.

pkg Diagrama de pachete

User Serv ices Business Serv ices

Data Serv ices

Figura 3.2 Diagrama de pachete

Menționăm că în cadrul pachetului Business Services se află situată diagrama claselor, iar
în cadrul pachetului Data Services se află schema bazei de date.

31
II.IX DIAGRAMA DE DESFĂȘURARE

Prin intermediul diagramei de desfășurare componentele sunt plasate pe echipamente hardware.


Acest tip de diagramă, prezentată în Figura 3.3, detaliază locul de amplasare a componentelor în cadrul
infrastructurii sistemului.

deployment Diagrama de desfasurare

Serv er DB

Utilizator1

tcp/ip
tcp/ip

Serv er Aplicatie

Utilizator2 tcp/ip

Figura 3.3. Diagrama de desfășurare

Diagrama de desfășurare reprezintă partiționarea componentelor și obiectelor active (de exemplu


baza de date) pe locatia lor fizică.

32
CONCLUZII

Domeniul medical a fost abordat în multe aplicatii, dar este necesar ca noile aplicații, sa fie cît
mai diversificate și să se apropie tot mai mult și într-un mod prietenos de cerințele acestui domeniu.

Lucrarea de fata își propune să studieze și să aducă contribuții în domeniul medical în condițiile
în care se resimte din ce în ce mai mult necesitatea unor arhitecturi cît mai flexibile care să permită
adaptarea cu ușurință la schimbările care apar permanent.

Aplicația modelată pentru Centrul medical de diagnostic, se adresează atît medicilor cît și
pacienților, fiind utilă și necesară pentru îmbunătățirea eficienței operaționale a activitații medicale din
acest centru.

Performanțele companiei depind astăzi de gradul de adaptare a sistemului IT la obiectivele


generale ale afacerii. O platformă de Business Intelligence capabilă să asigure acces rapid la date și să
furnizeze informații de sinteză și de analiză a performanțelor centrului medical constituie un atu
puternic în mediul concurențial.

Din aceste considerente, s-a pus la dispoziția clienților un sistem integrat ce include soluțiile
pregătite să raspundă nevoilor lor specifice, incluzînd și o noutate: realizarea online a programărilor la
medic cu punerea la dispoziția pacientului a orelor disponibile.

Pentru funcționarea eficientă a unui centru medical, în care atenția să fie concentrată într-adevar
asupra pacientului, nu este suficientă numai existența unor echipamente de diagnoză și monitorizare
medicala, ci este necesara o sinergie la nivelul întregii organizații.

Prin utilizarea aplicației vor rezulta importante beneficii atît pentru medicii din spital, cît și
pentru personalul administrativ, contribuind la îmbunătățirea calității asistenței pacienților și, în același
timp, la reducerea costurilor, asigurînd o calitate deosebită a actului medical.

Pentru efectuarea acestui proiect am folosit aplicația Enterprise Architect versiunea 8.0.864 în
care am elaborat toate diagramele.

33
BIBLIOGRAFIE

1. https://windowsreport.com/uml-diagram-software/#.XCYvI1UzbIU
2. https://sparxsystems.com/products/ea/history.html
3. https://noi.md/md/societate/fisa-medicala-va-putea-fi-consultata-si-de-la-distanta
4. http://trm.md/ro/social/fisa-medicala-va-putea-fi-consultata-on-line/
5. http://www.jurnal.md/ro/social/2014/11/18/fisa-medicala-a-pacientului-de-acum-in-format-
electronic/
6. https://unimedia.info/stiri/fise-medicale-electronice-si-programari-online-la-medicul-de-familie-
66913.html
7. https://www.ziarulnational.md/medicina-on-line/
8. http://sanatateinfo.md/News/Item/3134
9. https://ro.wikipedia.org/wiki/Unified_Modeling_Language
10. http://inf.ucv.ro/~mihaiug/courses/poo/slides/Curs%2005%20-%20UML.pdf
11. https://www.academia.edu/6702281/Diagrame_in_UML

34
Anexa 1

Diagrama de secventa pentru facturare

sd Diagrama de sev ente facturare

Cont Factura RindFactura

Operator

logare(login,parola)

valideaza()
return(ok)

CreazaFactura(moneda,data) AdaugaRinduri(factura)

return(factura) return(lista_rinduriFactura)

InregistreazaFactura(factura)

return(ok)

Diagrama de colaborare pentru facturare

sd Diagrama de colaborare facturare

2: valideaza()

1: logare(login,parola) Cont

3: return(ok)

Operator

7: return(factura)
4: CreazaFactura(data,moneda)

9: return(ok)
8: InregistreazaFactura(factura)

Factura 5: AdaugaRinduriFactura() RindFactura

6: return(lista_rinduriFactura)

35