Vous êtes sur la page 1sur 16

Abordarea orientata-obiect pentru

integrarea proceselor de afaceri in

sistemele informatice de gestiune

Musat Cristina
Mihai Florentina
SIMR, anul I

1
Cuprins

Sistemul informatic

Metodologii de realizarea a sistemelor informatice

• Metodologii de realizare a sistemelor informatice


cu abordare orientată obiect

2
Sistemul informatic

Sistemul informatic este un ansamblu structurat şi corelat de proceduri şi echipamente


electronice de calcul care permit culegerea, transmiterea şi prelucrarea datelor,
obţinerea de informaţii.

Structura generală a unui sistem informatic

Intrarile Prelucrarile Iesirile

Fig. 1 Structura ciclului de viată al sistemului informatic

3
Sistemul informatic este ansamblul format din produsul program şi elementele
folosite pentru exploatarea sa de către utilizator.
Termenul de sistem informatic este folosit pentru a desemna acea parte din sistemul
informaţional al unei organizaţii în care stocarea şi prelucrarea datelor se realizează prin
mijloace informatice.

Proiectarea unui sistem informatic impune pe de o parte folosirea unor resurse


financiare, umane şi materiale pe perioada desfăşurării acestei activităţi, iar pe de altă
parte impune parcurgerea unor activităţi specifice, utilizând diverse metode, tehnici,
instrumente şi procedee de lucru.

Nu este greu de înţeles că realizarea unui sistem informatic, sau doar a unei
aplicaţii, presupune modelarea situaţiei reale şi utilizarea modelului creat, în realitatea cu
care operează calculatorul.
Modelarea este reprezentarea într-un mediu controlat, a proprietăţilor şi/sau
fenomenelor şi proceselor care caracterizează un obiect sau un sistem real. Cu alte
cuvinte în modelare nu există adevăr absolut; modelarea presupune abstracţie şi aducerea
în atenţie numai a unor aspecte ale realităţii studiate şi anume acele aspecte care prezintă
interes pentru modelator. Unul din mediile controlate în care se poate reproduce
realitatea, deci unul în care se pot face modele, este calculatorul. Pe calculator se
realizează modele informaţionale.

Preocupările analiştilor-programatori pentru a pune în concordanţă structura


programelor cu metoda de analiză a sugerat o nouă abordare şi anume legarea
evenimentelor de obiect şi a programelor (numite de astă dată metode) de evenimente. A
apărut astfel abordarea orientată pe obiecte, numai că spre deosebire de celelalte
abordări, ea se extinde şi în alte domenii de activitate, devenind un mod de a concepe
realitatea, adică o paradigmă.

Metodologii de realizarea a sistemelor informatice

Metodologia de realizare a sistemului informatic cuprinde totalitatea procedurilor,


tehnicilor, instrumentelor utilizate în cadrul activităţilor de realizare a sistemului
informatic. Setul restrâns de reguli aplicabile unui domeniu restrâns din cadrul unei
metodologii definesc o metoda de realizare a unui sistem informatic.

Metodologiile de realizare a sistemelor informatice pot fi grupate în raport de


câteva criterii, astfel:
a. În raport de gradul de generalitate al metodologiilor de realizare a
sistemelor informatice:
 metodologii generale – pot fi utilizate pentru realizarea sistemelor
informatice din domenii diferite: metodologia SSADM (Structured System

4
Analysis and Design Methodology), metodologia MERISE (Methode d’Etude
et de realization informatique pour les Systemes d’Entreprise), metodologia
OMT (Object Modeling Technique), metodologia RUP (Rational Unified
Process);
 metodologii cadru – pot fi utilizate numai pentru realizarea anumitor sisteme
informatice: metodologia SIIPS (Selection and Implementation of Integrated
Packaged Software);
 metodologii specializate – se folosesc pentru dezvoltarea unui singur tip de
produs software: metodologia AIM pentru Oracle e Business Suite,
metodologia Signature pentru Scala, metodologia ASAP pentru SAP etc.

b. În funcţie de modalitatea de abordare a sistemelor informatice:


 metodologii cu abordare structurată – sistemul de proiectat este descompus
