QReferate - referate pentru educatia ta.
Cercetarile noastre - sursa ta de inspiratie! Te ajutam gratuit, documente cu imagini si grafice. Fiecare document sau comentariu il poti downloada rapid si il poti folosi pentru temele tale de acasa.



AdministratieAlimentatieArta culturaAsistenta socialaAstronomie
BiologieChimieComunicareConstructiiCosmetica
DesenDiverseDreptEconomieEngleza
FilozofieFizicaFrancezaGeografieGermana
InformaticaIstorieLatinaManagementMarketing
MatematicaMecanicaMedicinaPedagogiePsihologie
RomanaStiinte politiceTransporturiTurism
Esti aici: Qreferat » Documente informatica

Analiza orientata pe obiecte



ANALIZA ORIENTATA PE OBIECTE


Modelarea pe obiecte


ANALIZA ORIENTATA OBIECT (AOO) este etapa din ciclu de viata al sistemului informatic in care analiza sistemului existent este abordata cu ajutorul modelarii pe obiecte.


AOO utilizeaza o serie de tehnici pentru:

studierea obiectelor existente in scopul identificarii posibilitatilor de reutilizare si adaptare a acestora pentru noi utilizari;



definirea de noi obiecte sau a unor obiecte modificate care vor fi combinate cu obiectele existente pentru solutionarea unei aplicatii informatice.



AOO se bazeaza pe o serie de concepte care permit o noua abordare a proceselor de dezvoltare a Sistemelor informatice, cum ar fi conceptul de:

obiect

instanta

comportare

incapsulare

clasa

mostenire

generalizare

asociere

multiplicitate

incapsulare

polimorfism

proces

instrumente de tip CASE

etc.


Concete de baza:


Obiectul - descrie o entitate a lumii reale care se distinge de alte entitati deoarece prezinta propria identitate si are o anumita semnificatie in contextul aplicatiei modelate. (obiectul exista in timp si spatiu!!!)


Elemente caracteristice ale unui obiect:

  1. Un obiect se defineste prin stare. Starea obiectului este data de valoarea pe care atributele ce descriu caracteristicile obiectului le iau . Starea descrie partea statica a obiectului,
  2. Comportamentul descrie partea dinamica a unui obiect. Comportamentul este dat de multimea operatiilor pe care obiectul le poate executa.
  3. Obiectul are o anume identitate.

Observatii:

1. Obiectul are o stare descrisa de valorile atributelor sale, are un comportament descris prin multimea opeartiilor pe care le poate executa si are o identitate.

2. Obiectul este o unitate de observare in care se incapsuleaza atat datele care descriu obiectul, cat si operatiile pe care obiectul le poate executa


Exemplu:

Obiect complex ----- cuprinde in multimea atributelor sale si atribute ale caror valori reprezinta identificatorul unui alt obiect.

Factura: .





Atributul reprezinta o caracteristica definitoarie pentru clasa din care face parte obiectul. Are un anumit tip si primeste o anume valoare, iar la nivelul clasei primeste un anumit nume: Ex: (Ionescu din clasa studenti)


Comportamentul e dat de operatiile pe care un obiect le poate executa ca raspuns la mesajele pe care le primeste de la un alt obiect.


Identitatea e proprietatea unui obiect care permite identificarea sa in raport cu alte obiecte de acelasi fel. Daca se modifica valoarea atributelor, acest lucru nu afecteaza identitatea obiectului. Identificatorul obiectului serveste la legarea obiectelor intre ele.


Clasa de obiecte descrie o multime de obiecte cu proprietati similare, comportament similar si legaturi similare fata de alte obiecte.


Un obiect este o instanta a unei clase !!!!!



Reprezentarea generica a clasei:


NUME CLASA

se definesc o multime de atribute corespunzatoare caracteristicilor definitorii (nume atribut, tip, valoare implicita) (partea statica)


-se definesc multimea de operatii ( nume operatii, lista argumente, tip rezultatreturnat)(partea dinamica)


Exemplu:

CONT

Simbol: integer

Denumire: string

Tip: string

Sold: integer

Se deiteaza

Se crediteaza

Calculeaza sold


Ex. 2: Operatii care definesc clasa CONTRACT: adauga contract; modifica contract; calculeaza garantie minima .


Observatii:

  1. Pentru fiecare clasa de obiecte se specifica multimea atributelor (variabile ce vor primi realizari diferite pt. fiecare obiect) si se prezinta o serie de operatii.
  2. Fiecare obiect este o instanta a clasei pentru care atributele primesc anumite valori.

Variabile:


