Java
Diagrame de Clasa - operatii/MetodeUn obiect este orice persoana, lucru, fenomen, concept etc. care poate exista intr-un sistem. Obiectele poseda cunostinte, ele avand attribute si pot executa activitati ele avand metode. O clasa este o reprezentare a unui obiect si in multe privinte este un sablon din care sunt dezvoltate obiectele. Desi sunt mii de studenti ce frecventeaza o facultate intr-un sistem vom modela o singura clasa numita Student care va reprezenta intreaga masa de studenti. Clasele se reprezinta ca si dreptunghiuri cu 3 sectiuni: prima este numele clasei, sectiunea din mijloc este desemnata pentru attribute, iar cea de-a treia pentru metode .
Numele clasei este foarte important fiind primul mijloc de recunoastere a resursei fundamentale din model, drept pentru care trebuie sa fie concis si clar. Atribut Atributul are sintaxa urmatoare: visibilitate nume [multiplicitate] : tip = valoare_initialaunde
Operatii/Metode Operatia are sintaxa urmatoare: visibilitate nume_operatie (lista_parametri) : return_type
Obiecte Un obiect este un concept specific, sau instanta unei clase, avand caracteristici definite de clasa din care face parte. Aceste caracteristici sunt atat structurale(atribute) cat si comportamentale(metode sau operatii). Ele se reprezinta ca dreptunghiuri cu 2 compartimente despartite prin linii orizontale in care numele sunt subliniate, avand sintaxa nume_obiect : [nume_clasa] .
Aceasta inseamna ca obiectul Popescu este un obiect al clasei Student.
Obiectele din Diagramele UML care nu au nume se numesc obiecte anonime(exemplu mai jos).
Obiectele pentru care nu este specificata clasa se numesc obiecte nespecificate(exemplu mai jos).
Relatii dintre clase Asociere: Obiectele sunt deobicei associate intre ele.
Indicator de Multiplicitate: precizeaza cate obiecte din clasa respective participa la realizarea legaturii. Indicator de multiplicitate
Exemplu:
Poate fi si asociere n-ara atunci cand are loc intre cel putin 3 clase. Mostenire Relatia de mostenire este o relatie de tip “is a” sau “este” pentru ca tipul subclasei este un tip de clasa parinte. Subclasa mosteneste atributele si metodele clase parinte. In exemplu de mai jos clasa de baza este Language iar subclasele sunt Java si C++:
Agregare: Cand o clasa este formata ca o colectie de alte calse, relatia dintre aceste clase se numeste agregare. Este o relatie de tip “Has a”.
Figura de mai sus se citeste astfel: -un agent poate fi parte dintr-o singura agentie, dar nu trebuie sa fie obligatoriu parte a unei agentii(de aici 0..1) el putand fi agent independent - agentia este intotdeauna compusa din macar un agent, dar poate avea mai multi(de aici 1..*) -un agent este considerat un angajat(numele rolului) al unei agentii Compozitie: este o varianta a relatiei de agregare implicand o puternica legatura a ciclului de viata dintre obiectele associate. Cu alte cuvinte este o forma de agregare in care obiectul parte poate fi membru al unui singur obiect de tip intreg la un moment dat.”Obiectul intreg este responsabil pentru existenta si adunarea obiectelor parti.” Exemplu1:
Diagrama de mai sus se citeste astfel: Compania va avea cel putin un department iar cand compania va fi desfiintata departamentul va fi desfiintat automat. Exemplu2:
Figura de mai sus se citeste astfel o cladire este compusa dintr-una sau mai multe incaperi, iar o incapere poate fi compusa din 0 sau mai multe subincaperi(camere) avem aici de a face cu compozitia reflexiva. Nota: Clasa parte poate fi legata doar de o singura instanta a clasei intreg. Realizarea: In relatia de realizare o entitate(de obicei interfata) defineste un set de functionalitati iar cealalta entitate(de obicei o clasa) implementeaza acele functionalitati. Exemplu:
In figura de mai sus Parser este interfata iar HTMLParser este clasa ce implementeaza functionalitatile definite de catre Parser. Un alt exemplu:
In figura d emai sus atat clasele Professor cat si Student implementeaza interfata Person Dependenta: Este o relatie intre doua elemente in care o schimbare intr-un element(independent) afecteaza pe celalalt element(dependent). Exemplu de modelare a relatiilor dintre membrii unei facultati.
Diagrame de pachete
|