în subsisteme în raport de diverse criterii, fiecare urmând apoi să fie abordat
din punct de vedere static, funcţional şi dinamic, obţinându-se un model logic
(indică ce anume face sistemul şi este independent de implementare) şi unul
fizic al sistemului (indică cum funcţionează sistemul pentru o anumită
implementare). În această categorie sunt cuprinse: metologia YMS ( Yourdon
Systems Method), metodologia MERISE (Methode d’Etude et de realization
informatique pour les Systemes d’Entreprise), SSM (Soft System
Methodology), metodologia Institutului Centrului de Informatică din România
etc.;
 metodologii cu abordare orientată pe obiecte – sunt folosite în dezvoltarea
sistemelor informatice folosind conceptele tehnologiei orientate obiect:
metodologia OMT (Object Modeling Tehnique), OOSA (Object Oriented
Systems Analisys), OOSE (Object Oriented Software Engineering) etc.

c. În funcţie de modelul ciclului de viaţă:


 metodologii cu model de parcurgere în cascadă;
 metodologii cu model de parcurgere în spirală;
 metodologii cu model de parcurgere incremental;
 metodologii cu model de parcurgere evolutiv;
 metodologii cu modele compozite.

d. În funcţie de structura proceselor:


 metodologii monoproces;
 metodologii multiproces.

Avantajele utilizării acestor metodologii se pot sintetiza în:


 documentaţia de sistem se bazează pe reprezentarea grafică, facilă şi uşor de
înţeles atât pentru analişti cât şi pentru beneficiarii sistemului;
 flexibilitate în procesul de analiză şi proiectare;
 divizarea în subsisteme conduce la o coordonare şi dezvoltare eficientă a
sistemului în ansamblul său;

5
 se iau în considerare încă din faza iniţială detaliile de proiectare cu efect
benefic asupra costurilor de realizare a viitorului sistem, precum şi a duratei de
realizare;
 un mediu bine structurat încă din faza de analiză când sunt definite graniţele
dintre sistem şi mediu, precum şi modul de interacţiune între ele;
 dacă se modifică o activitate, analistul nu va fi nevoit să reia integral studiul
sistemului.

Utilizarea metodologiilor prezintă şi o serie de dezavantaje:


• reutilizarea este un demers riscant;
• focalizarea pe funcţii se realizează în detrimentul datelor şi a regulilor de
descompunere neexplicite;
• lipseşte coerenţa între date şi modul de dezvoltare;
• un melanj de constrângeri, ciclul de dezvoltare mult prea rigid;
• concentrarea efortului de analiză şi proiectare asupra prelucrărilor în
condiţiile în care acestea sunt cele mai supuse modificării în timp,
modelarea datelor căzând pe un plan secund;
• proliferarea aplicaţiilor creează propriile lor fişiere ducând la redundanţe
şi mai ales incoerenţă a datelor în sistemele de informare a organizaţiilor.

Metode orientate obiect (obiectuale)

- generaţia a treia, anii '90;


- se acordă
acordă atenţie deosebită atât structurii datelor, cât şi structurii funcţionale;
- sistemul informaţional/informatic este perceput ca o structură de obiecte autonome, ce
se organizează şi cooperează între ele;
- un obiect are un anumit comportament, definit prin ansamblul operaţiilor (serviciilor) pe
care le poate efectua; datele şi prelucrările prin care este implementat acest comportament
sunt încapsulate (mascate) şi sunt inaccesibile celorlalte obiecte;
- fiecare obiect poate participa la compunerea altor obiecte mai complexe;
- fiecare obiect poate interveni în mai multe funcţii sau scenarii funcţionale diferite.

Concepte de bază ale paradigmei obiectuale

Preocupările analiştilor-programatori pentru a pune în concordanţă structura


programelor cu metoda de analiză a sugerat o nouă abordare şi anume legarea
evenimentelor de obiect şi a programelor (numite de astă dată metode) de evenimente. A
apărut astfel abordarea orientată pe obiecte, numai că spre deosebire de celelalte
abordări, ea se extinde şi în alte domenii de activitate, devenind un mod de a concepe
realitatea, adică o paradigmă.