Variabilele la nivelul clasei au valori dintr-un anumit domeniu pentru toate obiectele ce apartin clasei.

Variabilele de instanta sunt variabilele care prezinta valori particulare pentru fiecare obiect in parte.


Operatii si metode


Opeartia se defineste in cadrul unei clase si reprezinta o functie, o prelucrare aplicata pe fiecare din obiectele apartinand clasei respective.


Implementarea concreta a unei operatii pentru o anumita clasa poarta numele de metoda.

Nu toate obiectele aceleiasi clase raspund la fel la acelasi mesaj.


Mesajul este o cerere adresata unui obiect de catre un alt obiect urmarind fie modificarea starii obiectului, fie extragerea unei valori.


Acelasi mesaj va genera efecte diferite pentru fiecare din obiectele receptoare, pentru ca mesajul spune obiectului ce sa faca.


Metodele vor spune obiectului cum sa raspunda la mesaj pentru a solutiona cererea.


Un mesaj este format din trei parti:

identificatorul obiectului receptor;

metoda ceruta a se executa;

o informatie speciala utila receptorului pentru a executa optional ceruta, informatie care se numeste parametru. Parametrii pot fi niste valori sau chiar identificarul unui alt obiect.


Setul tuturor mesajelor pe care un obiect le intelege formeaza interfata obiectului respectiv.


Setul mesajelor asociate unui obiect se clasifica in:

constructori - mesaje de creare si eventual instantiere a obiectului;

destructori - mesaje de distrugere a obietului (consecinta este eliberarea resurselor alocate/ocupate);

modificatori - modifica starea obiectului

selectori - urmaresc cunoasterea starii obiectului

iteratori - mesaje asociate cu obiecte prezentand o structura complexa, prin care se returneaza partile sale componente, intr-o anumita seventa.



Cursul nr. II


INCAPSULAREA sau ascunderea informatiei (ea nu poate fi moficata din exterior)


Stim ca un obiect se caracterizeaza prin :

a)structura care regrupeaza atributele , care pot lua valori atomice sau valori complexe (ex. nume de obiecte)

b) interfata compusa din selectorii metodelor si reprezinta partea vizibila a obiectului.


Concluzii:

structura obiectului este cunoscuta doar de el insusi (adica nu este accesibila din exterior);

un obiect nu poate fi manipulat decat prin metodele asociate lui;

prin incapsulare structura si metodele obiectului nu pot fi modificate/accesate din exterior.


POLIMORFISM - posibilitatea ca diferite obiecte sa reactioneze diferit la acelasi mesaj;


Observatie:

-1. Obiectele sunt definite independent unul de celalalt. Rezulta ca numele unor metode poate sa fie acelasi.

2.Fiecare obiect cunoaste doar propria definire pentru metoda "calculeaza valoarea". Nu exista intrebarea care din metode "calculeaza valoarea" sa o execute.


Ex. Avem un portofoliu de instrumente financiare si vrem sa calculam valoarea acestora. Fiecare instrument financiar stie cum sa-si calculeze valoarea, stie deci metoda utilizata pentru "calculeaza valoarea".


LEGATURI SI ASOCIERI

Legatura exprima o conexiune fizica sau conceptuala intre obiecte (instante)

Asocierea indica grupul de legaturi cu aceeasi structura si aceeasi semantica.





Atributele unei asocieri





In unele cazuri este util sa modelam asocierea ca pe o clasa, fiecarei legaturi corespunzandu-I o instanta a clasei respective:


Noua clasa are o existenta determinata de CLIENTI si PRODUS. Rezulta ca este dependenta de existenta acestoara


Rolul - se identifica prin nume de roluri: r1 = Clientu; comanda produse

R2= produsul este comandat de Client



AGREGATUL exprima o relatie de tip parte a unui intreg in care niste obiecte reprezintand componente ale unui intreg sunt asociate cu acel obiect (cu intregul)


Agregarea are anumite proprietati:

1.este tranzitiva:daca A este parte a lui B si B este parte a lui C, rezulta A este parte a lui C

  1. este antisimetrica: daca A este parte a lui B, rezulta B nu este parte a lui A.


GENERALIZAREA SI MOSTENIREA

Sunt abstractizari care permit transmiterea similitudinilor de la o clasa la alta, pastrand diferentele dintre acestea.

Intre clase se defineste o ierarhie in care sunt implicate superclasele si versiunile mai rafinate ale acestora numite subclase (clase derivate).


Fiecare subclasa va mosteni metodele si atributele superclasei in care se include.

