Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
requirement-specification.md 36.63 KiB

XYZ - Requirement Specification

Fill the lines !

  • [SIJOITA TOIMEKSIANNON KOODI TÄHÄN]
  • Nimimerkkisi/gitlab tunnus
  • Dokumentin versionumero X.Y
  • Vaatimusmäärittely pohjan versio 1.8 - 5.9.2019 (NarsuMan)

Some guidelines for writer of requirement specification

Pidä sisällysluettelo kunnossa, eli päivitä tarvittaessa MarkDown-ankkurilinkitys.

Dokumentin sisällä viitataan useissa kohdissa kansioon "/pohjat". Kyseinen kansio sisältää ns. "templaatti"-tiedostoja joita käytetään apuna eri määrittelyjen kirjaamisessa. Tämä tarkoittaa, että tuosta kansiosta voi tarvittasessa kopioida tiedostoja.

PlantUML-työkalun avulla on mahdollista piirtää esim. UML-kuvauskielen mukaisia kuvauksia ja liittää ne osaksi MarkDown-kuvauksia. Kurssin aikana on hyödyllistä tutustua sen käyttöön http://plantuml.com/ ja pyrkiä soveltamaan sitä mahdollisimman paljon eri osa-alueilla.

HUOMIO! Älä käytä PlantUML-kuvauksissa skandinaavisia merkkejä, koska tämä johtaa ongelmiin CI/CD-prosessin aikana

Tutustu seuraavan linkin takaa löytyvään MindMap-kuvaan, siitä miten eri käsitteet liittyvät toisiinsa. Kannattaa keskittyä ymmärtämään yhteyksien merkitys, eli kysyminen kannattaa aina :) Kuvaus voi päivittyä kurssin aikana!

http://ttos0100.pages.labranet.jamk.fi/eamk-2019/kurssimateriaali/kasitekartta/

HUOMIO! Kun teet harjoitusta, niin poista ennen lopullista luovutusta kaikki ohjekommentit ja video-linkit sisällöstä.

Tiedostojen nimeämisestä: Kannattaa pyrkiä nimeämään kaikki tiedostot säännönmukaisesti esim. use-case-001.md, profiili_asiakas-2, ominaisuus-ft1.md__ etc Itse MarkDown -tiedostossa ylä otsikko kannattaa täyttää myös samalla menetelmällä.
Use Case: Uuden käyttäjän kirjautuminen Profiili: Asiakas 2 Ominaisuus: Raportti generaattori Tämä helpottaa hahmottamaan myöhemmin koko vaatimusmäärittelyn rakennetta

Sisällysluettelo

  1. Johdanto
  2. Toimeksiantaja
  3. Vaatimusmäärittelyn tekijä
  4. Palvelukuvaus
  5. Sidosryhmäkartta
  6. Sidosryhmät ja profiilit
  7. Tunnistetut riskit
  8. Valitut asiakastarinat
  9. Palveluun liittyviä asiakaspolkuja
  10. Oleelliset käyttötapaukset
  11. Tärkeimmät yleiset ominaisuudet/toiminnallisuudet
  12. MockUp-prototyyppi
  13. Alustavat Käyttäjätarinat
  14. Palvelun järjestelmävaatimukset
  15. Palveluun vaikuttavat rajaukset
  16. Palvelun liityvät laitevaatimukset
  17. Palvelun suoritusympäristöön liittyvät vaatimukset
  18. Palvelun määritellyt ominaisuudet/toiminnnallisuudet
  19. Palvelun toiminnalliset vaatimukset
  20. Palvelun ei-toiminnalliset vaatimukset
  21. Palvelun alustava arkkitehtuuri
  22. Palvelun alustava sijoittelunäkymä
  23. Palvelun alustava tietokantakuvaus)
  24. Palvelun integraatiot muihin järjestelmiin
  25. Palvelun laadun varmistuksesta
  26. Palvelun hyväksyntätestit
  27. Julkaisusuunnitelma
  28. Aiheeseen liityvä standardit ja lähteet

Johdanto

