SÄILYTETTÄVIEN TIETOJEN MÄÄRITYS LUOKKAMALLI

Samankaltaiset tiedostot
HAAGA-HELIA Käyttötapaukset 1 Tietojenkäsittely Tietosysteemin määritys. Käyttötapaukset

Ohjelmistotekniikan menetelmät, UML

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Käyttötapausten mallintaminen

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

UML:n yleiskatsaus. UML:n osat:

OHJE BE ONLINE VERKKOKAUPPAAN

Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet

UML- mallinnus: Tilakaavio

Myyntitilausrivin kuvaus

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Analyysi on tulkkaamista

Myyntitilaus -tiedoston kuvaus

Luokka- ja oliokaaviot

KÄYTTÖOHJE SISÄLLYSLUETTELO KIRJAUTUMINEN JÄRJESTELMÄÄN...2 JÄLKITOIMITUSKÄSITTELY...8 TUOTTEEN ETSIMINEN TILAUSTA TEHDESSÄ...9

UML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

VAATIMUSKUVASTO. Metallituote Oy / laskutus- ja asiakastietojärjestelmä. Ryhmä MikäNimi Jyri Björkman, K. K.

Myyntitilauserän kuvaus

Ohjelmistojen mallintaminen kertausta Harri Laine 1

UML - unified modeling language

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Johdanto. Olio (Object) Luokka (Class) Olion kuvaaminen

TIE Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

UML-kielen formalisointi Object-Z:lla

2. Käsiteanalyysi ja relaatiomalli

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

Ohjelmistojen mallintaminen, kesä 2009

CSV-tilaukset

käyttötapaukset mod. testaus

Ohjelmistojen mallintaminen, kesä 2010

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki

Ohjelmistotekniikan menetelmät, kesä 2008

MagicDraw-pikaohje (VH5)

Asiakasnumeron haltija on vastuussa tilauksesta ja vastaa laskun maksamisesta toimitusehtojen mukaisesti Oriolalle.

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely

Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto

Yhteistoimintakaavio (Esimerkki)

JHS laskumallin tiedot

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu

Tieto Määritelmä ALV-laki 2004 Huomautus

Sisällys. 19. Unified Modeling Language (UML) Johdanto. Johdanto. Johdanto. Luokkakaavio:

VH5, JOTU, MagicDraw:n käyttö

Ohjelmistojen suunnittelu

Ohjelmistojen mallintaminen, mallintaminen ja UML

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

Luento 3 Tietokannan tietosisällön suunnittelu

Olioperustaisuus (object oriented)

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustaisuus (object oriented)

SANOMAKUVAUS: KUOPION KAUPUNGILLE LÄHETETTÄVÄ SÄHKÖINEN LASKU

Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa

UML ja luokkien väliset suhteet

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Ostokorin hintasäännöt

Luokkamalli LUOKKAKAAVIO. Tämän osan sisältö. Luokkamalli. Luokka ja olio. Luokkakaavio (class diagram)

Ohjelmistotekniikan menetelmät, kevät 2008

Ensimmäisen myyntiprojektin tarjouksen luonti

Unified Modeling Language

CS-A1150 Tietokannat CS-A1150 Tietokannat / 35

Visma Liikkuvan työn ratkaisut: Online Varasto. Moderni työkalu työn hallintaan

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

UML Luokkakaavio 14:41

HELIA 1 (17) Outi Virkki Tiedonhallinta

Ohjelmistotekniikan menetelmät, koe

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustainen ohjelmistokehitys

Luokka (class) esitetään suorakulmion avulla, jonka sisälle kirjoitetaan luokan nimi (vahvennettuna).

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Ohjelmistojen mallintaminen luokkamallin laatiminen

UML OHJELMISTOPROSESSIEN TUKENA

3. Käsiteanalyysi ja käsitekaavio

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat

Käsikirjan paperiversiota ei enää ylläpidetä ohjeen päivämäärän jälkeen. Viimeisimmät versiot ohjeista löydät ohjelman Help-ruudulta.

