Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » referate » informatica
ANALIZA SI PROIECTAREA ORIENTATA OBIECT A SISTEMELOR INFORMATICE - APOO

ANALIZA SI PROIECTAREA ORIENTATA OBIECT A SISTEMELOR INFORMATICE - APOO


ANALIZA SI PROIECTAREA ORIENTATA OBIECT A SISTEMELOR INFORMATICE - APOO

1. Aspecte de ordin general

Conceptul de abordare obiectuala a aparut in jurul anului 1965 cand au fost elaborate primele limbaje de programare obiect dintre care amintim : SIMULA, SMALLTALK ( si limbaj si SGBD ), ADA, EIFEL, C++, COBOL_OB, SQL_OB, etc.

Limbajele de programare orientate obiect astfel elaborate nu si-au gasit o larga aplicabilitate in domeniu economic, intrucat nu existau modele de organizare a datelor corespunzatoare, acestea au aparut abia in jurul anilor 1980-primele sisteme de gestiune a bazelor de date orientate obiect.

Chiar si in astfel de conditii, limbajele de programare si SGBD orientate obiect nu au fost folosite pe scara larga in domeniu economic intrucat nu existau metodologii sau tehnici de realizare/ dezvoltare a S.I. in conceptia obiectuala.

Primele metodologii orientate obiect au aparut in jurul anilor 1990 cand s-au conturat 3 mari grupuri de realizatori de astfel de metododologii.



Fiecare metodologie prezenta anumite particularitati, folosea anumite simboluri, diagrame de reprezentare sau tipuri de modelare. Aceste diferentieri ridicau o serie de dificultati pentru utilizarea unor astfel de metodologii.

In ideea de a veni in sprijinul utilizatorilor s-au conturat preocupari (1993) de standardizare a metodologiilor de realizare a S.I. in conceptia de abordare obiectuala. Insa standardizarea s-a realizat in 1997 cand a fost elaborat primul standard UML care definea conceptele, simbolurile utilizate, tipurile de modele elaborate si tipurile de diagrame utilizate.

Ulterior au fost elaborate sub forma de User-Quide si specificatiile de utilizare a UML-ului, specificatii definite prin RUP (Rational Unified Process).

Concepte utilizate in APOO a sistemelor informatice

1.Conceptul de obiect - obiectul reprezinta o entitate concreta sau abstracta din mediul inconjurator. Prin abstractizare se spune ca tot ceea ce ne inconjoara ar constitui obiecte.

Intr-o astfel de formulare si mai mult in conceptia de analiza si proiectarea orientata obiect, poate fi redata mai bine realitatea inconjuratoare.

Orice obiect comporta o anumita descriere prin care se definesc proprietatile obiectului , precum si un anumit comportament.

Comportamentul nu reprezinta nimic altceva decat operatiile pe care le poate efectua acel obiect sau operatiile ce sunt efectuate asupra acelui obiect .

Multitudinea operatiilor grupate si implementate intr-un limbaj oarecum de programare poarta denumirea de metoda.

EX. de obiecte : masa, student, profesor, factura,contract, masina, etc.

2.Conceptul de clasa de obiecte - multitudinea obiectelor ce prezinta aceleasi proprietati si comportament.

3.Conceptul de incapsulare -presupune faptul ca datele precum si metodele apartinand unei clase de obiecte sunt stocate impreuna si incapsulate. Incapsularea sugereaza faptul ca datele si metodele sunt primite ca o cutie neagra (blak box), ascunse.

Utilizatorii nu au acces direct la date decat prin interfete care apeleaza metodele din cadrul clasei. Metodele la randul lor apeleaza datele.

4. Conceptul de interfata -interfata presupune un mesaj prin care se apeleaza ( citeaza ) o metoda din cadrul clasei de obiecte.

FACTURA

 
denumirea cls.de ob.

NR.FACTURA

DATA FACTURII

SERIA FACTURII.

COD FISCAL.

DEN.UNIT.EMITENTE..

 
definesc

proprietatile cls.

EMISA()

INCASATA()

REFUZATA()

 
de obiecte

interfata/mesaj

definesc 

metodele/comportamentul

Eexemplu de incapsulare:  - datele si metodele sunt incapsulate

OBS : Mesajul ar reprezenta citarea unei metode care la randul ei poate apare ca un program sau subprogram de tip procedura sau functie.