Prin generalizare grupam informatiile cele mai generale din clase la nivelul superclasei. Clasele vor fi specializate din aproape in aproape in subclase implantand comportamente din ce in ce mai particulare.









Generalizarea se refera la relatia dintre clase.

Mostenirea se refera la mecanismul de transmitere a atributelor si metodelor de-a lungul unei relatii de generalizare.

Generalizarea este utila atat in modelarea conceptuala cat si in implementare si a devedit sinonima cu notiunea de reutilizare a codului. Trasaturile reutilizabile sunt grupate in superclase, urmand ca fiecare programator sa-si implementeze subclase proprii prin care adauga trasaturi si metode noi superclaselor, specifice aplicatiei.


Mostenire: - simpla ; multipla




AGREGAREA SI ASOCIEREA

Daca doua obiecte sunt legate printr-o relatie de tip parte la intreg, atunci aceasta realtie este de agregare.

Daca doua obiecte sunt independente atunci relatia este de asociere.

AGREGARE SI GENERALIZARE

Agregarea se refera la partile componente ale unui intreg.

Generalizarea este legata de modelul de detaliere si rafinare a clasei.

Ambele reprezinta sub forma de arbori:

- un arbore de agregare este format din acele obiecte care sunt parti ale obiectului compus;

-un arbore de generalizare este format din clasele care descriu aceleasi obiecte, dar la nivele de detaliere diferite


Clasa :

- abstracta - care nu are instante directe, dar ale carui descendenti au instante directe.

concreta - are instante directe.


Ex: Clasa abstracta: VEHICUL, dar descendenti: TERESTRU, AERIAN< ACVATIC au instante directe.


EXTENSII SI RESTRICTII IN MOSTENIRE:


Extensia: poate afecta partea statica a clasei (atributele) prin:

adaugarea intr-o subclasa de noi proprietati alaturi de cele mostenite;

redefinirea (unie metode) pt. extensie: noua operatie este la fel ca operatia mostenita, doar ca adauga un comportament nou care poate utiliza noile atribute din subclasa.


Restrictii:


limitarea valorilor pe care obiectele le pot lua pentru atributele mostenite;

redefinirea pentru restrictii: noua operatie restrange domeniul de actiune a operatiei mostenite (limiteaza domeniul de valori pentru tipul argumentelor)

restrictiile pot sa se exercite si asupra asocierilor.


Curs nr. III

MODELUL OBIECTELOR (model structural), descrie obiectele din cadrul sistemului si relatiile structurale dintre acestea.


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


I. MODELUL DINAMIC descrierea acelor aspecte ale sistemului care se modifica in timp.


Obiective:

interactiuni temporare intre obiecte

stimularea obiectelor si raspunsurile acestoara (mesaje pe care le primesc)

traducerea evenimentelor in operatii obiect.


II. MODELUL FUNCTIONAL descrie transformarile valorilor datelor de intrare in date de iesire


Obiective:

dependente functionale ale obiectelor

calculul obiectelor

implementarea fiecarui proces printr-o metoda a unui singur obiect.



I. MODELUL DINAMIC descrie starea in care se afla un obiect si tranzitiile sale in alte stari ca urmare a unor stimuli externi numiti evenimente

Pentru fiecare obiect (din modelul obiectelor) se realizeaza o diagrama a tranzitiilor de stari (diagrama starilor).


CONCEPTE

1.STAREA unui obiect este data de multimea tuturor atributelor si legaturilor acelui obiect

se poate schimba in timp ca urmare a unor stimuli externi numiti evenimente;

pentru fiecare obiect aceasta schimbare este reflectata in diagrama dinamica a obiectului.

. Un obiect care emite un eveniment se numeste CLIENT

. Un obiect receptor al unui eveniment se numeste SERVER

Evenimentul va corespunde unei metode care va apartine clasei receptoare (clasei suport al serverului).


2. EVENIMENTE :

- un eveniment se produce la un moment de timp si nu are durata

un eveniment poate preceda sau succeda un alt eveniment

cele doua evenimente pot fi sau nu legate printr-o legatura de cauzalitate

evenimentul este purtatorul de informatii de la un obiect la altul.

Rspunsul obiectului recetor este determinat de starea sa.


3. SCENARII:

un sceariu este o secventa de evenimente ce se deruleaza de-a lungul executiei sistemului.


Exemplu: - automatul solicita introducerea codului PIN

- automatul receptioneaza parola corecta -

- automatul compara parolele

- automatul solicita specificarea sumei de bani de eliberat

- automatul receptioneaza sold-ul card-ului

- automatul compara sumele