5. Järjestelmämallit. Mallinnus

Harjoitustyö Case - HelpDesk

Ohjelmistojen mallintaminen luokkamallin laatiminen

Ohjelmiston toteutussuunnitelma

Harjoitustehtävät ja ratkaisut viikolle 48

Nimi: Henkilötunnus: {id} {+id}

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

PANKKILINJAN TESTITUNNUKSET

Mallinnus. 5. Järjestelmämallit. Abstraktiot. Mallinnuksen etuja. Arkkitehtuurimalli. Yhteysmallit. Ohjelmistotuotanto, järjestelmämallit Kevät 2005

Verkkopalvelun käyttöohje

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

OHJE VERKKOKAUPASSA ASIOINTIIN

BlueCommerce maksulinkki

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

TaikaLaskut. pikaohje

Transkriptio:

HELIA/Tiko 3.2.2006 Sivu /7 SÄILYTETTÄVIEN TIETOJEN MÄÄRITYS LUOKKAMALLI Taustaa Oliomallinnuksella haetaan järjestelmien Helppoa ylläpidettävyyttä, laajennettavuutta, laatua ja uudelleenkäytettävyyttä (nämä ovat laadullisia vaatimuksia jotka johdetaan toiminnallisista vaatimuksista) Uudelleenkäytön kohteena on kaikki systeemityön tuloksena syntyneet kuvaukset ja lopputulokset. Oliomallinnus tukee arkkitehtuurikeskeistä, inkrementaalista ja iteratiivista lähestymistapaa Arkkitehtuurikeskeinen tarkoittaa tässä systeemielementtien perusorganisointia. Iteraatio on tavallaan miniprojekti, jonka tuottaa kohteesta versioidun tuloksen, joka on käytettävissä projektin sisällä seuraavaan iteraatioon tai julkaistavissa. Seuraavan versioidun tuloksen on tarkoitus tuoda parannusta edelliseen versioon ja siksi iteraation tulosta kutsutaan inkrementiksi. Inkrementaalinen = kasvattava

HELIA/Tiko 3.2.2006 Sivu 2/7 Philippe Kruchten esittää kirjassaan näkemyksen miten systeemiä voi tarkastella eri näkymistä. 4+ -malli Logical view Sisältönäkymä -luokkakaaviot -oliokaaviot -tilakaaviot -vuorovaikutuskaaviot -aktiviteettikaaviot Process view Prosessinäkymä -tilakaaviot -vuorovaikutuskaaviot -aktiviteettikaaviot -komponenttikaaviot Use case view Käyttötapausnäkymä Käyttäjän kokemus -käyttötapauskaavio -aktiviteettikaavio -navigointikartta -näyttöjen kuvaukset Implementation view Toteutuksen näkymä -komponenttikaaviot Deployment view Sijoitusnäkymä -sijoituskaavio Sisältönäkymä kuvaa, miten käyttötapausnäkymässä esitetyt toiminnalliset vaatimukset saadaan aikaan sovelluksen eri osien välisellä yhteistyöllä. Tarkastellaan vaatimusmäärittelyä sisältönäkymästä ja rajataan tarkastelu säilytettäviin tietoihin ja niiden jäsentelyyn. Kuvataan UML:n luokkakaaviolla ja luokkakuvauksilla.

