Administratie | Alimentatie | Arta cultura | Asistenta sociala | Astronomie |
Biologie | Chimie | Comunicare | Constructii | Cosmetica |
Desen | Diverse | Drept | Economie | Engleza |
Filozofie | Fizica | Franceza | Geografie | Germana |
Informatica | Istorie | Latina | Management | Marketing |
Matematica | Mecanica | Medicina | Pedagogie | Psihologie |
Romana | Stiinte politice | Transporturi | Turism |
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:
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.
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:
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.
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".
Legatura exprima o conexiune fizica sau conceptuala intre obiecte (instante)
Asocierea indica grupul de legaturi cu aceeasi structura si aceeasi semantica.
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
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.
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).
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 |
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.
- este asociata unei stari
in diagrama de stari este specificata prin cuvantul cheie DO: urmat de continutul activitatii.
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.
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 } |
Documente similare:
|
ComentariiCaracterizari
|
Cauta document |