Analiza și proiectarea obiectuală

Extras din curs:

CAPITOLUL1

METODOLOGII MODERNE DE REALIZARE A SISTEMELOR INFORMATICE

1.1. Concepte de bază ale paradigmei obiectuale

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. Chiar dacă implementarea urmează să se facă utilizând o bază de date relaţională sau un limbaj de programare fără funcţionalităţi specifice, practica a dovedit că aplicarea acestui demers conduce la soluţii superioare calitativ, în special în cazul sistemelor de mari dimensiuni şi complexitate. 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 ȘI 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. Distincţia dintre obiecte - respectiv desemnarea sau referirea unui anumit obiect - are un caracter uniform şi independent de conţinut. Termenul "uniform" indică foarte clar ca identitatea unui obiect îl separă pe acesta din ansamblul tuturor obiectelor, indiferent de tipul lor.

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. Fiecare obiect este o instanţiere a clasei sale şi conţine numai valorile proprii corespunzătoare fiecărui atribut. în plus, fiecare obiect menţine permanent legătura cu clasa sa.

Ca instanţiere a unei clase, orice obiect trebuie creat la un moment dat şi poate dispărea atunci când nu mai este necesar. Operaţiile corespunzătoare sunt denumite constructori şi respectiv destructori. Operaţiile sunt de mai multe tipuri: construc¬tor, destructori, selectori, modificatori. În cursul existenţei unui obiect, pot apare operaţii ce modifică starea acestuia, numite generic modificatori şi operaţii de consultare a ştirii, numite selectori.

Implementarea (maniera de execuţie) fiecărei operaţii este memorată în cadrul clasei şi constituie o metodă. Metoda este implemen¬tarea unei operaţii de către o clasă. Orice operaţie are un argument implicit şi anume obiectul căruia i se adresează. Obiectul invocat va obţine de la clasa căreia îi aparţine metoda corespunzătoare şi o va aplica asupra datelor sale de stare. O operaţie poate avea şi alte argumente. Numărul, tipul şi ordinea argumentelor împreună cu tipul eventualului rezultat returnat definesc semnătura operaţiei.

2. MESAJUL

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

Mesajul este unitatea de comunicaţie dintre obiecte. Obiectele interacţionează prin schimburi de mesaje. Un mesaj are un emiţător şi un destinatar şi invocă o anumită operaţie. Destinatarul poate răspunde singur solicitării primite sau poate emite, la rândul său, mesaje adresate altor obiecte.

Obţinând de la acesta durata corespunzătoare codului său de clasificare, va determina amortizarea pentru luna şi anul specificate, după care le va transmite ca răspuns emiţătorului mesajului iniţial. Invocarea unei operaţii este prefixată de identificatorul obiectului destinatar, delimitat de regulă prin punct. Funcţionarea sistemului rezultă din această interacţiune a obiectelor iar derularea prelucrării este decisă prin cooperarea dintre obiecte, dictată de comportamentul specific al fiecăruia şi de starea în care se găsesc în momentul respectiv.

3. MOŞTENIREA

Moştenirea desemnează partajarea atributelor şi operaţiilor unei (sau unor) clase de către o altă (sau alte) clase în cadrul unei relaţii ierarhice, păstrând nealterate diferenţele dintre ele. Clasa de la care se moşteneşte este numită superclasă, iar cea care moşteneşte poartă numele de subclasă sau clasă derivată. Moştenirea permite exprimarea relaţiilor de generalizare/specializare dintre clase.

Moştenirea este tranzitivă pe un număr oricât de mare de nivele. Instanţierea unei subclase este simultan instanţiere a tuturor superclaselor sale. Prin intermediul moştenirii se pot exprima diferite relaţii dintre clase: generalizarea, specializarea, clasificarea, aproximaţia şi evoluţia. Posibilitatea factorizării proprietăţilor comune mai multor clase într-o superclasă şi a moştenirii proprietăţile superclasei este unul dintre avantajele importante ale abordării orientate pe obiecte.

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.

Operaţiile polimorfe sunt implementate de mai multe clase prin metode diferite.

Polimorfismul înseamnă, aşadar, că o operaţie poate fi implementată prin mai multe metode. Operaţiile polimorfe au aceeaşi semnătură în toate clasele care le implementează. Selecţia metodei adecvate la apelul unei operaţii se face automat, pe baza numelui operaţiei şi a clasei căreia îi aparţine obiectul implicat. Astfel, obiectul ce emite un mesaj prin care invocă o operaţie nu trebuie să ştie nici câte implementări diferite există pentru aceasta şi nici modul în care operaţia este executată de către obiectul destinatar.

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. Rezultă de aici că, pentru aceeaşi problemă sau aspect al realităţii, pot exista mai multe abstractizări diferite. Abstractizarea permite concentrarea asupra aspectelor conceptual-funcţionale şi evitarea luării premature în considerate a detaliilor.

Abstractizarea îşi găseşte multiple utilizări în informatică, pe tot parcursul dezvoltării unei aplicaţii informatice, indiferent de metoda (sau de lipsa de metodă) folosită. De altfel, se apreciază că găsirea de bune abstractizări este problema esenţială pentru orice proiectare de sistem.

Î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. Una dintre uzanţele sale specifice în abordare poate fi privit, în ansamblu, ca un proces de abstractizare, prin care se urmăreşte formularea în termeni informatici - înregistrare, cheie de acces, procedură, funcţie, modul etc. - a unor concepte sau părţi ale lumii reale, cu un nivel mult mai înalt de abstractizare - persoane, structuri organizatorice, utilaje, facturi ş.a.m.d. Din cauza complexităţii, acest demers se realizează progresiv, în mai multe stadii succesive, într-o ordine în care mai întâi se stabileşte ce este şi ce trebuie să facă fiecare obiect şi abia apoi se decide modul în care acesta este implementat. Clasele constituie, la rândul lor, abstractizări ale unor ansambluri de obiecte.

Observații:

Se poate realiza o analiza a modului in care se poate face proiectarea unei aplicatii folosind metodologia modelarii prin utilizarea unui limbaj de modelare si anume Star Uml in acest caz si in cuprinsul acestui curs.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • c1.doc
  • c2.doc
  • c3.doc
  • c4.doc
  • c5.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
9.3/10 (3 voturi)
Nr fișiere:
5 fisiere
Pagini (total):
108 pagini
Nr cuvinte:
67 427 cuvinte
Nr caractere:
377 305 caractere
Marime:
3.05MB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Profesorului:
Georgeta Soava
Sus!