Dijagram klasa
Dijagram klasa (dio UML-a) jest vrsta strukturnog dijagrama u softverskom inženjeringu, koji opisuje strukturu sustava objašnjavajući klase unutar sustava, njihove atribute i odnose.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Uml_diagram.svg/300px-Uml_diagram.svg.png)
Dijagram klasa[uredi | uredi kôd]
Dijagram klasa pokazuje postojanje klasa i njihovih međusobnih odnosa prilikom logičkog oblikovanja sustava.
Dijagrami klasa:
Mogu prikazivati cijelu ili samo dio klasne strukture sustava
Prikazuju statičnu strukturu modela
Ne prikazuju privremene informacije
Prilikom modeliranja statičnog pogleda na sustav, dijagrami klasa se obično koriste za modeliranje:
- Rječnika sustava
- Jednostavnih kolaboracija
- Logičke sheme baze podataka
Klasa[uredi | uredi kôd]
Klasa je opis skupa objekata koji dijele iste atribute, metode, odnose i semantiku te se definira za svaku vrstu objekta. Nije neobično da sustav sadrži stotinu i više klasa.
Objekt[uredi | uredi kôd]
Objekt predstavlja entitet iz stvarnog svijeta ili neki koncept apstrakcije nečega što ima dobro definirane granice Svaki objekt ima tri osnovna svojstva:
Stanje
Ponašanje
Identitet
Paketi[uredi | uredi kôd]
Virtualna spremišta u koje se svrstavljaju klase slične namjene. Sadrže ostale elemente modela - klase.
Odnos[uredi | uredi kôd]
Odnos je opći termin koji pokriva specifične načine logičkih relacija unutar dijagrama. Unutar dijagrama klasa možemo naći sljedeće odnose:
Asocijacija[uredi | uredi kôd]
Asocijacija je strukturna veza kojom se određuje da li je objekt jedne klase povezan s objektom druge ili iste klase. Suradnja, na nivou klasa, se prikazuje pomoću asocijacije.
![](http://upload.wikimedia.org/wikipedia/hr/thumb/4/4d/UML_role_example.gif/400px-UML_role_example.gif)
Naziv asocijacije je najčešće glagol koji određuje svrhu asocijacije.
Uloga asocijacije je najčešće imenica koja određuje ulogu klase u odnosu na drugu klasu.
Mnogostrukost[uredi | uredi kôd]
Mnogostrukost (multiplicity) asocijacije određuje broj primjeraka jedne klase u odnosu na drugu klasu.
Agregacija[uredi | uredi kôd]
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/2a/KP-UML-Aggregation-20060420.svg/300px-KP-UML-Aggregation-20060420.svg.png)
Agregacija asocijacije određuje “dio_od” vezu među klasama. Postoje dvije vrste agregacije:
Jaka agregacija (kompozicija) -povezuje dio s cjelinom s time da se dio ne može izostaviti od cjeline
Slaba agregacija -povezuje dio s cjelinom s time da se dio može izostaviti iz cjeline
Generalizacija[uredi | uredi kôd]
![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/66/KP-UML-Generalization-20060325.svg/300px-KP-UML-Generalization-20060325.svg.png)
Generalizacija je veza među klasama kod koje jedna klasa dijeli strukturu i/ili ponašanje druge klase. Podklasa superklase nasljeđuje atribute, metode i odnose.