HELIA/Tiko 3.2.2006 Sivu 3/7 Taustaa vielä Arkkitehtuurityyli Arkkitehtuurityyli voidaan ymmärtää varsinaisen toteutuksen rakenteen selityksenä sekä myös ryhmittely- tai hahmotustekniikkana. Esimerkiksi kerrosjaolla saavutetaan etuja uudelleenkäyttöön ja muutoshallintaan. Selkeä elementtien jäsennys ja ryhmittely määrittely- ja suunnitteluvaiheen kuvauksissa helpottaa toteutusta. Esim. Malli-näkymä-ohjain. MVC (Modell-View-Controller) erottaa käyttöliittymäluokat, liiketoimintaluokat ja järjestelmän logiikan toisistaan. Käyttötapaukseen liittyvät luokat Talletuskerros Tk kyselyt ja päivitykset TK+ TKHJ V C M Model-osan luokkamalli kuvaa atk:lla säilytettävät tiedot - liiketoimintaluokat (kohdeluokat) esim. asiakas, tuote, tilaus - ohjaustietoluokat (apuluokat) esim. maksuehto - perustietoluokat (tekniset luokat) esim. päivämäärä, kellonaika - vastuut ja operaatiot Class diagram Luokkakaavio - Organisoi tietosysteemin oliot

HELIA/Tiko 3.2.2006 Sivu 4/7 Luokkamallin liittymät muihin kuvauksiin Liiketoimintaanalyysi Prosessikuvauk set Automatisointia nalyysi atk-tehtävät peruskäyttötapauk set säilytettävät tiedot Alustava luokkamalli Järjestelmäark kitehtuuri Käyttöliittymä suunnittelu Automatisointi analyysin tarkennus Käyttötapaukset Riippuvuuskaaviot Käyttöliittymä suunnitelmat Käyttäytymisen määritys Kohdeluokkien määritys Käyttötilanteet,sk enaariot,yhteistyö Luokkamalli Luokat Tilakaaviot Ohjausluokkien määritys Luokkien suunnittelu Tietokannan suunnittelu Uudelleen käytettävien komponenttien suunnittelu Esim. Luokkakirjasto Luokka kuvaukset Esim.Relaatiomal li Luokkien toteutus Inkrementtien koko ja iteraatiokerrosten määrä päätetään projektin alussa Mukaellen lähteestä: Sytyke ry Systeemityö /96

HELIA/Tiko 3.2.2006 Sivu 5/7 Luokkamalli = luokkakaavio + luokkakuvaukset Luokkakaavion tarkoitus on organisoida kohdeoliot johdonmukaisesti. Luokat pyritään jäsentämään niin, että ne ovat mahdollisimman itsenäisiä kokonaisuuksia. tilausnumero tilauspvm toivottutoimpvm /tilaussumma toimitetaan 0.. Toimitus toimituspvm toimitusosoite [3] Luokkakuvauksessa tarkemmin toimitusosoite. katu 2. postimumero 3. postitoimipaikka Luokkien nimeäminen Käytä kohdealueen termejä Käytä substantiivia tai substantiivin ja adjektiivin yhdistelmää Luokan nimen tulee kuvata luokan ilmentymää (oliota) ja olla yksikössä, nimi alkaa isolla kirjaimella Luokka Luokka kuvaa olioista koostuvaa joukkoa, jossa kaikilla olioilla on samanlaiset ominaisuudet, yhdenmukainen käyttäytyminen ja suhde toisiin olioihin. Olio on luokan ilmentymä Jokainen luokan olio on vastuussa ominaisuuksistaan ja käyttäytymisestään Olio voi kuulua vain yhteen luokkaan Olio ei voi vaihtaa luokkaansa

HELIA/Tiko 3.2.2006 Sivu 6/7 Luokkakaaviossa kuvataan: Luokat ja luokkien väliset suhteet koostumus (aggregation) ja vahva koostumus (composition), hierarkiasuhde (generalization relationship, class hierarcy), assosiaatio (association) Assosiaation ja koostumuksen kerrannaisuus (multiplicity) Tiedot, toiminnot, vastuut (attributes, operations, responsibility) Luokkakaavion näkymät tarvittaessa Luokan erilaiset kuvaustavat kaaviossa tilausnumero tilauspvm toivottutoimpvm tilausnumero tilauspvm toivottutoimpvm /tilaussumma lisää_tilaus peruuta_tilaus laske tilauksen summa() tilausnumero:num tilauspvm: Pvm toivottutoimpvm: Pvm /tilaussumma tilatut tuotteet oid lisää_tilaus() peruuta_tilaus() päivitä tilaus() laske tilauksen summa() tietää tilaajansa tietää tilatut tuotteet laskee tilauksen summan Operaatiot voi myös ryhmitellä stereotyyppien mukaan <<constructor>>, <<query>>, <<update>>