6
Aplicată mai întâi în domeniul programării, abordarea orientată obiect s-a impus
ca o nouă paradigmă informatică cu o utilizare din ce în ce mai largă. Vorbim astfel de
programare orientată pe obiecte (sau obiectuală), baze de date orientate pe obiecte,
analiză şi proiectare orientată pe obiecte, metode de reprezentare a cunoştinţelor
orientate pe obiecte.

Modelarea obiectuală a devenit astfel trăsătura comună generaţiei actuale de


metode de proiectare a sistemelor şi aplicaţiilor informatice de gestiune.
Abordarea obiectuală foloseşte cinci concepte de bază: obiectul, clasa, mesajul,
moştenirea şi polimorfismul la care se adaugă, într-un plan mai general, abstractizarea,
încapsularea, reutilizarea, persistenţa.

1. Obiecte si clase de obiecte

Obiectul constituie componenta elementară într-un sistem orientat pe obiecte.


Acesta poate corespunde unui concept, unei abstracţiuni sau unui lucru cu limite bine
definite şi cu semnificaţie precisă în spaţiul problemei studiate. Fiecare obiect posedă o
stare, un comportament şi o identitate.

Starea caracterizează obiectul şi este format din ansamblul de valori ale


atributelor sau proprietăţilor acestuia la un moment dat.
Comportamentul este definit de ansamblul de operaţii pe care le poate executa
obiectul. Comportamentul mai poate fi perceput şi ca un set de responsabilităţi asumate
sau de servicii oferite altor obiecte. Comportamentul obiectului este definit de ansamblul
operaţiilor sale şi depinde de starea în care se află.
Identitatea semnifică posibilitatea reprezentării şi conservări individualităţii fiecărui
obiect, indiferent de transformările sau schimbările de stare pe care le suportă.
Identificarea obiectelor se face datorită existenţei lor inerente şi nu printr-o proprietate
sau grup de proprietăţi.
Clasa descrie ansamblul, eventual infinit, de obiecte care au proprietăţi similare,
comportament comun, relaţii comune cu alte obiecte şi aceeaşi semantică. Gruparea
obiectelor în clase este rezultatul abstractizării, prin care se pleacă de la cazuri
particulare. Clasa abstractizează un grup de obiecte similare. Clasa cuprinde
elementele comune obiectelor ce-i aparţin, adică descrierea atributelor şi a operaţiilor.
Implementarea (maniera de execuţie) fiecărei operaţii este memorată în cadrul clasei
şi constituie o metodă. Metoda este implementarea unei operaţii.
Obiectele sunt entităţi dintr-un sistem software ce reprezintă entităţi din lumea
reală sau din alte sisteme.
Clasele de obiecte sunt modele (şabloane) pentru obiecte. Ele pot fi folosite pentru a crea
obiecte.
Clasele de obiecte pot moşteni atribute şi servicii (metode) de la alte clase de obiecte.

2. Mesajul

Schimbul de mesaje reprezintă forma universală de interacţiune între obiecte.

7
Mesajul este unitatea de comunicaţie dintre obiecte. Obiectele interacţionează
prin schimburi de mesaje.

Exemple de mesaje

// Apelul unei metode asociate cu un obiect


// buffer ce returnează următoarea valoare
// din buffer
v = circularBuffer.Get () ;

// Apelul unei metode asociate cu un


// obiect termostat care setează
// temperatura ce trebuie menţinută
thermostat.setTemp (20) ;

3. Mostenirea
Mostenirea se refera la mecanismul de transmitere a atributelor si metodelor de-a
lungul unei relatii de generalizare. Prin intermediul moştenirii se pot exprima diferite
relaţii dintre clase: generalizarea, specializarea, clasificarea, aproximaţia şi evoluţia.

Generalizare şi moştenire
• Obiectele sunt instanţe ale unor clase care definesc tipul atributelor şi operaţiile.
• Clasele pot fi aranjate într-o ierarhie de clase în care o clasă (super-clasă) este o
generalizare a uneia sau a mai multor clase (sub-clase).
• sub-clasă moşteneşte atributele şi metodele de la super-calsă şi poate adăuga
propriile metode şi atribute.
• Generalizarea din UML este implementată prin moştenire în limbajele de
programare orientate obiect.

