Sunteți pe pagina 1din 12

ACADEMIA DE STUDII ECONOMICE

CIBERNETICA STATISTICA SI INFORMATICA ECONOMICA

Proiect Analiza și diagnoza


sistemelor economice
Analiza și proiectarea orientate obiect, exemple

Student: Tumurică Ionuț


Profesor coordonator: Bădescu Adrian
Grupa: 1034

1
Cuprins
Cuprins………………………………………………………………………………………...2
Abordarea obiectuală în informatică........................................................................................ 3
Modelul obiect: .......................................................................................................................... 3
Clasa de obiecte...................................................................................................................... 3
Reprezentarea grafică a claselor de obiecte: ........................................................................ 4
Mostenirea multiplă. .............................................................................................................. 5
Subclasele de obiecte ............................................................................................................. 5
Încapsularea ............................................................................................................................ 5
Polimorfismul........................................................................................................................... 5
Clase abstracte ....................................................................................................................... 6
Atribute si metode statice .......................................................................................................... 7
Modelul dinamic ........................................................................................................................ 7
Notația grafică ....................................................................................................................... 8
Modelul funcțional .................................................................................................................... 9
Reprezentarea grafica: ........................................................................................................ 10
Bibliografie .............................................................................................................................. 11

2
Abordarea obiectuală în informatică
Modelarea bazată pe obiecte are la bază un mode de gândire abstract asupra problemelor
din lumea reală.
Spre deosebire de metodele clasice de analiză și modelare bazate pe strctură, funcții și
date, analiza și modelarea orientată pe obiecte este diferită și ea constă în analiza unor obiecte
discrete din lumea reală, proiectarea unor obiecte model a aceste realități și apoi implementarea
acestora.
Filozofia bazată pe obiecte are la bază următoarele concepte importante și anume:
identificarea obiectelor, clasificarea lor, moștenirea, definirea polimorfismelor și ierarhizarea
obiectelor.
Toate sistemele care asigură orientarea pe obiect conţin aceste mecanisme esenţiale
chiar dacă ele nu se numesc la fel sau nu sunt implementate im aceeaşi manieră.
Analiza şi proiectarea orientată obiect foloseşte trei modele diferite pentru
descrierea unui sistem informatic:
1. Modelul obiect -> descrie obiectele şi relaţiile lor în sistem;
2. Modelul dinamic -> descrie interacţiunile între obiecte în cadrul sistemului;
3. Modelul funcţional -> descrie transformarea valorii datelor în sistem.
Modelul obiect:
Orice lucru din lumea înconjurătoare poate fi considerat un obiect (ex.: o maşină, o
persoană, un formular de cerere, un ordin de plată, o marfă etc. ).
Proprietati - care redau atributele fizice ale unui obiect.
Ex. pentru obiectul student ca proprietati pot fi:
 nume;  data nasterii;
 prenume;  localitatea, etc.;
sau pentru un text sau control dintr-o fereastra ecran se definesc urmatoarele proprietati
sau atribute:
 pozitia pe ecran;  culoarea;
 latimea;  variabila care il insoteste;
 inaltimea;  tipul fontului;
În varianta proiectării orientate obiect (POO) obiectele sunt grupate în clase şi subclase
de obiecte.
Clasa de obiecte: este formată din totalitatea proprietăţilor şi metodelor ce caracterizează o
anumită categorie de obiecte. (Ex. clasa studenţi, clasa imobile, clasa materiale, clasa profesori
etc.)
Între clase pot exista asemănări datorită unor proprietăţi şi metode comune (Ex. între
clasa studenţi şi clasa profesori pot exista una sau mai multe proprietăţi identice, cum ar fi:
proprietatea cetăţean, proprietatea vârstă etc.)
Între clase pot există deosebiri (Ex. între clasa studenţi şi clasa imobile, proprietatea
număr etaje apare numai la clasa imobile.)

3
Reprezentarea grafică a claselor de obiecte:

Sintaxa Exemplu
Numele - clasei PERSOANA
nume-atribut-1:tip-data-1=valoare implicita 1 nume:text = Popescu
nume-atribut-2:tip-data-2=valoare implicita 2 salariu:intreg = 3000000
…..
nume-atribut-3:tip-data-3=valoare implicita 3 data_nasterii: date = 01-11-196
...
nume-operatie-1:tip rezultat - 1 Schimba starea civila: casatorit
…..
nume-operatie-2:tip rezultat - 2 Schimba vechime: 20->25

