ER-kaavio vs. luokkakaavio
ER (entity-relationship) -kaaviot ja luokkakaaviot ovat kaksi niistä suunnittelukaavioista, joita ohjelmistokehittäjät luovat yleensä ohjelmistosuunnittelun elinkaaren suunnitteluvaiheissa. ER-kaaviot ovat tietokantojen mallinnustekniikan (ERM) tuote. Luokkakaavio, joka on kirjoitettu Unified Modeling Language -kielellä, on kaavio, joka kuvaa ehdotetun järjestelmän rakennetta. Vaikka luokkakaavioiden luokkien ja entiteettikaavioiden entiteettien välillä ei vaadita tarkkaa yksi-yhteen-kuvausta, niiden välillä on yleensä jokin merkityksellinen suhde. On kuitenkin monia tilanteita, joissa ER-kaavion entiteetti kartoitetaan useisiin vastaavan luokkakaavion luokkiin tai luokkakaavion yksittäinen luokka, joka kartoitetaan vastaavan ER-kaavion useisiin entiteeteihin. Mutta tämä riippuu täysin ohjelmistokehittäjien suunnitteluvalinnoista.
Mikä on ER-kaavio?
ER-kaaviot ovat kokonaisuus-suhdemallinnuksen tulos. Entiteetti-suhdemallinnus on prosessi, jossa datasta saadaan abstrakti ja käsitteellinen esitys. ER-kaaviot mallintavat lopulta tietokannat. Tarkemmin sanottuna se tuottaa tietomallin käsitteellisen kaavion. ER-kaavioiden päärakennuspalikoita ovat entiteetit, suhteet ja attribuutit. Entiteetti edustaa asiaa, joka voi olla olemassa itsenäisesti ja joka voidaan määritellä yksiselitteisesti. Useimmiten kokonaisuus edustaa todellisen maailman esinettä, kuten autoa tai työntekijää. Entiteetit voivat olla substantiivit, jotka tulevat esiin ratkaistavan ongelman kuvauksen aikana. Suhde osoittaa, kuinka entiteetit ovat yhteydessä toisiinsa. Ne ovat kuin verbejä, jotka löytyvät ratkaistavan ongelman kuvauksesta. Sekä entiteettien että attribuuttien ominaisuuksia kutsutaan attribuuteiksi.
Mikä on luokkakaavio?
Luokkakaavio (tunnetaan oikeammin UML-luokkakaaviona) on suunnittelukaavio, joka edustaa ehdotetun järjestelmän staattista rakennetta ja käyttäytymistä määritettynä UML:llä (Unified Modeling Language). Luokkakaavio näyttää järjestelmien luokat, luokkien väliset suhteet ja niiden attribuutit. Luokat kuvaavat reaalimaailman esineiden abstraktia esitystä, kun taas suhteet kuvaavat, kuinka kukin luokka on yhteydessä muihin. Sekä luokilla että suhteilla on ominaisuuksia, joita kutsutaan attribuuteiksi. Luokkien menetelmät edustavat tai määrittelevät näiden luokkien käyttäytymistä. Luokkien menetelmiä ja attribuutteja kutsutaan luokan jäseniksi.
Mitä eroa on ER-kaavion ja luokkakaavion välillä?
Vaikka ER-kaaviot ja luokkakaaviot ovat kaksi niistä suunnittelukaavioista, joihin kehittäjät törmäävät usein ohjelmistosuunnitteluprojektien suunnitteluvaiheissa, niissä on keskeisiä eroja. ER-kaaviot edustavat datamallin abstraktia esitystä, kun taas luokkakaaviot edustavat ehdotetun järjestelmän staattista rakennetta ja käyttäytymistä. ER-kaavioiden päärakennuspalikoita ovat entiteetit, suhteet ja attribuutit, mutta luokkakaavioiden päärakennuspalikoita ovat luokat, suhteet ja attribuutit. Luokkakaavio kartoitetaan todennäköisemmin todellisiin objekteihin, kun taas ER-kaaviot kartoitetaan useimmiten tietokannan taulukoihin. Yleensä ER-kaavioista löydetyt suhteet ovat ihmisille vaikeampia ymmärtää kuin luokkakaavioissa olevat suhteet.