Kuvaa millaisesta projektista on kyse, hieman taustaa ja aiheeseen olennaisesti liittyviä asioita? Jos kyseessä harjoitustehtävä, niin tarkista voitko käytää todellisten tilaajien oikeita nimiä! Muuta tarvittaessa henkilötiedot ja toimeksiantajan viralliset tiedot

Toimeksiantaja

Kuka on vaatimusmäärittelyn tilaaja?

Vaatimusmäärittelyn tekijästä

Kerro lyhyesti itsestäsi (tarvittaessa pseudonyyminä) tai esim. kuvitteellisen yrityksen työntekijänä.

Palvelukuvaus

Mitä palvelun avulla voidaan tehdä? Millaisia ovat sen käyttäjät? Mikä sen tehtävä on yleisesti eri sidosryhmien kannalta? Kannattaa nostaa esiin lyhyesti mahdolliset loppukäyttäjä ja oleellisiin palvelusta hyötyviin sidosryhmät

Sidosryhmäkartta

Mietitään tarkemmin millaisia käyttäjä/sidosryhmiä liittyy suunniteltuun ohjelmisto/palvelukokonaisuuteen? Näitä selkeyttääksemme kirjataan kaikki sidosryhmät sidosryhmäkartan muotoon. Nostetaan samalla esiin mikä on ko. sidosryhmän/edustajan palveluun liittyvä motivaatio. Kuvauksen voi laatia esim. piirtämällä, MindMap-muodossa tai soveltaen sopivaa UML-notaatiota.

Voit tutustu nyt aiemmin mainittuun PlantUML-työkaluun ja kokeilla luoda sidosryhmäkartta käyttäen (http://plantuml.com/) Huomaa! PlantUML-lohkon määrittelyssä käytetään Gitlab-ympäristössä eri avainsanoja @startuml/@enduml- rivien sijaan

Voit kuvata sidosryhmät myös vapaamuotoisemmin, jolloin eri profiilien erot tulevat ehkä "selkeämmin" esiin!

Sidosryhmät ja profiilit

Määritellään tarkemmin hahmotellusta sidosryhmäkartasta oleelliset sidosryhmät/profiilit. Huomio, että isossa yksittäisessä sidosryhmässä voi olla tarve määritellä useampia eri profiileja. Tämä tarkoittaa sitä, että laaja sidosryhmä, kuten esim. asiakaskunta voi käsittää useita erilaisia asiakasprofiileja, joilla voi olla eroja motiiveissa/arvoissa, mutta ne kuuluvat kuitenkin olennaisesti asiakaskuntaan.

Huomaa! Kaikki määritellyt profiilikuvaukset kirjoitetaan itsenäiseksi MarkDown-tiedostoksi, koska tämä helpottaa niihin viittaamista muualla dokumentaatiossa esim. Loppukäyttäjä - Keijo Korhonen Alla olevat profiili/sidosryhmätkuvaukset vain suuntaa antavia! Nimeä ne tarkoituksenmukaisiksi. Varmista, että ne ovat löydettävissä sidosryhmäkartasta!

Tässä kohtaa on aika etsiä profiilikuvauksen runkoa /pohjat kansiosta

Sidosryhmä/Profiili Linkki Lisätietoa
Sidosryhmä 1 Sidosryhmä-1
Sidosryhmä 2 Sidosryhmä-2
Henkilö 1 Profiili 1 Edustaa sidosryhmää Sidosryhmä-2
Henkilö 2 Profiili 1 Edustaa sidosryhmää Sidosryhmä-2
Henkilö 3 Profiili 1 Sidosryhmä-1

Asiakkaan tarpeet/toiveet?

Täydennä tätä jatkuvasti kurssin aikana! Pohdi millaisia toiveita/tarpeita on loppukäyttäjällä liittyen palveluun? Haastattele henkilöitä todellisessa tilanteessa?

VaatimusID Tyyppi Kuvaus
CUSTOMER-REQ-0001 Customer Requirement Käyttäjänä haluan kirjautua käyttäen Facebook-tunnuksia, ettei tarvise häslätä
CUSTOMER-REQ-0002 Customer Requirement
CUSTOMER-REQ-0003 Customer Requirement
CUSTOMER-REQ-0004 Customer Requirement
CUSTOMER-REQ-0005 Customer Requirement

Liiketoiminnan vaatimukset/tavoitteet?

Pohdi millaisia toiveita/tarpeita on Liiketoiminnan näkökulmasta liittyen palveluun? Jos mitään ei tule mieleen, niin pohdi kenen "kassaan" raha tulee palvelusta? Saavutetaanko palvelulla kustannushyötyjä? Parantaako kustannustehokkuutta? etc

VaatimusID Tyyppi Kuvaus
BUSINESS-REQ-0001 Business Requirement Palvelun kirjautuminen tulee olla helppoa, että voimme saavuttaa laajan käyttäjäkunnan = 35% kohderyhmästä
BUSINESS-REQ-0002 Business Requirement
BUSINESS-REQ-0003 Business Requirement
BUSINESS-REQ-0004 Business Requirement
BUSINESS-REQ-0005 Business Requirement

Tunnistetut riskit

Millaisia riskeja liittyy tuoteen kehittämiseen, tuotteen markkinoihin, mahdollisiin kilpailijoihin, resursseihin? Nämä on hyvä tunnistaa alkuvaiheessa

Avainsanat SWOT, Riskianalyysi

Valitut asiakastarinat

Haastattele tai kuvittele haastattelevasi profiili/sidosryhmän edustajaa ja kirjaa suunnittelemasi palvelun käyttöön liittyviä tilanteita. Miten henkilö/sidosryhmä hyötyy/käyttää palvelua. Kirjoita tämä asiakastarinaksi. Kerro mitä se käytännössä tarkoittaa asiakkaan, pääkäyttäjän etc. näkökulmasta! Alla olevassa videossa näet millaisia tarinoita ei ole tarkoitus kirjata tähän osioon :)

