ER-kaavio vs. luokkakaavio
ER (kokonaisuussuhde) -kaaviot ja luokkakaaviot ovat kaksi suunnittelukaaviota, jotka ohjelmistokehittäjät luovat yleensä ohjelmistotuotannon elinkaaren suunnitteluvaiheissa. ER-kaaviot ovat tuote-olosuhteiden mallintamistekniikan (ERM) tekniikka tietokantojen mallintamiseen. Yhtenäisellä mallinnuskielellä kirjoitettu luokkakaavio on kaavio, joka kuvaa ehdotetun järjestelmän rakennetta. Vaikka ei ole tarvetta olla tarkkaa yksi-yhteen kartoitusta luokkakaavioiden luokkien ja kokonaisuuksien kaavioiden entiteettien välillä, niiden välillä on yleensä jonkin verran merkityksellistä suhdetta. Kuitenkin on paljon tapauksia, joissa ER-kaavion yksikkö yhdistyy vastaavan luokkakaavion useisiin luokkiin tai luokkakaavion yksittäiseen luokkaan, joka kuvaa vastaavan ER-kaavion useita kokonaisuuksia. Mutta tämä riippuu täysin ohjelmistokehittäjien suunnitteluvalinnoista.
Mikä on ER-kaavio?
ER-kaaviot ovat olosuhteiden mallintamisen tuote. Kokonaisuussuhteiden mallintaminen on prosessi, jossa keksitään tietojen abstrakti ja käsitteellinen esitys. ER-kaaviot mallinntavat lopulta tietokannat. Tarkemmin sanottuna se tuottaa datamallin käsitteellisen kaavion. ER-kaavioiden tärkeimmät rakennuspalikat ovat kokonaisuudet, suhteet ja määritteet. Kokonaisuus edustaa asiaa, joka voi olla itsenäisesti ja joka voidaan määritellä yksilöllisesti. Useimmiten yksikkö edustaa todellisen maailman esinettä, kuten auto tai työntekijä. Kokonaisuudet voivat kuitenkin olla substantiivit, jotka ilmenevät ratkaistavan ongelman kuvauksen aikana. Suhde osoittaa, kuinka entiteetit ovat yhteydessä toisiinsa. Ne ovat kuin verbejä, jotka löytyvät ratkaistavan ongelman kuvauksesta. Sekä olioiden että määritteiden ominaisuuksia kutsutaan määritteiksi.
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: n (Unified Modeling Language) avulla. Luokkakaavio näyttää järjestelmien luokat, luokkien väliset suhteet ja niiden ominaisuudet. Luokat kuvaavat todellisen maailman esineiden abstraktia esitystä, kun taas suhteet kuvaavat kuinka kukin luokka on kytketty muihin. Sekä luokilla että suhteilla on ominaisuuksia, joita kutsutaan attributeiksi. Luokkien menetelmät edustavat tai määrittelevät näiden luokkien käyttäytymistä. Luokkien menetelmiä ja ominaisuuksia kutsutaan luokan jäseniksi.
Mitä eroa on ER-kaavion ja luokkakaavion välillä??
Vaikka ER-kaaviot ja luokkakaaviot ovat kaksi suunnittelukaaviota, joita kehittäjät kohtaavat usein ohjelmistosuunnitteluvaiheiden suunnitteluvaiheissa, niillä on tärkeimmät eronsa. ER-kaaviot edustavat datamallin abstraktia esitystä, kun taas luokkakaaviot edustavat ehdotetun järjestelmän staattista rakennetta ja käyttäytymistä. ER-kaavioiden tärkeimmät rakennuspalikat ovat kokonaisuuksia, suhteita ja määritteitä, mutta luokkakaavioiden tärkeimmät rakennuspalikat ovat luokat, suhteet ja määritteet. Luokkakaavio todennäköisemmin kartoittuu reaalimaailman objekteihin, kun taas ER-kaaviot yhdistyvät useimmiten tietokannan taulukoihin. Yleensä ER-kaavioista löytyvät suhteet ovat vaikeampia ymmärtää ihmisille kuin luokkakaavioiden suhteet.