HELIA/Tiko 3.2.2006 Sivu 7/7 Luokkien väliset suhteet (relationships) Assosiaatio (association) Tuote Assosiaation kerrannaisuus Assosiaatio voi olla yksi monta (nolla tai enemmän) 0.. monta (nolla tai enemmän).. monta (yksi tai enemmän) 0.. nolla tai yksi..3, 0..2 numerisesti määritelty 2,4,6 suhde on aina parillinen, joko kaksi, neljä tai kuusi,2 linkkejä on yksi tai kaksi Tilauksen tuote Tuote Lukusuunta role name Maksuehto Yksisuuntainen assosiaatio Assosiaatio on oletusarvoisesti kaksisuuntainen, yksisuuntaisuus merkitään erikseen.

HELIA/Tiko 3.2.2006 Sivu 8/7 Henkilö on jäsen {subset} Järjestö Vakanssi pomo 0.. alainen on puheenjohtaja esimies Assosiaatio luokkana (association class) Suhteen attribuutit omaan luokkaan Opiskelija Tentti Suoritus Hierarkia Yleistäminen (generalization) Tili Tili 0.. {xor} 0.. Luotollinen tili Käyttötili Luotollinen tili Käyttötili Koostumus (aggregation, composition) Osasto Tilauksen tuote Henkilö

HELIA/Tiko 3.2.2006 Sivu 9/7 Luokkakuvauksessa kuvataan Luokan nimi - luokan nimen tulee kuvata luokan ilmentymää eli oliota ja olla yksikössä Määritelmä - määritelmän tulee kuvata luokka yksiselitteisesti, vastaus kysymykseen: mikä on? määritelmä ei saa sisältää luokan nimeä selittävänä tekijänä Yliluokka - jos kuvattu luokka on jonkin luokan aliluokka, niin tässä on yliluokan nimi Attribuutit - attribuuteista kuvataan nimi, kuvaus, arvoalueet, tyyppi, pituus, (esitysmuoto näytöllä (pp.kk.vv)) huom. myös olion tilojen vaatimat attribuutit - johdetun attribuutin kuvaus / esim. /ikä {ikä=tämäpäiväsyntymäaika} - yliluokalta perittävät attribuutit esitetään ko. yliluokan luokkakuvauksessa Assosiaatiot - suhteen nimi, tyyppi ja kuvaus, jossa kerrannaisuus on esitetty kyseisen luokan olioiden näkökulmasta (siis vain yhteen suuntaan, tästä luokasta katsoen) - yliluokalta perittävät assosiaatiot esitetään ko. yliluokan luokkakuvauksessa Vastuut -osaamisvastuut (esim. laskenta) ja tietämisvastuut (suhteiden mukaiset vastuut) - yliluokalta perittävät vastuut esitetään ko. yliluokan luokkakuvauksessa Tarkoitus on kertoa luokan tehtävät selväkielisillä lauseilla Operaatiot - operaation nimi ja kuvaus käsittelysäännöistä perusoperaatiot - palvelupyyntöjä vastaavat yhteistyön vaatimat operaatiot - yliluokalta perittävät operaatiot esitetään ko. yliluokan kuvauksessa - aliluokan operaatio, joka korvaa yliluokkansa saman nimisen operaation Lukumäärätiedot - kuvataan arvio ilmentymien lukumäärästä määrätyllä aikajänteellä min/max

