Luokka- ja oliokaaviot - tärkeimmät mallinnuselementit : luokat, oliot ja niiden väliset suhteet - luokat ja oliot mallintavat kuvattavan järjestelmän sisältöä ja niiden väliset suhteet näyttävät, kuinka ne rakentuvat toisiinsa nähden. - luokka (class) on kuvaus olion tyypistä. Kaikki oliot ovat jonkin luokan ilmentymiä (instances). - luokka kuvailee yhden tyypin olioiden ominaisuudet ja käyttäytymisen. - olioita luodaan luokista ne ovat luokkansa mukaisia ilmentymiä. - luokka voi olla kuvaus oliosta missä tahansa järjestelmässä - esimerkkejä Liiketoiminnan ja mahdollisesti sen osana käsiteltävän tietojärjestelmän luokista: Asiakas Sopimus Lasku Velka Sijoitus Hinta-arvio Teknisen järjestelmän luokat koskevat usein teknisiä olioita, kuten järjestelmässä käytettyjä laitteita: Anturi Näyttö 1/0-kortti Moottori Painonappi Järjestelmäohjelmistoissa on usein käyttöjärjestelmän ohjelmistokokonaisuuksia vastaavia luokkia: Tiedosto Suoritettava ohjelma Laite Kuvake Ikkuna Vierityspalkki UML luokka- ja oliokaaviot 1
UML luokka- ja oliokaaviot 2
LUOKKAKAAVIO - kuvaa järjestelmän staattisen eli pysyvän rakenteen luokkien ja niiden välisten suhteiden avulla. - luokkakaavion yksi tehtävä on määrittää perusta muille kaavioille, kuten olioiden tiloja ja olioiden välistä yhteistyötä kuvaaville dynaamisille kaavioille, jotka kuvaavat järjestelmän muita piirteitä. (KAIKKI EIVÄT OLE SAMAA MIELTÄ. PIIRRÄ TELELOGIC) - luokkakaavion luokka voidaan toteuttaa suoraan oliosuuntautuneella ohjelmointikielellä, joka tukee suoraan luokkarakennetta. - Luokka piirretään suorakaiteena, joka on jaettu kolmeen osastoon: nimiosastoon, attribuuttiosastoon ja operaatio-osastoon ( PIIRRÄ KUVA) UML luokka- ja oliokaaviot 3
UML luokka- ja oliokaaviot 4
UML luokka- ja oliokaaviot 5
UML luokka- ja oliokaaviot 6
UML luokka- ja oliokaaviot 7
UML luokka- ja oliokaaviot 8
UML luokka- ja oliokaaviot 9
UML luokka- ja oliokaaviot 10
UML luokka- ja oliokaaviot 11
UML luokka- ja oliokaaviot 12
UML luokka- ja oliokaaviot 13
UML luokka- ja oliokaaviot 14
LUOKKIEN ETSINTÄ - luova urakka - mukana ongelma-alueen asiantuntijoita. - luokkien tulisi tulla ongelma-alueelta ja tulisi nimetä niitä oikeassa elämässä vastaavien asioiden mukaan. 1. Onko olemassa tietoa, joka pitäisi tallentaa tai analysoida? Jos jotain tietoa pitää tallentaa, muuntaa, analysoida tai käsitellä jollain muulla tavalla, on se mahdollinen luokka. Tieto voi olla järjestelmässä jatkuvasti säilytettäviä käsitteitä, tapahtumia tai tiedonsiirtoja, jotka tapahtuvat vain tietyllä hetkellä. 2. Onko olemassa ulkoisia järjestelmiä? jos on, ne ovat yleensä kiinnostavia mallinnuksen kannalta. Ulkoiset järjestelmät voidaan nähdä luokkina, jotka sisältyvät suunniteltavaan järjestelmään ja joiden kanssa ollaan vuorovaikutuksessa. 3. Onko olemassa kaavoja, luokkakirjastoja, komponentteja tai muita vastaavia rakennelmia? Jos aikaisemmista projekteista, työtovereilta tai valmistajalta on jäänyt kaavoja, luokkakirjastoja tai komponentteja, ne yleensä sisältävät mahdollisia luokkia. 4. Täytyykö järjestelmän käsitellä laitteita? Kaikki tekniset laitteet, jotka ovat yhteydessä järjestelmään, muuttuvat mahdollisiksi luokiksi, jotka käsittelevät näitä laitteita. 5. Onko olemassa organisaation osia? Organisaation kuvaaminen tehdään luokilla, etenkin liiketoimintamalleissa. UML luokka- ja oliokaaviot 15
6. Mitä rooleja liiketoiminnan toimijoilla on? Nämä roolit voidaan nähdä luokkina, kuten käyttäjä, järjestelmän ylläpitäjä tai asiakas. Oliokaavio - Olioita voidaan näyttää oliokaavioissa. - UML:n oliokaavioissa käytetään samaa merkintätapaa ja suhteita kuin luokkakaavioissakin - Oliokaavio näyttää, kuinka luokkakaavion oliot voivat kytkeytyä toisiinsa tietyllä hetkellä. - Olion nimi voidaan näyttää muodossa olionnimi: LuokanNimi. - Oliolla ei tarvitse olla nimeä (nimetön olio) :LuokanNimi - pelkkä olion nimi alleviivattuna ilman luokan nimeä olionnimi. UML luokka- ja oliokaaviot 16