Ingineria Programelor-Proiect [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

INGINERIA PROGRAMELOR

1. TEMA PROIECTULUI Se doreşte dezvoltarea unui software interactiv care să cuprindă activitatea unei farmacii. Se cere ca sistemul să poată efectua atât operaţiile de administrare a farmaciei, specifice personalului şi operaţiile: de verificare a medicamentelor cerute de clienţi, comandă medicament, cumpără medicament, prepară medicament, cât şi operaţii de evidenţă a medicamentelor Capturarea cerinţelor O farmacie pune la dispoziţia clienţilor săi medicamente oferind, de asemenea şi posibilitatea de preparare a acestora, precum şi posibilitatea de a face comandă de acasă. În cazul în care se optează pentru o comandă de acasă medicamentele necesare se aduc la domiciliu de către un curier. Clienţii pot cumpăra de la farmacie medicamente, pot cere prepararea medicamentului necesar, pot cumpăra prin telefon medicamente din farmacie, dar pot face şi comandă prin telefon.În mod periodic, farmacia achiziţionează medicamente noi, modifică lista de medicamente, medicamentele expirate sunt distruse, va furniza atenţionări asupra stocului şi măririi preţului. În farmacie pot exista mai multe copii de medicamente, dar la diferite unităţi de măsură (comprimate, tablete, fiole) şi fabricate de diferite firme. Clientii pot detine card de fidelitate card care va contine puncte in functie de cumparaturile facute din lantul de farmacii respectiv. Sistemul va permite farmacistei căutarea medicamentelor după cod, prepararea lor în farmacie, cumpărarea medicamentelor, şi permite clientului să sune la farmacist sau trimite fax, pentru a face comanda medicamentului necesar, de acasă, dacă nu se poate prezenta la farmacie sau nu are timp, comanda (medicamentului) fiind transportată de un curier la adresa cerută de client, iar acesta achită comanda la primirea acesteia sau se poate deplasa personal pentru ridicarea comenzii. Aplicatia va oferii farmacistului urmatoatele facilitati: - Administrare produse.

-

Verificare medicamente Verificare comenzi Evidenta medicamente Vinde medicamente Initializeaza comanda Trimite mail de confirmare si posibilitate de ridicare a comenzii

Clientul farmaciei va avea prin intermediu aplicatiei online urmatoarele facilitati: -

Comanda medicamente Verifica stare comanda Cere prepararea medicamentelor Verifica medicamente Cumpara medicamente Folosire puncte card de fidelitate Achita comanda / medicamente

Introducere in UML UML (Unified Modelling Language) reprezinta un limbaj vizual de modelare folositor în domeniul software, dedicat construirii sistemelor complexe si realizarii documentelor de specificaţii, facand referire in mare parte la vizualizarea, specificarea, construirea şi documentarea sistemelor de aplicaţii. Prezinta si limitări cu privire la generarea codului şi reprezinta de asemenea un mijloc bun pentru domeniul ingineriei programării. Scopul unui limbaj de modelare este analiza si proiectarea programelor. UML reprezinta limbajul universal standard pentru dezvoltatorii software de pretutindeni, si de asemenea o combinatie excelenta a celor mai bune trei limbaje de modelare anterioare orientate pe obiecte (Booch, OMT, and OOSE). Asadar limbajul UML reuneşte cele mai bune tehnici şi practici din domeniul ingineriei programării, care şi-au dovedit eficienţa în construirea sistemelor complexe, rezultatul avand o expresivitate foarte buna care ajuta la rezolvarea diverselor probleme de modelare pe care vechile limbaje nu reuseau sa le indeplineasca foarte bine. UML ar putea indeplini pe langa rolul de limbaj vizual de modelare si cel de limbaj vizual de programare, dar momentan nu dispune de întreg sprijinul semantic şi vizual pentru a înlocui limbajele de programare

Limbajul de modelare modificat (UML - The Unified Modeling Language) consta in arhitecturi de sisteme ce functioneaza pe analiza si proiectarea obiectelor cu un limbaj corespunzator pentru specificarea, vizualizarea, construirea si documentarea artefactelor sistemelor software si de asemenea pentru modelarea în întreprinderi. UML este un limbaj de modelare care ofera o exprimare grafica a structurii si comportamentului software. Pentru aceasta exprimare grafica se utilizeaza notatiile UML. UML este un limbaj de modelare vizual, orientat obiect, care descrie proprietăţile structurale şi dinamice ale unui sistem software. Prin sistem software se întelege o BD sau un modul de cod în general. Spre deosebire de modelul EAE, UML este o colecţie de tehnici de modelare, folosite pentru tratarea multor aspecte ale procesului de concepere şi dezvoltare a software-ului, de la proiectarea BD la interacţiunea modulelor de cod. Fiecare tehnică de modelare de mai sus dă o vedere diferită, statică sau dinamică, a unei aplicaţii. Colecţia de vederi se numeşte model. Iată unele din tehnicile de modelare UML: diagrame de clase, sau diagrame statice de structură, care modelează entităţile unui sistem prin clase cu atribute şi comportare. Diagramele de clasă descriu, de asemenea, asocierile dintre clase şi constrângerile asupra acestora. Apoi, alte tehnici: diagrame de obiecte, diagrame de "caz de utilizare", diagrame de stare, diagrame de secvenţe, diagrame de activitate, diagrame de colaborare. Notatiile 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. Modelarea în acest limbaj se realizeaza prin combinarea notatiilor UML în cadrul elementelor principale ale acestora denumite diagrame. În cadrul UML-ului descoperim 9 tipuri de diagrame: diagrama cazurilor de utilizare, diagrama de secventa, diagrama de colaborare, diagrama de clase (cea mai utilizata), diagrama de stari, diagrama de componente, diagrama de constructie, diagrama de obiecte, diagrama de activitati. În cele ce urmeaza vor fi prezentate notatiile UML care vor fi grupate dupa diagramele corespunzatoare fiecarei notatii în parte.

Cazuri de utilizare:

Actorii sunt : Clientul, Farmacistul,Casier,Adminstrator,Curier

Diagrama de clase:

Clasele care se formează şi se desprind în urma analizei substantivelor şi eliminarea celor care nu prezintă interes pentru sistemul considerat sunt următoarele: Casier, Farmacist, Curier, Medicament, Administrator, Client. Diagrama este considerata statica, in sensul ca este valida in orice moment din ciclul de viata al sistemului. Class diagram este un tip de diagramă utilizată pentru descrierea structurii statice, adică a entităţilor sau claselor existente întrun sistem. Acest tip de diagramă este utilizat cel mai adesea de către dezvoltatori pentru specificarea claselor dar poate fi foarte util şi pentru specificarea structurii unor sisteme sau subsistem dintr-un business real.

Descrierea diagramei de clase

Curier Responsabilități: Colaboratori:  primește și livrează comanda  Client_de _ acasă  Curier Client Responsabilități: Colaboratori:  vine la farmacie si cere  Client_de _ acasă medicamentul dorit, cumpara si plateste Administrator Responsabilități: Colaboratori:  în funcție de cerere adaugă  Administrator medicamente în stocul existent, iar în cazul ieșirii din garanție a unor medicamente, le înlătură Casier Responsabilități: Colaboratori:  înainte de a vinde un  Casier medicament, verifică medicamentul sau codul acestuia Farmacist Responsabilități: Colaboratori:  preia comanda, iar dacă un  Client_de _ acasă medicament trebuie preparat,  Farmacist atunci acesta va fi preparat de  Curier farmacist și va preda comanda curierului

Diagrama de activitati:

O diagramă de activitate prezintă fluxul secvenţelor de activitaţi şi este de obicei folosită pentru a descrie activitaţile realizate în cadrul unei operaţii, folosind dacă este cazul decizii şi condiţii. Diagrama conţine stări de acţiune (action states), şi mesaje care vor fi trimise sau recepţionate ca parte a acţiunii realizate. Diagrama de activitate este o diagrama importanta în UML care descrie aspectele dinamice ale sistemului. Poate fi considerata o diagramă de flux care reprezinta fluxul de control de la o activitate la alta. . Acest flux poate fi secvenţial, ramificat sau concurent. Diagrama de activitate se referă la toate tipurile de control al fluxului prin utilizarea diferitelor elemente. Activitatea poate fi descrisă ca o operaţiune a sistemului. Scopurile de bază ale diagramei de activitate sunt similare cu cele ale celorlalte patru diagrame. Ea surprinde comportamentul dinamic al sistemului. Celelalte patru diagrame sunt utilizate pentru a afişa fluxul de mesaje de la un obiect la altul, dar diagrama de activitate este utilizată pentru a arăta fluxul de mesaje de la o activitate la alta. Activitatea este o operaţiune specială a sistemului. Diagramele de activitate nu sunt folosite numai pentru vizualizarea dinamică a naturii unui sistem, dar acestea sunt, de asemenea, utilizate pentru a construi sistemul de executabil cu ajutorul unor tehnici de compilare si decompilare. Singurul lucru care lipseste din diagrama de activitate este mesajul. Ea nu arată nici un flux de mesaje de la o activitate la alta. Diagrama de activitate este uneori considerata ca fiind un grafic de flux, si deşi diagrama arata ca un grafic de flux dar nu este. Se prezinta diverse fluxuri cum ar fi ramificat paralel,concurente şi singure. Deci, scopul poate fi descris ca:   

Desenaţi activitatea fluxului unui sistem. Descrieţi secvenţa de la o activitate la alta. Descrie fluxul paralel, ramificat şi concomitent al sistemului.

Diagrama de activitati pentru efecutarea unei comenzi este urmatoarea:

Diagrama de secventa: Diagrama de secvență reprezintă un tip de interacțiune ce evidențiază transmiterea mesajelor în decursul timpului.

Observatii: a) Liniile punctate: linia de viata a obiectelor. Timpul perceput de obiecte. b) Sageata: directia de transmitere a mesajului.