HELIA/Tiko 3.2.2006 Sivu 0/7 Esimerkki luokkamallin luokkien löytymisestä ja jäsentymisestä..40 Tuote.. kuuluu toimitetaan..20 Toimitus kuuluu Asiakas laskutetaan..3 Lasku..20 Kuva : tenkäsittelyn alustava luokkakaavio Ensimmäiseen luokkamalliversioon kuvataan kohdealueen tärkeimmät luokat, luokkien määritelmät ja niiden väliset suhteet ymmärrettävästi. ten käsittely ten syöttö ten selailu Tuotteiden selaus Asiakas Asiakas Tuote Tuote Tuote Kuva 2: Käyttötapausten tarvitsemat luokat Vertaamalla luokkamallia käyttötapausmalliin saadaan rajattua kohdealueelle kuuluvat luokat. Luokkien vastuita voi myös alustavasti miettiä, eli mitä luokan tulisi osata tehdä ja tietää. Luokkamallista saadaan versio, jossa on kohdealueen luokat sekä vastuukuvaukset.

HELIA/Tiko 3.2.2006 Sivu /7 Käyttötapausten tekstikuvausten, tietotarvekuvausten pohjalta luokkiin löytyy attribuutteja ten syöttö käyttötapauksen tekstikuvaus Käyttötapaus: Toimija: Esiehto: Lopputulos: ten syöttö Myyntisihteeri Käyttöoikeus on tarkistettu; toimijalla on oikeus on tallennettu atk-systeemiin ja se on saanut yksilöivän tunnuksen. Toimija hakee asiakkaan. Asiakas voidaan hakea asiakasnumerolla, aakkostunnuksella tai nimen alkuosalla. 2. Systeemi näyttää asiakastunnuksen, asiakkaan nimen, toimitusosoitteen, yhteyshenkilön nimen ja puhelinnumeron, maksuehdon, toimitusehdon, toimitustavan, asiakaskohtaisen alennusprosentin sekä mahdollisen maksuhäiriötekstin. 3. Toimija antaa asiakkaan toivoman tilauksen toimituspäivämäärän. 4. Toimija antaa tilattavan tuotteen tunnistetiedon tai lopettaa tilauksen syötön (kohta 8). Tuote voidaan tunnistaa tuotetunnuksen, tuotenimen tai tuoteryhmän avulla. 5. Systeemi näyttää tuotteen nimen, toimitettavissa olevan määrän, myyntihinnan, myyntiyksikön ja asiakkaan alennuksen / myyntiyksikkö. 6. Toimija syöttää tilattavan määrän. Mikäli toimitettavissa oleva määrä ei riitä, systeemi antaa ilmoituksen, ja toimijan tulee syöttää uusi tilattu määrä tai valita toinen tuote. 7. Systeemi näyttää rivin arvon sekä koko tilauksen kumulatiivisen arvon. Palataan kohtaan 4. 8. Toimija hyväksyy tilauksen. 9. Systeemi antaa tilaukselle yksilöivän numeron juoksevasta sarjasta ja ilmoittaa, että tilaus on talletettu atkjärjestelmään. V8 Toimija ilmoittaa, että tilaus peruutetaan; tilauksesta ei tallennu mitään atk-järjestelmään. P2. Asiakkaalla on sellaisia maksuhäiriöitä, jotka estävät tilauksen vastaanottamisen; systeemi näyttää tähän liittyvän ilmoituksen eikä anna jatkaa tilauksen syöttöä. Käyttötapaus päättyy. P2.2 Tilauksessa halutaan käyttää poikkeavia toimitustietoja: toimitusosoitetta tai toimitustapaa. Toimija syöttää tilauksen toimitusosoitteen ja/tai valitsee toimitustavan systeemiin määriteltyjen toimitustapojen joukosta. P3 - Annettu päivämäärä ei ole korrekti päivämäärä; systeemi antaa virheilmoituksen ja toimijan on syötettävä päivämäärä uudelleen - Annettu päivämäärä on aikaisempi kuin systeemin päivämäärä; systeemi antaa virheilmoituksen ja toimijan on syötettävä päivämäärä uudelleen. - Annettu päivämäärä on liian kaukana tulevaisuudessa, systeemi antaa ilmoituksen ja toimijan on syötettävä päivämäärä uudelleen. P9 Tilauksella ei ole yhtään tuoteriviä; systeemi antaa ilmoituksen; tilauksesta ei tallennu mitään atk-järjestelmään. Lähde: Käyttötapausluentomateriaali Ulla Vanhanen