Avantaje ale moştenirii


• Este un mecanism de abstractizare ce poate fi folosit pentru a clasifica entităţi.
• Este un mecanism de reutilizare atât la nivel de proiectare cât şi la nivel de
programare.
• ierarhie de moştenire este o sursă de informaţie de organizare despre domenii şi
siteme.

Probleme legate de moştenire

• Clasele de obiecte nu sunt independente, ele nu pot fi înţelese fără a face referire
la super-clase.
• Proiectanţii au tendinţa de a refolosi ierarhiile create la analiză, ceea ce poate duce
la ineficienţă.
• Ierarhiile de moştenire la analiză, proiectare şi programare au funcţii diferite şi
trebuie întreţinute separat.

8
Mostenirea poate fi simpla , cand fiecare clasa are exact o superclasa si multimpla daca o
clasa deriva din mai multe clase de baza.

Persoana

Student Angajat

Persoana

Student
Angajat

Laborant
Cadru didactic

Fig. nr.2 Mostenire multipla.

4. Polimorfismul

Polimorfismul desemnează capacitatea unei operaţii de a se aplica obiectelor din


clase diferite. Unul dintre cele mai comune exemple de polimorfism este reprezentat de
operatorii + şi — (minus), care exprimă adunarea, respectiv scăderea, atât pentru
numerele întregi cât şi pentru cele reale.

Polimorfismul reprezinta posibilitatea ca diferite obiecte sa reactioneze diferit la


acelasi mesaj.

În ceea ce priveşte sistemul orientat-obiect, polimorfismul înseamnă că putem avea mai


multe implementări ale unei funcţionalităţi particulare, respectiv, o operaţie se poate
aplica mai multor obicte din clase diferite.

Sa consideram ca exemplu aplicatia “Desenarea figurilor. Aceasta poate contine


urmatoarele:

9
 Clasa (generala) Figura;
 Clase derivate din clasa figura: Elipsa, Paralelogram, Triunghi;
 Clasa derivata din elipsa: Cerc;
 Clasa derivata din Paralelogram: Dreptunghi iar din acesta alta clasa
derivata este clasa Patrat;
 Clase derivata din triunghi: Triunghi_isoscel; Triunghi_dreptunghic;
Triunghi_echilateral.

Fiecare figura are ca atribute:


• Culoare_contur;
• Culoare_interior
• Abscisa
• Ordonata

Si metode:
• Schimba culoare_contur;
• Schimba culoare_interior
• Schimba Abscisa
• Schimba Ordonata
• Calcul Arie
• Desenare Figura.

5. Abstractizarea
Abstractizarea este procesul prin care se izolează şi se reţin numai o parte dintre
aspectele unei probleme, considerate esenţiale, ignorându-le pe celelalte. Aspectele
reţinute depind de scopul urmărit.

În cadrul abordării orientate obiect, există multiple utilizări specifice ale abstractizării.
Una dintre acestea o reprezintă conceptul de clasă. Clasele reprezintă abstractizări ale
unor mulţimi de obiecte.

6. Încapsularea

Încapsularea plasează o barieră între comportamentul exterior şi detaliile


interne.
Încapsularea, numită şi mascarea informaţiilor, constă în gruparea tuturor detaliilor de
implementare - moduri de reprezentare şi mecanisme de realizare a comportamentului -
într-o parte ascunsă, inaccesibilă din exterior.
Gradul de încapsulare este indicat de nivelul de vizibilitate. Vizibilitatea poate
fi fixată individual pentru fiecare atribut şi operaţie, respectiv metodă, ceea ce oferă un
spor de flexibilitate.

Un model bancar încapsulat.

10
Cititor card Ecran ATM
Număr card Prompt ()
Acceptă card
Scoate card AcceptInput ()
Citeşte card

Cont
Număr cont
PIN
Suma BANCOMAT
Deschide () Balans cash
Retrage sumă () Acordă cash ()
Deducere sumă () Acordă chitanţă ()
7. Reutilizarea
Verificare sumă ()
Reutilizarea constituie
unul dintre marile
avantaje promise de
abordarea orientată pe obiecte.