5.Conceptul de polimorfism- presupune faptul ca un acelasi mesaj poate fi adresat uneia sau mai multor clase de obiecte, primind raspunsuri diferite si cu semnificatiile diferite.

Ex : comanda PRINT ( WINDOWS ) - macroinstructiune

PRINT   - F1-text

- F2-prg

- F3-figuri CURSUL 6 18.12.2005

A

  6.Conceptul de mostenire-mostenirea comporta urmatoarea notatie


cu semnificatia : subclasa de obiecte B mosteneste proprietatile si comportamentul superclasei A.

Mostenirea poate fi :

simpla - situatie in care o subclasa B mosteneste proprietatile si comportamentul de la o singura superclasa de obiecte A

multipla- situatie in care o subclasa de obiecte mosteneste proprietatile si comportamentul de la doua sau mai multe supercalase de obiecte.


Exemplu:

Unde:

- superclasa de obiecte E mosteneste proprietatile si comportamentul de la 2 clase de obiecte A si B.

Proprietatea de mostenire ofera o serie de avantaje dintre care amintim :

ofera posibilitatea reutilizarii codului, programului - in acest mod

sporeste productivitatea muncii in activitatea de programare

- proprietatea de mostenire ofera facilitati in definirea ierarhiilor de clase de obiecte (specializarea sau generalizarea ).

ofera facilitati de definire de noi clase de obiecte sau de redefinire a unor clase de obiecte deja existente.

Exemplu :


- REDEFINIRE danseaza

sau


DETELE danseaza

Plecand de la superclasa de obiecte cu precizarea proprietatilor si metodelor comune persoanele au fost regrupate in doua subclase de obiecte : femei si barbati.

Pentru deosebirea celor doua subclase de obiecte, clasei femei i se mai adauga inca o metoda (comportament) cu denumirea croseteaza.

In continuare presupunem ca din anumite considerente de ordin practic ar prezenta interes gruparea barbatilor in doua categorii tineri si batrani ( deci au fost adaugate prin specializare doua subclase de obiecte).

Daca s-ar ramane la acest nivel, structura claselor de obiecte nu ar fi corecta intrucat nu ar reflecta in mod corect comportamentul celor doua subclase tineri si batrani.

Aceasta tinand seama de faptul ca cei batrani nu mai danseaa. Pentru redarea corecta a ierarhiilor de clase de obiecte din exemplul de referinta se va recurge la redefinirea metodei danseaza pentru subclasa batrani sau anularea metodei danseaza.

In acest mod sub aspectul comportamentului se ajunge ca tinerii sa rada, sa cante si sa danseze, iar pentru batrani ar ramane doar doua metode : a rade si a canta. In concluzie se poate deduce flexibilitatea definirii modelului static pentru sistemul sau aplicatia de referinta.

7.Conceptul de ierarhii de clase de obiecte- pe baza proprietatii de mostenire pot fi definite ierarhiile de clase de obiecte.

O astfel de ierarhie apare ca un model de structuri de date de tip arborescent.

EX  la nivelul unei universitati poate fi definita o structura ierarhica de forma :

La nivelul superclasei stud-UGB se definesc proprietatile si comportamentul comun tuturor studentilor cum ar fi CNP, nume, adresa.

La nivelul subclaselor de obiecte se mai adauga anumite caracteristici/ atribute precum si nume prin care se diferentiaza fiecare subclasa sau subclasa de obiecte.

Definirea ierarhiilor pe clase de obiecte ofera anumite avantae cum ar fi :

ofera facilitati sub aspectul specializarii sau generalizarii claselor de obiecte

reducerea timpului necesar actualizarii datelor sau simplificarii procedurilor de actualizare a datelor.

EX: este suficient a se actualia valoarea unui atribut ( ex: adresa studentului) la nivelul superclasei de obiecte, ca implicit actualizarea adresei studentului sa se propage la nivelul tuturor subclaselor de obiecte din cadrul ierarhiei.

8.Conceptul de specializare si generalizare

a)Specializarea -presupune o superclasa de obiecte asupra careia se aplica anumite criterii de regrupare a obiectelor clasei de reerinta ( deci se pleaca din start de la existenta unei superclase de obiecte )-ex : studenti-UGB.

b)Generalizarea -pentru generalizare utilizand proprietatea de mostenire se pleaca la doua sau mai multe clase de obiecte.