HELIA/Tiko 3.2.2006 Sivu 2/7 Käyttötapauksen perus tai osakäyttötapaus tietotarve Käyttötapaus: Tilauksen syöttö Tietotarve: Asiakasnumero, aakkostunnus, asiakkaan nimi, asiakkaan toimitusosoite, yhteyshenkilön puhelinnumero, yhteyshenkilön nimi, maksuehto, toimitusehto, toimitustapa, alennusprosentti, maksuhäiriöteksti, tilauksen toimituspäivämäärä, tilauspäivämäärä, tilattavan tuotteen nimi, tilattava kappalemäärä, tuotteen hinta, tuotteen hinta yhteensä, tilatut tuotteet hinta yhteensä tilausnumero tilauspvm tilauksen arvo tilausrivi[40] rivinumero tilattava määrä /tilauksen summa jne. Tuote tuotenumero tuotenimi Asiakas asiakasnumero aakkostunnus asiakkaan nimi[2] asiakkaan toimitusosoite[3] yhteyshenkilön nimi[2] yhteyshenkilön puhelinnumero maksuehto toimitusehto jne. Kuva 4: Tietotarpeen attribuutit on jäsennetty luokkiin Attribuutteja tutkimalla näkee, että luokkamallia voi jäsentää edelleen. Edellistä luokkamallin versiota jäsennetty lisää rivi Tuote Asiakas Yhteyshenkilö Luokkamallin versio, jossa jokainen luokka on analysoitu. Luokkakuvauksiin on lisätty attribuutit. Mietitään esim. tarvitaanko yhteyshenkilöstä omaa luokkaa.

HELIA/Tiko 3.2.2006 Sivu 3/7 Tietotarpeiden pohjalta mietitään myös suhteita ja kerrannaisuuksia luokkien välille. Suhteet ja kerrannaisuudet kuvataan kaavioon ja kuvauksiin. Luokkiin vastuut Luokan vastuut kertovat luokan tehtävät selväkielisillä lauseilla. Vastuukuvausten avulla on usein helppo keskustella ja hahmotella luokkien toiminnallisuutta. Luokkien vastuita tarkennetaan luokkien suhteiden perusteella ja määrittämällä mitä luokan olioiden tulisi osata tehdä. Vastuut puretaan operaatioiksi Mitä palveluita olion on kyettävä tarjoamaan ja mitä olion on osattava tehdä vastuidensa mukaan? Vastuu.. Operaatio Yhtä vastuukuvausta vastaa useampi operaatio Operaatioita löytyy yhteistyökuvausten (collaborationdiagram) ja olion tilojen ja tilasiirtymien (tilakaaviot) tutkimisella. Yhteistyökuvausten avulla voi löytyä myös tarvittavia apuluokkia ja ohjaustietoluokkia esim. Alennusprosentti Maksuehto

