0% au considerat acest document util (0 voturi)
173 vizualizări5 pagini

Amoo 5

Raportul prezintă noțiunile de clasă, atribut, metodă, moștenire, compoziție, agregare și asociere în UML. Sunt prezentate 4 diagrame de clase ale unei librării online care ilustrează relațiile dintre clase.

Încărcat de

AlionaCrigan
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
173 vizualizări5 pagini

Amoo 5

Raportul prezintă noțiunile de clasă, atribut, metodă, moștenire, compoziție, agregare și asociere în UML. Sunt prezentate 4 diagrame de clase ale unei librării online care ilustrează relațiile dintre clase.

Încărcat de

AlionaCrigan
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd

Ministerul Educaţiei, Culturii și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei


Departamentul Ingineria Software și Automatică

RAPORT
Lucrare de laborator Nr.5
Disciplina: Analiza și modelarea orientată pe obiecte
Tema: Studiul şi analiza abstracţiilor OO şi claselor în UML
(diagramele de clase).

A verificat : [Link].
Sava Nina
Melnic Radu

Chișinău 2020
Scopul: studierea noțiunilor de clasă, atribut și funcție, moștenire, compoziție, agregare, asociere,
dependență

Sarcina: de realizat 4 diagrame de clase pentru sistemul informațional ales.

Considerații teoretice:
Clasa definește o totalitate de obiecte cu aceiași structură.
O clasă se reprezintă grafic printr-un dreptunghi împartit în trei compartimente, cu numele clasei în
compartimentul de sus, o lista de atribute (cu tipuri optionale și valori) în cel din mijloc, și o listă de
operații (cu lista de argumente opționale și tipuri de returnare) în ultimul.
Un atribut reprezinta o proprietate a unei clase.

Figura 1 Reprezentarea grafică a clasei


Atributele descriu datele conținute de obiectele din clasa respectivă. Pentru fiecare atribut trebuie
specificat tipul acestuia. Metoda reprezinta implementarea operatiei si defineste comportamentul
acesteia. Obiectul care a trimis mesajul nu trebuie sa cunoasca ce metoda a fost apelată.
Asocierea relația de structură care are loc între două entități avînd loc schimbul de mesaje.
Agregare reprezintă legătura dintre entitățile partea întreagă și partea componentă. Agregarea este
modul cel mai general de a indica in UML o relatie de tip parte-intreg,

Figura 2 Reprezentarea grafică a Agregării


Compoziția caz particular al agregării, relația specifică la distrugerea parții întregi se distruge și
partea component.
Dependența este relația semantică dintre 2 entități unde modificarea uneia dintre ele (independente)
poate provoca modificarea celei de-a doua (dependente).
Realizarea lucrării:
În această lucrare de laborator s-a implimentat noțiunea de clasă și legături între entități în
diagrame de clase făcute pe baza sistemului ales anterior „Librărie online”. Respectiv în figura 3 de
mai jos s-a reprezentat diagrama de clase în care putem observa că sistemul se află în relația de
realizare cu interfața sa. Sistemul nu poate exista fără carți (relația de compoziție) și utilizatorul se
află în relația de asociere cu interfața sistemului.
class Package1

Librarie online
«interface» Utilizator
+ lista_carti: string I_Librarie
- email: string
+ recomandari: string
- nume: string
+ reduceri: int
+ adauga_email()
# carti adaugate la cos()
+ adauga_nume()

0..1
0..1

Dictionar explicativ

+ nr_cuvinte: string
0..* 0..* + titlul: string

Dictionare + introduce_cuvinte()
Carti
+ introduce_nume()
+ pret_carte: string - pret: int
+ titlul_cartii: string + titlul: string
Dictionar de sinonime
+ set_pret() + set_pret(): int
+ set_titlul cartii() + set_titlul() + nr_cuvinte: int
+ titlul: int

+ introduce nr_cuvinte()
+ introduce_titlul()

Manuale
Dictionar limba fraceza
+ nume: string
+ pret: int - nr_cuvinte: string
+ titlul: string
+ set_nume()
+ set_pret() + introduce nr_cuvinte()
+ introduce_titlul()

Fgura 3Selectarea dictionarelor după categorii de catre utilizator

În figura 4 putem observa că clientul se află în relația de asociere cu clasa cărți cît și cu clasa
înregistrare. Clasa realizare comandă se distruge dacă nu există clasa client prin urmare există relația
de compoziție între aceste două clase. Între clasa carți și clasa coșul meu există relația de agregare
prin urmare coșul poate exista fără a fi adaugat vreo carte în el.
class Registrare

Inregistrare Client Realizare comanda

- Email: string - Achitare_card: int


- IDclient: int
- Nr_telefon: string - Nume_client: string - Nume_client: string
- Nume_client: string - Sector: string
- Telefon: int 0..* 0..1
- Nume_utilizator: string - Telefon: int
- parola: string - Cautare_client()
+ Editare_comanda()
- EditareClient()
- Inregistrare_client() + RealizareComanda()

Carti Cosul meu

- Nume: string - Nr_carti: int


- Pret: int - Titlul_carte: string
0..* 0..*
- Adaugare carte() - Cumparare carte()
- Modificare carte() - Modificare carte()

Figura 4 Realizarea comenzii in sistemul dat


Relația de generalizare se poate observa atît în figura 3 cîi și 5, astfel această relație are loc între
clasa generalizată și clasa specializată. În figura 5 clasa generalizată este clasa utilizator iar cea
specializată este client și administrator.
class System

Librarie online
Baza de date
+ Lista_carti: string
# CreareCont() + Pret: int
# StergeCont()
+ Introduce pret(): int
+ Introduce_nume()

Utilizator

- Email: int
- Nume: int
- Telefon: int

- Introduce nume()

Client Administrator
- Nume: string + Administrare librarie()
- Telefon: int

+ Introduce nume()
+ Introduce telefon()

Figura 5 Efectuarea operațiilor în sistem de către utilizator


class Librarius

Carte Catalog carti «interface»


Autor I_Librarie
+ Autor: string + Lista: string
- Date_personale: string + ISBN: string 0..1 0..* + Nume_autor: string
+ Nume: String 1..* 1..* + Nume: string
+ afisare carti()
+ afisare()
0..1
0..1 0..1

0..1
0..1
Descriere
Librarie online
+ Autor: string Administrator
+ Cod produs: int 0..*
+ Adressa: string
+ Editura: string - nume: string
+ Nume: string
+ ISBN: int + Administrare sistem(): int
+ Afisare descriere()

Figura 6 Operațiile efectuate de către administrator în sistem


În figura 6 observăm că sistemul cît și interfața aplicației depinde administratorul aplicației. Astfel
acest lucru se datorează posibilității administratorului de a gestiona sistemul informațional dat.

Concluzii:
În această lucrare de laborator s-a analizat, studiat și implimentat diagramele de clasă.
Diagramele de clasă se utilizează pentru reprezentarea structurii statice a unui model în terminologia
programării orientate pe obiecte.
De asemenea, efectuând lucrarea s-a utilizat notiunea de clasă , care reprezintă o mulțime de
obiecte cu aceleași atribute și metode cît și relațiile de asociere, dependent, agregare, asociere.
Datorită relațiilor de realizare se poate de observat că interfață reprezintă totalitatea de operații care
sunt realizate de către clasa “Librărie online”.

S-ar putea să vă placă și