Ohjelmiston vaatimusmäärittely Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1
1 Johdanto Tämä luku antaa yleiskuvan koko vaatimusmäärittelydokumentista. Tämä dokumentti kuvaa koko ohjelmiston data-, toiminnallisuus- ja käyttäytymisvaatimukset. Tämä dokumentti sisältää esimerkkejä muutamista tärkeimmistä käsitteistä ja tekniikoista, joita vaatimusmäärittelydokumentissa voi käyttää (kurssilla so. tulee). Esimerkit liittyvät kuviitteelliseen autokorjaamon tietojärjestelmään. Esimerkit eivät pyri olemaan täydellisiä vaan havainnollisia. Vaikka joitain kohtia ei ole täytetty tai on täytetty hyvin niukasti, kurssilla ne tulee täyttää. Joissain kohdissa on vain kerrottu, minkälaisia asioita niistä pitäisi löytyä. Useaan kohtaan löytyy lisätietoa luentokalvoista. 1.1 Tavoitteet Kuvataan ohjelmiston yleiset tavoitteet. Autokorjaamon tietojärjestelmän tulee tukea huoltamon rutiinitöiden tehokasta hoitamista. Järjestelmän tulee helpottaa asioimista asiakkaiden, toimiston ja mekaanikkojen välillä. Muun muassa asiakkaiden tietojen syötön ja töiden ajanvarauksien, huoltotoimenpiteiden syötön, laskutuksen, varastonhallinnan ja raporttien tulostamisen tulee hoitua helposti ja nopeasti järjestelmältä. 1.2 Laajuuslausunto Esitetään ohjelmiston kuvaus. Tärkeimmät syötteet, toiminnot ja tulokset kuvataan puuttumatta yksityiskohtiin. Asiakasrekisteriin kerätään asiakkaiden tietoja. Kanta-asiakkaat tulee huomioida. Ajanvarausjärjestelmällä varataan korjauspaikka (n kpl) ja mekaanikko (m kpl) asiakkaalle tietyksi ajaksi. Korjauspaikat ovat erilaisia, jokaisella niistä ei voi tehdä kaikkia töitä. Järjestelmä tuntee vakiotyöt ja niihin menevät ohjeelliset ajat. Muiden töiden kohdalla järjestelmä voi ehdottaa edellisten samankaltaisten töiden kohdalla jotain aikajaksoa, ja ohjelman käyttäjä voi sen hyväksyä tai vaihtaa sopivaksi. Korjaamopuolella mekaanikot kirjaavat huoltotoimenpiteitä järjestelmään. Tämä sisältää käytetyn ajan, toimenpiteen ja käytetyt osat. Järjestelmällä pystyy helposti tarkistamaan, löytyykö jotain tiettyä osaa omasta varastosta. Järjestelmän kautta pystyy tekemään myös kyselyjä varaosatoimittajien varastotilanteista ja tilauksia niistä. Asiakkaalle tulee pystyä tulostamaan lasku. Laskun tilaa halutaan seurata. Lisäksi halutaan raportteja huoltamon toiminnasta. Onko töiden määrässä tapahtunut muutoksia? Onko asiakkaiden kalusto vaihtunut? Onko jonkin tuotteen/osan 2
myynti- tai käyttömäärässä tapahtunut selviä muutoksia? 1.3 Ohjelmiston ympäristö (konteksti) Kuvataan ohjelmiston sijoitusympäristö. Kuvataan esimerkiksi sen merkitystä liiketoiminnalle. Keskustellaan ympäristöön liittyvistä oleellista strategisista asioista. Tarkoitus on antaa kokonaiskuva. Reaaliaikaisesti ajantasalla olevaan varastokirjanpitoa ei ole aiemmin ollut, mikä paikoin on hidastanut turhaan toimintaa. Lisäksi järjestelmä on koostunut aiemmin erillisistä ohjelmistoista: jotkin tiedot on täytynyt syöttää moneen kertaan eri ohjelmiin. Mekaanikoilla ei ole ollut mahdollisuutta päivittää tietoja korjaamohallin puolella. 1.4 Tärkeimmät rajoitteet Kuvataan kaikki liiketoimintaan tai tuotteisiin liittyvät rajoitteet, jotka vaikuttavat ohjelmiston määrittelyyn, suunnitteluun, toteutukseen tai testaukseen. Ohjelmiston ehkä tulee toimia tietyssä ympäristössä. Tai siinä on erityisesti käytettävä jotain tiettyä tekniikkaa... 2 Käyttöskenaariot (usage scenario) Tässä luvussa annetaan ohjelmiston käyttöskenaariot. Näiden avulla organisoidaan vaatimustenkeruun aikana kerätty informaatio käyttötapauksiksi (use-cases). 2.1 Käyttö- ja käyttäjäprofiilit Täällä kuvataan kaikkien käyttäjäkategorioiden profiilit. Näitä löytyy, kun haastattelee toimeksiantajaa. Alustavassa yhteydenotossa (aiesopimuksen aikoihin) on jo voinut tulla tärkeimpiä tai tärkeimmät esille. Yllä olevasta tekstistä löytyvät ainakin: mekaanikot (toimenpiteet, varaosatilaukset), korjaamopäällikkö (raportit, varaosatilaukset), sihteeri (laskut, töiden vastaanotto). Kutakin noita tulee kuvata tarkemmin tässä. Miksi profiilit eroavat? Onko joillain profiileilla oikeuksia käyttää toisten profiileiden toimintoja? Onko jossain tilanteessa se estetty? Miksi? 3
Taulukko 1: Käyttötapausesimerkki. Tehtävä 1. Työn tilaus Tarkoitus Henkilötiedot talteen. Ajan varaus (korjauspaikka ja mekaanikko), ongelman kuvaus. Esiehto/ Asiakas ottaa yhteyttä puhelimitse tai saapuu paikalle. laukaisija Taajuus Keskimäärin 15 yhteyden ottoa päivää kohden. Kriittisyys Asiakas voi tietää etukäteen 20-30 erillistä korjattavaa ongelmakohtaa autostaan. Osatehtävät 1.1. Varaa sopiva korjauspaikka-aika ja mekaanikko. 1.2. Ota asiakkaan henkilötiedot ylös. 1.3. Kirjaa asiakkaan ongelman tai työtarpeen kuvaus. (Huom. tätä täytyy kysyä alustavasti heti alussa, jotta osaa etsiä oikeanlaisia korjauspaikkoja ja mekaanikkoja.) Muunnelmat/ poikkeukset 1.1a. Ei löydy sopivaa aikaa. 1.1b. Ei löydy sopivaa korjauspaikkaa. 1.1c. Ei löydy sopivaa mekaanikkoa. 1.2a. Kanta-asiakas. 1.3a. Vakiotyö tai -toimenpide. 2.2 Käyttötapaukset (use-cases) Esitetään kaikki ohjelman käyttötapaukset. Taulukossa 1 on esitetty mahdollinen käyttötapaus. Joistain osatehtävistä voi olla tarpeen tehdä vastaavat käyttötapaukset. Edelleen muista toiminnoista tulee omia käyttötapauksia. Onko esimerkiksi selvää, kuinka osatehtävä 1.1. kannattaa toteuttaa? Esimerkiksi asiakkaalla voi olla vanha järjestelmä, jota hän haluaa parantaa haluamallaan tavalla. 2.3 Erityiset käyttöön liittyvät tarkastalut Esitetään erityisvaatimukset, jotka liittyvät ohjelman käyttöön. Korjaamopuolelle hankitaan erityiset kannettavat toimenpiteiden syöttölaitteet. 4
3 Tietomalli ja -kuvaus Tässä luvussa kuvataan ohjelmiston käsittelemät tiedot, tietokannan tietosisältö, tiedon pysyvyysvaatimukset jne. Kuvataan tieto-objektit, joilla hallitaan ja muunnetaan ohjelmistoa. 3.1 Tieto-objektit Kuvataan tieto-objektit ja niiden tärkeimmät ominaisuudet. Korjaaja: erityisosaamiset, nimi. Korjauspaikka: mahdolliset toimenpiteet. Toimenpide: nimi, tyypillinen aika, tyypilliset tarvittavat varaosat, tyypillinen hinta. Tehty toimenpide: kuka teki, kauan meni aikaa, mitä tarvikkeita ja varaosia tarvittiin, hinta. Varattu aika: yhdistää korjaajan ja korjauspaikan tiettyyn ajanjaksoon. Varaosa: nimi, hinta, toimittaja. Asiakas: nimi, auto Auto: merkki, malli, vuosi, rekisterinumero. Lasku: kenelle, mille autolle, tehdyt toimenpiteet, varattu aika, tehtyjen toimenpiteiden yhteishinta. 3.2 Suhteet Kuvataan tieto-objektien suhteet esimerkiksi ER-kaavioin. Tässä vaiheessa ei puututa yksityiskohtiin. 3.3 Täydellinen tietomalli Kehitetään ER-kaavio ohjelmistolle. 3.4 Tietohakemisto Annetaan viittaus tietohakemistoon, jota ylläpidetään sähköisessä muodossa. 4 Toiminnallinen malli ja -kuvaus Kuvataan ohjelmiston tärkeimmät toiminnot. Mukana tietovirta- (kulku-) tai luokkahierarkiakaaviot (OO). Muita soveltuvia tekniikoita ovat pseudokoodi, päätöspuut ja -taulut, tulo- ja jättöehdot. 5
Huomaa, että tietovirtakaavio (DFD) ja prosessointimäärittely (PSPEC) liittyvät läheisesti toisiinsa. Tietovirtakaavioista on ollut paljon Tietojärjestelmien perusteet -kurssilla. Ensin tehdään päätason kaavio (taso 0), jota tarkennetaan alitasoiksi (taso 1), jne. tarpeen mukaan riittävän syvälle. Hyvä tapa päästä tasosta seuraavalla on käyttää tason sanallista kuvausta hyväksi: sieltä etsitään verbit ja substantiivit. Halutessanne voitte käyttää Kaveri-ohjelman prosessikaavioita ja tietovirtakaavioita, tai jonkin muun ohjelman käyttämää notaatiota. Myös tavallinen piirtoohjelma käy, tällöin mieluiten Pressmannin kirjasta löytyvät notaatiot käyttöön. 4.1 Toiminnon n kuvaus Kuvataan ohjelman kukin toiminto yksityiskohtaisesti. Toistetaan luku 4.1 kullekin n toiminnolle. Otsikkoon kannattaa laittaa toiminnon nimi. Muista liittää sanalliset selitykset kaavioista niiden yhteyteen. 4.1.1 Toiminnon n prosessointimäärittely (PSPEC) Esitetään toiminnon n prosessointimäärittely. 4.1.2 Toiminnon n tietovirtakaavio Esitetään kaavio, joka näyttää informaation virtauksen toiminnon lävitse ja myös muutokset, mitä informaatiolle tapahtuu. 4.1.3 Toiminnon n liittymän kuvaus Kuvataan toiminnon syöte- ja tulosliittymät. 4.1.4 Toiminnon n muunnokset Esitetään yksityiskohtainen kuvaus kustakin toiminnon n muunnoksesta (osatoiminnosta). Luku 4.1.4 toistetaan kullekin k muunnokselle (osatoiminnolle). Muista liittää sanalliset selitykset kaavioista niiden yhteyteen. Muunnoksen k prosessointimäärittely Muunnoksen k liittymien kuvaus Muunnoksen k tietovirtakaaviot 4.1.5 Tehokkuusasiat Määrätään erityiset tehokkuutteen liittyvät vaatimukset osasysteemille. 6
4.1.6 Suunnittelurajoitteet Mainitaan kaikki osasysteemiin vaikuttavat suunnittelurajoitteet. 4.2 Ohjelmiston käyttöliittymän kuvaus Kuvataan ohjelmiston käyttöliittymät. 4.2.1 Ulkoiset koneliittymät Kuvataan liittymät muihin koneisiin (tietokoneisiin ja laitteisiin). 4.2.2 Ulkoiset systeemiliittymät Kuvataan liittymät muihin systeemeihin, tuotteisiin ja tietoverkkoihin. 4.2.3 Käyttäjien käyttöliittymät Annetaan yleiskuva ohjelmistolle suunniteltavista käyttäjien käyttäliittymistä. 4.3 Kontrollivirran kuvaus Esitetään systeemin kontrollivirta (CFD) ja viitataan tämän dokumentin lukuun 5 samalla. 5 Käyttäytymismalli ja -kuvaus Kuvataan ohjelmiston käyttäytyminen. 5.1 Ohjelmiston käyttäytymisen kuvaus Tässä luvussa kuvataan yksityiskohtaisesti tärkeimmät tapahtumat ja tilat. 5.1.1 Tapahtumat Listataan tapahtumat (kontrolli, kohdat), jotka aiheuttavat käyttäytymismuutoksia systeemissä. 5.1.2 Tilat Listataan tilat (käyttäytymismoodit, -tilat), jotka ovat tuloksina tapahtumista. 7
5.2 Tilasiirtokaaviot Kuvataan systeemin yleiskäyttäytyminen. 5.3 Kontrollimäärittely (CSPEC) Kuvataan tapa, jolla ohjelmiston kontrollia hallitaan. 6 Rajoitteet Mainitaan erityisasiat, jotka vaikuttavat ohjelmiston määrittelyyn, suunnitteluun tai toteutukseen. 7 Vahvistus-, hyväksymiskriteerit Kuvataan lähestymistapa ohjelmiston hyväksymiseen. 7.1 Testiluokat Määritetään suoritettavien testien tyypit. Mukaan niin paljon yksityiskohtia kuin mahdollista. Painotetaan black-box -testausta. 7.2 Odotettu ohjelmiston vastaus Määritetään testauksen odotetut vastaukset. 7.3 Tehokkuusrajat Määritetään erityiset tehokkuusvaatimukset. 8 Liitteet Esitetään vaatimusmäärittelyä täydentävää informaatiota (tietoa). 8.1 Systeemin jäljitettävyysmatriisi Matriisi, joka jäljittää esitetyt ohjelmistovaatimukset takaisin systeemimäärittelyyn. 8.2 Tuotestrategiat Jos määrittelyä kehitetään tuotteelle, kuvataan oleellinen tuotestrategia täällä. 8
8.3 Käytettävät analyysimetriikat Mainitaan analysoinnissa käytettävien metriikkojen kuvaukset. 8.4 Lisäinformaatiota (tarpeen mukaan) 9