Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A...

38
1 / 38 Ingineria program ˘ arii Adriana Gheorghies ¸, Ovidiu Gheorghies ¸ 23 octombrie 2005

Transcript of Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A...

Page 1: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

1 / 38

Ingineria programarii

Adriana Gheorghies, Ovidiu Gheorghies

23 octombrie 2005

Page 2: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Cuprins

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram

2 / 38

• Concepte OO• Modele. Modelare• Diagrama de clase

Page 3: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

• Cuprins

Concepte OO• Obiect• Clasa• Instanta• Orientat obiect• Incapsularea datelor• Mostenire• Polimorfism

Modele. Modelare

Diagrama de claseClass Diagram

3 / 38

Concepte OO

Page 4: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Obiect

• Cuprins

Concepte OO• Obiect• Clasa• Instanta• Orientat obiect• Incapsularea datelor• Mostenire• Polimorfism

Modele. Modelare

Diagrama de claseClass Diagram

4 / 38

• Entitate care are:

◦ identitate◦ stare◦ comportament

• Exemple:

◦ Mingea mea galbena de tenis, cu diametrul de 10 cm, caresare.

Page 5: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Clasa

• Cuprins

Concepte OO• Obiect• Clasa• Instanta• Orientat obiect• Incapsularea datelor• Mostenire• Polimorfism

Modele. Modelare

Diagrama de claseClass Diagram

5 / 38

• Descriere a unei multimi de obiecte cu

◦ aceleasi caracteristici structurale◦ aceleasi caracteristici comportamentale

• Exemplu: mingi care

◦ au culoare, diametru, ıntrebuintare◦ sar

Page 6: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Instanta

• Cuprins

Concepte OO• Obiect• Clasa• Instanta• Orientat obiect• Incapsularea datelor• Mostenire• Polimorfism

Modele. Modelare

Diagrama de claseClass Diagram

6 / 38

• Despre un obiect care apartine unei clase spunem ca esteinstanta a acelei clase.

• Exemplu: Popescu Viorel este un Student

Page 7: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Orientat obiect

• Cuprins

Concepte OO• Obiect• Clasa• Instanta• Orientat obiect• Incapsularea datelor• Mostenire• Polimorfism

Modele. Modelare

Diagrama de claseClass Diagram

7 / 38

• Este orice abordare ce cuprinde

◦ ıncapsularea datelor◦ mostenire◦ polimorfism

(promoveaza reutilizarea codului)• In principiu orice model OO ar trebui sa poata fi implementat

ıntr-un limbaj OO• Exista diferente intre limbaje. Un model bun nu va putea ignora

detaliile de implementare

Page 8: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Incapsularea datelor

• Cuprins

Concepte OO• Obiect• Clasa• Instanta• Orientat obiect• Incapsularea datelor• Mostenire• Polimorfism

Modele. Modelare

Diagrama de claseClass Diagram

8 / 38

• Inseamna punerea la un loc a datelor (atributelor) si a codului(metodelor)

• Datele pot fi modificate (doar) prin intermediul metodelor• Data hiding: nu ne intereseaza cum se ofera serviciile, ci doar ca

se ofera• Daca se schimba structura, sau modul de realizare, interfata

ramane neschimbata

Page 9: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Mostenire

• Cuprins

Concepte OO• Obiect• Clasa• Instanta• Orientat obiect• Incapsularea datelor• Mostenire• Polimorfism

Modele. Modelare

Diagrama de claseClass Diagram

9 / 38

• Anumite clase sunt specializari (particularizari) ale altor clase• O subclasa are (mosteneste) caracteristicile super-clasei, pe

care le poate extinde ıntr-un anume fel• O instanta a unei clase derivate este ın mod automat si o

instanta a clasei de baza• Exemplu (Student - Persoana)

Page 10: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Polimorfism

• Cuprins

Concepte OO• Obiect• Clasa• Instanta• Orientat obiect• Incapsularea datelor• Mostenire• Polimorfism

Modele. Modelare

Diagrama de claseClass Diagram

10 / 38

• Interpretarea semanticii unui apel de metoda se face de catre celcare primeste apelul.

• Exemplu: Eu spun unei forme: DESENEAZA-TE. Ea, daca epatrat trage 4 linii, daca e cerc, face niste puncte de jur imprejurulcentrului.De altfel, nu ma intereseaza cine, cum face.

Page 11: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

• Cuprins

Concepte OO

Modele. Modelare• Tipuri de modele• Model al domeniului• Identificareaconceptelor• Identificarea relatiilor(1)• Identificarea relatiilor(2)• Recomandari• Identificareaatributelor• Recomandare

Diagrama de claseClass Diagram

11 / 38

Modele. Modelare

Page 12: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Tipuri de modele

• Cuprins

Concepte OO

