Ohjelmistovaatimukset

Wikipediasta
Siirry navigaatioon Siirry hakuun

Ohjelmistovaatimukset (engl. software requirements) ovat kuvauksia palveluista, joita ohjelmiston on tarjottava ja rajoitteista, joiden alla sen on toimittava.[1] Vaatimukset voivat vaihdella korkeatasoisista abstrakteista lausunnoista yksityiskohtaisiin matemaattisiin toiminnallisiin määrittelyihin.[1] Vaatimus on jotain, jota ohjelmiston on tehtävä tukeakseen omistajansa liiketoimintaa tai laadullinen ominaisuus, joka tekee siitä hyväksyttävän ja kiinnostavan omistajalle.[2]

Vaatimusmäärittely tai vaatimusanalyysi on prosessi, jossa päätetään asiakkaan tarvitsemat palvelut sekä rajoitteet, joiden alla se luodaan ja joiden alla sen on toimittava.[1] Vaatimukset voivat olla pohja sopimuksen tarjoukselle ja pohja itse sopimukselle.[1]

Vaatimustyyppejä ovat:[1]

  • käyttäjävaatimukset
    • lausunnot luonnollisella kielellä sekä kaaviot palveluista ja rajoitteista
    • tehdään asiakkaille
  • järjestelmävaatimukset
    • rakenteellinen dokumentti, jossa on yksityiskohtaiset kuvaukset palveluista
    • kirjoitetaan sopimuksena asiakkaan ja toimittajan välillä
  • ohjelmistomäärittely
    • yksityiskohtainen ohjelmiston kuvaus, joka voi toimia pohjana suunnittelulle tai toteutukselle
    • kirjoitetaan ohjelmistokehittäjille

Toiminnalliset vaatimukset (engl. functional requirements) ovat lausuntoja palveluista, joita järjestelmän on tarjottava, miten järjestelmä reagoi tiettyihin syötteisiin ja miten järjestelmä toimii tietyissä tilanteissa.[1] Toiminnalliset vaatimukset riippuvat ohjelmiston tyypistä, ennakoiduista käyttäjistä ja järjestelmästä, jossa ohjelmistoa käytetään.[1]

Ei-toiminnalliset (engl. non-functional requirements) vaatimukset ovat rajoitteita palveluille tai toiminnoille joita järjestelmä tarjoaa kuten ajoitusrajoitteita, rajoitteita kehitysprosessille, standardeja ja niin edelleen.[1] Ei-toiminnallisia vaatimuksia ovat tuotevaatimukset (esimerkiksi suorituskyky, luotettavuus ja niin edelleen).[1] Lisäksi on järjestöllisiä vaatimuksia (kuten yrityksen käytännöt) ja ulkoisia vaatimuksia (kuten yhteensopivuusvaatimukset, lainsäädännölliset vaatimukset ja niin edelleen).[1]

Aluevaatimukset (engl. domain requirements) tulevat sovellusalueesta, joka voi vastata alueen ominaispiirteitä.[1] Voivat olla toiminnallisia tai ei-toiminnallisia.[1] Voivat olla rajoitteita olemassa oleville vaatimuksille tai voivat määritellä tiettyjä laskutoimituksia.[1]

Käyttäjävaatimukset (engl. user requirements) ovat toiminnallisia tai ei-toiminnallisia vaatimuksia, jotka kuvataan siten, että ne ovat ymmärrettäviä järjestelmän käyttäjille ilman teknistä tietotaitoa.[1] Käyttäjävaatimukset kuvataan luonnollisella kielellä, jonka ongelmia ovat epätäsmällisyys (lukijat ja kirjoittavat eivät välttämättä tulkitse sanoja samoin), ylijoustavuus (sama asia voidaan kuvata useilla eri tavoilla), vaatimusten sulautuminen (useita eri vaatimuksia saatetaan ilmaista yhdessä) ja modularisaation puute (luonnolliset kielet eivät ole riittäviä rakenteeseen).[1]

Ohjelmiston vaatimusmäärittely on dokumentti, jossa lausutaan mitä ohjelmiston kehittäjiltä vaaditaan, mutta se ei ole ohjelmiston suunnitteludokumentti.[1]

Monimutkaisten projektien vaatimusten hallintaan liittyy myös vaatimusten jäljitettävyys tuotekehityksen aikana: tämä sisältää tiedon vaatimukseen liittyvistä aktiviteeteista.[3] Vaatimusten löytämiseen, varmistamiseen ja dokumentoimiseen on erilaisia prosesseja: jotta oikea tuote voidaan tehdä on löydettävä oikeat vaatimukset.[2]

  1. a b c d e f g h i j k l m n o p Software Requirements (PDF) inf.ed.ac.uk. Viitattu 4.6.2022. (englanniksi)
  2. a b Suzanne Robertson & James Robertson: Mastering the Requirements Process: Getting Requirements Right, s. 9,11–15. Addison-Wesley, 2013. ISBN 978-0-321-81574-3 (englanniksi)
  3. What is Requirements Traceability and Why Does it Matter for Product Teams? jamasoftware.com. 17.3.2021. Viitattu 4.6.2022. (englanniksi)

Kirjallisuutta

[muokkaa | muokkaa wikitekstiä]
  • Suzanne Robertson & James Robertson: Mastering the Requirements Process: Getting Requirements Right. Addison-Wesley, 2013. ISBN 978-0-321-81574-3 (englanniksi)