8.Persistenta
Persistenţa exprimă sarcina memorării obiectelor de la o execuţie la alta.

Metodologii de realizare a sistemelor informatice cu abordare orientată obiect

Deşi există un număr mare de metodologii cu abordare obiectuală de realizare a


sistemelor informatice, fiecare având anumite particularităţi, acestea sunt dezvoltate în
jurul unor aspecte comune:
 activităţile sunt grupate în raport de omogenitatea şi obiectivele urmărite în
etape;
 documentaţia de sistem permite îmbunătăţirea comunicării între cei care
participă la dezvoltarea noului sistem: analişti, utilizatori, proiectanţi şi
programatori;
 pentru descrierea sistemului se utilizează trei modele: modelul
obiectelor (static), modelul dinamic şi modelul funcţional;
 realizarea sistemului informatic se bazează pe o abordare ciclică, iterativă;
 ciclul de viaţă al dezvoltării sistemelor cu abordare obiectuală conţine în
general trei faze: analiza, proiectarea şi implementarea;
 permit reutilizarea rezultatelor din fazele de analiză, proiectare şi
implementare;
 comparativ cu metodologiile cu abordare structurată, abordarea orientată
obiect mută centrul de greutate al soluţionării problemei în faza de analiză,
fapt ce va fi compensat cu un minimum de efort în faza de implementare.

11
În prezent există mai multe metodologii de realizare a sistemelor orientate obiect precum:
Object Modeling Technique (OMT), Object Lifecycles (OL),
Object – Oriented Analysis and Design (OOAD), The Fusion Method, Object – oriented
System Development (OOSD), The Moses Method şi metodologii de realizare a
sistemelor informatice bazate pe UML.

Metodele de analiza si proiectare a sistemelor informatice utilizate in prezent se pot


grupa in doua mari tipuri de metode dupa cum urmeaza:
- metode traditionale (structurate pe modelarea datelor si pe modelarea
functiunilor sistemului informatic);
- metode orientate obiect (modelarea concomitenta a datelor si functiunilor,
obtinand ierarhii de clase de obiecte care incorporeaza atat datele cat si
comportamentul acestora).

Abordarea orientata pe obiecte muta centrul de greutate al solutionarii problemei in faza


de analiza, in scopul de a creste productivitatea muncii de analiza-proiectare-realizare si
implementare sisteme informatice.

Metoda orientată-obiect

Metodele OO constituie o categorie particulară a metodelor de dezvoltare software,


care privesc construirea sistemelor pentru care clasa reprezintă unitatea arhitecturală
fundamentală. Clasa este o grupare logică a obiectelor care au aceeaşi structură şi un
comportament similar.

1. Object Modelling Tehnique (OMT)


Object Modeling Technique (OMT) - este o tehnică de proiectare a sistemelor
informatice care însă a fost extinsă la rang de metodologie. Descrierea sistemului se
realizează cu ajutorul a trei modele:
- modelul obiectual (prezinta structura statica a modelului, formata din obiecte/
lucruri);
- modelul dinamic (prezinta interaciunea dintre obiectele modelului)
- modelul functional (prezinta transformarile din model).

MODEL OBIECTUAL
obiecte, lucruri

MODEL FUNCŢIONAL
MODEL DINAMIC transformări
interacţiuni

12
Fig. 3 Tipuri de modele utilizate în OMT

1. MODELUL OBIECTELOR (model structural), descrie obiectele din cadrul sistemului


si relatiile structurale dintre acestea. La nivelul acestui model se foloseşte Diagrama de
asociere a claselor (Class Association Diagram).

Obiective:
- identificarea atributelor, claselor (metodelor)
- identificarea asociatiei dintre clase de obiecte
- descoperirea relatiilor de generalizare
- crearea unui dictionar al datelor (lista atributelor, specificarea metodelor,
legaturile dintre ele)

2. MODELUL DINAMIC -descrie acele aspecte ale sistemului care se modifica in timp.
La nivelul acestui model se folosesc: Diagrama de trasare a evenimentelor (Event Trace
Diagram) şi Diagrama de tranziţie a stărilor (State Transition Diagram).