Modele. Modelare• Tipuri de modele• Model al domeniului• Identificareaconceptelor• Identificarea relatiilor(1)• Identificarea relatiilor(2)• Recomandari• Identificareaatributelor• Recomandare

Diagrama de claseClass Diagram

12 / 38

• Modele al domeniului• Modele ale sistemului (programului)

Page 13: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Model al domeniului

• Cuprins

Concepte OO

Modele. Modelare• Tipuri de modele• Model al domeniului• Identificareaconceptelor• Identificarea relatiilor(1)• Identificarea relatiilor(2)• Recomandari• Identificareaatributelor• Recomandare

Diagrama de claseClass Diagram

13 / 38

Este o reprezentare simplificata

• a conceptelor prezente ın domeniul problemei• a relatiilor care se stabilesc ıntre aceste concepte• a atributelor specifice conceptelor

Page 14: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Identificarea conceptelor

• Cuprins

Concepte OO

Modele. Modelare• Tipuri de modele• Model al domeniului• Identificareaconceptelor• Identificarea relatiilor(1)• Identificarea relatiilor(2)• Recomandari• Identificareaatributelor• Recomandare

Diagrama de claseClass Diagram

14 / 38

• Se face pornind de la specificatii (scenarii) si analizanddescrierea problemei (cautam substantive)

• Constructia modelului se face incremental• La fiecare pas se considera un singur scenariu ⇒ model partial

care reflecta acel scenariu, nu mai mult• Se poate ıntampla ca anumite concepte sa nu aiba atribute (au

rol pur comportamental, nu si informational).

Page 15: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Identificarea relatiilor (1)

• Cuprins

Concepte OO

Modele. Modelare• Tipuri de modele• Model al domeniului• Identificareaconceptelor• Identificarea relatiilor(1)• Identificarea relatiilor(2)• Recomandari• Identificareaatributelor• Recomandare

Diagrama de claseClass Diagram

15 / 38

• A este o parte fizica/logica a lui B (aripa-avion) ⇒ compozitie• A este continut fizic/logic ın B (pasager-avion, oraDeCurs-orar)

⇒ agregare• A comunica cu B (agentieDeRezervari-pasager) ⇒ asociere• A ıl cunoaste pe B (student-profesor) ⇒ asociere

Page 16: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Identificarea relatiilor (2)

• Cuprins

Concepte OO

Modele. Modelare• Tipuri de modele• Model al domeniului• Identificareaconceptelor• Identificarea relatiilor(1)• Identificarea relatiilor(2)• Recomandari• Identificareaatributelor• Recomandare

Diagrama de claseClass Diagram

16 / 38

• A este generalizare a lui B / B este un tip de A / B este oparticularizarea a lui A (formaGeometrica-patrat) ⇒ generalizare(mostenire)

• A este ca B / A este similar cu B (mere - pere: ambele suntfructe) ⇒ conduce la aparitia unei abstractiuni

• A ıl foloseste pe B (programDe EditatImagini - bibliotecaGrafica)⇒ dependenta

Page 17: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Recomandari

• Cuprins

Concepte OO

Modele. Modelare• Tipuri de modele• Model al domeniului• Identificareaconceptelor• Identificarea relatiilor(1)• Identificarea relatiilor(2)• Recomandari• Identificareaatributelor• Recomandare

Diagrama de claseClass Diagram

17 / 38

• Concentrati-va asupra relatiilor absolut necesare (need to know)• Identificarea conceptelor este mai importanta decat identificarea

asocierilor• Prea multe relatii fac modelul confuz si greu de ınteles• Evitati sa aratati relatiile redundante

Page 18: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Identificarea atributelor

• Cuprins

Concepte OO

Modele. Modelare• Tipuri de modele• Model al domeniului• Identificareaconceptelor• Identificarea relatiilor(1)• Identificarea relatiilor(2)• Recomandari• Identificareaatributelor• Recomandare

Diagrama de claseClass Diagram

18 / 38

• Informatii care trebuie memorate (se extrag din cerinte)• Ar trebui sa aiba tipuri de date simple:

◦ predefinite: Boolean, Date, Number, String, Time◦ definite de utilizator: Address, PhoneNumber, Color, Point,

ZIP, tipuri enumerative

• Eroare frecventa: reprezint ceva ca atribut cand de fapt ar trebuisa fie un concept

Page 19: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Recomandare

• Cuprins

Concepte OO

Modele. Modelare• Tipuri de modele• Model al domeniului• Identificareaconceptelor• Identificarea relatiilor(1)• Identificarea relatiilor(2)• Recomandari• Identificareaatributelor• Recomandare

Diagrama de claseClass Diagram

19 / 38

• Daca X nu poate fi privit, ın domeniul problemei, ca numar sautext, atunci probabil ca X este un concept, nu un atribut.

• Acest lucru se ıntampla cand:

◦ X este compus din sectiuni separate (ex. numar de telefon,numele unei persoane)