Pyri kirjoittamaan auki tarina vain valitun profiilin/sidosryhmän näkökulmasta (toiset profiilit/sidosryhmät saattavat kyllä esiintyä tarinassa). Tarinassa on kätevä viitata jo aiemmin luotuihin Profiili-kuvauksiin.** HUOMIO! Älä sekoita asiakastarinaa (Customer story) käyttäjätarinaan (User Story)

Asiakastarina 1

Profiili 1 herää aamusta ja tarkistaa puhelimellaan onko X-palvelussa tilaa aamupäivästä. Huomatessaan, että palvelussa on vapaa aika klo 11:00.........

Asiakastarina 2

Asiakas-tyyppi 3 käynnistää iltapäivällä rakennustyömaalla sementtimyllyä, kun hänelle tulee viesti X-palvelusta.........

Palveluun liittyviä asiakaspolkuja

Mieti auki aiemmin kirjoittamaasi asiakastarinaa ja piirrä sen pohjalta hahmotelma asiakaspolusta. Mitä tapahtumia siihen liittyy? Mieti palvelua laajempana kokonaisuutena! Asiaspolkukuvauksen avulla kuvataan tapahtuma sarjaa joka käydään jossain valitussa tilanteessa läpi palvelun käytön aikana. Asiakas kohtaisia palvelupolkuja voi olla useita, mutta tärkeintä on tunnistaa alkuvaiheessa oleellisimmat. Palvelupolkua kuvattaessa voi hyödyntää esim. Swim lane/BluePrint/tilakone-kuvausta tai muuta sopivaksi katsottua kuvausta. Tärkeää on kuitenkin kuvata polku ja käyttää sitä tarvittaessa selkeyttämään ymmärrystä tavoitellusta palvelusta. Käy läpi tekemäsi kuvausta jonkun toisen henkilön kanssa yhdessä? Käy läpi polku ja kerro mitä sen aikana tapahtuu..

Asiakaspolun luonnostelu on hyvä aloittaa esim. asiakastarinan pohjalta. Polkuja laaditaan tarvittaessa useampia eri profiilien/tilanteiden näkökulmasta. Yhteen kuvaukseen ei siis kannata upottaa liikaa tapahtumia

asiakaspolku PlantUML-esimerkki tilakoneena

Kokeillaan luonnostella asiakaspolkua PlantUML-työkalun avulla. Kannattaa kokeilla ehdottomasti myös muita tapoja! Sovella esim. PlantUML SDL/Swimlane kuvausta?