Moştenirea este o particularitate a claselor de obiecte. În momentul creării unui obiect


este necesar să se precizeze clasa din care face parte obiectul respectiv pentru ca acesta să poată
moşteni: proprietăţile, metodele şi valorile prestabilite ale clasei părinte. În acest mod se pot
crea la infinit noi clase din clasele existente iar fiecare clasa nou creată va moştenii toate
elementele clasei părinte. Mai mult unele obiecte poat avea mai multe clase părinte moştenind
toate proprietăţile acestora.
Clasa de la care se moşteneşte este numită superclasa, iar clasa care moşteneşte este
numită subclasa.
Moştenirea este tranzitivă pe un număr oricât de mare de nivele. Instanţa unei subclase
este simultan instanţă a tuturor superclaselor sale.
Moştenirea poate fi exclusivă (obiectele pot aparţine unei singure subclase) sau
inclusivă (obiectele pot aparţine mai multor subclase din aceeaşi arborescentă).
De exemplu, în cazul sistemului de revizii și reparații clasa mijloacelor fixe amortizabile
transmite unele caracteristici existente în normative (durata medie de funcționare, planificarea
pe baza ciclurilor de reparații) clasei instalațiilor care are și caracteristici proprii (oprirea
completă pentru revizii periodice, continuitatea procesului tehnologic) și care sunt preluate de
utilajele și echipamentele componente. Acestea, la rândul lor, au unele caracteristici prorii, cum
ar fi: oprirea pentru intervenții în afara pretioadelor de revizie, planificarea reparațiilor conform
normativelor republicane sau normelor interne, regimul de funcționare, calculul amortizării etc.
Un alt exemplu îl constituie clasa conturilor dintr-o bancă care transmite anumite
caracteristici (cod cont, tip cont, valoare cont, data maturării, nume client etc) clasei conturilor
clienților individuali și aceasta transmite o parte din aceste caracteristici clasei conturilor
expirate.

4
Mostenirea multiplă permite unei clase să aibă mai multe superclase directe și să
moștenească proprietățile tuturor.

VEHICOL

VEHICOL-TERESTRU VEHICOL-MARIN

AUTOMOBIL VEHICOL-AMFIBIU VAPOR

Subclasele de obiecte -> sunt definite drept clase derivate dintr-o clasă parinte, care iau
naștere dintr-un grup de clase.
Ex. subclasa profesor face parte din clasa angajat și clasa cetățean.
Încapsularea : este un termen formal care descrie legarea datelor şi a metodelor împreună
într-un obiect astfel încât accesul la date să fie permis numai prin intermediul metodelor proprii
obiectului.
Definirea obiectului se bazează pe principiul încapsulării, adică obiectul regrupează în
cadrul entităţii unice, datele şi procedurile pe care le manipulează.
Încapsularea (ascunderea informaţiei) este o tehnică de structurare a uni sistem, atunci
când sistemul este alcătuit dintr-o colecţie de module care sunt accesibile printr-o interfaţă bine
definită.
Ex. interfaţă unii obiect poate fi comparată cu un contract de tip client-furnizor, în care: clientul
(obiect) adresează cereri (mesaje) furnizorului (obiect), pentru a i se face anumite servicii
(metode) pe care furnizorul ştie şi poate să le realizeze.
Polimorfismul: este proprietatea care ne arată că o aceeași operație poate să aibă sens
diferit pentru obiecte sau clase de obiecte diferite. Aceste operații pot fi reunite în metode pe
clase de obiecte și apoi particularizate. Pe baza acestei proproități fiecare clasă poate srăspundă
într-un mod propriu, specific, la fiecare operație inclusă în metodă.
Spre exemplu: operația de pensionare pentru clasa angajaților și cea a executivului ,
prezintă un polimorfism deoarece metoda depinde de tipul clasei: executiv sau angajați
obișnuiși. Caracteristicile personalului (sex, vechime etc) definesc metoda de pensionare, ea

5
fiind moștenită de toți angajații, dar pentru personalul executiv metoda este diferită și aceasta
poate modifica la rândul ei metoda de pensionare a angajaților obișnuiți.

Clase abstracte
O clasa abstractă este o clasa care nu are obiecte directe dar ale căror clase descendente
au obiecte. O clasa concretă poate avea subclase abstracte, cu condiţia ca acestea să aibă
subclase concrete.
O clasa abstractă nu poate fi clasa terminală în arborele de moştenire.

subclasa subclasa
Clasa

Clasa Clasa
Instanta
concreta abstracta
superclasa