◦ Exista operatii care sunt ın mod uzual asociate cu X , cum arfi parsare sau validare (ex. CNP, email)

◦ X are alte atribute (ex. un pret promotional poate avea o datade ınceput si o data de sfarsit).

◦ X este o cantitate care are o unitate de masura (ex. plata seface utilizand o anumita valuta)

Page 20: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

20 / 38

Diagrama de claseClass Diagram

Page 21: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Diagrama de clase (1)

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

21 / 38

• Modeleaza vocabularul sistemului ce trebuie dezvoltat• Surprinde conexiunile semantice sau interactiunile care se

stabilesc ıntre elementele componente• Folosita pentru a modela structura unui program

Page 22: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Diagrama de clase (2)

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

22 / 38

Poate contine

• Clase/Interfete• Obiecte• Relatii

◦ Asociere◦ Agregare◦ Generalizare◦ Dependenta◦ Realizare

Page 23: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Clase

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

23 / 38

• Modeleaza vocabularul = identifica conceptele pe care clientulsau programatorul le foloseste pentru a descrie solutia problemei

• Pot fi:

◦ Abstractii care fac parte din domeniul problemei◦ Clase necesare la momentul implementarii

• Elementele unei clase:

◦ Nume: identifica o clasa◦ Atribute: proprietati ale clasei◦ Metode: implementarea unui serviciu care poate fi cerut

oricarei instante a clasei.

Page 24: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Clasa: Notatie grafica

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

24 / 38

Page 25: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Obiect

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

25 / 38

• Reprezinta o instanta a unei clase• Are identitate si valori ale atributelor• Notatie grafica:

Page 26: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Interfata

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

26 / 38

• Specifica o multime de operatii, dar nu mentioneaza structurainterna sau implementarea acestora

• O interfata poate fi implementata de mai multe clase• Notatie grafica:

Page 27: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Clasa parametrizata (template)

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

27 / 38

• Este o clasa care are unul sau mai multi parametri formali• Defineste o familie de clase (dand valori parametrilor formali)• De obicei parametrii reprezinta tipuri ale atributelor• Notatie grafica:

Page 28: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Relatii

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

28 / 38

• Intre clase

◦ Generalizare◦ Dependenta◦ Realizare

• Intre instante ale claselor

◦ Asociere◦ Agregare

Page 29: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Generalizare

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

29 / 38

• Modeleaza conceptul de mostenire ıntre clase• Mai poarta denumirea de relatie de tip is a (este un/este o)

Page 30: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Generalizare: Notatie grafica

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

30 / 38

Page 31: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Dependenta

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

31 / 38

• Modeleaza interdependente ce apar la implementare.• Indica o relatie semantica ıntre doua elemente ale modelului.• Se foloseste cand o schimbare an elementul destinatie poate

atrage dupa sine o schimbare an elementul sursa.

Page 32: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Dependenta: Notatie grafica

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

32 / 38

Page 33: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Realizare

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

33 / 38

• Se foloseste atunci cand o clasa implementeaza (realizeaza) ointerfata

• Notatie grafica:

Page 34: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Asociere (1)

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

34 / 38

• Exprima o conexiune semantica sau o interactiune ıntre obiecteapartinand diferitelor clase.

• Pe masura ce sistemul evolueaza noi legaturi ıntre obiecte pot ficreate, sau legaturi existente pot fi distruse.

• O asociere interactioneaza cu obiectele sale prin intermediulcapetelor de asociere.

Page 35: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Asociere (2)

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

35 / 38

• Elemente:

◦ Nume: descrie relatia◦ Capete de asociere

• Nume = rolul jucat de obiect an relatie• Multiplicitate = cate instante ale unei clase corespund unei

singure instante ale celeilalte clase.

Page 36: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Asociere: Notatie grafica

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

36 / 38

Page 37: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Agregare

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

37 / 38

• Este un caz particular al relatiei de asociere• Modeleaza o relatie de tip parte-ıntreg• Poate avea toate elementele unei relatii de asociere, ınsa ın

general se specifica numai multiplicitatea• Se foloseste pentru a modela situatiile ıntre care un obiect este

format din mai multe componente.

Page 38: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-04.pdf · particularizarea a lui A (formaGeometr ica-p atr at)) generalizare (mos‚tenire) A este ca B / A este similar

Agregare: notatie grafica

• Cuprins

Concepte OO

Modele. Modelare

Diagrama de claseClass Diagram• Diagrama de clase (1)• Diagrama de clase (2)• Clase• Clasa: Notatie grafica• Obiect• Interfata• Clasa parametrizata(template)• Relatii• Generalizare• Generalizare: Notatiegrafica• Dependenta• Dependenta: Notatiegrafica• Realizare• Asociere (1)• Asociere (2)• Asociere: Notatiegrafica• Agregare• Agregare: notatiegrafica

38 / 38