Clasele de obiecte deja existente se analizeaza in urma careia pot fi desprinse anumite proprietati sau metode comune celor doua sau mai multe clase de obiecte. Cu proprietatile si metodele comune se va recurge la redefinirea unei superclase de obiecte.

EX  presupune o structura de date ce ar include urmatoarele clase de obiecte la nivelul universitatii UGB

PERSONAL TESA

 

Cele trei clase de obiecte analizate ne ofera posibilitatea sa desprindem o concluzie de forma : cele trei clase de obiecte se refera la persoane si toate aceste persoane au anumite caracteristici comune cum ar fi CNP,nume si adresa.

Cu cele trei proprietati comune poate fi definita o superclasa de obiecte cu denumirea sugestiva de PERSOANA.

In urma generalizarii se ajunge la o structura de date de forma : 

9.Conceptul de asociere- asocierea are semnificatia de corespondenta din limbajul curent intre clase de obiecte.

Asocierea reflecta o corespondenta sau relatie abstracta intre clase de obiecte. Prin asociere se precizeaza relatii virtuale posibile intre clase de obiecte.

Corespondenta dintre un obiect al clasei de obiecte A cu multitudinea obiectelor dintr-o clasa B poarta denumirea de legatura.

Deci prin legatura se precizeaza la modul concret care obiect dintr-o clasa intra in corespondenta cu obiecte din alta clasa. In general asocierea se exprima printr-un verb.

EX  fie clasele de obiecte profesori si studenti. Intre cele doua clase de ob. Pot fi definite mai multe asocieri cu semnificatiile corespunzatoare, cum ar fi :

- profesorii INDRUMA studenti in vederea elaborarii lucrarii de licenta.

- un profesor poate sa nu INDRUME nici un student sau poate sa INDRUME mai multi studenti

- un student poate fi INDRUMAT de cel putin un cadru didactic si cel mult doua cadre didactice.

In acest context asocierea intre doua clase de obiecte poate fi de forma :

0,n 1,2

Reprezentarea asocierii redata mai sus indica o corespondenta virtuala intre cele doua clase fara a preciza un anumit profesor ce studenti indruma (corespondenta concreta).

Corespondenta concreta ce poarta numele de legatura este redata astfel :

- exemplu de legatura

ADAM


PROF.IONESCU INDRUMA STUDENTI CORNEA

POPESCU

Caracteristicile generale ale asocierii

denumirea asocierii - in general exprimata printr-un verb ( indruma, scrie, citeste)

rolul clasei in cadrul asocierii - sugereaza semnificatia clasei in cadrul asocierii

cardinalitatea asocierii

atribute ale asocierii

tipul asocierii

EX cardinalitatea/multiplicitatea asoc.

CLIENTI

 

BANCA

 

X,n den.asoc. 0,n


CREDITOR DEBITOR


Rolul clasei

Cardinalitatea sau multiplicitatea asocierii:

- se reda prin doi parametri de forma , unde x defineste minimalitatea asocierii, iar y defineste maximalitatea asocierii.

Cardinalitatea precieaza modul in care un obiect oarecare ( instanta) din cadrul unei clase de obiecte A poate intra in asociere cu alte instante dintr-o alta clasa B sau di aceiasi clasa.

In redarea cardinalitatii sunt folosite o serie de notatii dintre care :

VARIANTA 1:

B

  A

  a) 1,1

- cu semnificatia ca o instanta din A intra in corespondenta cu cel putin o instanta si cel mult o instanta din B .

Intr-o astfel de situatie fiecare instanta din A are o corespondenta cu o instanta din B.

Ex 1,1

este

Un primar este primar la cel putin o primarie si cel mult o primarie.

b)  0,1

O instanta din clasa A poate sa nu aiba relatie ( corespondenta ) cu nici o instanta din B sau sa aiba corespondenta cu cel mult o instanta din B.

PERSOANA

 
EX 

PARTID POLITIC

 
face parte 0,1

O persoana din clasa Persoane poate sa nu faca parte din nici un partid sau sa faca parte din cel mult un partid.O astfel de asociere reflecta o stare binara ( a fi sau a nu fi ).

A

  B

  c) 0,n

O instanta din clasa A poate sa nu aiba corespondenta cu nici o instanta din B sau sa aiba corespondenta mai multe instante din B.