Obiective:
- interactiuni temporare intre obiecte
- stimularea obiectelor si raspunsurile acestoara (mesaje pe care le primesc)
- traducerea evenimentelor in operatii obiect.

3. MODELUL FUNCTIONAL descrie transformarile valorilor datelor de intrare in date


de iesire. La nivelul acestui model se foloseşte Diagrama de flux a datelor (Data Flow
Diagram), Diagrama de Comunicare a Claselor (Class Comunication Diagram),
Diagrama de Generalizare a Mesajelor (Message Generalization Diagram).

Obiective:
- dependente functionale ale obiectelor
- calculul obiectelor
- implementarea fiecarui proces printr-o metoda a unui singur obiect.

Avantaje: permite reutilizarea componentelor de program, favorizează modelarea şi


utilizarea de obiecte complexe.
Dezavantaje: percepţia şi reprezentarea monolitică de tipul "totul este obiect" nu
corespunde întotdeauna realităţii reprezentate.

Conform acestei metodologii se parcurg patru faze, la nivelul fiecărei etape


realizându-se o serie de activităţi specifice:

13
1. Etapa de analiză - vizează realizarea unui model global ce va conţine obiectele
din domeniul aplicaţiei, precum şi descrierea proprietăţilor şi comportamentului acestora.
La nivelul acestei etape se realizează următoarele activităţi:
• formularea problemei
• se iniţiază procesul de realizare a modelului obiectual;
• se iniţiază procesul de realizare a modelului dinamic;
• se iniţiază procesul de realizare a modelului funcţional.

2. Etapa de proiectare
La nivelul etapei se realizează următoarele activităţi:
• sistemul se descompune în subsisteme pe baza unor criterii de structurare;
• se identifică subsistemele concurente pentru optimizarea implementării;
• se determină necesarul resurselor hard şi soft necesare fiecărui subsistem;
• se decide cu privire la modul de organizare al datelor, respectiv al tipurilor de
acces.

3. Etapa de proiectare a obiectelor – are ca scop rafinarea modelelor obţinute în


fazele anterioare, parcurgându-se următoarele activităţi:
• se identifică operaţiile pentru modelul obiectual folosind celelalte modele: se
definesc operaţii pentru fiecare eveniment al modelului dinamic şi se determină
operaţiile aferente fiecărui proces descris în modelul funcţional;
• se proiectează algoritmii pentru implementarea operaţiilor;
• se definesc noi clase sau operaţii dacă acest lucru este necesar şi se realizează o
restructurare a celor existente pentru a creşte probabilitatea moştenirii;
• se optimizează căile de acces;
• se implementează controlul pornind de la soluţia aleasă pentru proiectarea de
sistem;
• se proiectează implementarea asocierilor;
• clasele şi asocierile se vor grupa în module.

4. Etapa de implementare – transpunerea modelului anterior obţinut într-un


limbaj de programare urmat de transferul sistemului realizat la nivelul beneficiarului,
unde se va verifica şi comportamentul acestuia în practică pentru a se putea trece la
exploatarea lui curentă.

14
Concluzii

• Proiectarea orientată obiect este o abordare a proiectării în care


componentele proiectate au operaţii şi stare internă.

• Obiectele trebuie să aibă un constructor şi operaţii de inspectare. Ele


oferă servicii altor obiecte.

• Obiectele pot fi implementate secvenţial sau concurent.

• UML (Unified Modeling Language) oferă diferite notaţii pentru


definirea diferitelor modele de obiecte.

• Diferite modele pot fi realizate în timpul proiectării orientate obiect.

• Acestea includ modele statice şi dinamice de sistem.

• Interfeţete obiectelor trebuie definite precis folosind chiar limbaje de


programare.

• Proiectarea orientată obiect poate simplifica mult evoluţia sistemului.

15
Bibliografie
1.C. Georgescu - "Suport de curs - Proiectarea sistemelor informatice"; Facultatea de
Ştiinte economice şi administrative; februarie 1995

2. Lungu I., Sabău Gh., Velicanu M. şi colectivul – Sisteme informatice – analiză,


proiectare şi implementare, Editura Economică, Bucureşti, 2003

16

Vous aimerez peut-être aussi