Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1
1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista, joka kuvaa koko ohjelmiston datan, arkkitehtuurin, liittymät ja komponenttitason suunnitelmat. 1.1 Tavoitteet Kuvataan kokonaistavoitteet ja ohjelmiston päämäärät. 1.2 Laajuuslausunto Esitetään ohjelmiston kuvaus. Kuvataan tärkeimmät syötteet, toiminnallisuus ja tulokset yksityiskohdat sivuuttaen. 1.3 Ohjelmiston ympäristö Ohjelmisto sijoitetaan ympäristöönsä. Kuvataan esimerkiksi sen merkitystä liiketoiminnalle. Keskustellaan ympäristöön liittyvistä oleellista strategisista asioista. Tarkoitus on antaa kokonaiskuva. 1.4 Tärkeimmät rajoitteet Kuvataan kaikki liiketoiminnasta aiheutuvat rajoitteet, jotka vaikuttavat ohjelmiston määrittelyyn, suunnitteluun, toteutukseen tai testaukseen. 2 Datasuunnitelma Kuvataan kaikki tietorakenteen. Tämä sisältää sisäiset, globaalit ja väliaikaiset tietorakenteet. 2.1 Sisäiset tietorakenteet Kuvataan tietorakenteet, joita välitetään ohjelmiston eri komponenttien välillä. 2.2 Globaalit tietorakenteet Kuvataan tietorakenteet, jotka ovat käytettävissä ohjelmiston tärkeimmille osille. 2.3 Väliaikaiset tietorakenteet Kuvataan myös väliaikaiset tiedostot. 2
2.4 Tietokannan kuvaus Kuvataan tietokannat, jotka luodaan sovelluksen osina. 3 Arkkitehtuuri- ja komponenttitason suunnitelma Kuvataan ohjelmiston arkkitehtuuri. 3.1 Ohjelman rakenne Kuvataan sovellukselle tehtävän ohjelman rakenne yksityiskohtaisesti. 3.1.1 Arkkitehtuurikaaviot Esitetään kuvin ja kaavioin arkkitehtuuri. 3.1.2 Vaihtoehdot Esitetään muiden arkkitehtuurityylien käyttöön ja harkintaan liittyvä keskustelu. Perustellaan, miksi päädyttiin kohdan 3.1.1 ratkaisuun. 3.2 Komponentin n kuvaus Kuvataan yksityiskohtaisesti arkkitehtuurin kukin ohjelmistokomponentti. Toistetaan luku 3.2 kullekin n komponentille. 3.2.1 Komponentin n prosessikuvaus Esitetään komponentin n prosessikuvaus. 3.2.2 Komponentin n liittymäkuvaus Kuvataan yksityiskohtaisesti komponentin syötteisiin ja tuloksiin liittyvät liittymät. 3.2.3 Komponentin n prosessoinnin yksityiskohdat Kuvataan kunkin komponentin algoritmi yksityiskohtaisesti. Toistetaan luku 3.2.3 kullekin n komponentille. Liittymän kuvaus Algoritminen malli (esim. PDL) 3
Rajoitteet Paikalliset tietorakenteet Tehokkuusasiat Suunnittelurajoitteet 3.3 Ohjelmiston käyttöliittymän kuvaus Kuvataan ohjelmiston ulkoiset käyttöliittymät. 3.3.1 Liittymät ulkoisiin laitteisiin Kuvataan liittymät muihin koneisiin (tietokoneisiin ja laitteisiin). 3.3.2 Ulkoiset systeemiliittymät Kuvataan liittymät muihin systeemeihin, tuotteisiin tai tietoverkkoihin. 3.3.3 Liittymät ihmisille Esitetään yleiskuva kaikista ihmisille tarkoitetuista ja suunniteltavissa käyttöliittymistä. Lisätietoja luvussa 4. 4 Käyttäjän käyttöliittymän suunnitelma Kuvataan ohjelmiston käyttäjän käyttöliittymäsuunnitelma. 4.1 Käyttäjän käyttöliittymän kuvaus Kuvataan käyttäjän käyttöliittymä yksityiskohtaisesti. Sisältää näyttökuvia tai esim. prototyypin. 4.1.1 Näyttökuvat Näytetään käyttöliittymä käyttäjän kannalta. 4.1.2 Tavoitteet ja toiminnot Tunnistetaan kaikki näytön objektit ja toiminnot. 4
4.2 Käyttöliittymän suunnittelusäännöt Kirjataan käyttäjän käyttöliittymän suunnitteluun ja toteutukseen liittyvät tavat ja standardit. 4.3 Saatavilla olevat komponentit Mainitaan toteutusta varten käytettävissä olevat GUI-komponentit. 4.4 UIDS kuvaus Kuvataan käyttäjän käyttöliittymän kehityssysteemi. 5 Rajoitteet Mainitaan erityiset suunnitteluun liittyvät asiat, jotka vaikuttavat suunnitteluun tai toteutukseen. 6 Testausasiat Määrätään testausstrategia ja alustavat testitapaukset. 6.1 Testiluokat Määrätään suoritettavat testityypit. Mukaan laitetaan mahdollisimman paljon yksityiskohtia tässä vaiheessa. Painotetaan black-box (vaatimusten testaus) ja whitebox (toteutussuunnittelusta, esim. kontrollirakenteet) -testausta. 6.2 Ohjelmiston odotetut vastaukset Määrätään ohjelmiston antamat odotetut vastaukset testeille. 6.3 Tehokkuusrajat Määrätään erityiset tehokkuusvaatimukset. 6.4 Kriittisten komponenttien tunnistaminen Tunnistetaan komponentit, jotka ovat kriittisiä ja tarvitsevat erityistä huomiota testauksen aikana. 5
7 Liitteet Tarjoaa tietoa, joka täydentää suunnitteludokumenttia. 7.1 Vaatimuksien jäljitettävyysmatriisi Muodostetaan matriisi, jonka avulla jäljitetään mainittujen komponenttien ja tietorakenteiden vaatimuksia. 7.2 Paketointi- ja asennusasiat Esitetään erityiset ohjelmistojen paketointiin ja asentamiseen liittyvät asiat. 7.3 Käytettävät suunnittelumetriikat Kuvataan suunnittelun aikana käytettävät metriikat. 7.4 Lisätietoa (tarpeen mukaan) 6