- automatul elibereaza numerarul

- automatulactulaizeaza sold-ul card-ului


O stare poate raspunde unui obiect la evenimente. Acest raspuns poate fi o actiune sau schimbarea starii obiectului.

O stare corespunde intervalului dintre doua evenimente receptate de obiect

O stare poate fi uneori asociata unei activitati continue sau cu o actiune care ia un timp de executie.


Diagrama succesiunii evenimentelor:


CLIENT CONT BANCAR

Introduce PIN

Primeste PIN

Daca PIN e corect , introduce suma dorita

Transmite sold

Daca suma e corecta

Elibereaza numerar


Actualizeaza sold


  1. TRANZITIE: trecerea obiectului dintr-o stare in alta ca urmare a producerii unui eveniment extern

5. DIAGRAMA DE STARE: leaga evenimente de stari. Este un graf orientat care starile obiectului sunt reprezentate prin noduri iar tranzitiile dintre stari sunt reprezentate prin arce si sunt desemnate prin numele evenimentelor.

Se defineste o diagrama de stare pentru fiecare clasa de obiecte, adica o diagrama specifica secventei starilor provocate de o secventa de evenimente.


Exemplu: Diagrama starilor pentru AUTOMAT:




Diagrama are un ciclu infinit (se intoarce la starea INACTIV).

O diagrama pentru un obiect cu o viata finita prezinta o stare de pornire (initiala) si o stare finala.


Conditii:

Conditia este o functie booleeana avand ca parametrii obiecte.

Conditiile se folosesc pentru a stabili momentul cand va avea loc o anumita tranzitie.

O tranzitie conditionata se executa numai atunci cand apare evenimentul declansator si conditia corespunzatoare este indeplinita.


6. OPERATII . Diagrama de stare nu specifica doar evenimentele, ci descriu si ce face un obiect ca raspuns la evenimente. Raspunsul obiectului este descris de operatiile care sunt de doua feluri.


  1. ACTIVITATE: o operatie care are durata de timp

- este asociata unei stari

in diagrama de stari este specificata prin cuvantul cheie DO: urmat de continutul activitatii.


  1. ACTIUNE: o operatie instantanee

este asociata unui eveniment si in diagrama este specificata prin caracterul " / " urmat de numele actiunii.


Exemplu: Activitatea unui meniu pe ecran:





Concluzii: Modelul dinamic consta dintr-o colectie de diagrame de stari (fiecarui obiect ii corespunde o astfel de diagrama) care interactioneaza unele cu altele prin intermediul evenimentelor partajate (evenimente comune mai multor diagrame)


II. MODELUL FUNCTIONAL indica ce se intampla in sistem. Se mai numeste si modelul proceselor deoarece descrie cum se calculeaza datele de iesire pe baza datelor de intrare fara a tine seama de ordinea in care sunt calculate.


Modelul dinamic indica " se intampla in sistem?"

Modelul functional indica "cui i se intampla in sistem?"


Modelul functional - diagrama de flux de date (DFD) care precizeaza semnificatia operatiilor si restrictiilor. DFD exprima relatiile functionale dintre valorile calculate de un sistem, valorile datelor de iesire si valorile datelor de intrare.


Pentru a defini Diagrama de Flux de date (DFD) vom folosi urmatoarele concepte:

procese - cele care transforma datele;

fluxuri de date - care transporta datele;

obiecte actori - care produc si consuma date;

obiecte tip structuri de memorare a datelor - stocheaza pasiv datele (obiecte rezervoare de date)


ACTORII = obiecte active care dirijaza fluxurile de date producand sau conservand valori;

Se mai numesc si terminatori pentru ca marcheaza inceputul sau sfarsitul unei diagrame. Se reprezinta grafic printr-un dreptunghi.


DEPOZITELE DE DATE - reprezinta obiectele pasive cu rolul de a stoca date in vederea unui acces viitor la aceste date. Se vor reprezenta grafic sub forma a 2 linii paralele, continand numele depozitului. Sagetile spre depozit indica ce informatii sunt scoase din depozit ca urmare a operatiilor care modifica datele stocate

Sagetile in iesire indica informatia furnizata de depozit.

Nu se poate descarca referatul
Acest document nu se poate descarca

E posibil sa te intereseze alte documente despre:


Copyright © 2024 - Toate drepturile rezervate QReferat.com Folositi documentele afisate ca sursa de inspiratie. Va recomandam sa nu copiati textul, ci sa compuneti propriul document pe baza informatiilor de pe site.
{ Home } { Contact } { Termeni si conditii }