probleme rezolvate uml

Upload: andreea-ilie

Post on 02-Jun-2018

326 views

Category:

Documents


9 download

TRANSCRIPT

  • 8/10/2019 Probleme Rezolvate UML

    1/98

  • 8/10/2019 Probleme Rezolvate UML

    2/98

    2

    naintea prezentrii studiilor de caz din aceast culegere, vom trece n revist civa dintermenii care stau la baza lor, pentru o nelegere ct mai complet. Aceti termeni suntdefinii cu sensul din domeniul informatic:

    Cuvnt DICIONAR INFORMATIC

    Sistem Sistem de gestiune a bazelor de date:Totalitatea programelor utilizate pentru crearea, interogareaintreinerea unei baze de date.

    Sistem de operare:1. Ansamblu de programe ce realizeaz gestiunea resurselor unuisistem de calcul. Sistemul de operare asigur exploatarea eficient aacestor resursei rezolv conflictele care apar ntre diferii utilizatori.2. Colecia organizat de programe, specifice tipurilor de echipamentedin componena unui sistem de calcul, care asigur : creterea eficieneiutilizrii resurselor; asistarea utilizatorilor; asistarea operatorilor;

    asistarea personalului de exploatarei a personalului de ntreinere.Subsistem Component structural principal, subordonat unui sistem.Decizie Aciune de determinare a modului de evoluie a rezolvrii unei

    probleme sau a unei activiti cu calculatorul din mai multe alternative posibile, n funcie de satisfacerea unei condiii. La nivelul unui limbajde programare, decizia este specificat prin instruciuni de controlcondiionat; n cadrul unei- organigrame, decizia se simbolizeazfolosind blocuri de decizie.

    Dat 1. Numr, mrime, relaie etc. care servete la rezolvarea unei problemesau care este obinut n urma unei cercetri, urmnd a fi supus unorcorectri.

    2. Reprezentare accesibil unui procesor, a informaiei prelucrate. Odat este caracterizat prin valorile pe care le poate avea, prin operaiile primitive de transformare, prin structura sa.

    Informaie Cunoatere n general, adic apariia unui element nou, necunoscutanterior, fie pentru om, fie pentru sistemul de calcul, asupra relaieinconjur toare; n acest scop se utilizeaz simboluri care, prin asocierealor cu realitatea, furnizeaz informaii. Sistemele de calcul prelucreaz informaii. Astfel, datele furnizate la ieire pot reprezenta o anumit informaie pentru un utilizator, respectiv pot avea semnificaii deosebite

    pentru diferii utilizatori.Procedur 1. Secven de operaii executate n scopul rezolvrii unei problemedate.

    2. Modul de program ce poate fi apelat din mai multe puncte ale unormodule de program, de obicei la nivelul unui limbaj de programare denivel nalt,executnd prelucr ri determinate asupra unor datecommunicate n momentul apelului.

  • 8/10/2019 Probleme Rezolvate UML

    3/98

    3

    Proces Evoluie n timp. Particularizrile utilizate n informatic pentru acesttermen foarte general se refer la dou aspecte principale: procesestudiate i/sau controlate cu sistemele de calculi procese care sestudiaz n sistemele de calcul. n primul caz, definirea procesului estespecific disciplinelor n care sunt studiate (fizic, chimie, tehnic) i

    este preluat ca atare n informatic. n ceea ce privete procesele carese studiaz n sistemele de calcul, o definire unanim acceptat nu a fostelaborat pn n prezent, evoluia prelucr rilor fiind caracterizat, maidefinitoriu, prin sarcini.

    Intranet Este o reea local cu arhitectura bazat pe tehnologia interneti care permite comunicarea pentru un grup nchis de utilizatori careconstruiesc o baz comun de informaii.

    Extranet Este o aplicaie special ce permite unor organizaii accesul lainformaiile furnizate pe intranet.

    Internet Un sistem mondial de reele de calculatoare interconectate, carenlesnete serviciile de comunicare a datelor, cum ar fi: deschiderea

    unei sesiuni de lucru de la distan, transferul de fiiere, potaelectronic i grupurile de discuii.Tehnologie Ansamblul proceselor, metodelor, operaiilor etc. utilizate n scopul

    obinerii unui anumit produs.Birotic Ansamblu de tehnicii mijloace care tind s automatizeze activitile

    de birou, n special aspectele legate de comunicaie prin cuvnt scrissau printr-o imagine.

    Implementa Faz a activitii sistematice de programare n scopul obinerii produsului program finit, pe baza proiectului acestuia, prin codificareai testarea modulelor programuluii integrarea lor n cadrul acestuia.Activitatea de integrare urmrete construireai testarea treptat a

    programului pe baza modulelor competente.Metodologie/metod

    (Iterativ) aplicarea repetat a unui procedeu de calcul pentru obinereasoluiei unei probleme. Fiecare repetare (iteraie) utilizeaz valorilecalculate n pasul de iteraie precedent pentru a calcula valori maiapropiate de soluia dat. Numrul de iteraii este dependent de preciziadorit. Dac procedeul iterativ este convergent pentru o precizie dat,numrul de iteraii este limitat. Valorile calculate n fiecare iteraie potfi considerate ca termeni ai unuiir, care, dac este convergent,definete o metod iterativ convergent, limita irului reprezentndsoluia calculat.

    Proiecta Proiectare logica :

    1. Sinteza unei scheme logice, care implementeaz un set de funciispecificat.2. Etap a proiectrii unui sistem informatic sau al unui produs programn care se definete modelul general, la nivel logic, independent deforma de implementare.

    Analist Specialist care ndeplinete sarcinile: analizeaz i evalueaz sistemulinformaional/informatic existent, definete mpreun cu utilizatoriicerinele informationalei construiete modelul logic al noului sistem,

  • 8/10/2019 Probleme Rezolvate UML

    4/98

  • 8/10/2019 Probleme Rezolvate UML

    5/98

    5

    se numete momentul legrii.Asociere Reprezint legturile dintre tabele (n baza de date).Operaie (Intrare-ieire) activitate care se desf oar n sistemul de intrare-ieire

    la execuia unei comenzi. Operaia de intrare-iesire desemneaz aciuniexecutate de canalul de intrare-ieire, unitatea de legtur iechipamentul periferic desemnate la iniierea programului de canal, dincare face parte comanda.

    Societateinformaional

    Se nate ntr-un mediu n care numrul celor care folosesc tehnologiiinformaionale depete o mrime critic.

    Software Ansamblul programelor ce asigur funcionarea calculatoarelor sau aunor aplicaii informatice.

    Document Formular care urmeaz a fi completat de ctre utilizator, pentruintroducerea direct a datelor folosind tehnici de recunoatere aformelor.

    Baza de Date Este un ansamblu structurat de date legate funcional ntre ele. Baza dedate este gestionat de programe numite sisteme de gestiune a bazelorde date.

    Model Descriere formal a unui sistem de ateptare prin specificarea moduluide intrare a cererilor n sistem, a structuriiirurilor de ateptare iunitii de servire precumi a disciplinelor de servire utilizate n staii.Un astfel de model nu poate descrie dect aproximativ un sistem realdatorit caracterului pur aleator al intr rii cererilor n sistemi abseneiunui aparat matematic care s descrie complet procesul de servire.

    Fluxinformaional

    Reprezint drumul parcurs de o informaie din momentul apariiei eii pn cnd, pe baza cunoaterii activitii ce a dat natere informaiei, sedeclaneaz un nou proces economic.

    Cod Codul reprezint o succesiune finit de caractere (cifrei litere) princare este caracterizat un atribut dintr-o colectie de date.

    n continuare, vor fi prezentate studiile de caz ale modelelor alese de studenii care aulucrat la aceste implementri (numele, facultateai titlul fiecrui studiu de caz).

  • 8/10/2019 Probleme Rezolvate UML

    6/98

    6

    Andronic Ionu, Soare Ana Facultatea detiina i Tehnologia Informaiei

    SOCIETATE COMERCIAL DE FABRICARE DE MOBILIER

    Societatea comercial SOLMOB S.R.L. a fost nfiinat n anul 1995i i are sediul ncomuna Pantelimon, Str.Livezilor, nr.22, iar punctul de lucru este n oraul Pantelimon,Str. Sf. Pantelimon, nr. 6.

    Principalul obiect de activitate este producia, n care sunt incluse:o Fabricare de mobilier pentru dormitoare, sufragerii, buctrii, gr dini etco Finisarea mobilierului, cum ar fi: vopsirea, lcuirea i tapiarea, cu excepia

    scaunelori banchetelor.

    n cadrul acestei societi, atunci cnd se dorete s se obin un nou produs, la nivelulseciei de producie se ntocmete aa-numita reet a produsului, un act nefiscal n caresunt menionate toate materiile prime, materialele necesare, precumi cantitile acestora.

    Aceste informaii sunt transmise n gestiunea societii care verific rezistena acelormaterii primei materiale necesare, iar pentru fiecare se va elibera un bon de consum.Astfel, se va descrca din gestiune, fiind aprobat transferul ctre secia de producie carele va recepiona.

    Secia de producie va trece la consumul materiilor primei materialelor, conform reetei.Astfel, se va obine produsul dorit care, n prealabil, a fost finisat.

    Imediat obinut produsul, secia de producie elibereaz ctre gestiune nota de predare,astfel fiind nregistrat n gestiune noul produs finit.

  • 8/10/2019 Probleme Rezolvate UML

    7/98

    7

    Diagrama cazurilor de utilizare:

  • 8/10/2019 Probleme Rezolvate UML

    8/98

    8

    Diagrama claselor:

  • 8/10/2019 Probleme Rezolvate UML

    9/98

    9

    Diagrama de secvene:

  • 8/10/2019 Probleme Rezolvate UML

    10/98

    10

    Diagrama strilor pentru clasa materii prime si materiale:

    Astfel, n diagrama claselor se vor aduga urmtoarele metode:1. n starea INSCRISE IN RETETA s-au adaugat metodele:Cantitate pt fiecaremateriei material n parte care se va trece printre operaiile clasei Reet; Adaug materiii materiale, terge materiii materialei Modific cantitatea materiilorimaterialelor, care se vor aminti printre metodele clasei Materii primei materiale.

    2. n starea ELIBERATE PE BONUL DE CONSUM se vor aduga urmtoarelemetode: Cantitatea materiilor de pe fiecare bon, Cantitatea materialelor de pe fiecare boni Preul fiecrei materiii fiecrui material de pe fiecare bon, clasei Bonconsum.

    3. n starea REGASITE IN PRODUS se vor aduga operaiile Cantitatea de materiiregsite n produsi Cantitatea materialelor regsite n produs, clasei Produsefinite.

  • 8/10/2019 Probleme Rezolvate UML

    11/98

    11

    Diagrama claselor dup realizarea diagramei de stare a clasei Materii primeimateriale:

  • 8/10/2019 Probleme Rezolvate UML

    12/98

    12

    Diagrama de colaborare:

    1. se verific existena cantitilor de materiii materiale din gestiune2. materiilei materialele sunt descrcate din gestiune(BC)3. se elibereaz BC n funcie de denumirile materiilori materialelor4. gestiunea aprob transferarea materiilori materialelor ctre secia de producie

    Astfel, n diagrama claselor se vor aduga urmtoarele atributei operaii: specific den materiii materiale la clasa Bon consum

  • 8/10/2019 Probleme Rezolvate UML

    13/98

    13

    cant de materiii materiale eliberate pe BC la clasa Materii primeimateriale, operaie care este generat de atributul care face legtura cu clasaBon consum,i anume: uBonconsum- variabila identificator

    verific existena cant materiii nreg BC n funcie de cant materiilorexistente la clasa Gestiune, precumi variabilele identificator: vcantmaterii

    pentru a se putea utiliza informaiile din clasa Materii primei materialeivBonconsum pentru a se folosi de datele din clasa Bon consum.

    Diagrama claselor dup ce s-au trecut i informaiile din diagrama decolaborare:

  • 8/10/2019 Probleme Rezolvate UML

    14/98

    14

    Diagrama de activiti:

  • 8/10/2019 Probleme Rezolvate UML

    15/98

    15

    M.C.D.

    intocmesteMateriimatRetet

    inre istreaza verifica

    Materiimat BC

    1 1

    1 1 1 n

    1 n

    1 n

  • 8/10/2019 Probleme Rezolvate UML

    16/98

    16

    M.L.D.

    Regula 1:

    Rsectia de productie=(Nrsectie, Administrator, Zone de lucru,

    Rreteta=(Nrreteta,RMateriiprimesi materiale=(Codmat, Codmateriale, Denmat, Denmateriale Um,Cantmaterii, Cantmateriale, Pret,Rgestiune=(Codgestiune,Rbonconsum=(Nrbc, Databc, Cantbc, Pretbc,Rnotapredare=(Nrnp, Datanp, Cantnp, Pretnp,Rprodusefinite=(Codprodus, Denprodus, Cantprodus, Pretprodus,

    Regula 2:

    Rsectia de productie=(Nrsectie, Administrator, Zone de lucru)

    Rreteta=(Nrreteta, Nrsectie, Codgest )RMateriiprimesi materiale=(Codmat, Codmateriale, Denmat, Denmateriale Um,Cantmaterii, Cantmateriale, Pret)Rgestiune=(Codgestiune)Rbonconsum=(Nrbc, Databc, Cantbc, Pretbc,Codgest )Rnotapredare=(Nrnp, Datanp, Cantnp, Pretnp, Nrsectie )Rprodusefinite=(Codprodus, Denprodus, Cantprodus, Pretprodus)

    Regula 3:

    Rproduseobtinute=(Nrnp, Codprod)Rmateriimat Reteta=(Nrreteta, Codmaterii,Codmateriale)RmateriimatBC= (Nrbon,Codmaterii,Codmateriale)

  • 8/10/2019 Probleme Rezolvate UML

    17/98

    17

    Epistatu Ion Facultatea detiina i Tehnologia Informaiei

    PREZENTAREA UNUI CAZ CONCRET DE ACTIVITATE COMERCIAL.FABRIC DE CONFECII TEXTILE

    n cadrul unei fabrici de confecii textile, activitatea este structurat pe compartimente.

    ncepnd cu depozitul de materiale, continund cu sala de croit, linia de fabricaie isfr ind cu depozitul de produse finite, materialele trec prin diferite stadii de execuieajungnd n final produse finite.

    n cazul prezentat clientul emite comanda ctre fabric asigurnd totodat i toatematerialele necesare executrii ei (aa numitul sistem LOHN).

    Depozitul de materiale recepioneaz materialele din care debiteaz slii de croitnecesarul de materile principale (stof , c ptuseal, furnituri).

    Sala de croit croiete materialele principale transformndu-le n repere croite pe care letransmite apoi liniei de fabricaie.

    Linia de fabricaie primete materiale auxiliare (a, nasturi, embleme) cu ajutorul croratransform prin asamblare reperele croite primite de la sala de croit, n produse finite.

    Dup ambalare, produsele finite sunt stocate n depozitul de produse finite de unde seface livrarea lor ctre client mpreun cu materialele r mase.

    Dup expedierea mrfii se emite factura ctre client.

    Activitatea sistemului informatic al societii descrise mai sus este realizat dinansamblul format de datele de intrare (iniiale i intermediare), actele normative folosite, precumi de procedeele de prelucrare a datelor.

    Date de intrare:

    Tranzacii externe : nume client,

    numr order, model, tip material, cod material, cantitate material, dat producie, dat livrare, dat recepie material,

  • 8/10/2019 Probleme Rezolvate UML

    18/98

    18

    size (mrime corporala, msura ce reflect conformaia corpului), cantitate specificat (cantitatea specificat pentru fiecare size n parte).

    Tranzactii interne : cantitate croit, cantitate livrat, cantitate (total) specificat, cantitate (total) croit, cantitate (total) livrat, valoare factur materiale, valoare factur manoper , valoare factur produs, valoare penaliti.

    Acte normative: proforma order, tabel dimensional, schi model, factur materiale recepionate, factur execuie produs finit, legislaia vamal n vigoare, contractul ncheiat de conducerea fabricii cu clientul.

    Procedee de prelucrare a datelor:

    Recepionareai transmiterea documentelor n format electronic, Editareai listarea datelor, Vizualizareai consultarea datelor.

  • 8/10/2019 Probleme Rezolvate UML

    19/98

    19

    O reprezentare succint, iniial i nestandardizat a sistemului informatic ar putea fiurmtoarea:

    Procesul se desf oar astfel:1) Societatea de confecii recepioneaz actele normative ce conin datele de intrare,2) Se face prelucrarea datelor de intrare coninute n actele normative. Sub aspectul

    prelucrare date regsim operaiile de recepie material, lansare comand, croire,

    debitare material, execuie n fabricaie, livrare, facturare, etc.Descrierea cazurilor de utilizare:

    1) Denumirea sau titlul: Procesarea unei comenzi de produse de confecii,

    2) Scop: Realizareai livrarea de produse finite,

  • 8/10/2019 Probleme Rezolvate UML

    20/98

    20

    3) Actori: Client, Depozit materiale, Sala de croit, Linia de fabricaie, Depozit

    produse finite,

    4) Punct iniial: Clientul emite comandai livreaz materialele,

    5) Punct final: Depozitul de produse finite livreaz clientului produsele finitempreuna cu materialele r mase dupa procesarea comenzii,

    6) Descriere derulare la nivelul celui mai semnificativ scenariu: Clientul emite comanda, Clientul furnizeaz materialele, Depozitul de materiale recepioneaz materialele, Depozitul de materiale emite materialele principale slii de croit, Sala de croit primete materialele principale, realizeaz repere croitei le

    debiteaz pe linia de fabricaie, Linia de fabricaie primete reperele croite de la sala de croit precumi

    materialele auxiliare de la depozitul de materiale asamblndu-le n produse finite pe care apoi le ambaleaz i le nmagazineaz n depozitulde produse finite,

    Depozitul de produse finite livreaz produsele finite clientului mpreun cu materialele r mase dup procesarea comenzii,

    Se emite factura pentru produsele livrate ctre client.

    7) Rezultat msurabil: Comanda este onorat prin livrarea produselor finite.

    Unified Modeling Language reprezint o nou metod de analiz i poiectare orientateobiect aparut ca urmare a introducerii standardizrii. U.M.L. nu reprezint o metod nsine ci este mai mult un instrument, o notaie grafic ce acoper majoritatea diagramelornecesare reprezentrii ciclului de via al unui sistem informatic.

    n continuare sunt prezentate cteva diagrame UML specifice sistemului informatictematic ales:

    1) Diagrama cazurilor de utilizare,2) Diagrama claselor,3) Diagrama de secvene,

    4) Diagrama schimbrilor de stare.

    Diagrama cazurilor de utilizare :

    n diagrama cazurilor de utilizare sunt inclui actoriii cazurile de utilizare iniiate deacetia. Cazurile de utilizare descriu interaciunile poteniale dintre actorii sistemulinformatic. Actorii sunt elemente ale sistemului care genereaz evenimente.

  • 8/10/2019 Probleme Rezolvate UML

    21/98

    21

    proiect

    Client

    Depozit_materiale

    Linie_de_fabricatie

    Sala_de_croit

    Depozit_produse_finite

    Emite comanda

    Livreaza materiale

    Receptioneaza materiale

    Returneaza materiale ramase

    Debiteaza materiale principale

    Debiteaza materiale auxiliare

    Primeste materiale principale

    Alimenteaza repere croite

    Livreaza produse finite

    Ambaleaza

    Factureaza

    Depoziteaza produse

    Primeste materiale auxiliare

    Primeste repere croite

    Rezerva capacitate productie

    n diagrama de mai sus, cazurile de utilizare se observ c pot avea ntre ele diferiterelaii:

    - relaia de extensie:

    1) Returneaza materiale r mase este o extindere a cazului Recepioneaz materiale,2) Depoziteaz produse este o extindere a cazului Ambaleaz care este la rndul suo extindere a cazului Livreaz produse finite,

    - relaia de incluziune:

    3) cazul Alimenteaz repere croite este inclus n Primete repere croite,

  • 8/10/2019 Probleme Rezolvate UML

    22/98

    22

    4) Cazul Primete materiale principale este inclus n Debiteaz materiale principalecare este inclus n Receptioneaz materiale care la rndul su este inclus n Livreaz materiale.

    Diagrama claselor:

    Diagrama claselor este reprezentarea relaional a claselor unui sistem.Clasele corespund semantic entitilor din sistemul real. Ele sunt constituite din grupuride obiecte cu atribute, operaii i relaii comune.

    Comanda

    Client

    Produse finiteProduse li vrate

    Materiale receptionate

    Repere croite

    Receptioneaza materiale()

    BarcodProdus : undefined

    TotalCantitateCroita : integer

    PrimesteMaterialePrincipale()

    NrOr der : integer

    Debiteaza

    InregistreazaBarcod()

    CantitateFinita : integer TotalCantitateFinita : integer

    AlimenteazaRepereCroite()AlimenteazaM aterialeAuxiliare()RezervaCapacitateProductie()

    Alimenteaza

    TotalCantitateSpecificata : integer

    NumeClient : char ValoareManop era : real

    AfiseazaClient()Livreaza()Factureaza()

    ValoareMat eriale : real

    Penalitati()

    * Emite

    *

    *

    Furnizeaza

    CantitateSpecificata : integer

    NrO rder : integer M odel : string

    NumeClient : char DataProductie : stringDataLivrare : string

    Size : char

    CalculeazaNecesar()ProcesareOrder()

    Livreaza

    AfiseazaMaterial()ReturneazaRest()

    TipM aterial : char CantitateM aterial : realCodM aterial : string

    ElibereazaNecesar()

    NumarSerie : integer

    Lanseaza

    *

    *

    Size : char

    TimbreazaProdus()ImperecheazaProdus()

    CantitateCroita : integer

    Planifica

    Size : char

    **

    NrOr der : integer Size : char CantitateLivrata : integer TotalCantitateLivrata : integer

    Ambaleaza()ReturneazaM ateriale()

    *

    Ambaleaza

    *

  • 8/10/2019 Probleme Rezolvate UML

    23/98

  • 8/10/2019 Probleme Rezolvate UML

    24/98

    24

    Diagrama schimbrilor de stare :

    Diagrama de stare descrie comportamentul obiectelor unei singure clase evideniinddinamica atributelori legturilor sale cu alte obiecte din sistem.

    Astfel, conform diagramei de stare de mai jos, comanda poate fi lansat numai dac suntsatisf cute simultan urmtoarele condiii: exist capacitate de producie i exist materiale recepionate.

    Comanda lansata M ateriale recept ionate

    Produse finite

    Do/ recept ioneaza materiale

    cancel[receptioneaza materiale = 0]

    Do/ rezerva capacitate productie

    start

    quit

    start[rezerva capacitate productie > 0]

    cancel[rezerva capacitate product ie = 0]

    start[ recept ioneaza materiale >0]

  • 8/10/2019 Probleme Rezolvate UML

    25/98

  • 8/10/2019 Probleme Rezolvate UML

    26/98

    26

    Activitati efectuate :- persoana fizic solicit un credit ipotecar- consultantul de credite cere documentaia- dac persoana fizic are deja cont deschis la Banca ING, se verific informaia

    existent ; daca nu, datele personale ale persoanei fizice sunt introduse n baza de

    date spre deschiderea unui cont- sistemul calculeaz posibilitatea acordrii creditului ipotecar- dup analiza datelor, creditul ipotecar este permis- persoana fizica primete ntiinareai se ncheie un contract de credit

    REZULTATUL : creditul ipotecar este acordat

    Diagrama Use Case:

    Persoana fizica Consultantul

    de credit

    Diagrama claselor :

    Clasele sunt : PersoanaFizicaCerereCrediteSituatieFinanciaraContractCredite

    Solicitacreditul

    Depunedocumentele

    Primesteinformatia

    Incheiecontractul

    Ceredocumentatia

    Calculeaza posibilitateaacordariicreditului

    Informeaza persoanafizica

  • 8/10/2019 Probleme Rezolvate UML

    27/98

  • 8/10/2019 Probleme Rezolvate UML

    28/98

    28

    Calculeaza posibilitateaacordarii creditului

    Informeaza persoanele fizice

    Incheie

    Diagrama de colaborare:

    1 : realizeaza o

    3 : se acorda 2 : se aproba

    Pentru urmrirea solicitrii i acordrii creditului se construiete urmtoarea diagram decolaborare :

    CPersoanaFizicaDenPersFizVid : Cerere

    AfiseazaPersFizCerere()

    CCerere

    NrCerereDataCerereValCerereAfiseazaValCerere()

    CCrediteCodCreditTipCreditDenCreditStergeTipCredit()AdaugaDenCredit()

    PersoanaFizica : Cerere:

    Credite:

  • 8/10/2019 Probleme Rezolvate UML

    29/98

    29

    Pentru afiarea persoanelor fizicei numrul cererii corespunztoare n clasaCPersoanaFizica, la atribute este necesar o variabil identificator Cerere.Daa n clasa CCerere am efectuat operaia AfiseazaValCerere() , ne ntoarcem nDIAGRAMA CLASELORi adugm aceast operaie.

    Diagrama de stare (pentru clasa CERERE) :

    Acceptat

    trimitere

    [SumaSitFin < ValCerere]

    AprobarePar ial

    [SumaSitFin=ValCerere]

    Pentru a putea efectua n clasaCerere operaia SeteazaStare, este necesar declarareaunui atributStare de tip String .

    Dac n diagrama de stri ncrcm datele din cerere, ne ntoarcem n diagramaclaselori trecem aceast operaie IncarcaDateCerere() .

    Analog pentru AfiseazaAprobat(), AfiseazaAprobatPartial(),AfiseazaDataAprobarii(), ListaSume() => dac n diagrama de stri am facut acesteoperaii, ne ntoarcem n diagrama claselori le adugm n clasaCCerere.

    Sosit DO:consul PersFiz

    verific PersFiz

    nregistrat DO:ncarc data PersFiz

    ncarc Cerere

    n curs de aprobareDO: CalcValCerere

    Afieaz aprobat par ial

    Aprobat DO: Lista Sume

    Afieaz dataSeteaz Stare

  • 8/10/2019 Probleme Rezolvate UML

    30/98

    30

    Diagrama de activiti:

    -se completeaza descrierea cazurilor de utilizare

    DA NU

    SE SOLICITA CREDITUL

    SE SOLICITA DOCUMENTATIA

    SE ADUCE DOCUMENTATIA

    SE INTRODUC DATELE IN SISTEM

    SE VERIFICA DATELE

    SE APROBAACORDAREACREDITULUI

    SE INTOCMESTECONTRACTUL DECREDITE

    SE REFUZA ACORDAREACREDITULUI

    NU SE REALIZEAZACONTRACTUL DECREDITE

  • 8/10/2019 Probleme Rezolvate UML

    31/98

    31

    Liscan Maria Facultatea detiine Economice

    Sistem informatic pentru urmrirea activitii ntr-o agenie imobiliar

    Descrierea activitii ageniei imobiliare

    Agenia imobiliar CASA TA SRL este o agenie nou apruta pe piaa romneasc,singurul domeniu de activitate al firmei fiind cel al tranzaciilor imobiliare.(apartamente/ultra/semi/central, casei vile, birouri, spaii comerciale, industriale,terenuri) pe baza unui contract de intermediere.

    n activitatea sa curent, agenia imobiliar ntreine relaii cu clienii si , careacioneaz asupra ofertelori cererilor .

    Sistemul informatic al ageniei imobiliare este conceputi pus la dispoziia utilizatorilor(agenilor imobiliari) pentru a transfera aceste evenimente n mulimi de mai multe

    operaii. De acum totul devine mai simplu. Aplicaia permite utilizarea aceleiai baze dedate centralizate pentru gestiunea ofertelori cererilor prezentate. Sistemul va fi generatdupa ce se va ncepe efectiv introducerea ofertelor clienilor.

    Principalele activiti ale ageniei imobiliare:

    Descrierea activitilor principale ale ageniei are n vedere stabilirea obiectivelorsistemului informatic n raport cu particularitile activitii unei agenii imobiliare,cerinele conducerii acesteiai prioritile stabilite prin legislaia imobiliar .

    Principalele servicii oferite de agenie sunt:

    intermedieri n vederea vnzrii, cumpr rii sau nchirierii de proprieti imobiliare; consultan n domeniul pieei imobiliare; evalurii imobiliare;

    Clienii care constituie piaa int a ageniei sunt clienii care au nevoie de servicii denchiriere relativ ieftinei nu solicit servicii extra, cumpr ri de apartamente, caseivile, spaii comercialei de birouri, depozit, hale de producie, terenuri intravilaneiextravilane.

    Activitatea de urmrire a ageniei

    Se refer la materializarea tranzaciilor care au loc n cadrul ageniei i asigurareacolabor rilor la nivelul gestiunilor ofertelori cererilor, al gestiunilor contractelori aleditrilor de rapoartei documentaii.

    Activitatea de gestiune a utilizatorilor

    Grupurile de utilizatori ai sistemului informatic sunt organizate dup urmtoarele criterii:- personalul ageniei;

  • 8/10/2019 Probleme Rezolvate UML

    32/98

  • 8/10/2019 Probleme Rezolvate UML

    33/98

    33

    ale ageniei respective. Programul informatic este complex, propriui nglobeaz attactivitile realizate de agent cti de administratorul de sistem. n acest fel faciliteaz folosirea programului prin controlul asupra drepturilori obligaiilor utilizatorilor.

    Diagrama cazurilor de utilizare:

    Cazul principal de utilizare:Diagrama ofer o imagine de ansamblu asupra principalelor activiti desf urate n cadrulunei instituii. Actorul a fost intitulat agent imobiliari este cel care beneficiaz i nacelai timp efectueaz toate activitile prezente n diagram. Fiecare dintre aciunilereprezentate n diagrama general a cazurilor de utilizare vor fi reluatei prezentate pe larg, punndu-se n eviden toate activitile care le compun.

    Diagrama cazului de utilizare pricipal: Actorul agent imobiliar se ocup de primirea clienilor, cutarea n baza de dateintocmirea contractelor. n aceast situaie interaciunea actorului cu sistemul const nconsultarea disponibilului de apartamente, garsoniere, terenuri prin verificarea opiunilor

    menionate de client. Astfel, actorul ofer un r spuns promt, f r a pierde timpul cu notareainformaiilori cu verificrile.

    Cazurile iniiale: acceptare/respingere, cererei documentare privind detaliile rezervrii,devin acum un singur caz.Practic, singura responsabilitate a personalului este aceea de a furniza aplicaiei datelerezervrii. Nu este necesar completarea vreunui formular ci doar cutarea datelor.Actualizarea disponibilului este automat.

  • 8/10/2019 Probleme Rezolvate UML

    34/98

    34

    Diagrame detaliate ale cazurilor de utilizare:

    Diagrama de gestiune a utilizatorilor:

  • 8/10/2019 Probleme Rezolvate UML

    35/98

    35

    Diagrama de gestiune a ofertelor si cererilor:

    Adugarea unei oferte sau a unei cereri se face cu ajutorul calculatorului, n diversesituaii putnd interveni necesitatea modificrii datelor unui contract, n caz de neplat, deexemplu, anulndu-se contractul. Nu se completeaz niciun formular de anulare a

    contractului, acest lucru f cndu-se automat: agentul (actorul) face modificarearespectiv sau anularea, iar disponibilul ageniei se actualizeaz automat.

  • 8/10/2019 Probleme Rezolvate UML

    36/98

    36

    Diagrama claselor :

    Diagrama de secvene:

    Diagramele de secven dezvolt n mod natural scenariile cazurilor de utilizare. Acesteatransform evenimentele identificate n scenariile cazurilor de utiliare, ntr-o reprezentaregrafic a utilizrilor sistemului de ctre un actor. Fiecare eveniment are ca rezultat unmesaj trimis unui obiect cu perspectiva c acel obiect va realiza o operaie.

    Diagrama de secven descrie cronologic interaciunea obiectelor, identificnd mesajeleschimbate ntre obiecte ca r spuns la un eveniment, precumi secvena mesajelor. Este ovizualizare a intercomunicrii claselor pentru un anumit scenariu al cazurilor de utilizare.

  • 8/10/2019 Probleme Rezolvate UML

    37/98

    37

    a ) Diagrama de secven pentru Logare:

    b ) Diagrama de secven pentru Stabilire disponibil:

  • 8/10/2019 Probleme Rezolvate UML

    38/98

    38

    c ) Diagrama de secven pentru ncheiere contract:

  • 8/10/2019 Probleme Rezolvate UML

    39/98

    39

    d ) Diagrama de secven pentru nregistrare client:

  • 8/10/2019 Probleme Rezolvate UML

    40/98

    40

    e ) Diagrama de secven pentru Emitere factur:

    Diagrama de stare:

    Diagramele de stare realizate identific evenimentele care fac tranziia unui obiect dintr-ostare n alta. Aceste diagrame descriu toate operaiile i atributele unei clase n timpulunui eveniment. Diagrama identific stimulii care declaneaz aciunea. Ea includenumele strii oricrei variabile n timp ce obiectul este n funciune, precumievenimentul care declaneaz tranziia la o nou stare.

  • 8/10/2019 Probleme Rezolvate UML

    41/98

  • 8/10/2019 Probleme Rezolvate UML

    42/98

    42

    Cerereaclientului

    Verificarecerere client

    ? Nu sunt ndeplinitecerinele

    Serespingeclientul

    Sunt ndeplinitecerinele

    Completare

    formular

    Completarecontract

    ?Nu se fac

    modificri

    Aparmodificri

    Completare,modificare,

    tergerecontract

  • 8/10/2019 Probleme Rezolvate UML

    43/98

  • 8/10/2019 Probleme Rezolvate UML

    44/98

  • 8/10/2019 Probleme Rezolvate UML

    45/98

    45

    MODELUL ORGANIZATIONAL DE PRELUCRARE AL SISTEMULUIINFORMATIC PRIVIND ACTIVITATEA UNEI AGENII IMOBILIARE

    Agenti : Imobil : Client : Contract :

    NU DA

    ExistaClientul ?

    NU DA

    Refuz

    Consultare

    ? Verificareclient

    ?

    Adaugaclient

    Adaugacontract

    Modificacontract

    Stergerecontract

  • 8/10/2019 Probleme Rezolvate UML

    46/98

    46

    Livezeanu Colda Miruna Facultatea detiina i Tehnologia Informaiei

    APLICAIE PENTRU GESTIUNEA STUDENILOR, CURSURILORI AFACULTILOR UNEI UNIVERSITI

    n cele ce urmeaz vom prezenta o aplicaie simpl ce realizeaz gestiunea datelorreferitoare la studeni, faculti i cursuri ale unei univeriti.

    Aplicaia are n componen o baz de date unde sunt pstrate toate informaiilereferitoare la studei, faculti i cursuri.Baza de date este realizat n microsoft Access 2003i are n componen urmtoareletabele:

    - Cursuri pstreaz informaiile referitoare la cursuri: id-ul cursului, numele cursuluii numrul de credite aferent acestuia.

    - Promovai pstreaz informaiile despre situaia scolar a studentilor,i anume dacasunt sau nu promovai, n tabel este reinut numru matricol al studentuluii string-ulda sau respectiv nu n cmpul promovat dac studentul este au nu promovat.

    - Studeni pstreaz informaiile referitoare la studeni: numrul matricol, numelei prenumele, numrul de credite precumi grupa din care face parte studentul, anuldeducndu-se din prima cifra sa numrului grupei.

    - Studeni_Cursuri este tabelul care face legatura dintre studeni i cursurile alese sifrecventate de acetia. O nregistrare a tabelului va conine urmtoarele informaii:numarul matricol al studentului, id-ul cursului, precumi nota obinut de student la

    cursul respectiv. n cazul n care studentul nu are nota nc stabilita la cursul respectivcmpul nota va avea valoarea nulli va putea fi completat ulterior. Fiecare student areun numr de inregistrari in tabelul Studeni_Cursuri egal cu numrul de cursuri pe care lefrecventeaz.

    - Facultate reine informaiile referitoare la facultile universitii, i anume: id-ulfaculii si numele acesteia.

    - Studeni_Faculti pstrez informaiile referitoare la repartiia studentilor nfaculti, i anume numrul matricol al studentuluii id-ul facultii pe care acesta ofrecventeaz. Datorit faptului ca acest tabel are cheia primar compus din ambele

    cmpuri,i anume: nr_matricoli id_facultate un student poate fi nscris la mai multefaculti.

  • 8/10/2019 Probleme Rezolvate UML

    47/98

    47

    Figura (1) arata relaiile dintre tabelele bazei de date. Campurile subliniate reprezint cheile primare ale tabelelor respective

    Fig.1

    Aplicaia mai are n componen i o interfa grafic realizat n limbajul Java cuajutorul mediului de programare NetBeans 5.5i utiliznd jdk1.6.0.

    Interfaa grafic este cea care realizeaz comunicarea uoar ntre utilizatori baza dedate permitndu-i acestuia din urm sa realizeze interogrile dorite intr-un mod extrem desimplu, prin apasarea unui singur buton.

    Aplicaia are o pagin prinicipal pe care se gsete meniul de unde utilizatorul poateselecta una aciunea dorita. Utilizatorul poate ntreprinde urmtoarele aciuni:

    - Adugare cursuri - aceast opiune permite utilizatorului sa adauge n baza de datecursurile nou aparute, utilizatorul nu trebuie decat sa completeze informaiile aferente pefromularul din pagin.

    - Adugare facultate - aceast opiune permite utilizatorului sa adauge n baza de dateuna sau mai multe facultti nou nfiinate.

    - Adugare promovai - aceasta opiune realizeaz adugarea studenilor i a situaieicolare a acestora n tabelul Promovai. Acest lucru se realizeaz foarte uor, utilizatorultrebuie sa introduc doar numrul matricol al studentului toate calculele n privinanumrului de creditei a situaie colare fiind efectuate de ctre aplicaie.

    - Adugare studeni - este opiunea care permite introducerea studenilor nounmatriculai n baza de date.

    - Adugare studeni - cursuri : adauga, n baza de date, informaiile referitoare lacursurile frecventate de fiecare student n parte.

  • 8/10/2019 Probleme Rezolvate UML

    48/98

    48

    - Adugare studeni - facultate : adauga, n baza de date, informaiile legate defacultatea sau facultile, dup caz, la care este nscris fiecare student n parte.

    Pentru realizarea acestei aplicaii am folosit diagramele UML care permit studiereamodului de lucru al aplicaiei din mai multe puncte de vedere. Am utiliyat trei tipuri de

    diagram UML,i anume urmtoareDiagrama Use Case:

    Diagrama USE CASE sau diagrama cazurilor de utilizare mi-a permis sa identific actoriicare intervin n sistem precum si aciunile pe care acestia le efectueaz sau sunt efectuateasupra lor.

    Astfel am identificat trei actori:- Student: n cazul studentului apar urmtoarele cazuri de utilizare:

    - Este nscris la o facultate- Are cursuri

    - Primete note- Facultate: apar cazurile de utilizare urmtoare:- Are studeni nscrii- Are cursuri

    - Curs: cu un singur caz de utilizare:-Are numr de credite.

    n figura (2) este prezentat diagrama USECASE.

    Fig.2

  • 8/10/2019 Probleme Rezolvate UML

    49/98

    49

    Diagrama Claselor:

    Diagrama CLASELOR, care este singura dintre diagramele UML care esteimplementabil.Aceasta diagram mi-a pemis sa identific clasele pe care urma s leimplementez n sistem, cmpurilei metodele acestora.

    n cadrul acestei aplicaii apare un fapt ciudat, clasa Studeni_Facultti nu are nicicmpuri i nici metode proprii, aceste lucru datorndu-se faptului ca aplicaia este oaplicaie cu baza de date iar clasa respectiv nu face dect sa-ne permit s facemlegatura ntre clasele Studeni i Faculti.

    n figura (3) prezentm diagrama de clase a aplicaiei.

    Fig.3

    Diagrama de Secvene:

    Ultima diagrama UML pe care am folosit-o la realizarea proiectului este Diagrama deSECVENE care ilustreaz interaciunile dintre obiecte din punct de vedere temporal.Este ntocmit pentru scenarii ale unui caz de utilizarei arat obiectelei interaciunile

    dintre ele de-a lungul unui scenariu.n diagrama de secvene apar doar obiectele ale cror clase sunt reprezentate n diagramaclaselor i ntre care au fost definite relaii. Mesajele corespund operaiilor prin careobiectele comunic. Reprezint apeluri ale operaiilor descrise la niveul claselor. Pentrufiecare mesaj, n clasa obiectului destinatar, trebuie sa existe o operaie corespunztoare,reacia obiectului la mesajul primit.

  • 8/10/2019 Probleme Rezolvate UML

    50/98

    50

    Aceast diagram ne-a ajutat sa punem n eviden mesajele dintre obiecte.

    n figura (4) prezentm diagrama de SECVENE a aplicaiei:

    Fig.4

  • 8/10/2019 Probleme Rezolvate UML

    51/98

    51

    Lupoaie Andra-Elena Facultatea detiina i Tehnologia Informaiei

    Visual Paradigm for UML1 - MODEL DE FUNC IONARE A LIFTULUI

    Visual Paradigm for UML este o

    unealt vizual UML CASE care estede mare ajutor n construireaaplicaiilor ntr-un mod mult mai rapid,mai bun i mai ieftin. Cu ajutorulacestui instrument se pot construi toatemodelele de diagrame de modelareoferindu-sei facilitatea de generare decod n diferite limbaje de programare.n special n cursul fazelor de analiz i dezvoltare a procesului, Visual

    Paradigm for UML v va ajuta s obinei un produs de calitate superioar .

    Pentru a ar ta funcionalitatea acestui instrument, am avut n vedere un model cunoscutde toat lumea, i anumeFUNC IONAREA LIFTULUI. n continuare voi prezentaenunul acestui modeli paii ce trebuie urmai pentru construirea diagramelor n VisualParadigm for UML.Enun: Model de funcionare a liftului: -Pasagerul apas butonul de la un etaj;-Sistemul liftului detecteaz butonul apsat, precumi etajul de la care a fost apelat-Uile se deschid-Pasageru intr i apas butonul etajului dorit-Uile se nchid-Liftul se mut la etajulcerut-Uile se deschid-Pasagerul iese-Uile se nchid

    1 www.visual-paradigm.com

  • 8/10/2019 Probleme Rezolvate UML

    52/98

    52

    Pentru acest model, voi construi n Visual Paradigmase diagrame UML. Pentru a

    construi o nou diagram se alege din meniul File -> New Diagram -> UML Diagrams .

    Diagrama Use Case:De regul, diagrama Use Case se compune prima. Aceasta descrie relaiile idependinele dintre diferite grupuri de cazuri de utilizarei actori participani la proces.

  • 8/10/2019 Probleme Rezolvate UML

    53/98

  • 8/10/2019 Probleme Rezolvate UML

    54/98

    54

    Diagramele State arat diferite stri ale obiectului, pe parcursul existenei lui, precumicauzele schimbrii strilor. Diagramele State prezint obiectele ca automate finite care pot fi ntr-una din cteva stri finite. Strile pot fi schimbate de un numr finit de cauze.Aceast diagram a fost construit pentru clasalift. Se observ c toate aciunile dinaceast diagram apar n diagram class ca operaii. De fapt, motivul pentru care a fost

    construit aceast diagram, ca toate diagramele prezentate n continuare, estecompletarea diagrameiclass.

    Diagrama Sequence:Diagrama Sequence arat comunicarea dintre diferite obiecte (apelurile diferitelormetode) unde factorul timp joac rolul principal. Diagrame Sequence indic ordineaapariiei i durata comunicrii ntre obiecte.n timpul construirii diagramei de secvene s-a observat necesitatea crerii unei noi clase,numit Pasager, care va fi adugat n diagramaclass.

  • 8/10/2019 Probleme Rezolvate UML

    55/98

    55

    Astfel, n urma modificrilor aduse, diagrama class va ar ta astfel:

    Diagrama Activity: Diagramele Activity descriu ordinea aciunilor sistemului cu ajutorul diferitelor Activity.Aceasta este o form special a diagramei State, ns conine n principal aciuni.Diagramele Activity sunt asemntoare cu diagramele procedurale de Flux, cu deosebireac toate aciunile sunt legate de un obiect.Aceast diagram a fost cel mai mult utilizat la scrierea codului n Java, programulurmnd exact ordinea aciunilor din programul principal:public static voidmain(String[] args).

  • 8/10/2019 Probleme Rezolvate UML

    56/98

    56

    Diagrama Collaboration:

    Diagramele Collaboration arat interaciunea dintre obiecte ntr-o situaie concret. Spredeosebire de diagramele Sequence care pun accent pe interaciunea exprimat n timp,

    diagramele Collaboration arat legturile logice ntre obiecte.A se observa c aciunile din aceast diagram completeaz la randul lor operaiile dindiagramaclass.

    Creare cod surs:Dup ce modelul este creat, este interesant de vzut cum poate fi creat codul surs almodelului. Diagramele ajut mai mult la nelegerea structurii modelului dect la creareacodului surs. Totui, Visual Paradigm for UML v ajut s exportai clasele create nunul din limbajele C++, Java sau PHP. Visual Paradigm creaz mostrele de clase care v permit s scriei clasele implementnd funcionalitile dorite. Pentru asta, ducei cursorul

    la Tools -> Instant Generatori de aici alegei limbajul dorit.

  • 8/10/2019 Probleme Rezolvate UML

    57/98

    57

    O s apar urmtoarea fereastr n care va trebui s completa i cerin ele i pe urm ve iavea clasele gata generate.

  • 8/10/2019 Probleme Rezolvate UML

    58/98

    58

    S deschidem unul din fiierele generatei s vedem cum arat por iunea de codgenerat, care bineneles trebuie completat de programator.CLASA C_BUTON:

  • 8/10/2019 Probleme Rezolvate UML

    59/98

    59

    Pentru acest model am implementati programul n Java. Prin cteva printscreen-uri o s vedem cum anume.

    Cod sursa (exemplu implementare Java):

    package lift;import java.util.*;import java.lang.*;class C_USA {

    private boolean _inchisa = true; private static C_MOTOR _controleaza=new

    C_MOTOR(); public void deschide() throws Exception {

    _inchisa=false;System.out.println("Usa s-a deschis!");

    }

    public void inchide() throws Exception { _inchisa=true;

    System.out.println("Usa s-a inchis!");}

    }class C_LIFT {

    private boolean _directie=true; private int _etaj=0;

    private static C_MOTOR _controleaza=new C_MOTOR();

  • 8/10/2019 Probleme Rezolvate UML

    60/98

    60

    public void ajunge() throws Exception { _etaj=_controleaza.contor_etaj();System.out.println("Liftul a ajuns la etajul "+_etaj);

    } public void opreste() throws Exception {

    _directie=false;//Liftul nu mai este in miscare} public boolean statut() throws Exception {

    return _directie;}

    }class C_BUTON {

    private boolean _iluminat=false; private C_MOTOR _comunica=new C_MOTOR(); public void ilumineaza() throws Exception{

    _iluminat=true;

    System.out.println("Butonul de la etajul "+_comunica.contor_etaj()+" s-aaprins!");} public void opreste_lumina() throws Exception {

    _iluminat=false;System.out.println("Butonul de la etajul "+_comunica.contor_etaj()+" s-a

    stins!");} public void statut() throws Exception {

    System.out.println("Motorul functioneaza!");}

    public void apasa() throws Exception {ilumineaza();}

    }class Pasager{

    private boolean _inauntru=false; private boolean _intra=false; public boolean in_afara(boolean p_inauntru){

    _inauntru=p_inauntru;return _inauntru;

    } public boolean inauntru(){

    if (_inauntru==false)System.out.println("Pasagerul este afara!");

    elseSystem.out.println("Pasagerul este inauntru!");

    return _inauntru;} public boolean intra(){

  • 8/10/2019 Probleme Rezolvate UML

    61/98

    61

    if (_inauntru==false)System.out.println("Pasagerul intra!");

    elseSystem.out.println("Pasagerul iese!");

    return _inauntru;

    }} public class C_MOTOR {

    private static int _contor_etaj; //etajul la care se afla pasagerul

    private static int _pozitie; //etajul la care se afla liftulinainte de a-l chema pasagerul

    private static boolean _directie; private static C_LIFT _controleaza=new C_LIFT(); private static C_USA _unnamed_C_USA_=new

    C_USA();

    private static C_BUTON _comunica=newC_BUTON(); public static void usa_deschisa(){

    try { _unnamed_C_USA_.deschide();}catch(Exception e){};

    } public static void usa_inchisa(){

    try { _unnamed_C_USA_.inchide();

    }catch(Exception e){};} public static boolean directie() {

    if (_contor_etaj>_pozitie) _directie=true; //liftul urca

    else _directie=false; //liftul coboara

    return _directie;} public static int contor_etaj() throws Exception {

    return _contor_etaj;} public static int pozitie() throws Exception {

    return _pozitie;}

    public void apeleaza() throws Exception { _comunica.apasa(); _pozitie=_contor_etaj;

  • 8/10/2019 Probleme Rezolvate UML

    62/98

  • 8/10/2019 Probleme Rezolvate UML

    63/98

    63

    motor.usa_deschisa(); pasager.in_afara(true); pasager.intra();motor.usa_inchisa();

    }

    catch (Exception e) {};}}

    Testare:Orice produs informatic trebuie testat nainte de punerea pe pia. Exist diferitemetode de testare a unui produs informatic. Pentru modelul de mai sus, se va utilizaCriteriul de parcurgere a drumurilor din graful de control o reea care cuprindestructurile de control ale programului.

    Mai jos este o variant de construire a grafului de control pentru programul careimplementeaz modelul discutat. Testarea se face pentru por iunea de cod din programul principal, cea colorat cu albastru mai sus.

  • 8/10/2019 Probleme Rezolvate UML

    64/98

    64

    in= ; sc= ;

    motor.apeleaza()

    pasager.inauntru()=false

    motor.muta()

    motor.usa_deschisa()

    pasager.intra ()=false pasager.intra()=true

    motor.usa_inchisa(); et= motor.usa_inchisa()

    pasager.inautru()motor.apeleaza()

    motor.muta()

    motor.usa_deschisa()

    pasager.in_afara(true)

    pasager.intra()

    motor.usa_inchisa()

    motor.usa_inchisa()

    pasager.intra()

    pasager.in_afara()

    motor.usa_deschisa()

    motor.muta()

    motor.usa_inchisa()

    pasager.inauntru()=truei

    i

  • 8/10/2019 Probleme Rezolvate UML

    65/98

    65

    n continuare, se vor lua n considerare 3 jocuri de testi se va ar ta aplicarea criteriuluide testare pentru acestea.

    1. et=4 ; sc=false

    Se observ c se parcurge ramurathen a instruciuniiif.

    2. et=4 ; sc=true

    Se observ c se parcurge ramuraelse a instruciuniiif .

  • 8/10/2019 Probleme Rezolvate UML

    66/98

    66

    3. et=9 ; sc=false

  • 8/10/2019 Probleme Rezolvate UML

    67/98

  • 8/10/2019 Probleme Rezolvate UML

    68/98

    68

    Diagrama cazurilor de utilizare:

    Descrierea activitii se regsete n diagrama de utilizare.

    Explicaii:

    - clientul vinei depune la banc documentele respective pentru o cerere de credit;- inspectorul de credite verific informaiile cu privire la documentei poate

    actualiza baza de date a clienilor;

    - inspectorul de credite face calculul coeficientului pe baza documentelor depuse,analizeaz suma cerut de ctre client;

    - directorul de credite din cadrul bncii aprob sau nu cererea de credite a clientuluin funcie de rezultatele calculate.

    n final, informaiile cu privire la cerere ajung la clieni.

  • 8/10/2019 Probleme Rezolvate UML

    69/98

    69

    Diagrama claselori obiectelor:

    n diagrama claselori obiectelor se prezint urmtoarele elemente:

    - n clasa CLIENTI sunt prezentate caracteristicile clienilor;

    - n clasa CREDITE sunt introduse toate felurile de creditei anume: credite pentrunevoi personale cui f r ipotec, credite de consum, credite ipotecare, credite auto,credite pentru turism, credite pentru tratamente medicale, credite imobiliare,i se poatecalcula pentru fiecare fel de credit dobnda aferent pe un an sau 6 luni;

    - n clasa CERERI CLIENTI se trec: denumirea creditului, perioada de creditare (adic n ci ani poate clientul s achite suma contractat) i suma cerut ;

    - clasa CONTRACTE CREDITE reflect creditele aprobate de ctre banc i includenumrul i data semnat de ctre client n contract, precumi suma contractat cudobnda respectiv i termenul de plat al finanrii creditului;

    - clasa SITUATIE FINANCIARA este utilizat pentru verificarea documenteloriextragerea unor informaii legate de client necesare pentru finanarea cu credite,ianume: cifra de afaceri sau venitul pe cap de locuitor pentru persoane fizice precumi

  • 8/10/2019 Probleme Rezolvate UML

    70/98

    70

    profitul, dividendele pentru persoane juridicei alte datorii de plat. Tot aici se va calculai coeficienul de ndatorare al clientuluii se analizeaz suma cerut deoarece bancatrebuie s ii planifice n aa fel finanarea creditelor nct s nu se ajung la lichidarea ei.

    NOT: vom aduga variabila identificator n clasa SITUATIE FINANCIARA pentru

    denumire client i cod client i pentru denumire credit din clasa CONTRACTECREDITE.

    Diagrama de secvene:

    Clienti

    Observaie: mesajele primite n diagrama de secvene se regsesc n diagrama claseloriobiectelor la clasele destinate.

    ContractecereriCereri

    clienti

    Situatiefinanciara

    CrediteDepune-re cerere

    Cerere credit

    Situatie financiara actualizata

    Calcul coeficient

    A robare contracte credit

    Acordare credit

  • 8/10/2019 Probleme Rezolvate UML

    71/98

    71

    Diagrama de stare:

    a) Pentru client:

  • 8/10/2019 Probleme Rezolvate UML

    72/98

    72

    b) Pentru cerere credit:

    Observaie: Metodelei atributele adugate noi n diagrama de stare se regsesci ndiagrama claselori obiectelor.

    Aceast diagram de stare s-a construit pentru a se vedea ce stri tranziteaz un clientatunci cnd depune o cerere de credit la banc, precumi o cerere de credit, dup cum sevede n modelul de mai sus.

  • 8/10/2019 Probleme Rezolvate UML

    73/98

    73

    Diagrama de activiti:

    Not : ? : suma cerut de client poate fi aprobat i acordat sau nu, n funcie de prioritile bncii. Seine seama foarte mult de suma contractat, de felul credituluiimai ales de situaia financiar a clientului. n urma calculelor f cute de ctre inspectorulde credite senior pentru clientul respective, se acord creditul ( coeficientul derambursare a creditului).

    Diagrama de colaborare:

    Diagrama de colaborare este realizat tocmai pentru a se observa colabor rile n timpul

    depunerii, analizeii aprobrii unei cereri de crediti anume:- clientul vine la banc i depune cererea de credit;- cererea se verific de ctre banc;- creditele includ analiza cererii;- se analizeaz coeficientul din situaia financiar a clientului;- analiza este f cua pentru a se observa dac clientul este capabil s returneze

    banii;

    Se primeste cererea client

    Se analizeaza suma ceruta

    Se inregisteraza cererea de credit Se refuza cererea de cre

    Se acorda creditul

    ?

  • 8/10/2019 Probleme Rezolvate UML

    74/98

    74

    - se acord sau nu creditul n funcie de analiza f cut;- clientul ramburseaz creditul.

    Clienti: Cerere client: Credite:

    Situatiefinanciara:Contracte

    credite:

    Den clientCod clientTel clientAdresa cl

    A isare den cl

    A isare cod cl

    Nr.cerereData cerere

    Denumire cererecredit

    Suma cerutaTotal cereri

    Total sume cerute

    1:depunerecerere

    Denumirecredit

    Cod creditDobandaaferenta

    A isare el credit

    Afisaredob/6luni isare dob/an

    2:se verificacererea de

    credit

    VIDen clVICod cl

    Vn sau Ca/pers

    Calcul coeficient

    Total Vn/ amilie

    3:seanalizeaza

    situatiafinanciara a cl

    Nr.contractData

    contract

    VIden creditSuma

    contractata

    iseaza cl

    Total credite aprobate

    5:se acordacreditul

    6:rambursarecredit

    4:nu seacorda

  • 8/10/2019 Probleme Rezolvate UML

    75/98

  • 8/10/2019 Probleme Rezolvate UML

    76/98

    76

    Regula 1 :

    RClienti = (DenClient, CodClient, AdresaClient, TelClient, Nr.cerere )

    RSituatieFinanciara =( VIdenClient, VIcodClient, VnsauCa/pers, profit, dividende,AlteSumeDePlata, Nr.contract )RCredite = (DenCredit, CodCredit, DobandaAferenta, Nr.Cerere ) RCereriClienti = ( nr.cerere, DataCerere, DenCredit, PrioadaCrereCredit, SumaCeruta)CodClient ,CodCredit) RContracteCredite = ( nr.Contract, DataContract, VIdencredit, SumaContractata,dobanda, TermenPlata)

    Regula2:

    RClientiContracteCredite = (DenClient, CodClient,Nr.Contract)

    Mihailescu Marius Iulian Facultatea detiina i Tehnologia Informaiei

  • 8/10/2019 Probleme Rezolvate UML

    77/98

    77

    SISTEM DE NREGISTRARE AL STUDENILOR UNEI UNIVERSITI

    Proiectul Sistem de nregistrare al Studenilor unei Universitti ii propune creeareaunei aplicaii ce servete att studen ilor cti profesorilor n planificarea examenelorinregistrarea pentru acestea.

    Etapele ce au stat la baza implementrii sistemului sunt :

    1.Tabel de evenimente2.Diagrama UseCase3.Diagrama de clase4.Crearea bazei de date5.Implementarea programului propriu-zis

    Sistemul are la baz patru evenimente fundamentale pentru orice sistem proiectat n acestscopi anume :

    Departamentul furnizeaz orarul claselor Timpul de producere al orarului

    nregistrarea studentului pentru clas Timpul de producere al listelor pentru clase

    Toate aceste evenimente precumi alte detalii legate de ele sunt descrise n tabelul deevenimente ce urmeaz:

    Tabel de evenimente pentru Sistem de nregistrare al Studenilor unei Universitti

    Numr

    eveniment

    Descriere

    eveniment

    Datele de

    intrare

    Actorul cefurnizeaz

    datele deintrare

    Datele de

    ieire

    Actorulce primete

    informa iilede ieire1. Departamentul

    submiteorarul claselor

    Orarulclaselor

    Departament

    2. Timpul de producere alorarului

    Oraruluniversitaii pe clase

    StudentDepartamentProfesor

    3. nregistrareastudentului pentru clasa

    Cererenregistrare

    Student Listastuden ilor pe clase

    Student

    4. Timpul de producere alistelor pentruclase

    Lista clase Profesor

    Versiune : Data :Modificri :

  • 8/10/2019 Probleme Rezolvate UML

    78/98

    78

    Tabelul de evenimente constituie una dintre etapele fundamentele ale implementriisistemului, cu el clarificnd exact ce date de intrare avem, cine le furnizeaz, ceinformaii ies din sistemi cine le primete.Tabelul de evenimente a fost construit pe baza analizei evenimentelor aa cum ilustreaz imaginea de mai jos.

    Diagrama Use Case:

    Diagrama de cazuri (UseCase) pentru acest proiect reprezint aciunile ce au loc cndactorul folosete sistemul pentru a completa un proces.Diagrama arat ntr-un mod graficsistemul n relaie cu actoriii mediul nconjur tor.

    Diagrama de clase:

  • 8/10/2019 Probleme Rezolvate UML

    79/98

    79

    Diagrama de clase sub form grafic urmarete aceleai convenii ca cele ale unui modelde domeniu.Cu ajutorul ei sa identificat relaiile dintre clase, tipul atributelor etc ,n finalacest lucru permitnd lejeritatea implementrii sistemului.

    Paraschiv Georgiana, Silistri Nurgian,erban Camelia - Facultatea detiine Economice

  • 8/10/2019 Probleme Rezolvate UML

    80/98

    80

    MODEL DE NTREPRINDERE PRODUCTOARE DE PRODUSE DEPAPETRIE

    ntreprinderea este productoare de produse de papetrie.Vnzrile se pot realiza pe baz de:

    1) Comand primit de la clieni. Comanda este analizat verificndu-se stoculexistent i analizndu-se clientul. Se verific dac exist contract ncheiat cuclientul, n caz contrar, clientul este introdus n baza de date. n urma analizei,comanda este acceptat sau respins. Dac se aprob comanda, se ntocmetefacturai se livreaz marfa. Dac nu se accept comanda, clientul este informat.

    2) Vnzare n magazinele proprii. Produsele finite sunt date spre vnzare pe baza procesului verbal de predare. n magazinele proprii, vnzarea se face pe baza

    bonului fiscal, iar n cazul n care clientul solicit factura, aceasta este ntocmit.

    Diagrame UML (Limbaj standard de modelare)

    Diagramele UML sunt mijloacele de reprezentarei vizualizare a elementelor demodelare. Diagramele sunt:

    1. Diagrama cazurilor de utilizare2. Diagrama claselor3. Diagrama de secvene4. Diagrama de colaborare5. Diagrama de stri6. Diagrama de activiti

    Diagrama cazurilor de utilizare:Aceast diagram descrie comportamentul sistemului n activitatea de vnzare.

  • 8/10/2019 Probleme Rezolvate UML

    81/98

    81

    Vanzari

    Firma

    Client

    Receptie comandaTransmitere comanda

    Analiza comanda

    Analiza stoc

    Analiza client

    Introducere client BDAcceptare comanda

    Intocmire factura

    Livrare marfa

    Respingere comandaInformare client

    Intocmire proces verbal

    Inctomire bon fiscal

    Primire bon fiscal

    Intocmire factura

    Primire factura

    Diagrama claselor:

    Aceast diagram evideniaz structura static a sistemului de activitate a ntreprinderii.S-a optat pentru realizarea a dou diagrame de clas pentru o mai bun evideniere a celordou modaliti de vnzare din cadrul firmei:

  • 8/10/2019 Probleme Rezolvate UML

    82/98

    82

    Mf comandate

    Clienti ComandaMf in gestiune

    Documente

    FacturiContracte

    Mf facturata

    Verifica stoc existent in gestiune()

    vMf in gestiune : undefinedCantmfC : integerDenmfC : stringCodmfC : integer

    Afiseaza clientii din Bucuresti()

    Telefon : integerAdresa : stringDenclient : stringCodclient : integer

    Adauga comanda()Afiseaza data unei comenzi()

    Datacomanda : stringNr comanda : integer

    Adauga o mf noua()Calculeaza val marfii()

    Pretmarfa : integerCantmarfa : integerDenmarfa : string

    Codma rfa : integer

    Afiseaza data unui document ()

    Datadoc : stringNrdoc : intege r

    Afiseaza valoarea totala a unei facturi()Calculeaza TVA pe o factura()Afiseaza val fara TVA a unei facturi()

    vMf facturata : undefined

    Prelungeste termenul unui contract()Adauga un nou contract()

    Termen : integer

    Caluleaza val marfii de pe o factura()

    vFacturi : undefinedPretmarfaF : integerCantmarfaF : integerDenmarfaF : stringCodma rfaF : integer

    Mf vanduta

    MagazinBon fiscalClienti

    Afiseaza valoarea m arfii vandute()

    PretmfV : integerCantmfV : integerDenmfV : stringCodmfV : integer

    Afiseaza bonuri emise()

    vBonfiscal : undefinedAdresa : stringDenmagaz in : stringCodmagazin : integer

    Afiseaza valorea marfii pe un bon()

    vMfvanduta : un definedDatabon : stringNrbon : integer

    Adauga client nou()

    Telefon : integerAdresa : stringDenclient : stringCodclient : integer

    Vnzri pe baz de comand

    Vnzri n magazinele proprii

  • 8/10/2019 Probleme Rezolvate UML

    83/98

    83

    Diagrama de secvene:

    Aceast diagram ilustreaz interaciunile dintre obiecte din punct de vedere temporal.

    Este ntocmit pentru scenarii ale unui caz de utilizare ar tnd obiectelei interaciuniledintre ele de-a lungul unui scenariu. Scenariul prezentat n aceast diagram este: Firma primete comanda care esteanalizat.n urma analizei, firma ntocmete factura care este apoi trimis la client.

    Firma: Comanda: Facturi: Clienti:

    analizeaza

    intocmeste

    se t rimit

    p rimeste

    Diagrama de colaborare:

    n diagram se specific mesajele schimbate ntre obiecte de-a lungul legturilor.

    Se adaug n diagrama claselor urmtoarele atributei metode:- n clasa Clienti se adaug metoda: Adauga client()- n clasa Comanda se adaug atributul VClienti care permite apelarea

    atributelor din clasa Clienti,i metodele Afiseaza datele despre clientul X()iAfiseaza clientul la comanda nr..()

    - n clasa Mf in gestiune se adaug metoda Lista mf cu stoc zero()

  • 8/10/2019 Probleme Rezolvate UML

    84/98

    84

    Diagrama de stri:

    Aceast diagram modeleaz ciclul de via al unei singure clase evideniindevenimentele care determin schimbrile de stare.Au fost realizate dou diagrame de stare pentru evidenierea celor dou modaliti de

    vnzare din cadrul firmei.a) n cazulvnzrilor pe baz de comand, diagrama de stare s-a realizat pentrumarfa care are ur atoarele stari:n gestiune, comandat, facturata.

    Se adaug n diagrama claselor urmtoarele metode:- n clasa Mf in gestiune : Adauga mf noua- n clasa Comanda : Verifica comanda- n clasa Mf facturata : Afiseaza marfuri facturate

    b) n cazulvnzrilor n magazine, diagrama de stare s-a realizat pentru marfa careare urmtoarele stari: n gestiune, n magazine, vndut.

    Se adaug n diagrama claselor urmtoarele metode:- n clasa Mf in gestiune : Adauga mf noua- n clasa Magazin : Afiseaza adresa magazin- n clasa Mf vanduta : Afiseaza lista marfii vandute

    Diagrama de activiti:

    Aceast diagram descrie comportamentul sistemului introducnd elemente deimplementare. Ataat unui caz de utilizare i detaliaz aciunile i proceselecorespunztoare.

    In gestiune In magazin

    Vanduta

    Do : Ada ug a ma rfa nou a() Do : Afise aza a dre sa m ag azin()

    Do: Afiseaza lista m arfii vandute()

    Marfa

  • 8/10/2019 Probleme Rezolvate UML

    85/98

    85

    Se primeste comanda

    Se verifica daca marfa e in stoc

    Se verifica daca exista contractincheiat cu clientul

    Se adauga in BD

    Se accepta comanda

    Se intocmeste factura

    Se livreaza marfa

    Se refuza comanda

    Se informeaza clientul

    DA

    DA

    NU

    NU

    MCD = Modelul conceptual de date:

    MCD rezult dintr-o activitate de modelare complex i subiectiv. Pentru definireaentitilori a relaiilor, metoda Merise propune dou tehnici:

    - modelarea prin atribute- modelarea prin entiti

    MLD = Modelul logic de date:

    Pentru trecerea de la MCD la MLD se aplic regulile lui Codd:1) Pentru fiecare entitate din MCD se definete n MLD o schem de relaie

    ce conine atributele entitii.

    RClienti = (Codclient, Denclient, Adresa, Telefon)RContract = (Nrcontract, Datacontract, Termen)

  • 8/10/2019 Probleme Rezolvate UML

    86/98

  • 8/10/2019 Probleme Rezolvate UML

    87/98

    87

    2. Valoarea total a vnzrilor3. Valoarea vnzrilor pe magazine4. Stocul final pe fiecare marf 5. Valoarea total a facturilor emise

    1.

    Afiai comenzile pentru un client interogarea:

    Rezultatul interogrii este:

    2. Valoarea total a vnzrilor - interogarea:

    Rezultatul interogrii este:

    3. Valoarea vnzrilor pe magazine interogarea:

  • 8/10/2019 Probleme Rezolvate UML

    88/98

    88

    Rezultatul interogrii este:

    4. Stocul final pe fiecare marf interogarea:

    Rezultatul interogrii este:

    5. Valoarea total a facturilor emise interogarea:

  • 8/10/2019 Probleme Rezolvate UML

    89/98

    89

    Rezultatul interogrii este:

    Pentru a calcula valoarea total a facturilor emise s-a realizat un raport.

  • 8/10/2019 Probleme Rezolvate UML

    90/98

    90

    Petra Andreea, Nicolescu Roberta Facultatea detiine Economice

    SOCIETATE COMERCIAL DE ACHIZIIONARE DE FLORII PLANTEORNAMENTALE

    Societatea comercial AZALEEA SRL achiziioneaz flori i plante ornamentale ctimateriale auxiliare.Societatea are urmtoarele componente:

    1. departamentul ADMINISTRATIE2. departamentul VANZARE3. departamentul APROVIZIONARE4. departamentul LIVRARE

    Administraia ncheie contracte cu Furnizorii. Pe baza contractului furnizorii emit facturi,livreaz marfai materialele auxiliare.n cazul n care marfa primit nu corespunde din punct de vedere calitativ clauzelorcontractuale, administraia ii rezerv dreptul de a refuza lotul respectiv de marf .Vnzarea se face att la punctul de lucru (en-detail), cti prin contract semnat cuclienii. Pentru un contract cu o valoare mai mare de 200 RON se vor face reducericomerciale de 2%. Marfa se poate vinde ca atare sau se poate prelucra sub forma buchetelor sau aranjamentelor florale.n urma semnrii contractelor cu clienii, marfa va fi livrat acestora, se va emite factura,apoi se va nregistra documentul de ncasare.

    Diagrama cazurilor de utilizare:

  • 8/10/2019 Probleme Rezolvate UML

    91/98

    91

    Diagrama claselor - Furnizori

    n aceast diagram, clasa Administratie are rolul de gestionar al sistemului cuajutorul caruia se pot afla numeroase inflormaii prin introducerea unor variabileidentificatori din celelalte clase n funcie de nevoile rezultate din operaiile executate.

  • 8/10/2019 Probleme Rezolvate UML

    92/98

    92

    Diagrama claselor Clienti

  • 8/10/2019 Probleme Rezolvate UML

    93/98

    93

    Diagrama de secvene:

    Diagrama de secvene este realizat doar pentru o parte din activitatea firmei,i anume:aprovizionarea.Operaii precum: Incarca factura primita, Incarca contract, Incarca Document Platase vor observa adugate n diagrama claselor furnizori .

  • 8/10/2019 Probleme Rezolvate UML

    94/98

    94

    Diagrama de colaborare:

    n aceast diagram de colaborare am evideniat relaia existent ntre clasele: Furnizori Contracte Furnizori Facturi Primite. Astfel, prin introducerea unei variabile identificator V. Ident C.Facturi Primite - nclasa Contracte Furnizori vom putea obine informaii despre contractele cu facturi(Metoda: Afiseaza Contract cu factura). Identic se va procedai n cazul clasei Furnizori(V.Ident C.Facturi Primite) pentru a obine informaii despre furnizorii cu facturi.De asemenea, aceste informaii se mai pot obine i cu ajutorul clasei Administratie,

    aa cum este exemplificat n diagrama claselor furnizori, simplificnd sistemul. Acestlucru este posibil prin introducerea variabilelor identificator corespunztoare, i aoperaiilor necesare.

  • 8/10/2019 Probleme Rezolvate UML

    95/98

  • 8/10/2019 Probleme Rezolvate UML

    96/98

  • 8/10/2019 Probleme Rezolvate UML

    97/98

  • 8/10/2019 Probleme Rezolvate UML

    98/98

    Dac ntr-o asociere ambele cardinaliti maximale sunt n, n MLD se adaug o nou relaie ce conine cheile celor dou entiti i atributele asocierii.RFurnizori = ( CodFurnizor, CIF, AdresaFz, TelefonFZRContracte = (NrContract , Data Contract , TermenContract, CodFurnizor)RMarfa = (CodMarfa, DenumireMarfa, PretMarfa)

    RFacturiPrimite = (NrFactura, DataFactura, NrContract, NrDocument,TipDocument)RDocumentePlata = (NrDocument, TipDocument, DataDocument, SumaPlata,CodFurnizor)RContracteMarfa = (NrContract, CodMarfa, CantitateContractata, PretContractat)RFacturiPrimiteMarfa = ( NrFactura, CodMarfa, CantitateFacturata)