Documente Academic
Documente Profesional
Documente Cultură
Obiective:
Studenţii dobăndesc abilități în realizarea unor proiecte în echipă. Se dezvoltă capacitatea de
abordare modulară in proiectarea orientată obiect, de evaluare şi autoevaluare, de colaborare cu
experţi din diferite domenii. Aprofundează cunoștinte privind:
. identificare şi ierarhizarea proceselor corespunzătoare activităţilor desfăşurate în organizaţie
(Business modelling).
. faza de analiză (Analysis), care cuprinde analiza cerinţelor şi analiza de sistem.
. faza de proiectare (Design), în care se adaugă detalii necesare implementării.
. faza de implemntare (Implementation), în care se obţin soluţii aplicabile pentru optimizarea
activiţăţii din organizaţie.
. utilizarea diagramelor UML în construirea sistemului informatic.
Teoretic, întregul ciclu de viaţă al sistemului informatic poate fi împărţit în mai multe
etape. Acestea sunt:
A modelarea activitaţilor desfăşurate în organizaţie (Business modelling) ;
B analiza (Analysis);
C proiectarea (Design);
D implementarea. (Implementation).
Exemplu:
O organizaţie asamblează calculatoare pe care le vinde clienţilor. Componentele asamblate sunt
aprovizionate de la furnizori. Detaliat, activităţile desfăşurate în această organizaţie conduc la
identificarea mai multor procese, ce pot fi grupate pe 3 nivele:
Activităţile desfăşurate conduc la identificarea mai multor procese, ce pot fi grupate pe 3 nivele:
Nivel 1:
.1- Planificare = dezvoltă şi monitorizează planul tactic şi strategic al organizaţiei: investiţii,
resurse, evaluare performanţe, monitorizare riscuri şi oportuinităţi.
.2- Aprovizionare = cuprinde toate activităţile legate de aprovizionare, inclusiv achitarea
facturilor primite de la furnizor; include contractarea precum şi asigurarea calităţii articolelor
aprovizionate.
.3- Vânzare = înregistrează întreaga activitate de vânzare, incluzând marketingul, comenzile de
la clienţi, facturarea, distribuţia.
.4- Producţie = include producţia şi depozitarea, transportul între secţia de producţie şi depozite.
.5- Dezvoltare = se referă la construcţii pentru fabrici, secţii de producţie, birouri, depozite.
.6- Finanţe = vizează circuitul banilor şi controlul activităţilor financiare: investiţii, gestiune a
conturilor bancare, raportări legale.
.7- Cercetare = urmăreşte cercetările întreprinse pentru dezvoltarea şi optimizarea activităţii
desfăşurate.
Nivel 2:
De exemplu, procesul .3- Vânzare se poate detalia astfel:
.3.1 negociere contract;
. 3.2 preluare comenzi;
. 3.3 livrare articole;
.3.4 acceptare refuzuri;
. 3.5 facturare;
. 3.6 încasare facturi.
Nivel 3:
De exemplu,
▪ procesul .3.2. preluare comenzi se poate detalia astfel:
.3.2.1 se confirmă alegerea clientului
.3.2.2 se preia comanda de la client
3.2.3 se negociază data livrării
3.2.4 se stabileşte data livrării
3.2.5 se confirmă detaliile din comandă
1 2 3Vânzare 4 ….
3.1
…
3.5 Facturare
…
Exerciții:
. Descompuneţi pe nivele 2 şi 3 alte două procese evidenţiate pe nivelul 1.
. Descrieţi activitatea desfăşurată în organizaţie astfel încât să evidenţiaţi într-o manieră
personală procesele cuprinse în descriere. Evidenţiaţi procese suplimentare pentru descrierea .
Exerciții:
. Contruiţi diagrame de activităţi pentru alte procese.
. Includeţi obiecte corespunzătoare documentelor primare care circulă în organizaţie în
diagramele de activităţi.
Exemplu:
Diagrama de activităţi pentru procesul .3.2. - preluare comenzi este (fig. 1):
fig. 1
B Analiza, în sens larg, acoperă investigarea activităţii desfăşurate în organizaţie şi
definirea unui sistem informatic pentru optimizarea ei
. începe dezvoltarea sistemului de la definirea proceselor, de la identificarea cazurilor de utilizare
care descriu aceste procese şi merge până la momentul în care dezvoltatorii de sistem au un
model comprehensiv al comportamentului sistemului, pot prezenta utilizatorilor viitorul sistem,
împreună cu tipurile de informaţii memorate şi regăsite de el.
. se disting două faze: analiza cerinţelor şi analiza de sistem.
Analiza cerinţelor
fig. 2
fig. 3
= scenariul 1
Denumire: Încheierea contractului pentru aprovizionarea cu componente
Descrierea derulării:
.. stabilirea necesarului de aprovizionat;
.. analiza ofertelor de la furnizori;
.. alegerea furnizorului;
.. stabilirea condiţiilor contactuale;
.. semnarea contractului de ambele părti.
= scenariul 2
Denumire: Gestiunea componentelor aprovizionate
Descrierea derulării:
.. se înregistrează factura cu care au sosit componentele;
.. gestionarul verifică componentele; în funcţie de calitatea şi cantitatea existentă,
.. gestionarul înscrie componentele corespunzătoare pe NIR; pentru o factură se
completează un NIR/mai multe NIR-uri;
.. NIR-urile se păstrează în arhiva gestiunilor.
SAU
.. întocmeşte proces verbal pentru componentele necorespunzătoare calitativ sau lipsă
cantitativ;
.. furnizează informaţii pentru stornarea facturilor la compartimentul aprovizionare.
= scenariul 3
Denumire: Gestionarea cererii de la aprovizionare/vânzare
Descrierea derulării:
.. gestionarul primeşte o comandă de la departamentul aprovizionare/vânzare;
.. gestionarul verifică cantitatea şi calitatea cerută;
.. gestionarul calculează preţul mediu pentru analiza ofertei în cazul aprovizionării/preţul de
vânzare pentru livrare;
.. în cazul vânzării, descarcă gestiunea după scoaterea din gestiune a mărfii.
= scenariul 4
Denumire: validarea unui client când acesta sună pentru o comandă
Descrierea derulării:
. clientul furnizează un număr de identificare pe care operatorul îl tastează în fereastra de
interfaţă;
. sistemul răspunde cu numele şi adresa clientului şi o parolă de acces;
. operatorul cere confirmarea pentru nume, adresă şi parolă şi închide fereastra dacă răspunsurile
date sunt conforme cu datele de pe ecran.
Alternative:
1. clientul nu are un număr de identificare pentru a fi gestionat; operatorul trebuie să ceară
clientului să aibă un număr de identificare înaintea intrării în sistem.
2. sistemul nu poate găsi înregistrarea cu numărul de identificare dat al clientului şi se afişează
un mesaj de eroare. Operatorul cere un nou număr de identificare şi reia operaţia de validare de
la pasul 1.
3. clientul nu poate furniza numele, adresa sau parola; operatorul închide aplicaţia. Sistemul
trebuie să înregistreze încercarea nereuşită pentru a permite cercetarea fraudei.
Excepţii:
. dacă sistemul nu e disponibil, operatorul preia numele şi numărul de telefon al clientului şi-l
sună imediat ce sistemul e disponibil.
= scenariul 5
Denumire: preluarea detaliilor unei comenzi pentru un client
Descrierea derulării:
. clientul furnizează codul produsului şi cantitatea; operatorul tastează aceste informaţii pe ecran;
. clientul cere o dată anume pentru livrare, operatorul o tastează pe ecran. Sistemul confirmă că
aceata e acceptabilă/acceptată
. operatorul citeşte comanda şi comunicată data livrării clientului, care acceptă
. operatorul închide ecranul de interfaţă şi sistemul răspunde că această comandă a fost acceptată.
Operatorul mulţumeşte clientului şi întreabă dacă există altă comandă
Alternative:
1. clientul nu are un cod al produsului, dar ştie numele produsului. Sistemul poate permite
acceptarea numelui şi regăseşte codul.
2. sistemul nu poate accepta data livrării şi oferă o dată apropiată pe care o negociază cu clientul.
3. se constată nereguli în detaliile unei comenzi:
. clientul a făcut o greşeală în furnizarea datelor şi operatorul trebuie să facă modificări în detalii;
. comanda excede limita de creditare a clientului sau cere un produs neinclus în ofertă; după
discuţii cu clientul se fac modificări.
4. se renunţă la comandă din diferite motive.
Observaţii:
. în situaţia în care preluarea comenzii se face prin telefon, este indicat să se construiască o
diagramă de activităţi care să ia în calcul şi alternativele prezentate în scenariu (fig. 4).
. iesirile evidenţiate în diagramă reprezintă intrări în alte procese (procesul de vânzare după
transferul apelului)
fig.4
Analiza de sistem
fig.5
Exemplu:
Diagrama claselor pentru contractarea componentelor în vederea asamblării produselor conform
comenzilor primite de la clienţi este prezentată în figura 6.
= corespund obiectelor din sistemul real; reflectă concepte şi elemente ce aparţin domeniului de
activitate, afacerii reprezentate; sunt persistente în timp şi sunt translatate în tabele ale bazelor de
date relaţionale.
Exemple: facturi, mărfiri, clienţi.
▪ obiecte de control – stereotip << control>>
= organizează comportamentul complex al sistemului. Se definesc în situaţii care implică mai
multe obiecte de interfaţă sau obiecte de gestiune.
Exemple: un obiect ce compară conţinutul unei facturi de aprovizionare cu datele din NIR, un
obiect care identifică diferenţele rezultate din comparaţia anterioară, un obiect care tratează
situaţii posibile menţionate la excepţii.
Fig.6
= controlează interacţiunea cu mediul exterior (outside world). Rolul lor este să translateze
informaţiile furnizate de actori în evenimente interne la care răspund obiecte de control sau
obiecte de gestiune şi să prezinte răspunsul acestor obiecte astfel încât să poată fi înţelese de
actor.
Exemple: fereastră de ecran, formular, casetă de text, butoane, liste derulante.
▪ în diagrama de secvenţe pentru scenariul 4 (fig. 7.a) se include două obiecte: un obiect de
interfaţă utilizat pentru interacţiunea cu operatorul şi un obiect de gestiune client.
1. prin intermediul obiectului de interfaţă operatorul tastează numărul clientului şi-l trimite
sistemului;
2. sistemul răspunde cu numele, adresa şi numărul clientului; aceasta implică definirea unui
obiect de gestiune (al clasei client) care să memoreze nume, adresă, număr client.
fig. 7.a
<<control>>
Validare
esteValidat()
fig. 7.b
Fig. 9
Exerciții recapitulative:
. Completaţi diagrama cazurilor de utilizare din figura 3 cu noi cazurile de utilizare.
. Construiţi diagrame ale cazurilor de utilizare pentru excepţiile şi alternativele prezentate în
cadrul scenariilor în faza de analiză a cerinţelor.
. Construiţi diagrama claselor pentru cazurile de utilizare descrise.
. Completaţi diagrama de colaborare din figura 8.b, cu operaţii.
. Completaţi diagrama claselor din figura 6 cu informaţii obţinute din diagramele construite
anterior.
. Construiţi diagrama de stare pentru clasa client.
. Construiţi diagrama de stare pentru produse livrate.
Proiectare
Specificaţii
Modelul pentru
componentelor interfaţă
Modelul Vedere
datelor Model arhitectura
obiect
Cazurile de utilizare interacţionează şi interferează unele cu altele, prin intermediul unor obiecte
de bază (comanda este folosită de cazul de utilizare ce reflectă preluarea comenzii şi de de cazul
de utilizare ce reflectă livrarea unei comenzi).
Diagrama de secvenţe –
. evidenţiază noi interacţiuni între obiecte (pentru actori sau obiecte ale claselor noi introduse
după faza de analiză);
. poate evidenţia crearea unui nou obiect, distrugerea unui obiect sau apelarea unui obiect printr-
o operaţie proprie;
. verifică dacă obiectele definite în faza de analiză sunt viabile pentru implementare sau trebuie
restructurate; se adaugă informaţile schimbate;
. interacţiunile din diagramă (mesajele dintre obiecte) trebuie să se regăsească printre operaţiile
clasei obiectului destinatar.
Diagrama de colaborare –
.evidenţiază funcţionalităţile rezultate din interacţiunile cazurilor de utilizare;
. înlocuieşte mesajele specificate în faza de analiză cu operaţii adăugate claselor de obiecte
destinatar;
Diagrama de activităţi –
. detaliază interacţiunile dintre cazurile de utilizare;
. descrie algoritmi ai unor operaţii complexe.
Diagrama claselor evidenţiază acum un set de obiecte legate unele de altele şi organizate astfel
încât permit implementarea scenariilor ce descriu cazurile de utilizare; cuprinde detalii necesare
implementării:
. atributelor le sunt adăugate gradele de vizibilitate, eventual valori implicite sau valori iniţiale;
. pot exista alte obiecte ca atribute (stare,ClsMatAprov);
. operaţiile pot manipula atributele obiectelor din clasă, pot apela operaţii ale altor obiecte sau
pot manipula atribute ale altor obiecte, dacă acestea aparţin interfeţei;
. interacţiunile dintre obiecte specificate în faza de analiză sunt reprezentate acum prin operaţii;
se specifică semnătura operaţiilor şi nu ce face operaţia;
. se fac precizări suplimentare privind asocierile dintre obiecte; ele sunt implementate prin
atribute memorate într-una ori în ambele clase care se asociază, sau prin evidentierea legăturile
dintre tabele în cazul bazelor de date relaţionale .
Exemple:
In etapa de proiectare se construiesc diagrame de secvenţe pentru a evidenţia crearea unui obiect
persistent (fig.10).
Fig.10
Diagrama de activităţi construită pentru a detalia operaţia de editare a unei facturi este (fig.11):
Fig.11
Descrierea în pseudo-code a operaţiei detaliate în diagrama din figura 11 este:
Editeaza Factura
Jurnal-de-vânzări.open
Jurnal-de-vânzări.getRindVanzare
While Jurnal-de-vânzări.hasItems
Clienti.getClienti(RindVanzare.clientID)
Print detalii factura
While RindVanzare.clientID nu se schimba
Print RindVanzare
Add RindVanzare.valoare to total
Jurnal--de-vânzări.getRindVanzare
EndWhile
Print total factura
Apply discount
Calculate TVA
Print valoarea de plata
Skip next factura
EndWhile
Diagrama claselor din figura 6, completată cu atribute şi operaţii noi, adăugate după construirea
diagramelor de secvenţă, de colaborare şi de stare este (fig.12):
Teste recapitulative:
. Evidenţiaţi în diagrame cazuri de utilizare care interacţionează şi interferează unele cu altele.
. Construiţi diagrame de colaborare pentru evidenţierea funcţionalităţilor rezultate din
interacţiunile cazurilor de utilizare.
. Construiţi diagrame de activităţi ce detaliază interacţiunile dintre cazurile de utilizare.
. Construiţi diagrama claselor pentru activităţile ce vizează preluarea comenzilor şi livrarea
produselor.
. Construiţi diagrame ale claselor pentru procesele descrise în etapa de analiză.