UML RASE 10 5 2006 1 Yleist UML

  • Slides: 16
Download presentation
UML RASE 10. 5. 2006 1

UML RASE 10. 5. 2006 1

Yleistä • UML on oliokeskeisen ohjelmistotuotannon mallinnukseen liittyvä kieli • Vanhemman, rakenteisen suunnittelun kielenä

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) 2 • Jotkin piirto-ohjelmat tukevat UML-notaatiota

Yleistä UML-kaavioista • UML kaavioita on määritetty kahdeksan Use Case Käyttötapaus Sequence Sekvenssi Class

Yleistä UML-kaavioista • UML kaavioita on määritetty kahdeksan Use Case Käyttötapaus Sequence Sekvenssi Class Luokka State Tilakaavio Activity Vuokaavio Collaboration Yhteistyö Component Komponentti Deployment Sijoittelu 3

Use Case - Käyttötapauskaavio • Koostuu käyttäjistä ja käyttötapauksista käyttäjien ja järjestelmän välillä •

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äjä 4

Use Case - Käyttötapauskaavio Käyttäjä – Actor: • Kuvataan ”tikku-ukkona” Käyttäjä • Käyttäjät EIVÄT

Use Case - Käyttötapauskaavio Käyttäjä – Actor: • Kuvataan ”tikku-ukkona” Käyttäjä • 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ä 5

Use Case - Käyttötapauskaavio Käyttötapaus – Use Case: Käyttötapaus • Kuvataan ovaalina • Käyttötapaus

Use Case - Käyttötapauskaavio Käyttötapaus – Use Case: Käyttötapaus • 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 6

Use Case - Käyttötapauskaavio Yhteyssuhteet: • Linkki (Association) • Yksisuuntainen (Unidirectional) • Kaksisuuntainen (Bidirectional)

Use Case - Käyttötapauskaavio Yhteyssuhteet: • Linkki (Association) • Yksisuuntainen (Unidirectional) • Kaksisuuntainen (Bidirectional) • Yhteys (Connection) • ’käyttää’ – uses (myös include) • ’laajentaa’ – extends <<uses>> <<extends>> • Riippuvuus (Dependency) 7

Use Case - Käyttötapauskaavio • Yksisuuntainen kommunikointisuhde käyttäjän ja käyttötapauksen välillä kuvataan siis yksisuuntaisella

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) Järjestelmä Tee tarjous Asiakas Hyväksy tilaus Myyjä 8

Use Case - Käyttötapauskaavio • Käyttötapaus alkaa jonkun käyttäjän aloitteesta ja päättyy kun järjestelmä

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. A 4 -arkillinen on riittävä koko • sopiva tarkkuus: kattavat tärkeimmät osat toteutuksesta. Kaikkia yksityiskohtia ei voi ottaa mukaan. 9

Use Case - Käyttötapauskaavio • Käyttötapausten tarkoitus on siis toimia asiakasvaatimusten kartoittamisen apuvälineenä •

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 10

Use Case - Käyttötapauskaavio Järjestelmä Varausten poistaminen Varauksista vastaava Luentosalin varaaminen <<uses>> Perustietojen ylläpito

Use Case - Käyttötapauskaavio Järjestelmä Varausten poistaminen Varauksista vastaava Luentosalin varaaminen <<uses>> Perustietojen ylläpito Ylläpitäjä <<uses>> Harjoitussalin varaaminen Assistentti <<uses>> Käyttäjän tunnistus Vuokran laskutus <<actor>> vuokrajärjestelmä 11

Use Case - Käyttötapauskaavio Nimi: Luentosalin varaaminen, versio 1. 0 Suorittajat: Kurssin vastuuhenkilö Esiehdot:

Use Case - Käyttötapauskaavio Nimi: Luentosalin varaaminen, versio 1. 0 Suorittajat: Kurssin vastuuhenkilö Esiehdot: Vastuuhenkilö ja kurssi syötetty järjestelmään Kuvaus: Vastuuhenkilö seuraa WWW-linkkiä, joka johtaa järjestelmän pääsivulle. Hän syöttää järjestelmään käyttäjätunnuksensa ja salasanansa (uses: KT käyttäjän tunnistus). Käyttäjä pyytää järjestelmää näyttämään salin varaustilanteen haluamaltaan aikaväliltä. Hän saa eteensä salin lukujärjestysnäytön (ks liite). Käyttäjä näkee näytöstä vapaat ajat sekä myös mille kursseille sali on milloinkin varattu ja kuinka monelle viikolle. Käyttäjä tekee varauksen joltain vapaaksi havaitsemaltaan ajankohdalta. [Poikkeus: varaus ei onnistu]. Poikkeukset: Varaus ei onnistu. Varaustilanne voi muuttua sillä aikaa kun varaaja tekee varausta. Järjestelmä ilmoittaa tilanteesta käyttäjälle ja käyttäjä yrittää uudelleen. Lopputulos: Varaukset kurssien luentoajoiksi on tehty. Muut vaatimukset Päivittäin käsitellään kiireisimpinäkin ajankohtina enintään 100 varausta. Vastausajan on oltava alle 1 sekuntia, lukujärjestysnäytön päivitys saa kestää 5 sekuntia. 12

Luokkakaavio (Class Diagram) ¡ ¡ Luokkakaavio on UML-kaavioista laajin ja monipuolisin Kaaviossa esitetään luokkien

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: l l l yhteysrakenne eli assosiaatio koosterakenne eli aggregaatti periytymisrakenne eli hierarkia 13

Luokkakaavio (Class Diagram) ¡ Yhteysrakenteella (assosiaatio) kuvataan kahden olion välisiä suhteita Eläkeläinen ¡ yhteys

Luokkakaavio (Class Diagram) ¡ Yhteysrakenteella (assosiaatio) kuvataan kahden olion välisiä suhteita Eläkeläinen ¡ yhteys 0. . 5 0. . 1 Palmu Koosterakenteella (aggregaatti) kuvataan olioita, jotka koostuvat toisista olioista. Jos olion olemassaolo riippuu toisesta oliosta maalataan vinoneliö mustaksi, muodoste (komposiitti) Yritys Puu 1 1. . * Oksa Osasto 0. . * * * Hedelmä Henkilö * 14

Luokkakaavio (Class Diagram) ¡ ¡ Periytymisrakenteella (hierarkia) kuvataan yliluokkia ja niistä periytettyjä aliluokkia Aliluokat

Luokkakaavio (Class Diagram) ¡ ¡ Periytymisrakenteella (hierarkia) kuvataan yliluokkia ja niistä periytettyjä aliluokkia Aliluokat perivät kaikki yliluokan ominaisuudet ja toiminnot Ihminen Aikuinen Lapsi 15

Luokkakaavio (Class Diagram) Ihminen -nimi -osoite -ikä Eläkeläinen - eläkkeen suuruus Runko - väri

Luokkakaavio (Class Diagram) Ihminen -nimi -osoite -ikä Eläkeläinen - eläkkeen suuruus Runko - väri - paksuus Puu 1. . * 1 - ikä - korkeus 0. . 1 Palmu - maaperä - maa Hedelmä - väri - maku -palkka -työnantaja 0. . 5 1 Oksa - muoto Työssä käyvä 0. . * 16