260 likes | 798 Views
UML. RASE 10.5.2006. Yleistä. UML on oliokeskeisen ohjelmistotuotannon mallinnukseen liittyvä kieli Vanhemman, rakenteisen suunnittelun kielenä on omat menetelmät (esim. SA/SD/RT) UML (Unified Modeling Laguage) on standardoitu mallinnuskieli:
E N D
UML RASE 10.5.2006
Yleistä • UML on oliokeskeisen ohjelmistotuotannon mallinnukseen liittyvä kieli • Vanhemman, rakenteisen suunnittelun kielenä on omat menetelmät (esim. SA/SD/RT) • UML (Unified Modeling Laguage) on standardoitu mallinnuskieli: • alunperin mm. ohjelmistojen kuvaamiseen ja dokumentointiin • sitten käyttöalue laajentunut mm liiketoimintaprosessien mallinnukseen • Mallinnusohjelmia on runsaasti tarjolla • Rational Rose (www.rational.com) • System Architect (www.popkin.com) • Visual UML (www.visualobject.com) • Poseidon (www.download.com/Poseidon-for-UML-Community-Edition/3000-2212_4-10342659.html) • Jotkin piirto-ohjelmat tukevat UML-notaatiota
Yleistä UML-kaavioista • UML kaavioita on määritetty kahdeksan
Use Case - Käyttötapauskaavio • Koostuu käyttäjistä ja käyttötapauksista käyttäjien ja järjestelmän välillä • Selkeä ja helppo ymmärtää • suunnittelija, asiakas ja järjestelmän käyttäjät ymmärtävät • yhteinen työväline asioiden tarkentamiseksi (iterointi) Järjestelmä Käyttötapaus Käyttötapaus Käyttäjä Käyttäjä
Käyttäjä Use Case - Käyttötapauskaavio • Käyttäjä – Actor: • Kuvataan ”tikku-ukkona” • Käyttäjät EIVÄT ole tietojärjestelmän osia • Käyttäjä voi syöttää tietoa järjestelmään / vastaanottaa tietoa järjestelmästä • Ihmisten lisäksi käyttäjät voivat olla myös toisia tietojärjestelmiä, jotka kommunikoivat tämän järjestelmän kanssa ohjelmien välityksellä
Käyttötapaus Use Case - Käyttötapauskaavio • Käyttötapaus – Use Case: • Kuvataan ovaalina • Käyttötapaus kuvaa toimintaa tai toiminnan osaa • Se voi olla myös tapahtuma, johon tulee reagoida • Kuvaa käyttäjän ja tietojärjestelmän välistä vuorovaikutusta • Käyttötapaus voi olla laaja kokonaisuus tai pieni yksityiskohta
Yhteyssuhteet: • Linkki (Association) • Yksisuuntainen (Unidirectional) • Kaksisuuntainen (Bidirectional) • Yhteys (Connection) • ’käyttää’ – uses (myös include) • ’laajentaa’ – extends • Riippuvuus (Dependency) <<uses>> <<extends>> Use Case - Käyttötapauskaavio
Järjestelmä Tee tarjous Hyväksy tilaus Asiakas Myyjä Use Case - Käyttötapauskaavio • Yksisuuntainen kommunikointisuhde käyttäjän ja käyttötapauksen välillä kuvataan siis yksisuuntaisella nuolella • Kaksisuuntainen kommunikointisuhde kuvataan joko pelkällä viivalla tai sitten kaksisuuntaisella nuolella • Nuolen suunta kertoo, kumpi osapuoli käynnistää kommunikoinnin (käynnistäjästä poispäin)
Use Case - Käyttötapauskaavio • Käyttötapaus alkaa jonkun käyttäjän aloitteesta ja päättyy kun järjestelmä on tuottanut lisäarvoa käyttäjälleen • Hyvän käyttötapauksen ominaisuuksia: • ymmärrettävyys: asiakkaan ja järjestelmän tulevien käyttäjien tulee ymmärtää ne. Kuvausten oltava mahdollisimman konkreettisia • kuvaa asiakasvaatimuksia: vältetään ottamasta kantaa toteutukseen. ”käyttäjä identifioi itsensä” on parempi kuin ”käyttäjä identifioi itsensä syöttämällä kuusi kirjaamisen käyttäjätunnuksen ja nelinumeroisen salasanan. • testattavuus: käyttötapaukset muodostavat perustan järjestelmätestaukselle. Käyttötapauksen oltava kokonaisuus, joka voidaan testata testausvaiheessa • koko: ei saa olla liian laaja. A4-arkillinen on riittävä koko • sopiva tarkkuus: kattavat tärkeimmät osat toteutuksesta. Kaikkia yksityiskohtia ei voi ottaa mukaan.
Use Case - Käyttötapauskaavio • Käyttötapausten tarkoitus on siis toimia asiakasvaatimusten kartoittamisen apuvälineenä • Käyttötapaukset eivät korvaa toiminnallisessa määrittelyssä esitettäviä järjestelmän toiminnan kuvauksia • käyttötapausten ei tarvitse kattaa järjestelmän koko toiminnallisuutta • kaikista ominaisuuksista ei kannata edes tehdä käyttötapauksia • yhden käyttötapauksen suorittaminen voi vaatia useamman järjestelmän tarjoaman toiminnon suorittamisen
Järjestelmä Varausten poistaminen Luentosalin varaaminen <<uses>> Perustietojen ylläpito Ylläpitäjä Varauksista vastaava <<uses>> <<uses>> Harjoitussalin varaaminen Assistentti <<uses>> <<actor>> vuokra- järjestelmä Vuokran laskutus Käyttäjän tunnistus Use Case - Käyttötapauskaavio
Luokkakaavio (Class Diagram) • Luokkakaavio on UML-kaavioista laajin ja monipuolisin • Kaaviossa esitetään luokkien välisiä suhteita ja luokkien ominaisuuksia ja operaatioita • Käytetään myös tietokannan kuvaamiseen (luokka=taulu) • Luokkakaaviossa on erilaisia rakenteita: • yhteysrakenne eli assosiaatio • koosterakenne eli aggregaatti • periytymisrakenne eli hierarkia
Yhteysrakenteella (assosiaatio) kuvataan kahden olion välisiä suhteita • Koosterakenteella (aggregaatti) kuvataan olioita, jotka koostuvat toisista olioista. Jos olion olemassaolo riippuu toisesta oliosta maalataan vinoneliö mustaksi, muodoste (komposiitti) yhteys Palmu Eläkeläinen 0..5 0..1 Yritys Puu 1 Osasto * 1..* 0..* * Oksa Hedelmä Henkilö * Luokkakaavio (Class Diagram)
Luokkakaavio (Class Diagram) • Periytymisrakenteella (hierarkia) kuvataan yliluokkia ja niistä periytettyjä aliluokkia • Aliluokat perivät kaikki yliluokan ominaisuudet ja toiminnot Ihminen Aikuinen Lapsi
Ihminen -nimi -osoite -ikä Eläkeläinen Työssä käyvä - eläkkeen suuruus -palkka -työnantaja Runko 0..5 - väri - paksuus 1 Puu Oksa - ikä - korkeus - muoto 0..1 1..* 1 Palmu - maaperä - maa Hedelmä - väri - maku 0..* Luokkakaavio (Class Diagram)