From 1d1beb5eb7da82137d6c1817556c968e10328eb6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marko=20Rintam=C3=A4ki?= <marko.rintamaki@jamk.fi>
Date: Tue, 8 Oct 2019 10:25:16 +0300
Subject: [PATCH] Update requirement-specification.md

---
 .../requirement-specification.md              | 753 +++++++++++-------
 1 file changed, 480 insertions(+), 273 deletions(-)

diff --git a/documentation/20-Requirement-management/requirement-specification.md b/documentation/20-Requirement-management/requirement-specification.md
index c8b33ed..0f453c0 100644
--- a/documentation/20-Requirement-management/requirement-specification.md
+++ b/documentation/20-Requirement-management/requirement-specification.md
@@ -1,170 +1,377 @@
-## Ohjelmiston/palvelun vaatimusmäärittely
+# XYZ - Requirement Specification
 
-[![](http://img.youtube.com/vi/jH43MPe1Ceg/0.jpg)](http://www.youtube.com/watch?v=jH43MPe1Ceg "")
 
-Vaatimusmäärittely pohjan versio 1.1 - 24.4.2019
+> Fill the lines ! 
 
-## TTOS0800 Kurssi [TOIMEKSIANTO KOODI TÄHÄN] 
+* [SIJOITA TOIMEKSIANNON KOODI TÄHÄN] 
+* Nimimerkkisi/gitlab tunnus
+* Dokumentin versionumero X.Y
+* Vaatimusmäärittely pohjan versio 1.8 - 5.9.2019 (NarsuMan)
 
-* Nimimerkki/gitlab tunnus
-* Vuosi 
-* Versionumero X.Y
 
-## Sisällysluettelo 
+## Some guidelines for writer of requirement specification
 
-**Pidä sisällysluettelo kunnossa, eli päivitä sitä tarpeen mukaan! Huomaa MarkDown-ankkurilinkitys**
+> Pidä sisällysluettelo kunnossa, eli päivitä tarvittaessa MarkDown-ankkurilinkitys. 
 
-* [Johdatus](#Johdatus)
-* [Tilaaja](#Vaatimusmäärittelytyön toimeksiantaja/tilaaja)
-* [Toimittaja](#Vaatimusmäärittelyn toimittaja)
-* [Palvelukuvaus](#Palvelukuvaus)
-* [Yleinen sidosryhmäkuvaus]()
-* [Asiakastarina](#Johdatus)
-* [Sidosryhmät ja profiilikuvaukset]()
-* [Sidosryhmäkuva]()
-* [Palvelu/asiakaspolku]()
-* [Alustavat User Story -kuvaukset]()
-* [Yleinen käyttötapaus]()
-* [Yleiset toiminnalliset vaatimukset]()
-* [Yleiset ei-toiminnalliset vaatimukset]()
-* [Palvelu MockUp]()
-* [Tärkeimmät ominaisuudet]()
-* [Julkaisun suunnitelma]()
-* [Palvelun/ohjelmiston arkkitehtuuri]()
-* [Testaus ja laadunvarmistus]()
-* [Lähteet]()
+> 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.
 
-## Johdatus
+> 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.
 
->Kerro millaisesta projektista on kyse, hieman taustaa ja aiheeseen olennaisesti liittyviä asioita? Älä käytä harjoitustehtävässä tilaajien oikeita nimiä vaan muuta henkilötiedot ja toimeksiantajan viralliset tiedot
+> 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://img.youtube.com/vi/0zVNZNbphfE/0.jpg)](http://www.youtube.com/watch?v=0zVNZNbphfE "")
+[http://ttos0100.pages.labranet.jamk.fi/eamk-2019/kurssimateriaali/kasitekartta/](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ä. 
 
-## Vaatimusmäärittelytyön toimeksiantaja/tilaaja
+> 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
 
->Kuka on vaatimusmäärittelyn tilaaja?
 
+## Sisällysluettelo 
+
+1. [Johdanto](#johdanto)
+1. [Toimeksiantaja](#toimeksiantaja)
+1. [Vaatimusmäärittelyn tekijä](#vaatimusmäärittelyn-tekijä)
+1. [Palvelukuvaus](#Palvelukuvaus)
+1. [Sidosryhmäkartta](#Sidosryhmäkartta)
+1. [Sidosryhmät ja profiilit](#Sidosryhmät ja profiilit) 
+1. [Tunnistetut riskit](#Tunnistetut-riskit)
+1. [Valitut asiakastarinat](#Valitut-asiakastarinat)
+1. [Palveluun liittyviä asiakaspolkuja](#Palveluun-liittyviä-asiakaspolkuja)
+1. [Oleelliset käyttötapaukset](#Oleelliset-käyttötapaukset) 
+1. [Tärkeimmät yleiset ominaisuudet/toiminnallisuudet](#Tärkeimmät-ominaisuudet/toiminnallisuudet) 
+1. [MockUp-prototyyppi](#MockUp-prototyyppi)
+1. [Alustavat Käyttäjätarinat](#Alustavat-käyttäjätarinat)
+1. [Palvelun järjestelmävaatimukset](#Palvelun-järjestelmävaatimukset) 
+1. [Palveluun vaikuttavat rajaukset](#Palveluun vaikuttavat rajaukset) 
+1. [Palvelun liityvät laitevaatimukset](#Palvelun liityvät laitevaatimukset)
+1. [Palvelun suoritusympäristöön liittyvät vaatimukset](#Palvelun suoritusympäristöön liittyvät vaatimukset)
+1. [Palvelun määritellyt ominaisuudet/toiminnnallisuudet](#Palvelun määritellyt ominaisuudet/toiminnnallisuudet)
+1. [Palvelun toiminnalliset vaatimukset](#Palvelun toiminnalliset vaatimukset)
+1. [Palvelun ei-toiminnalliset vaatimukset](#Palvelun ei-toiminnalliset vaatimukset)
+1. [Palvelun alustava arkkitehtuuri](#Palvelun alustava arkkitehtuuri)
+1. [Palvelun alustava sijoittelunäkymä](#Palvelun alustava sijoittelunäkymä)
+1. [Palvelun alustava tietokantakuvaus)](#Palvelun alustava tietokantakuvaus)
+1. [Palvelun integraatiot muihin järjestelmiin](#Palvelun integraatiot muihin järjestelmiin)
+1. [Palvelun laadun varmistuksesta](#Palvelun laadun varmistuksesta)
+1. [Palvelun hyväksyntätestit](#Palvelun hyväksyntätestit)
+1. [Julkaisusuunnitelma](#Julkaisusuunnitelma)
+1. [Aiheeseen liityvä standardit ja lähteet](#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
 
-## Vaatimusmäärittelyn toimittaja
+>Kuka on vaatimusmäärittelyn tilaaja?
 
->Kerro lyhyesti itsestäsi (tarvittaessa pseudonyyminä) tai esim. kuvitteellisen yrityksen työntekijänä
+## Vaatimusmäärittelyn tekijästä
 
+>Kerro lyhyesti itsestäsi (tarvittaessa pseudonyyminä) tai esim. kuvitteellisen yrityksen työntekijänä.
 
 ## Palvelukuvaus
 
->Mitä palvelun avulla voidaan tehdä? Mikä sen tehtävä on sidosryhmän kannalta? Kannattaa keskittyä loppukäyttäjiin tai oleellisiin palvelusta hyötyviin sidosryhmiin
+[![](http://img.youtube.com/vi/55H2C0fSiHM/0.jpg)](http://www.youtube.com/watch?v=55H2C0fSiHM "")
+
+>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
 
 
-[![](http://img.youtube.com/vi/fOlmrsp2iRc/0.jpg)](http://www.youtube.com/watch?v=fOlmrsp2iRc "")
 
+## Sidosryhmäkartta
 
-## Yleinen sidosryhmäkuva (Stakeholder -Map)
+>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.
 
->Mietitään ensin millaisia käyttäjiä/sidosryhmiä liittyy suunniteltuun palvelukokonaisuuteen? Näitä selkeyttääksemme kerätään kaikki sidosryhmät yhteen sidosryhmä-kuvaan ja tarkastellaan samalla mikä on ko. ryhmän/edustajan palveluun liittyvä motivaatio
+[![](http://img.youtube.com/vi/wiNjgClkJoM/0.jpg)](http://www.youtube.com/watch?v=wiNjgClkJoM "")
+
+> 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  
+
+```plantuml
+actor profile1
+actor profile3
+actor stake_holder1
+actor stake_holder3
+
+cloud example_of_service
+
+profile1 -- example_of_service  : uses
+profile2 -- example_of_service  : benefits
+stake_holder1 -- example_of_service  : threat
+stake_holder2 -- example_of_service  : competitor
+```
+> Voit kuvata sidosryhmät myös vapaamuotoisemmin, jolloin eri profiilien erot tulevat ehkä "selkeämmin" esiin!
 
 ![](https://camo.githubusercontent.com/0d665c81987cc940b4d93c0dfdfcf0128d1d5754/68747470733a2f2f7777772e6c7563696463686172742e636f6d2f7075626c69635365676d656e74732f766965772f30303736373365342d333361362d346131312d623465312d6163366461633130306537352f696d6167652e706e67)
 
-**Mieti mitä oleellista yllä olevasta kuvasta puuttuu? Yritä tulkita kuvaa nykymuodossaan?**
+## 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.    
+
+[![](http://img.youtube.com/vi/w5oXMtOGcC4/0.jpg)](http://www.youtube.com/watch?v=w5oXMtOGcC4 "")
+
+> Huomaa! Kaikki määritellyt profiilikuvaukset kirjoitetaan itsenäiseksi MarkDown-tiedostoksi, koska tämä helpottaa niihin viittaamista muualla dokumentaatiossa esim. [Loppukäyttäjä - Keijo Korhonen](profiili-loppukayttaja.md) 
+**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](pohjat/pohja-profiilikuvaus.md) | |
+| Sidosryhmä 2 | [Sidosryhmä-2](pohjat/pohja-profiilikuvaus.md) | |
+| Henkilö 1 | [Profiili 1](pohjat/pohja-profiilikuvaus.md) | Edustaa sidosryhmää [Sidosryhmä-2](pohjat/pohja-profiilikuvaus.md) |
+| Henkilö 2 | [Profiili 1](pohjat/pohja-profiilikuvaus.md) | Edustaa sidosryhmää [Sidosryhmä-2](pohjat/pohja-profiilikuvaus.md) |
+| Henkilö 3 | [Profiili 1](pohjat/pohja-profiilikuvaus.md) | [Sidosryhmä-1](pohjat/pohja-profiilikuvaus.md) |
+
+## 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?
 
-## Valitut sidosryhmät ja profiilit (Profiles/Stakeholders) 
+> 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
 
-[![](http://img.youtube.com/vi/VmotZXBdrDs/0.jpg)](http://www.youtube.com/watch?v=VmotZXBdrDs "")
+| 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 ||
 
->Valitaan aiemmin määritellystä sidosryhmäkuvauksesta tarkempaan tarkasteluun tärkeäksi koetut sidosryhmät/profiilit. Jokainen valittu sidosryhmä kuvataa itsenäisenä profiilikuvauksena ja tallennetaan omaksi tiedostokseen  
 
-[![](http://img.youtube.com/vi/MCs4dRPtOJU/0.jpg)](http://www.youtube.com/watch?v=MCs4dRPtOJU "")
 
->Jokainen profiili kuvaus tallennetaan itsenäisenä tiedostona, koska tämä helpottaa tulevaisuudessa niihin viittaamista dokumentaatiossa esim. [Loppukäyttäjä - Keijo Korhonen](..pohjat/pohja-profiilikuvaus.md) 
+## Tunnistetut riskit
 
-**Muista kirjata kuvauksiin erityisesti sidosryhmän motivaatio! Eli miksi sidosryhmä syy käyttää/soveltaa palvelua**
+> Millaisia riskeja liittyy tuoteen kehittämiseen, tuotteen markkinoihin, mahdollisiin kilpailijoihin, resursseihin? 
+Nämä on hyvä tunnistaa alkuvaiheessa 
 
-* [Sidosryhmä](..pohjat/pohja-profiilikuvaus.md)
-* [Profiili 1](..pohjat/pohja-profiilikuvaus.md)
-* [Profiili 2](..pohjat/pohja-profiilikuvaus.md)
-* [Profiili 3](..pohjat/pohja-profiilikuvaus.md)
+> Avainsanat SWOT, Riskianalyysi
 
 
 ## Valitut asiakastarinat
 
->Valitaan tarvittava määrä eri sidosryhmiä/profiileja ja kirjoitetaan auki valitulle profiilille/sidosryhmälle "asiakastarina". Tavoitteena on kuvata sitä, miten valittu profiili/sidosryhmä käytännössä hyödyntää palvelua. Tavoite ei ole kehua sitä vaan käydä läpi syitä palvelun käyttöön ja miten se auttaa ko. sidosryhmää/profiilia.
+>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 :)
+
+[![](http://img.youtube.com/vi/KKM_7N1-6Ew/0.jpg)](http://www.youtube.com/watch?v=KKM_7N1-6Ew "")
 
-[![](http://img.youtube.com/vi/m8WEoyyFUww/0.jpg)](http://www.youtube.com/watch?v=m8WEoyyFUww "")
 
->Muista kirjoittaa tarina auki pelkästään valitun sidosryhmän näkökulmasta (toiset sidosryhmät saattavat esiintyä tarinassa)
+> 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](pohjat/pohja-profiilikuvaus.md)-kuvauksiin.** 
+> HUOMIO! Älä sekoita asiakastarinaa (Customer story) käyttäjätarinaan (User Story)
 
-* [Profiili 1](..pohjat/pohja-profiilikuvaus.md): Profiili 1 haluaa tuottaa iloa....
-* [Profiili 2](..pohjat/pohja-profiilikuvaus.md): Profiili 2 aloitaa aamulla palvelun käytön ... 
-* [Sidosryhmä 1](..pohjat/pohja-profiilikuvaus.md): Sidosryhmä 1:en kannalta palvelun...
+**Asiakastarina 1** 
 
+[Profiili 1](pohjat/pohja-profiilikuvaus.md) herää aamusta ja tarkistaa puhelimellaan onko X-palvelussa tilaa aamupäivästä. Huomatessaan, että palvelussa on vapaa aika klo 11:00.........
 
-## Palvelun tärkeimmät asiakaspolut (Customer Journey/Path)
+**Asiakastarina 2** 
 
->Tarkennetaan tarinaa ja nostetaan oleelliset profiilit tarkasteluun palvelupolun näkökulmasta. 
-Tämän "polun" tarkoituksena on kuvata sitä tapahtumien sarjaa joka käydään läpi palvelua käytettäessä. 
-Palvelupolkuja voi olla useita, mutta tärkeintä on kuvata oleellisimmat aluksi. Palvelu polku kuvauksessa voidaan hyödyntää Swimlane/BluePrint/tilakone-kuvausta tai muuta sopivaksi katsottua visualisointi tapaa.
-Tärkeää on kuvata polku ja käydä sen avulla eri vaiheet läpi
+[Asiakas-tyyppi 3](pohjat/pohja-profiilikuvaus.md) käynnistää iltapäivällä rakennustyömaalla sementtimyllyä, kun hänelle tulee viesti X-palvelusta.........
 
-[![](http://img.youtube.com/vi/O04EYNKmEXc/0.jpg)](http://www.youtube.com/watch?v=O04EYNKmEXc "")
 
->Asiakaspolkukua on hyvä lähteä luonnostelemaan esim. asiakastarinan pohjalta. Polkuja kannattaa määritellä tarvittaessa useampia eri tilanteiden näkökulmasta. 
-Yhteen kuvaukseen ei kannata upottaa liikaa tapahtumia
+## Palveluun liittyviä asiakaspolkuja
 
-[![](http://img.youtube.com/vi/TLFBPQQ95ZE/0.jpg)](http://www.youtube.com/watch?v=TLFBPQQ95ZE "")
+>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..
 
->Palvelupolkujen kuvaukseen voidaan hyödyntää myös erillisiä työkaluja. Mieti onko mahdollista hyödynnetään jotain ulkopuolista palvelua kuvauksen apuna?
+[![](http://img.youtube.com/vi/kNXjKquK3A0/0.jpg)](http://www.youtube.com/watch?v=kNXjKquK3A0 "")
 
-**Työkalu esimerkkejä**
+>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
 
-* [Canvanizer](https://canvanizer.com)
+[![](http://img.youtube.com/vi/j7U8pqUN9EM/0.jpg)](http://www.youtube.com/watch?v=j7U8pqUN9EM "")
 
-## Tärkeimmät käyttötapaukset (General Use Cases)
+**asiakaspolku PlantUML-esimerkki tilakoneena**
 
->**Käyttötapaukset** (Use Case) on hyvä erottaa **käyttötarkoituksesta** (Use Case)! Yleensä palvelusta ensi kertaa keskusteltaessa puhutaan sen eri käyttötarkoituksista, eli sitä
-mihin ohjelmistoa/palvelua voidaan hyödyntää. Kun puhutaan palvelun määrittelystä käyttötapauksien kannalta on kyseessä eri asia. Käyttötapauksessa keskitytään 
-tarkastelmaan palvelun käyttöä varsin rajatussa tilanteessa. On oleellista kirjata alkuvaiheessa tärkeimmät käyttötapaukset yhteen kuvaukseen. Tähän hyödynnetään UML- Use Case-diagrammia.
+> Kokeillaan luonnostella asiakaspolkua PlantUML-työkalun avulla. Kannattaa kokeilla ehdottomasti myös muita tapoja!
+> Sovella esim. PlantUML SDL/Swimlane kuvausta?
 
-**Millaisia ovat tärkeimmät käyttötapaukset (Use Caset) tuotteeseen/palveluun liittyen? Muista, ettei käyttötapauksella ei tarkoiteta käyttökohdetta/soveltamiskohdetta**
 
-[![](http://img.youtube.com/vi/rADU4vWTfyY/0.jpg)](http://www.youtube.com/watch?v=rADU4vWTfyY "")
+```plantuml
+[*] --> Step1
+
+Step1 : First contact to service 
+Step2 : Under Service 
+Step3 : End of service
+Step4 : Queue for service 
+
+Step1 --> Step2
+Step1 --> Step4
+Step4 --> Step2
+Step2 --> Step3
+Step3 --> [*]
+```
+> Palvelupolkujen kuvauksissa voi tarvittaessa soveltaa myös muita työkaluja. Esim. https://canvanizer.com, PowerPoint etc
 
-[![](http://img.youtube.com/vi/BjQAWfBMpcw/0.jpg)](http://www.youtube.com/watch?v=BjQAWfBMpcw "")
+## Oleelliset käyttötapaukset
 
->On hyvä kerätä tärkeimmät käyttötapaukset yhteen Use Case-kuvaukseen, josta on helpompi tarkastella järjestelmää. Laajemmassa järjestelmässä saattaa
-olla useita satoja käyttötilanteita. 
+> Palvelupolun  kuljettaessa käydään läpi laajempi ketju palveluun käyttöön liittyviä tapahtumia. Tilanteet joissa käsitellään itse ohjelmistpalvelun 
+sähköisiä rajapintoja/käyttöliittymiä voidaan kuvata käyttötapauksien (Use Case) avulla.   
+> Ohjelmistosuunnittelussa **Käyttötapaus** (Use Case) ymmärretään helposti väärin, koska se liitetään helposti pelkästään tuotteen 
+**käyttötarkoituksen** kuvaamiseen. Palvelusta ensi kertaa keskusteltaessa puhutaan sen eri **käyttötarkoituksista**, eli sitä mihin 
+ohjelmistoa/palvelua voidaan hyödyntää. Kun puhutaan palvelun määrittelystä ja siihen liittyvien käyttötapauksien tunnistamisesta 
+on kyseessä hieman eri asia. Käyttötapauksessa keskitytään tarkastelmaan palvelun käyttöä varsin rajatussa tilanteessa. 
+Käyttötapaukset (Use Case) kuvaataan UML-kuvauskielen avulla.
 
+>UML Use Case-kuvaus voidaan tehdä PlantUML-kuvauksena, mutta tarkempi käyttötapauksen avaaminen vaatii erillisen kuvaus dokumentin
 
 ```plantuml
+
+rectangle Tilaus {
 Profiili_1--(Tilauksen tekeminen)
 Profiili_1--(Tilauksen muokkaus)
 Profiili_1--(Tilauksen peruminen)
-Profiili_2--(Tilauksen peruminen)
-Sidosryhmä_1--(Tilauksen muokkaus)
-Sidosryhmä_2--(Tilauksen valvonta)
-Huolto_1--(Tilauksen hyväksyntä)
+}
+
+rectangle Tilausten_hallinta {
+Hallinto_1--(Tilauksien tarkistaminen)
+Hallinto_1--(Tilauksen muokkaus)
+Hallinto_1--(Tilauksen siirto)
+Huolto_1--(Tilauksen manuaalinen poisto)
+Huolto_1--(Tilauksen tyhjennys)
+}
+
 ```
 
-* [Käyttötapaus 1 - Tilauksen muokkaus](../pohjat/pohja-kayttotapaus.md)
-* [Käyttötapaus 2 - Tilauksen hyväksyntä](../pohjat/pohja-kayttotapaus.md)
+> On hyödyllistä kirjata kaikki oleelliset käyttötapaukset yhteen laajempaan Use Case-kuvaukseen, koska sen avulla voi tarkastella
+helpommin koko järjestelmää. Huomio! Laajemmassa järjestelmä kokonaisuudessa saattaa olla useita satoja eri käyttötapauksia. 
+
+[![](http://img.youtube.com/vi/DupdE35Ilps/0.jpg)](http://www.youtube.com/watch?v=DupdE35Ilps "")
+
+[![](http://img.youtube.com/vi/-3YtgJGuIek/0.jpg)](http://www.youtube.com/watch?v=-3YtgJGuIek "")
+
+[![](http://img.youtube.com/vi/oVGmIOavB74/0.jpg)](http://www.youtube.com/watch?v=oVGmIOavB74 "")
+
+> Käyttötapauksen tarkempi kuvaus harjoitusympäristössä tapahtuu käyttötapaus-kohtaisen pohja-tiedoston avulla. Jokaista käyttötapausta varten 
+laaditaan itsenäinen tiedosto.
+
+| Käyttötapaus | Osa-alue | Ominaisuus? |
+|:-:|:-:|:-:|
+| [Käyttötapaus 1 - Tilauksen muokkaus](pohjat/pohja-kayttotapaus.md) | Tilausten hallinta | [Tilaushallinta-paneeli](pohjat/pohja-ominaisuus.md) | 
+| [Käyttötapaus 2 - Tilauksen tarkistaminen](pohjat/pohja-kayttotapaus.md) | Tilausten hallinta | [Tilaushallinta-paneeli](pohjat/pohja-ominaisuus.md) | 
+| [Käyttötapaus 2 - Tilauksen siirto](pohjat/pohja-kayttotapaus.md) | Tilausten hallinta | [Tilaushallinta-paneeli](pohjat/pohja-ominaisuus.md) |
+
+## Tärkeimmät ominaisuudet/toiminnallisuudet 
+
+> Hahmotellaan tähän kohtaan ominaisuudet pelkästään "ranskalaisilla viivoilla", eli mitä palvelulla mielestäsi on mahdollista tehdä?
+> Päivitä lista myöhemmin, kun se tarkentuu? 
+
+> On hyödyllistä laatia toimeksiantajan kanssa yhdessä tiivistelmä (A4-kokoa), josta löytyy tarvittaessa koko tuote kiteytettynä
+Löydät esimerkin dokumentista [täältä](../pohjat/pohja-tuotekuvaus-a4.md)
+
+> Toiminnallisuudet tullaan kiinnittämään myöhemmin 
+
+- Toiminnot 
+    - Käyttäjä voi lähettää postia toiselle henkilölle
+    - Asiakas saa tiedot aiemmin tehdyistä valinnoista
+    - Henkilö voi maksaa laskun 
+
+## MockUp-prototyyppi
+
+> Suunniteltavan palvelun toimintoja määriteltäessä voi olla hyödyllistä piirtää avuksi MockUp-kuvausta käyttötilanteen 
+tai toiminnallisuuden todentamiseksi. Kun palvelun käyttöliittymää tai palvelupolkua käydään läpi mockup-kuvauksen kautta
+voi hahmottaa huomattavasti helpommin tarvittavia toiminnallisuuksia tai tarpeita, joita voidaan kirjata vaatimusmäärittelyyn. 
+MockUp-kuvaus on hyödyllinen apuväline palvelun tilaajan/toimeksiantajan kanssa käydyissä keskusteluissa.
+
+[![](http://img.youtube.com/vi/a5qLMBYWv5A/0.jpg)](http://www.youtube.com/watch?v=a5qLMBYWv5A "")
+
+> Kun laadit harjoitustehtävään MockUp-näkymän pohdi haluatko kuvata koko palvelua vai keskittyä yksittäisen toiminnallisuuden tarkasteluun?
 
-## Alustavat Käyttäjätarinat - User Story
+> Voit kokeilla myös PlantUML-kuvausta rajatuissa kohdissa
+
+```plantuml
+salt
+{
+  Just plain text
+  [This is my button]
+  ()  Unchecked radio
+  (X) Checked radio
+  []  Unchecked box
+  [X] Checked box
+  "Enter text here   "
+  ^This is a droplist^
+}
+```
+
+## Alustavat käyttäjätarinat
 
 >**NYT HUOMIO!** Tähän kohtaan kannattaa keskittyä vasta kun kaikki muut osiot on käyty läpi! 
-Kyseessä ei ole käyttäjätarina vaan ketterään kehittämiseen liittyvä Käyttötarina - User Story. 
-Sen avulla kuvataan palveluun liittyvää toiminnallisuutta, joka halutaa siinä olevan.  
+Kyseessä ei ole asiakastarina vaan ketterässä kehityksessä (Agile Development) käytettävä käyttäjätarina - User Story. 
+Sen avulla kuvataan palveluun liittyvää toiminnallisuutta, jolle käyttäjälle on tarvetta.
+
+[Aiheesta löytyy pohdintoja eri muodossa](https://suomidigi.fi/kayttajatarinoilla-ryhtia-asiakaslahtoisyyteen/)
+
+[![](http://img.youtube.com/vi/ndJdF3R7wqI/0.jpg)](http://www.youtube.com/watch?v=ndJdF3R7wqI "")
+
+* User Story: [Käyttäjänä haluan, että voin luoda raportin tekemistäni ostoista viimeisen kuukauden ajalta, koska se helpottaa oman talouteni hallintaa]()
+* User Story: [Pääkäyttäjän haluan poistaa vanhat tunnukset kokonaan, koska se selkeyttää ylläpitoa]()
+* Käytännössä ylempi kuvaus on hieman jäykkä ja on järkevitä kirjata storyt suoraan esim. GitLab-issuen muotoon! 
+* Kokeile osoittaa hiirelle linkkejä oikealla ja avaa ne tämän jälkeen ---> #25 tai #26
+
+## Palvelun järjestelmävaatimukset 
 
-Esimerkki User Story issuesta #1 
 
-## Ohjelmiston/palvelun tekniset vaatimukset 
+> Järjestelmävaatimukset ovat korkeamman tason vaatimuksia, joiden pohjalta järjestelmä kokonaisuutta lähdetään määrittelemään.
+> Palveluita suunniteltaessa nousevat teknisestä näkökulmasta tarkasteltuna esiin vaatimukset, jotka liittyvät eri 
+teknologioihin, laitteistoihin tai totetuksen fyysisiin rakenteisiin. Ohjelmistopalvelua määriteltäessä
+kannattaa tunnistaa ajoissa puhtaasti järjestelmän tekniset/tuotannolliset vaatimukset ja kirjata ne vaatimusmäärittelyyn. 
+Liiallinen keskittyminen teknisten tuotanto/toteutusvaatimusten kirjaukseen ei ole välttämättä suositeltavaa, koska 
+suunnittelun aikana ohjelmistoa/palvelun toteutusvaatimukset voivat vielä muuttua. Kehitysvaiheessa näppäräksi koettu ratkaisu 
+voi osoittatua kalliiksi palvelun tuotteistamisvaiheessa.
 
->Ohjelmistoja ja palveluita suunniteltaessa usein tulevat esiin vaatimukset, jotka liittyvät eri teknologioihin, laitteistoon ja fyysiseen rakenteeseen. Näiden rinnalla pohditaan 
-mitä toiminnallisuuksia ratkaisun tulee pitää sisällään. Tästä johtuen kannattaa alkuvaiheessa pyrkiä tunnistamaan puhtaasti tekniset vaatimukset ja kirjata ne vaatimusmäärittelyyn. 
-Liiallinen keskittyminen alussa teknisten vaatimusten kirjaamiseen ei välttämättä ole kannattavaa, koska suunnittelun aikana ohjelmistoa/palvelun tekniset vaatimukset tarkentuvat 
-ja tarpeet saattavat muuttua. Kehityskäytössä näppärä ratkaisu voi osoittatua kalliiksi, kun se tuotteistetaan. 
+> Tässä osiossa Kannattaa pohtia esim seuraavia kohti
 
-**Teknisiä järjestelmävaatimuksia**
+- Miten palvelu tuotetaan? SAAS/PAAS/IAAS/HOSTED-palveluna etc 
+- Käytetäänkö Pilvipalveluita osana ratkaisua vai hyödynnetäänkö omia palvelimia
+- Onko kyseessä ns. Hybridi-palvelu, joka hyödyntää useampia erillis palvelua 
+- Miten palvelu on oltava saatavilla 24/7h 100% ? Niin onko tuo edes mahdollista :) ?
+- Millainen SLA palvelulle laaditaan?
+- Miten paljon kustannuksia saa palvelun tuotanto tuottaa?
+- Millaiset tiedonsäilytys/arkistointi tarpeet liittyvät palveluun? 
+
+[![](http://img.youtube.com/vi/s7AcxrxcVd0/0.jpg)](http://www.youtube.com/watch?v=s7AcxrxcVd0 "")
+
+> Järjestelmä tason vaatimuksissa tarkastellaan ohjelmistoa/palvelua kokonaisuutena ja sen pohjalta määritellään 
+esim. tekniset vaatimukset suoritusympäristölle, vaadittaville resursseille palvelun ylläpitoa varten. 
+
+> Järjestelmän suoritusympäristön vaatimukset käsittävät esimerkiksi laitevaatimukset tuotantoympäristöstä tai 
+järjestelmän ajoympäristön vaatimuksia, joihin voivat sisältyä vaatimukset suorituskyvystä, ylläpidosta, varmennuksista etc
+
+> Millaisia suoritusympäristöjä sitten käytetään esim. kaupallisissa ratkaisuissa ? Voit tutkia esimerkkejä [Stack Share](https://stackshare.io/):palvelussa
+
+
+> Esim. millainen on tekninen ratkaisu toteutukselle ja miten eri teknologioita tullaan hyödyntämään. 
 
 | VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |								
 |:-:|:-:|:-:|:-:|
@@ -175,45 +382,91 @@ ja tarpeet saattavat muuttua. Kehityskäytössä näppärä ratkaisu voi osoitta
 | SYSTEM-HW-REQ-0005 | System Technical Requirement | Verkkoyhteyden nopeus >100MB/s ||
 | SYSTEM-HW-REQ-0005 | System Technical Requirement | Laitekaapin suositeltava koko 1m X 1m X 2m ||
 
-## Arkkitehtuuriin/teknologiaan liityvät vaatimukset
 
->Nämä voidaan kirjata myös tekniset vaatimukset 
 
-| VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |								
-|:-:|:-:|:-:|:-:|
-| ARCH-REQ-0002 | Technical Requirement | Palvelun tärkeimpien palvelujen on oltava vähintään kahdennettu N+1 | |
-| ARCH-REQ-0003 | Technical Requirement | Palvelimen muistikapasiteeti >16GB  ||
-| ARCH-REQ-0004 | Technical Requirement | Prosessori Intel/AMD x64||
-| ARCH-REQ-0005 | Technical Requirement | Palvelimen fyysinen sijainti on oltava kotimaassa (Suomi) ||
-| ARCH-REQ-0005 | Technical Requirement | Verkkoyhteyden nopeus >100MB/s ||
-| ARCH-REQ-0005 | Technical Requirement | Laitekaapin suositeltava koko 1m X 1m X 2m ||
 
-## Rajoitteet (Key Requirements and restrictions)
+ 
+> Avainsanat: pilvipalvelun tuotanto, Palveluiden hallinta, SLA 
 
->Eri ohjelmistojena/palvelujen toteutusta ja käyttöä ohjaavat usein lait ja säädökset. Näiden edellyttämät vaatimukset kirjataan yleensä rajoitteina 
+### Palvelun suunnitteluun vaikuttavat rajaukset ja standardit
+
+> Eri ohjelmistojena/palvelujen toteutusta ja käyttöä ohjaavat usein lait ja säädökset. Näiden edellyttämät vaatimukset kirjataan yleensä rajoitteina 
 ja niiden vaikutus koskee usein koko ohjelmiston/järjestelmän toteuttamista. Tästä syystä ne kannattaa tunnistaa ja selvittää ajoissa, koska vaikutus 
 saataa olla varsin ratkaiseva pitemmällä tähtäimella. Esimerkkinä [EU GDPR-säädös](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation).
 
+> Kannattaa tutkia esimerkiksi https://www.sfs.fi/aihealueet/terveydenhuolto/laakinnalliset_laitteet tai http://docs.jhs-suositukset.fi/jhs-suositukset/JHS190/JHS190.html
+
 | Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
 |:-:|:-:|:-:|:-:|
-| CONSTRAINT-REQ-S00000 | Constrain | Palvelun kirjautumisprosessin on noudatettava AC5-2009-käytäntöä  | [Kirjautuminen ft1](ft1-ominaisuus.md) |
-| CONSTRAINT-REQ-S00001 | Constrain |||
+| CONSTRAINT-REQ-S00000 | Constrain | Palvelun kirjautumisprosessin on noudatettava XYZ-käytäntöjä  | [Kirjautuminen ft1](pohjat/pohja-ominaisuus.md) |
+| CONSTRAINT-REQ-S00001 | Constrain | On huomioitava Standardi ZZZ osana palvelun tapahtuma login talletusta | [Log-palvelin](pohjat/pohja-ominaisuus.md)|
 | CONSTRAINT-REQ-S00002 | Constrain |||
 | CONSTRAINT-REQ-S00003 | Constrain |||
 | CONSTRAINT-REQ-S00004 | Constrain |||
 | CONSTRAINT-REQ-S00005 | Constrain |||
 | CONSTRAINT-REQ-S00006 | Constrain |||
 
-## Toiminnalliset vaatimukset (Functional Requirements)
+
+
+
+### Palvelun toiminnallisuudet/ominaisuudet
+
+> Kirjataan taulukkoon "kaikki" toiminnot, joista osaa tullaan käsittelemään myöhemmin tuotteen toiminnallisina ominaisuuksina. 
+Kannattaa huomata, että osa toiminnallista vaatimuksista ovat käytännössä oleellisia toimintoja, eli ne voidaan "korottaa" ominaisuuksiksi. 
+Esimerkkinä Verkkopankki palvelussa on oleellinen toiminto "maksu tililtä", joka on käytännössä tärkeä palvelun ominaisuus. Tähän 
+toiminnallisuuteen liittyy useita muita pienempiä ja tarkentavia toiminnallisia vaatimuksia
+
+> Jos sinulta kysytään mitä palvelulla/ohjelmistolla voi tehdä pyri tunnistamaan tärkeimmät toiminnot! 
+Ne ovat melko varmasti oleelliset ominaisuudet. 
+> Mieti mitä toimintoja pysyt tekemään esim. verkkopankin sivulla? Mitkä ovat tärkeimmät toiminnot, joita käytät useimmin?
+
+> Kannataa pohtia määrittelyvaiheessa ovatko kaikki ominaisuudet tarpeellisia? Kannattaa pyrkiä ryhmittelemään tärkeimmät ominaisuudet ensin.
+Ominaisuuksia voidaa tarkentaa toiminnallisilla vaatimuksilla, jotka ns. laajentavat ominaisuuden kuvausta. Ominaisuudet ovat käytännössä isompia kokonaisuuksia, joista koko palvelu/ohjelmisto on muodostunut.
+Suomenkielen sana ominaisuus saattaa olla hieman harhaan johtava, koska usein tuotteita esiteltäessä pyritään korostamaan tuotteen ominaisuutena sen "tietoturvallisutta". 
+Tämä ei tarkoita, että kyseessä on tuoteeen ohjelmiston yksi ominaisuus vaan yleinen "suunnittelu filosofia". Tuote voi sisältää ominaisuuksia, joiden myötä sitä voidaan kutsua voidaan tietoturvalliseksi.
+
+> Tuotteen ominaisuus vai toiminto?
+
+[![](http://img.youtube.com/vi/6dVrBsvUStg/0.jpg)](http://www.youtube.com/watch?v=6dVrBsvUStg "")
+
+> Ominaisuuksien todellinen tarve?
+
+[![](http://img.youtube.com/vi/pIDSK21PE9M/0.jpg)](http://www.youtube.com/watch?v=pIDSK21PE9M "")
+
+> Ylikirjoita pohjalla olevat ehdotuksen ja toimintoja toimeksiantoon pohjautuen ja priorisoi niistä tärkeimmät toiminnot, joita määrittelet tarkemmin. 
+
+**Priorisoi oleelliset ominaisuudet/toiminnot**
+
+* P1 = Pakollinen
+* P3 = Tarpeellinen
+* P5 = Tehdään, kun tarve ilmenee
+
+| Ominaisuus | Prioriteetti | Ominaisuuteen liittyvät vaatimukset/käyttötapaukset |
+|:-:|:-:|:-:|
+| [Feature 1 - raportti-generaattori](pohjat/pohja-ominaisuus.md) | P1 | Esim [FUNCTIONAL-REQ-C0001]() | 
+| [Feature 2 - lasku-arkisto](pohjat/pohja-ominaisuus.md) | P1 | Esim [FUNCTIONAL-REQ-C0011]() | 
+| [Feature 3 - avatar-valinta](pohjat/pohja-ominaisuus.md) | P2 | Esim [FUNCTIONAL-REQ-C0023]() |
+| [Feature 4 - oikeushallinta](pohjat/pohja-ominaisuus.md) | P3 | Esim [FUNCTIONAL-REQ-C0133]() |
+| [Feature 5](pohjat/pohja-ominaisuus.md) | P4 | Esim [FUNCTIONAL-REQ-C0231]() |
+| [Feature 6](pohjat/pohja-ominaisuus.md) | P5 | Esim [FUNCTIONAL-REQ-C0221]() |
+| [Feature 7](pohjat/pohja-ominaisuus.md) | P5 | Esim [FUNCTIONAL-REQ-C0021]() |
+| [Feature 8](pohjat/pohja-ominaisuus.md) | P5 | EEsim [FUNCTIONAL-REQ-C0301]() |
+| [Feature 9](pohjat/pohja-ominaisuus.md) | P5 | Esim [FUNCTIONAL-REQ-C0401]() |
+| [Feature 10](pohjat/pohja-ominaisuus.md) | P5 | Esim [FUNCTIONAL-REQ-C0401]() |
+
+
+### Palvelun toiminnalliset vaatimukset
 
 >Mitä ovat toiminnalliset vaatimukset? Toiminnallisilla vaatimuksilla kuvataan ohjelmistolta/järjestelmältä vaadittua toimintaa
 Toiminnalliset vaatimukset ovat helpoimmin tunnistettavia. Vältä useamman vaatimuksen kirjaamista samaan lauseeseen! Jokainen vaatimus erikseen..
 Voit esittää ne taulukossa tai viitata [yhteen](pohjat/pohja-vaatimuslistalle.md) laajempaan kokonaisuuteen
 
+[![](http://img.youtube.com/vi/qO2qEIEHy_A/0.jpg)](http://www.youtube.com/watch?v=qO2qEIEHy_A "")
+
 | VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |								
 |:-:|:-:|:-:|:-:|
-| FUNCTIONAL-REQ-C0001 | Functional Requirement | Käyttäjänä (Asiakas Profiilit 1-4) voin kirjautua käyttäen Facebook-tunnuksia | [Kirjautuminen ft1](ft1-ominaisuus.md) |
-| FUNCTIONAL-REQ-C0002 | Functional Requirement |||
+| FUNCTIONAL-REQ-C0001 | Functional Requirement | Käyttäjänä (Asiakas Profiilit 1-4) voin kirjautua käyttäen Facebook-tunnuksia | [Kirjautuminen ft1](pohjat/pohja-ominaisuus.md) |
+| FUNCTIONAL-REQ-C0002 | Functional Requirement | Käyttöliittymän on toimittava myös ääniohjattuna, koska käyttäjillä saattaa olla näkövammoja | [Kirjautuminen ft1](pohjat/pohja-ominaisuus.md), [Tilaushallinta](pohjat/pohja-ominaisuus.md) |
 | FUNCTIONAL-REQ-C0003 | Functional Requirement |||
 | FUNCTIONAL-REQ-C0004 | Functional Requirement |||
 | FUNCTIONAL-REQ-C0005 | Functional Requirement |||
@@ -223,17 +476,18 @@ Voit esittää ne taulukossa tai viitata [yhteen](pohjat/pohja-vaatimuslistalle.
 | FUNCTIONAL-REQ-C0009 | Functional Requirement |||
 | FUNCTIONAL-REQ-C0010 | Functional Requirement |||
 
-## Palveluun liittyvät tärkeimmät ei-toiminnalliset vaatimukset (Non Functional Requirements)
+### Ohjelmiston/palveluun ei-toiminnallisia vaatimuksia
 
 >Mitä olivat ei-toiminnalliset vaatimukset? Voit esittää eri vaatimuksia erillisessä taulukossa tai viitata tässä [yhteen](pohjat/pohja-vaatimuslistalle.md) laajempaan taulukkoon.
 [Ei-toiminnalliset vaatimukset](https://en.wikipedia.org/wiki/Non-functional_requirement) sisältää laajan joukko eri näkökulmia ohjelmiostotuotteeseen liittyen. Tärkeimmät kirjoittajan 
 näkökulmasta ovat seuraavat: Suorituskyky, käytettävyys, tietoturva ja ylläpidettävyys 
-
-### Suorituskyky? (Performance)
-
 >Voit esittää eri vaatimuksia erillisessä taulukossa tai viitata tässä [yhteen](pohjat/pohja-vaatimuslistalle.md) laajempaan taulukkoon..
 Miten hyvin palvelu/komponentti tai muu osa-alue palvelusta suoriutuu kuormituksen aikana? Mitkä ovat pullonkaulat. Mihin vaatimuksiin palvelun tulee kyetä vastaamaan?
 
+[![](http://img.youtube.com/vi/Tta7bAFlg54/0.jpg)](http://www.youtube.com/watch?v=Tta7bAFlg54 "")
+
+
+>Millaisia vaatimuksia palveluun kohdistuu suorituskyvyn näkökulmasta?
 
 | VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |								
 |:-:|:-:|:-:|:-:|
@@ -244,11 +498,7 @@ Miten hyvin palvelu/komponentti tai muu osa-alue palvelusta suoriutuu kuormituks
 | PERFORMANCE-REQ-0004 | Non-Functional Performance |||
 | PERFORMANCE-REQ-0005 | Non-Functional Performance |||
 
-
-### Tietoturva?
-
->Voit esittää eri vaatimuksia erillisessä taulukossa tai viitata tässä [yhteen](pohjat/pohja-vaatimuslistalle.md) laajempaan taulukkoon..
-
+>Millaisia vaatimuksia palveluun kohdistuu tietoturvan näkökulmasta?
 
 | VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |								
 |:-:|:-:|:-:|:-:|
@@ -263,211 +513,168 @@ Miten hyvin palvelu/komponentti tai muu osa-alue palvelusta suoriutuu kuormituks
 | SECURITY-REQ-0009 | Non-Functional Security |||
 | SECURITY-REQ-0010 | Non-Functional Security |||
 
-### Käytettävyys
-
->Voit esittää eri vaatimuksia erillisessä taulukossa tai viitata tässä [yhteen](pohjat/pohja-vaatimuslistalle.md) laajempaan taulukkoon..
-[Käytettävyys](https://fi.wikipedia.org/wiki/K%C3%A4ytett%C3%A4vyys)
-
+>Mitä tarkoitetaan käyttävyydellä? Millaisia asioita/ohjeistuksia on otettava huomioon palvelua toteutettaessa?
 
 | VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |								
 |:-:|:-:|:-:|:-:|
-| USABILITY-REQ-0000 | Non-Functional Usability | Käyttöliittymän on toimittava myös ääniohjattuna, koska käyttäjillä saattaa olla näkövammoja |  [Kirjautuminen ft1](ft1-ominaisuus.md) | |	
-| USABILITY-REQ-0001 | Non-Functional Usability |||
-| USABILITY-REQ-0002 | Non-Functional Usability |||
-| USABILITY-REQ-0003 | Non-Functional Usability |||
-| USABILITY-REQ-0004 | Non-Functional Usability |||
-| USABILITY-REQ-0005 | Non-Functional Usability |||
-
-### Testattavuus/Ylläpidettävyys
+| USABILITY-REQ-0000 | Non-Functional Usability | | [Kirjautuminen ft1](ft1-ominaisuus.md) | |	
+| USABILITY-REQ-0001 | Non-Functional Usability | | [Käytettävyys](https://fi.wikipedia.org/wiki/K%C3%A4ytett%C3%A4vyys) |
+| USABILITY-REQ-0002 | Non-Functional Usability | | [Käytettävyys](https://fi.wikipedia.org/wiki/K%C3%A4ytett%C3%A4vyys) |
+| USABILITY-REQ-0003 | Non-Functional Usability | | [Käytettävyys](https://fi.wikipedia.org/wiki/K%C3%A4ytett%C3%A4vyys)|
+| USABILITY-REQ-0004 | Non-Functional Usability | | |[Käytettävyys](https://fi.wikipedia.org/wiki/K%C3%A4ytett%C3%A4vyys)|
+| USABILITY-REQ-0005 | Non-Functional Usability | | [Käytettävyys](https://fi.wikipedia.org/wiki/K%C3%A4ytett%C3%A4vyys)|
 
->Voit esittää eri vaatimuksia erillisessä taulukossa tai viitata tässä [yhteen](pohjat/pohja-vaatimuslistalle.md) laajempaan taulukkoon..
-[Lisätietoa](https://fi.wikipedia.org/wiki/Ohjelmiston_laatu)
+>Millaisia asioita on otettava huomioon tuotteen laadunvarmistamisen kannalta?. Kehityksen aikana ohjelmistotuotteeseen on luotava tarvittavat rajapinnat tai työkalu-ohjelmistoja, 
+joiden avulla voidaan hallita testikohteena olevaa tuoteversiota. Nämä vaatimukset on kirjattava ajoissa, koska ne vaikuttavat ratkaisevasti tuotteen testausmahdollisuuksiin.
+Esimerkkinä voidaan miettiä logien hallintaa, niiden keräämistä, alkutilanteeseen saattamista. 
 
 | VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |								
 |:-:|:-:|:-:|:-:|
 | TESTABILITY-REQ-0000 | Non-Functional Testability | Käyttäjärekisteri on kyettävä palauttamaan alkutilaan ennen testien ajoa  | [Kirjautuminen ft1](ft1-ominaisuus.md)	 |	
-| TESTABILITY-REQ-0001 | Non-Functional Testability |||	
-| TESTABILITY-REQ-0002 | Non-Functional Testability |||	
-| TESTABILITY-REQ-0003 | Non-Functional Testability |||	
-| TESTABILITY-REQ-0004 | Non-Functional Testability |||	
-| TESTABILITY-REQ-0005 | Non-Functional Testability |||
+| TESTABILITY-REQ-0001 | Non-Functional Testability ||[Lisätietoa](https://fi.wikipedia.org/wiki/Ohjelmiston_laatu)|	
+| TESTABILITY-REQ-0002 | Non-Functional Testability ||[Lisätietoa](https://fi.wikipedia.org/wiki/Ohjelmiston_laatu)|	
+| TESTABILITY-REQ-0003 | Non-Functional Testability ||[Lisätietoa](https://fi.wikipedia.org/wiki/Ohjelmiston_laatu)|	
+| TESTABILITY-REQ-0004 | Non-Functional Testability ||[Lisätietoa](https://fi.wikipedia.org/wiki/Ohjelmiston_laatu)|	
+| TESTABILITY-REQ-0005 | Non-Functional Testability ||[Lisätietoa](https://fi.wikipedia.org/wiki/Ohjelmiston_laatu)|
 
->Tähän kirjataan vaatimuksia, joiden merkitys tulee esiin vasta tuotteen julkaisun jälkeen. Miten tuotteen ylläpidettävyyttä parannetaan? Mitä pitää ottaa huomioon, että ylläpidettävyys on helpompaa
+## Ohjelmiston arkkitehtuuri, sijoittelunäkymä, tietokantakuvaus ja integraatiot
 
-| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
-|:-:|:-:|:-:|:-:|
-| MAINT-REQ00x | Vaatimus? | Ylläpito | Kuka vastaa | 
-| MAINT-REQ00x | Vaatimus? | Tekninen | Kuka vastaa | 
-| MAINT-REQ00x | Vaatimus? | Käytettävyys | Kuka vastaa | 
-| MAINT-REQ00x | Vaatimus? | Käytettävyys | Kuka vastaa | 
-| MAINT-REQ00x | Vaatimus? | Käytettävyys | Kuka vastaa | 
+>Ohjelmiston toteutus vaatimuksiin voidaan asettaa ennalta määriteltyjä teknologioita, joita on noudatettava kehityksessä. 
+Tämä tilanne tulee usein eteen, kun ohjelmisto liittyy aiemmin toteutettuun ratkaisuun
 
-## Tärkeimmät tunnistetut ominaisuudet/piirteet (Features)
+### Palvelun sijoittelunäkymä (Deployment diagram )
 
-[![](http://img.youtube.com/vi/eTeUxYSdCxA/0.jpg)](http://www.youtube.com/watch?v=eTeUxYSdCxA "")
+>Sijoittelunäkyvän avulla voi kuvata miten eri palvelu osat toimivat sen ollessa toiminnassa. 
 
->>Kannataa pohtia määrittely vaiheessa ovatko kaikki ominaisuudet tarpeellisia? Osa toiminnallisista vaatimuksista on oletuksena ominaisuuksia. Kannattaa pyrkiä ryhmittelemään tärkeimmät ominaisuudet ensin.
-Ominaisuuksia voidaa tarkentaa toiminnallisilla vaatimuksilla, jotka ns. laajentavat ominaisuuden kuvausta. Ominaisuudet ovat käytännössä isompia kokonaisuuksia, joista koko palvelu/ohjelmisto on muodostunut.
-Suomenkielen sana ominaisuus saattaa olla hieman harhaan johtava, koska usein tuotteita esiteltäessä pyritään korostamaan tuotteen ominaisuutena sen "tietoturvallisutta". 
-Tämä ei tarkoita, että kyseessä on tuoteeen ohjelmiston yksi ominaisuus vaan yleinen "suunnittelu filosofia". Tuote voi sisältää ominaisuuksia, joiden myötä sitä voidaan kutsua voidaan tietoturvalliseksi.
+[![](http://img.youtube.com/vi/tLuiQ9p8RkU/0.jpg)](http://www.youtube.com/watch?v=tLuiQ9p8RkU "")
 
-[![](http://img.youtube.com/vi/pIDSK21PE9M/0.jpg)](http://www.youtube.com/watch?v=pIDSK21PE9M "")
+### Tietokantakuvaus (Database ER-diagram)
 
-| Ominaisuus | Prioriteetti | Muuta |
-| :-: | :-: | :-: |
-| [Ominaisuus 1 - Feature 1](pohjat/pohja-ominaisuus.md) | Tärkeä | |
-| [Ominaisuus 2](pohjat/pohja-ominaisuus.md) | Tärkeä | |
-| [Ominaisuus 3](pohjat/pohja-ominaisuus.md) | Pakollinen | |
-| [Ominaisuus 4](pohjat/pohja-ominaisuus.md) | Nice to Have | |
-| [Ominaisuus 5](pohjat/pohja-ominaisuus.md) | | |
+>Palvelua määriteltäessä on yleistä kuvata tarvittavan tietovaraston karkeaa rakennetta esim. ER-kaavion muodossa. 
+Tämä antaa kuvaa siitä millainen ratkaisu tarvitaan Voit soveltaa PlantUML-kuvausta ER-kaavion tuottamiseen.
 
+**Esimerkki**
 
-## Palvelu MockUp-prototyyppi
+```plantuml
+' hide the spot
+hide circle
+
+' avoid problems with angled crows feet
+skinparam linetype ortho
+
+entity "Entity01" as e01 {
+  *e1_id : number <<generated>>
+  --
+  *name : text
+  description : text
+}
+
+entity "Entity02" as e02 {
+  *e2_id : number <<generated>>
+  --
+  *e1_id : number <<FK>>
+  other_details : text
+}
+
+entity "Entity03" as e03 {
+  *e3_id : number <<generated>>
+  --
+  *e1_id : number <<FK>>
+  other_details : text
+}
+
+e01 ||..o{ e02
+e01 |o..o{ e03
+```
 
->Suunnittellun palvelun/ohjelmiston yleinen näkymä kannataa esitellä MockUp-muodossa. Tarkemmin määritellyissä ominaisuuskuvauksissa voi esitellä tarkemmin jotain toimintoa. 
-MockUp-kuvaus on hyödyllinen apuväline palvelun tilaajan/toimeksiantajan kanssa käydyissä keskusteluissa.
+### Integraatiot muihin järjestelmiin
 
-Kokonaispalvelun MockUp-kuva?
+>Vaatimusmäärittelyssä on kuvata palvelun/tuoteen riippuvuus muista järjestelmistä. Onko joitain palvelun osia tarkoitus ostaa ulkopuoliselta palvelun tarjoajalta.
+Esimerkkeinä virtuaalikoneet, laskutusjärjestelmät, valvonta ja muut palvelutuotannon ratkaisut.
 
-![](https://openclipart.org/image/800px/svg_to_png/236916/1452485143.png&disposition=attachment)
+* [Integraatioista IteWIkissä](https://www.itewiki.fi/opas/integraatiot/)
 
+```plantuml
+node node1
+node node2
+node node3
+node node4
+node1 -0)- node2 : service X 
+node1 -0)- node3 : service Y
+node1 -0)- node4 : service Z
+```
 
-## Hyväksyntätestit
+**Integraation kuvaaminen sekvenssikaaviona**
 
->Kiinnitetään alustavat hyväksyntätestit vaatimuksiin taulukon muodossa.
+> Järjestelmien välisiä tapahtumia voi kuvata tarvittaessa esim. sekvenssikaavion muodossa. 
 
-[![](http://img.youtube.com/vi/EYEc8C57lbo/0.jpg)](http://www.youtube.com/watch?v=EYEc8C57lbo "")
 
-[![](http://img.youtube.com/vi/F2M93uWWXk8/0.jpg)](http://www.youtube.com/watch?v=F2M93uWWXk8 "")
+```plantuml
+node1 ->node2: Log Start Request
+node2 --> node1 : Logging started
+```
+
+## Palvelun laadun varmistus
+
+>Ohjelmisto
+
+### Palvelun/Ohjelmiston alustavat hyväksyntätestit
 
 >Hyväksyntätesteissä keskitytään yleisesti asiakkaan/loppukäyttäjän näkökulmaan. Tavoitteena on kelpuuttaa, eli validoida , onko tuote asiakkaan toiveiden mukainen ja täyttääkö se asetetut vaatimukset.
 Hyväksyntätesteillä voidaan selvittää onko tuote myös riittävän suorituskykyinen, käytettävä tai tietoturvallinen asiakkaiden käyttötarkoitukseen. 
 
+[![](http://img.youtube.com/vi/WfMrCdAr-GM/0.jpg)](http://www.youtube.com/watch?v=WfMrCdAr-GM "")
 
-| VaatimusID | Testitapaus | Kuvaus |  |								
+
+
+>Kiinnitetään alustavat hyväksyntätestit vaatimuksiin taulukon muodossa.
+
+| Lähde | Testitapaus Id | Kuvaus | Tyyppi  |								
 |:-:|:-:|:-:|:-:|
-| USE-CASE-007,SYSTEM-REQ-0001,SYSTEM-REQ-0004, SYSTEM-REQ-0012 | [Test Case Id X](Linkki testiin) | Hyväksyntätesti  |
-| USE-CASE-017,SYSTEM-REQ-0011,SYSTEM-REQ-0004, SYSTEM-REQ-0012 | [Test Case Id Y](Linkki testiin) | Hyväksyntätesti  |
-| USE-CASE-011,USE-CASE-013,SYSTEM-REQ-0204, SYSTEM-REQ-0212 | [Test Case Id Z](Linkki testiin) | Hyväksyntätesti  |
-| USE-CASE-002,SYSTEM-REQ-0301,SYSTEM-REQ-0304, SYSTEM-REQ-0312 | [Test Case Id O](Linkki testiin) | Hyväksyntätesti  |
+| [Feature 1](pohjat/pohja-ominaisuus.md), [FUNCTIONAL-REQ-0001]() | [Testitapaus 1](pohjat/pohja-hyvaksyntatesti.md) | esim. Tarkista kirjautuminen palveluun uutena käyttäjänä  | Hyväksyntätesti  |
+| [Feature 2](pohjat/pohja-ominaisuus.md), [FUNCTIONAL-REQ-0201](), [USE-CASE-017](pohjat/pohja-hyvaksyntatesti.md) | [Testitapaus 2](pohjat/pohja-testitapaus.md) | esim. Tarkista kenkilökohtaisten tietojen poisto | Hyväksyntätesti  |
+| [Feature 3](pohjat/pohja-ominaisuus.md),  | [Testitapaus 101](pohjat/pohja-hyvaksyntatesti.md) | esim. Takista Kirjautuminen toimivalla salasanalla | Hyväksyntätesti  |
 
-## Alustava julkaisusuunnitelma
+## Julkaisusuunnitelma
 
-[![](http://img.youtube.com/vi/ggFEhR3OZsk/0.jpg)](http://www.youtube.com/watch?v=ggFEhR3OZsk "")
 
 > Julkaisusuunnitelman visualisoidulla muodolla on helpompi esittää ominaisuuksien julkaisut kehityksen aikanan.
-Alla oleva kuva on luotu käyttäen PlantUML-työkalua. Sen avulla on luoto ns. Gantt-kaavio ominaisuuksien julkaisuajankohdista.
-
-**Huomio** Alla oleva julkaisusuunnitelman kuva ei näy oikein vaatimusmäärittelydokumentin verkkojulkaisu-sivulla
+Alla oleva kuva on luotu hyödyntäen PlantUML-työkalua. Sen avulla on luoto ns. Gantt-kaavio ominaisuuksien julkaisuajankohdista.
 
->Oletamme, että tuotteessa on muutamia ominaisuuksia, joiden järjestys on mietitty ennakkoon..
+> Oletamme, että tuotteessa on muutamia ominaisuuksia, joiden järjestys on mietitty ennakkoon..
 
 ```plantuml
 Project starts the 2019-5-15
 [Version v1.0 EarlyAdopter] Starts 2019-5-15 and ends 2019-7-30 
 [Design Phase] Starts 2019-5-15 and ends 2019-6-15
-[Feature 1  v 1.0] Starts 2019-5-25 and ends 2019-6-15
-[Feature 2  v 1.0] Starts 2019-5-25 and ends 2019-7-1
-[Feature 3  v 1.1] Starts 2019-6-15 and ends 2019-7-15
-[Feature 4  v 1.1] Starts 2019-6-25 and ends 2019-7-20
-[Feature 5  v 2.3] Starts 2019-6-1 and ends 2019-7-21
+[Feature 1 v 1.0] Starts 2019-5-25 and ends 2019-6-15
+[Feature 2 v 1.0] Starts 2019-5-25 and ends 2019-7-1
+[Feature 3 v 1.1] Starts 2019-6-15 and ends 2019-7-15
+[Feature 4 v 1.1] Starts 2019-6-25 and ends 2019-7-20
+[Feature 5 v 2.3] Starts 2019-6-1 and ends 2019-7-21
 [Accceptance Testing ] Starts 2019-7-21 and ends 2019-7-23
 ```
 
-## Julkaistavat tuotekokonaisuudet (Konfiguraatio)
+[![](http://img.youtube.com/vi/Z1cSK_IMqMs/0.jpg)](http://www.youtube.com/watch?v=Z1cSK_IMqMs "")
 
->Tuotteen/ohjelmiston eri ominaisuuksista kehitetään usein eri versioita ja tämä johtaa usein erilaisiin tuotekokonaisuuksiin. Puhutaan ns. tuotekonfiguraatiosta, jonka avulla pyritään kiinnittämään eri 
-ohjelmiston ominaisuusversiot yhteen version. 
+>Tuotteen/ohjelmiston eri ominaisuuksista kehitetään usein eri versioita ja tämä johtaa usein erilaisiin tuotekokonaisuuksiin. Puhutaan ns. tuotekonfiguraatiosta, jonka avulla kiinnitetään eri 
+ominaisuusversiot yhteen ohjelmiston julkaisu versionn. 
 
-Seuraavassa taulukossa on esitelty eri versioissa julkaistavat ominaisuudet taulukon muodossa. 
+> Alla olevassa taulukossa on esitelty julkaisuun "EarlyAdopter - Versio 1.0" valitut toiminnallisuudet 
 
-
-**Julkaisu "EarlyAdopter - Versio 1.0"**
-
-| Ominaisuus | Versio | Testattavissa | Julkaistaan |
-|:-:|:-:|:-:|:-:|
-| [Feature 1]() | 1.0 | x.y.201z | x+2,y+3.201z |
-| [Feature 2]() | 1.0 | x.y.201z | x+2,y+3.201z |
-| [Feature 3]() | 1.1 | x.y.201z | x+2,y+3.201z |
-| [Feature 4]() | 1.1 | x.y.201z | x+2,y+3.201z |
-| [Feature 5]() | 2.3 | x.y.201z | x+2,y+3.201z |
-| [Feature 6]() | 0.9 | x.y.201z | x+2,y+3.201z |
-| [Feature 7]() | 1.1 | x.y.201z | x+2,y+3.201z |
-
-Seuraavassa julkaisussa on mukana muutamia parannettuja ominaisuuksia, jotka ovat kehittyneet eteenpäin. Näistä on valittu sopiva kokonaisuus asiakas julkaisuun.
-
-**Julkaisu "Enhanced - Versio 1.1"**
-
-| Ominaisuus | Versio | Testattavissa | Julkaistaan |
+| Ominaisuus/toiminnallisuus | Versio | Milloin testattavissa | Julkaisu  |
 |:-:|:-:|:-:|:-:|
-| [Feature 1]() | 1.1 | x.y.201z | x+2,y+3.201z |
-| [Feature 2]() | 1.1 | x.y.201z | x+2,y+3.201z |
-| [Feature 3]() | 1.2 | x.y.201z | x+2,y+3.201z |
-| [Feature 4]() | 1.4 | x.y.201z | x+2,y+3.201z |
-| [Feature 5]() | 2.6 | x.y.201z | x+2,y+3.201z |
-| [Feature 6]() | 1.2 | x.y.201z | x+2,y+3.201z |
-| [Feature 7]() | 1.1 | x.y.201z | x+2,y+3.201z |
-
-
-
-# Palvelun/ohjelmiston arkkitehtuuri 
-
->Millainen on tekninen toteutus ja miten eri teknologioita tullaan hyödyntämään. 
-
-
-## Yleinen sijoittelunäkymä (Deployment diagram )
-
->Sijoittelunäkyvän avulla voi kuvata miten eri palvelu osat toimivat sen ollessa toiminnassa. 
-
-[![](http://img.youtube.com/vi/tLuiQ9p8RkU/0.jpg)](http://www.youtube.com/watch?v=tLuiQ9p8RkU "")
-
-### Tietokantakuvaus (Database ER-diagram)
-
->Tähän esim alustava ER-kaavio
-
-# Testauksen vaatimukset (Testing requirements)
-
-### Testattavuus
-
->Millaisia asioita on otettava huomioon tuotteen laadunvarmistamisen kannalta?. Kehityksen aikana ohjelmistotuotteeseen on luotava tarvittavat rajapinnat tai työkalu-ohjelmistoja, 
-joiden avulla voidaan hallita testikohteena olevaa tuoteversiota. Nämä vaatimukset on kirjattava ajoissa, koska ne vaikuttavat ratkaisevasti tuotteen testausmahdollisuuksiin.
-Esimerkkinä voidaan miettiä logien hallintaa, niiden keräämistä, alkutilanteeseen saattamista. 
-
-
-| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
-|:-:|:-:|:-:|:-:|
-| REQ00x | Vaatimus? | Testattavuus | Kuka vastaa | 
-| REQ00x | Vaatimus? | Testattavuus | Kuka vastaa | 
-| REQ00x | Vaatimus? | Testattavuus | Kuka vastaa | 
-| REQ00x | Vaatimus? | Testattavuus | Kuka vastaa | 
-| REQ00x | Vaatimus? | Testattavuus | Kuka vastaa | 
-
-
-# Tunnistetut riskit ja testikohteet
-
->Millaisia riskeja liittyy tuoteen kehittämiseen, tuotteen markkinoihin, mahdollisiin kilpailijoihin, resursseihin? Nämä on hyvä tunnistaa alkuvaiheessa 
-
-* Riski -> Testaustarve
-* Vaatimus -> Testaustarve
-
-**Työkalu esimerkki**
-
-* SWOT -analyysi?
-
-
-### Vaatimukset yhtenä listana
-
-[![](http://img.youtube.com/vi/s6v0g1Ut-SY/0.jpg)](http://www.youtube.com/watch?v=s6v0g1Ut-SY "")
-
->Tähän osaan voidaan linkittää vaatimuslista, josta kaikki tunnistetut vaatimukset löytyvät
-
-* [Linkki vaatimuslistaan](pohjat/vaatimuslista.md)
-
+| [Feature 1](pohjat/pohja-ominaisuus.md) | 1.0 | 15.6.2019 | V1.0 |
+| [Feature 2](pohjat/pohja-ominaisuus.md) | 1.0 | 1.7.2019  | V1.0 |
+| [Feature 3](pohjat/pohja-ominaisuus.md) | 1.1 | 15.7.2019 | V1.0 |
+| [Feature 4](pohjat/pohja-ominaisuus.md) | 1.1 | 20.7.2019 | V1.0 |
+| [Feature 5](pohjat/pohja-ominaisuus.md) | 2.3 | 23.7.2019 | V1.0 |
 
-### Dokumentit, standardit ja lähteet
 
+## Standardit ja lähteet
 
-**Lähteet/Standardit/Suositukset**
+> Vaatimusmäärittelyn osana on oleellista tuoda esiin tärkeät lähteet, joista on hyötyä tai merkitystä kokonaisuuden kannalta. Standardit ja ennalta jaetut ohjeistukset ovat hyödyllisiä lähteitä ja tarvittaessa 
+selkeyttävät vaatimusten merkitystä.
 
 | ID | Linkki |  |  
 |:-:|:-:|:-:|
-- 
GitLab