Tietojärjestelmät ja Systeemisuunnittelu 2/2001 Tietojärjestelmät ja Systeemisuunnittelu 010557001 Luennoitsija: Tapio Lammi e-mail: tapi@iki.fi 1
Oliopohjainen Analyysi ja UML
Analyysiprosessi vaatimus- määrittely Käyttötapaus- kaaviot Luokkakaavio Komponentti- kaavio Tilakaavio Sekvenssi- kaavio Oliokaavio
Analysoitu järjestelmä Analyysiprosessi Vaatimusmäärittely Lähtökohtana vaatimusmäärittely Top-Down suunnittelu - iteroidaan suunnittelukierroksia tarkentaen kuvaustasoa joka kerralla Lopuksi kootaan järjestelmä loogisiin moduuleihin Analysoitu järjestelmä
Analyysi - riittävä taso ? Analyysistä voidaan siirtyä suunnitteluvaiheeseen kun Kaikki vaatimusmäärittelyissä mainitut vaatimukset on käyty läpi ja niille on olemassa toteutusmekanismi Tarkkuustasoa lisättäessä jouduttaisiin ottamaan kantaa toteutustekniikkaan Asia voidaan käydä läpi asiakkaan kanssa Raja analyysi- ja suunnitteluvaiheen välillä ei ole selkeä
Analyysi - iteraatiokierrokset Kierros 1 - Mallinnetaan järjestelmän rakenne ja toiminta yleisellä tasolla Kierros 2 - Suunnitellaan käyttöliittymät / rajapinnat ja kuvataan niistä aiheutuvat muutokset Kierros 3 - Lisätään operaatioihin parametrit ja kuvataan niiden vaikutus Kierros 4 - Lisätään kaavioihin virheenkäsittely
Esimerkki - analyysi Vaatimuslauseet Tilausten käsittelijän tulee voida luoda tilaus, selata tehtyjä tilauksia, sekä tehdä lähetys tilauksiin liittyen. Jotta tilausta voidaan käsitellä, tulee asiakkaan tietojen löytyä järjestelmästä Tilaus voidaan toimittaa joko kokonaan kerralla tai useampana osatoimituksena Asiakashallinnan tulee voida laskuttaa asiakasta kokonaan toimitetuista tilauksista
Esimerkki - käyttötapauskaavio
Esimerkki - Käyttöliittymät Tilauksen luonti Tilauksen selaus Lähetyksen luonti Laskun luonti Tilausten valinta Asiakkaan valinta
Esimerkki - Näyttöjen toiminnallisuus Tilauksen luonti Tallennus Peruutus Tilausten selaus Tilauksen valinta näytön sulkeminen Tilauksen haku Lähetyksen luonti Tallennus Peruutus Tilauksen valinta Laskun luonti Asiakkaan valinta Näytön sulkeminen Asiakkaan haku
Näytöt - luokkakaavio
Näytöt - tilakaavio
Esimerkki - Toiminteet jotka vaativat myös sovelluslogiikkaa Tilauksen luonti Tallennus Peruutus Tilausten selaus Tilauksen valinta näytön sulkeminen Tilauksen haku Lähetyksen luonti Tallennus Peruutus Tilauksen valinta Laskun luonti Asiakkaan valinta Näytön sulkeminen Asiakkaan haku
Näytöistä saadut luokat ja operaatiot Tilaus Tallenna Hae Lähetys Lasku Asiakas
Luokkakaavio sovelluslogiikkaan - rajapintaluokat
Luokkakaavio - tietomalli
Sekvenssikaavio - Tilauksen haku
Sekvenssikaavio - Tilauksen tallennus
Esimerkki - Iteraatio 2 Käyttötapauskaavioihin ei muutoksia Käyttöliittymissä otetaan huomioon myös näytöltä toiselle siirryttäessä tarvittavat operaatiot Tietokantaluokissa tuodaan mukaan myös operaatiot joita tietomallin alkioille voidaan tehdä
Näyttösuunnittelu Tuotekoodi Tuotetenimi kappalemäärä Status tu-11 Vihreä mutteri 120 Toimitettu tu-222 Sininen vaijeri 5 Toimittamatta
Näytöt - Tilakaavio
Tarkennettu sekvenssikaavio - Tilauksen haku
Iteraatiokierros 3 - Parametrit operaatioihin Käydään läpi näyttösuunnitelmat ja toimintaketjut Kuvataan kussakin operaatiokutsussa välittyvät parametrit ja dokumentoidaan paluuarvot Varmistetaan että tarvittava tieto saadaan käyttäjältä, sekä se, että paluuarvot eri funktioilla riittävät eri operaatioiden totetutukseen.
Sekvenssikaavio - Tilauksen haku
Iteraatio 4 - Virheenkäsittely Käydään läpi mahdolliset virhetilanteet Käydään läpi virheistä aiheutuvat ilmoitukset Mikä osa järjestelmää havaitsee ko. virheen, ja mikä pelkästään välittää informaatiota eteenpäin Varmistetaan että myös käyttöliittymät suoriutuvat virheraportoinnista halutulla tavalla
Suunnitteluvinkkejä analyysivaiheeseen Suunnittele iteraatiokierrokset huolella (mitä asioita käydään läpi milläkin kierroksella) Erota toisistaan näyttölogiikat, sovelluslogiikka sekä tietokantaoperaatiot (ns. 3-tasosuunnittelu) Muista että pelkät kaaviot eivät riitä järjestelmän dokumentointiin Muista kommunikaatio eri sidosryhmien välillä