UML-luokkakaavio ● Luokkakaavio (class diagram) kuvaa järjestelmän luokkarakennetta ● Mitä luokkia on olemassa ● Minkälaisia luokat ovat ● Luokkien suhteet toisiinsa
UML-luokkakaavio ● Käsiteanalyysissä löydettyjä kohdekuvauksia (käsitteitä) voidaan ajatella luokkina ● Abstraktiotasosta riippuen yksittäisestä luokasta määritellään ● Nimi (Aina) ● Attribuutit ● Metodit ● Tietokantaa kuvatessa metodien määrittely ei ole tarpeen – attribuutit halutaan yleensä nähdä
UML-luokkakaavio ● Luokka Huoltohenkilo ilman attribuutteja ● Laatikko jossa luokan nimi ● Luokka Huoltohenkilo attribuuteilla nimi ja puhelinnumero ● Kaksiosainen laatikko jossa ensin luokan nimi, ja sitten attribuutit
UML-luokkakaavio ● Yhteydet merkitään viivalla luokkien välillä ● Huoltohenkilö liittyy huoltotapahtumaan (huoltotapahtumalla on aina huollon tehnyt huoltohenkilö) ● Luokkakaavioon voidaan merkitä myös rooleja – Huoltohenkilön rooli on huoltaja
UML-luokkakaavio ● Osallistumisrajoitteet merkitään numeroilla ● Huoltotapahtumaan liittyy aina yksi huoltohenkilö, mutta yksi huoltohenkilö voi liittyä rajattomaan määrään huoltotapahtumia ● Jos rajoitteita ei määritelty, oletetaan yksi yhteen – “Yksi huoltohenkilö huoltotapahtumaa kohti” – Onko edellisellä kalvolla oleva kuvaus käytännöllinen?
UML-luokkakaavio ● Usein vain toinen yhteyteen liittyvä osapuoli tuntee toisen osapuolen ● Esimerkiksi huoltotapahtumaan kirjataan aina huoltohenkilö – mutta huoltohenkilö ei tiedä häneen liittyviä huoltotapahtumia ● Yhteys voi siis olla yksisuuntainen – Ilmaistaan tekemällä yhteysviivasta nuoli – Merkitään vain jos suunta on tärkeä tietää
UML-luokkakaavio ● Luokkakaaviota määriteltäessä esiin tulee joskus tilanteita joissa yhden luokan olemassaolo riippuu toisesta luokasta. ● Kompositio, eli musta salmiakkikuvio, kertoo tiedon olevan oleellisesti osa toiselle tiedolle ● Salmiakkikuvio liitetään yhteyden siihen päähän, johon osat sisältyvät
UML-luokkakaavio ● Kompositiota käytetään kun seuraavat ehdot toteutuvat: ● Osat ovat olemassaoloriippuvaisia kokonaisuudesta – Kun henkilö poistetaan, hänen palkkahistoria tulee poistaa ● Osa voi kuulua vain yhteen samantyyppiseen kompositioon – Henkilön palkkahistoriaa ei voi siirtää toiselle henkilölle ● Osa on koko olemassaolonsa kytketty samaan kompositioon
UML-luokkakaavio ● Kompositiosta: Tietokantajärjestelmiä suunnitellaan yleensä siten, että oikeellista tietoa ei poisteta – vaan se deaktivoidaan ● Virhesyöte voidaan poistaa riippuen järjestelmästä – Pankille tai kaupalle kuittien virhelyönnit oleellisia – Virheellisesti syötetty tuote taas halutaan pois järjestelmästä pysyvästi – jos siihen ei liity muita tapahtumia ● Tarkoitus säilyttää tieto tulevaisuutta varten ● Esimerkiksi henkilöllä aloituspäivämäärä ja lopetuspäivämäärä työpaikassa
UML-luokkakaavio ● Oleelliset työkalut ● Paperi ja kynä – Paperi talteen tai roskiin – Skannaus tai digikuva ● Paljon ilmaisia työkaluja – Dia (käytetty näissä kuvissa) – Openoffice –...