-
Marko Rintamäki authoredMarko Rintamäki authored
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
- Johdanto
- Toimeksiantaja
- Vaatimusmäärittelyn tekijä
- Palvelukuvaus
- Sidosryhmäkartta
- Sidosryhmät ja profiilit
- Tunnistetut riskit
- Valitut asiakastarinat
- Palveluun liittyviä asiakaspolkuja
- Oleelliset käyttötapaukset
- Tärkeimmät yleiset ominaisuudet/toiminnallisuudet
- MockUp-prototyyppi
- Alustavat Käyttäjätarinat
- Palvelun järjestelmävaatimukset
- Palveluun vaikuttavat rajaukset
- Palvelun liityvät laitevaatimukset
- Palvelun suoritusympäristöön liittyvät vaatimukset
- Palvelun määritellyt ominaisuudet/toiminnnallisuudet
- Palvelun toiminnalliset vaatimukset
- Palvelun ei-toiminnalliset vaatimukset
- Palvelun alustava arkkitehtuuri
- Palvelun alustava sijoittelunäkymä
- Palvelun alustava tietokantakuvaus)
- Palvelun integraatiot muihin järjestelmiin
- Palvelun laadun varmistuksesta
- Palvelun hyväksyntätestit
- Julkaisusuunnitelma
- 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?