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