Clasa Clasa
superclasa terminala neterminala

Clasele abstracte servesc pentru:


- încapsularea claselor care participa la aceleaşi asocieri sau agregări;
- definirea metodelor care urmează a fi moştenite de subclase; este posibil să se
definească numai semnătură metodei (protocolul de invocare) urmând că implementarea
concretă să se facă la nivelul fiecărei subclase.

6
Atribute si metode statice
Atributele şi metodele statice sunt elemente definite la nivelul clasei. Ele servesc pentru
a descrie proprietăţi sau a implementa operaţii referitoare la clasa privită şi ea că obiect (mai
precis că un metaobiect).
În această categorie se includ:
- atribute care descriu ansamblul obiectelor clasei respective şi nu fiecare obiect (de
exemplu, numărul de instantieri existente la un moment dat);
- metode care operează asupra ansamblului ( de exemplu, parcurgerea, unul câte unul, a
obiectelor clasei respective) sau care nu pot fi plasate la nivelul obiectelor (constructorii -
metode care crează un nou obiect din clasa respectivă - şi destructorii - metode care suprimă un
obiect existent).
De exemplu, pentru linia de asamblare putem defini următoarele clase de obiecte:
 clasa indicatorilor, ce are ca atribute: posturile de lucru, întreaga linie, iar ca operații:
formule de calcul a acestor indicatori și comparări cu anumite valori admisibile date;
 clasa posturilor de lucru, ce are ca atribute: numărul postului, timpul disponibil pe post,
timpul de ocupare al postului, iar ca operații: calcularea indicatorilor specifici postului,
compararea acestora cu valori date, alocarea activităților pe post;
 clasa activităților, ce are ca tribute: nodul de început, nodul de sfârșit, durata activității,
coeficientul de importanță, iar ca operații: căutare, selectare, alocare, ștergere.
Aceste clase pot fi împărțite în subclase. De exemplu, dacă ne referim la clasa activităților,
avem subclasa activităților alocate și subclasa activităților nealocate și aceasta din urmă
poate fi divizată în subclasa activităților candidate și subclasa activităților condiționate. În
mod asemănător, clasa posturilor de lucru cuprinde subclasa posturilor deja alocate și
nealocate.
Modelul dinamic
Modelul dinamic prezintă modificările suportate de obiecte şi corelaţiile temporale
dintre acestea.
Conceptele de baza:
- evenimente
- stări.
Eveniment:
- un fapt intervenit într-un anumit moment;
- conceptual, un eveniment nu are durată.
Ordine de apariţie a evenimentelor poate fi dirijată de legături de cauzalitate. Spre
exemplu, plata unei facturi se face numai după recepţia mărfurilor facturate.
Două evenimente care nu au nici o influiență unul asupra altuia sunt numite concurente,
ordinea lor putând fi oarecare.
Un eveniment trasportă informaţie către un obiect sau de la un obiect la altul. Datele
transmise sunt atributele evenimentului.
Scenariul: secvenţă de evenimente care se derulează într-o anumită execuţie particulară a
sistemului. Aria unui scenariu poate varia, poate cuprinde toate evenimentele sau numai
evenimentele corespunzătoare unui anumit obiect sau unei situaţii.
Starea:
- o abstractizare a valorilor, atributelor şi a legăturilor unui obiect;
- mulţimile de valori sunt grupate în stări în funcţie de proprietăţile care afectează
comportamentul ansamblului obiectului;
- reprezintă răspunsul obiectului la evenimentele de intrare.

7
Răspunsul la un eveniment apărut poate varia cantitativ, în funcţie de valoarea exactă a
atributelor sale, dar sub aspect calitativ este identic pentru toate valorile aceluiaşi eveniment şi
poate varia pentru valori de stare diferite. Acest răspuns poate cuprinde o acţiune sau o
schimbare de de stare.
Notația grafică

stare initiala

nume_stare eveniment (atribute) conditii /actiuni


executa: activitate

stare tranzitie stare

stare finala

Ex: Automat de distribuție a cafelei și băuturilor răcoritoare

Incasare suma
In asteptare introducere monede(total)/
creste suma
anulare/restituie monezi

selecteaza(articol) articol vid


rest < 0

executa: testeaza articol si calculeaza


rest

rest = 0 rest > 0

executa: distribuie articol executa: restituie rest

Modelul dinamic se construiește pe baza diagramelor de tranziție a stărilor și a