HELIA/Tiko 3.2.2006 Sivu 4/7 Käyttötapausten tarvitsemat luokat- matriisi Luokat Käyttötapaukset ten syöttö ten selailu Tuotteiden selaus Tilauksen tuote Asiakas Tuote C C R R R R R R R C = tiedon luonti, R = tiedon luku, U = tiedon päivitys, D = tiedon poistaminen, O = oletusarvon asetus Matriisin tarkoituksena on jäljittää eri käyttötapauksien käyttämät luokat. Matriisin avulla: - voidaan tarkistaa, että jokaiseen luokkaan kohdistuu toimintoja - saadaan selvitettyä luokat, joita tarvitaan useassa eri käyttötapauksessa. Näihin luokkiin kohdistuu siis useita palvelupyyntöjä. Näistä luokista kannattaa analysoida olion tilat ja tapahtumat tilakaavion avulla, niin saadaan apua operaatioiden määrittämiseen - nähdään mitkä käyttötapaukset käyttävät paljon luokkia, näin osataan suunnittelussa ja testauksessa huomioida nämä luokat - osasysteemijaossa - käyttötapausten ryhmittelyssä - saadaan liittymäjärjestelmille vaatimuksia Liittymäjärjestelmät Rakennettavalla järjestelmällä on usein liittymiä muihin sovelluksiin Sovellukset voivat käyttää rakennettavan sovelluksen palveluja tai tarjota niitä. Rajapintojen etsiminen aloitetaan määrittelyssä. Määrityksen luokkamallissa mallinettaan kohteena olevan järjestelmän tarvitsemat kaikki tiedot vaikka osa tiedoista onkin jonkin toisen järjestelmän omistamia. Liittymäjärjestelmät tutkitaan ja kuvataan mitkä tiedot saadaan liittymäjärjestelmistä ja mitä vaatimuksia liittymäjärjestelmille voidaan asettaa. Rajapintaratkaisut suunnitellaan myöhemmässä vaiheessa.

HELIA/Tiko 3.2.2006 Sivu 5/7 Esim. Osajoukko tuotetiedoista tarvitaan tilaustenkäsittelyssä. Varastonhallintasovellus ylläpitää tuotetietoja. Varasto::Tuote Asiakashallinta::Asiakas Tilauksen tuote Liittymäjärjestelmien omistamat luokat ja niiden käytön vaatimukset Katso Peuhun kuvastosta esimerkki liittymäjärjestelmien tietojen käytöstä

HELIA/Tiko 3.2.2006 Sivu 6/7 Esimerkki Peuhun kuvastosta Liittymät muihin systeemeihin Liittymät varastonvalvonnan atk-systeemiin Varastonvalvonnan atk-järjestelmä on jo otettu käyttöön. Myynnin atkjärjestelmän käyttöönoton jälkeen käsittelevät systeemit toistensa tietoja. Myynnin ja markkinoinnin tietosysteemin (M&M) käyttämät varastonvalvonnan atk-systeemin tiedot M&M: n toiminto Uuden tilauksen tallennus kysely tietojen muutos Varaston atksysteemin tieto Tuote - tuotekoodi R R R - nimi R R R - myyntihinta R R - varastomäärä R R - varattu määrä P U Tuoteryhmä - koodi R R - nimi R R - alv % R R R Toimitus - lähetysluettelon numero - toimituspäivämäärä R - tuotekoodi R - toimitettu määrä R - toimitetun tuotteen omakustannushinta toimitushetkellä C = tiedon luonti, R = tiedon luku, U = tiedon päivitys, D = tiedon poistaminen, O = oletusarvon asetus Lähde: Toiminnallinen vaatimusmääritys Ulla Vanhanen R

HELIA/Tiko 3.2.2006 Sivu 7/7 Luokkamallin tarkastuksessa kiinnitetään huomiota Toiminnallisuuteen Luokkamallin luokat edustavat toiminnan tarpeiden mukaisia säilytettäviä tietoja. Toteuttamiskelpoisuuteen Luokkien suunnittelu- ja toteutusvaihe saa tarvittavat tiedot. Luokat on määritelty ja luokkakuvaukset on laadittu sovitun kuvaustavan mukaisesti. Luokkamallin jäsennys on järkevä ja toimiva. Liittymäjärjestelmiltä saatavat ja annettavat tiedot on määritetty. Katso katselmoinnin kohteet tarkemmin luokkamallin arviointilomakkeista. Lähteitä: Kendall Scott. 2002. The Unified Process Explained. Koskimies, K. Mikkonen, T.2005. Ohjelmistoarkkitehtuurit. Philippe Kruchten. 2003. The Rational Unified process An Introduction. The Unified Modeling Language Reference Manual. Ulla Vanhanen. Käyttötapausluentomateriaali. Sys48d -opintojakson materiaali.