COMANDA/CONTRACT

 

PRODUS

 
este 0,n

EX  comandat

Un produs poate sa nu fie solicitat ( contractat ) de nimeni sau nu poate fi contract de mai multi.

B

  A

  d) 1,n

O instanta din A intra in asociere cu una sau mai multe instante din B. OBS : constatam ca si de aceasta data o instanta din A obligatoriu isi regaseste o corespondenta de instanta in B.

COMANDA

 

PRODUS

 
EX 1,n

contine

VARIANTA 2 :

A

  B

 


a) 1 1 , 1 1 la 1 si cel mult 1

A

  B

  1 la 0 si adica 0 la 1 de la varianta 1

b)  1 0, 1

B

  A

 

1 0,n

c)


A

 

B

 
1 - 1,N + 1 1 , n

d)

Alta notatie  :

A

 

B

 
1,3


Minimalitatea si maximalitatea este redata de interval de valori : 1,3 sau 4,7 cazuri particulare ale celor de mai sus.

Atributele asocierii:

In anumite situatii asocierea poate fi insotita de o serie de atribute.

Intr-o astfel de situatie atributele definite la nivel de asociere nu apartin in totalitate nici unei clase A , nici altei clase B si apartin ambelor clase.( ca factor comun).

VALOARE IMP..

DATA IMP..

DOB.IMP..

SCADENTA..

 
EX : 1,n 0,n


CLIENT

 


Intr-o astfel de situatie cu atributele asocierii se defineste o subclasa intermediara de obiecte.

Tipul asocierii -precizeaza numarul de clase de obiecte ce participa la definirea asocierii.

Exista urmatoarele tipuri de asocieri :

-umane - situatie in care o clasa intra in asociere cu ea insasi, mai concret se poate spune ca instantele din cadrul unei clase de obiecte intra in asociere cu ele insasi.

O astfel de asociere mai poarta denumirea de asociere recursiva.

SALARIAT

 


EX

Sot 0,1

Sotie


- un salariat poate sa aiba sau nu sotia in societate

- un salariat poate sa nu aiba nici o sotie sau cel mult 1

O astfel de asociere da raspuns la o intrebare de forma : care sunt salariatii ( angajatii ) sot-sotie ce lucreaza in aceiasi companie.

- binare - presupune faptul ca asociere are loc intre doua clase de obiecte

AUTOR

 

CARTI

 
EX 

1,n ,1,n

- ternare - presupune faptul ca asocierea implica trei clase de obiecte

EX 1.


- un interpret poate canta una sau mai multe melodii.

- O melodie poate fi cantata de unu sau mai multi interpreti .

- un interpret poate sa nu mai aiba nici un CD sau poate sa aiba mai multe CD

- Pe un CD pot fi inregistrate una sau mai multe melodii.

EX. 2 :


z - asocieri - n -nare





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.


Comentarii literare

ALEXANDRU LAPUSNEANUL COMENTARIUL NUVELEI
Amintiri din copilarie de Ion Creanga comentariu
Baltagul - Mihail Sadoveanu - comentariu
BASMUL POPULAR PRASLEA CEL VOINIC SI MERELE DE AUR - comentariu

Personaje din literatura

Baltagul – caracterizarea personajelor
Caracterizare Alexandru Lapusneanul
Caracterizarea lui Gavilescu
Caracterizarea personajelor negative din basmul

Tehnica si mecanica

Cuplaje - definitii. notatii. exemple. repere istorice.
Actionare macara
Reprezentarea si cotarea filetelor

Economie

Criza financiara forteaza grupurile din industria siderurgica sa-si reduca productia si sa amane investitii
Metode de evaluare bazate pe venituri (metode de evaluare financiare)
Indicatori Macroeconomici

Geografie

Turismul pe terra
Vulcanii Și mediul
Padurile pe terra si industrializarea lemnului

Sinteza unui dispozitiv secvential de inmultire a numerelor binare reprezentate in complement de doi prin procedura James Robertson
Norton Commander - cum se utilizeaza
Elementele de baza ale unui template Joomla
Sumatoarele paralele pe principiul selectarii prin transport a sumei
CONCEPTUL DE DATA SI INFORMATIE
Date si informatii
Informatica - ce este informatica?
Trasaturile marketingului la inceput de secol XXI

Termeni si conditii
Contact
Creeaza si tu