diagramei de trasare a evenimentelor.
Diagrama de trasare a evenimentelor evidențiază clasele și evenimentele ce stabilesc
conexiunile dinamice între aceste clase.
Diagrama de traziție a stărilor arată, pentru fluxul de evenimente atașate unei clase
modul în care obiectele trec dintr-o clasă în alta.
Ex. În cazul liniei de asamblare, diagrama de trasare a evenimentelor, are în vedere urmatoarele
clase: posturile de lucru, activitățile, indicatorii (referitori la postul de lucru, cum ar fi: timpul
mediu de ocupare al postului de lucru, gradul de încarcare etc. sau referitori la întreaga linie,
cum ar fi: abaterea de echilbrare, indicile de uniformitate etc.).

8
Diagrama de tranziție a stărilor, în cazul clasei activităților evidențiază evenimentele ce
determină formarea subclasei activităților selectate , în așteptare și în execuție.
Modelul funcțional
Modelul funcţional tratează o altă faţetă a prelucrărilor şi anume cea referitoare la modul
în care are loc transformarea datelor, în marea majoritate a cazurilor, prin calcule.
Modelul funcţional oferă o imagine a funcţionării sistemului compusă din seturi de date
care traversează o suită de prelucrări în cursul cărora suferă transformări.
Fiecare suită de asemenea transformări este reprezentată într-o diagramă de flux.
O diagramă de flux se compune din:
 prelucrări;
 fluxuri de date;
 obiecte actor;
 obiecte rezervor.

Obiect Obiect
prelucrare
actor actor

fluxuri de date

Obiect
rezervor
Transformările ce figurează într-o diagramă sunt jalonate de obiecte actor (sau obiecte
agent), care marchează provenienţă şi destinaţia datelor (locul de "consum" sau de utilizare al
acestora) delimitând astfel punctele de intrare şi de ieşire din diagramă. Această face să mai fie
denumite şi "borne" ale diagramei.
Obiectele actor sunt obiecte active, în sensul că dirijează suită de transformări prin
producerea sau consumarea de date. Acţiunea lor este exterioară diagramei de flux dar trebuie
să figureze în mod normal în modelul dinamic.
Ansamblul de date (eventual una singură) care leagă ieşirea unui obiect sau a unei
prelucrări de intrarea unui alt obiect sau a unei alte prelucrări constituie un flux de date.
Obiectele rezervor sunt obiecte pasive care stochează temporar date în vederea unui
acces ulterior. Această categorie de obiecte nu declanşează prelucrări, rolul lor exclusiv fiind
acela de a răspunde cererilor de furnizare sau de stocare a datelor. Obiectele rezervor permit

9
existenţa unui decalaj în timp între momentul apariţiei sau producerii datelor şi momentul
utilizării lor. De asemenea, permit acumularea de date ce urmează a fi prelucrate împreună.
Reprezentarea grafica:

obiect actor flux de date prelucrare obiect rezervor

Exemplu:
cod actualizare
denumire Nomenclator Client sold
pret retragere

cod pret Cont bancar


cauta pret

b
a

a) Nomenclator este un obiect rezervor. O intrare în acest obiect constă dintr-un grup de trei
date: cod, denumire, preţ. Caută preţ este o prelucrare, care are două intrări: cod şi obiectul
Nomenclator şi o ieşire : preţul corespunzător codului.
b) Client este un obiect actor iar Cont bancar un obiect rezervor. Prelucrarea, actualizare
execută o consultare şi o înregistrare în contul bancar pentru operarea retragerii cerute de către
client.
Exemplu: tranzactii bancare realizate prin bancomat

Card cod card, cod banca

Bancomat
parola
tip tranzactie
suma

Client bancnote
extras operatie
mesaje

10
Schema de ansamblu a intrărilor si ieșirilor

Cont
Card bancar

cod card, cod banca sold

citeste efectueaza genereaza


date tranzactia iesiri

parola mesaje
tip tranzactie bancnote
suma extras operatie
Client

Diagrama de flux al datelor

cod card, cod banca cod card invalid


selecteaza
card
parola
parola verifica parola incorecta
parola

Cont
bancar

sold

tip tranzactie, suma


actualizeaza mesaje esec
cont

bancnote
extras operatie

Bibliografie
11
1. http://www.academia.edu/10485720/Problematica_analizei_diagnozei_%C5%9Fi_eva
lu%C4%83rii_sistemelor
2. http://www.biblioteca-digitala.ase.ro/biblioteca/pagina2.asp?id=cap5
3. http://www.wikipedia.ro

12