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.
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:
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 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
Virtualna spremišta u koje se svrstavljaju klase slične namjene. Sadrže ostale elemente modela - klase.
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 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.
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 (multiplicity) asocijacije određuje broj primjeraka jedne klase u odnosu na drugu klasu.
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 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.