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.

Hijerarhijska struktura UML dijagrama


Dijagram klasa

uredi

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

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

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

Virtualna spremišta u koje se svrstavljaju klase slične namjene. Sadrže ostale elemente modela - klase.

Odnos

uredi

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

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.

 
Dijagram klasa koji prikazuje asocijaciju između klasa

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

Mnogostrukost (multiplicity) asocijacije određuje broj primjeraka jedne klase u odnosu na drugu klasu.


Agregacija

uredi
 
Primjer agregacije

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
 
Dijagram klasa koji pokazuje generalizaciju između superklase i podklasa

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.