Newer
Older
* TTOS0100 Kurssin harjoitustyö HT0
# Tekijän Tiedot
!!hyödylliset linkit youtube-videoihin, poista lopuksi
* [youtube](https://www.youtube.com/watch?v=0zVNZNbphfE&t=255s)
* [Palvelun rajaaminen](https://www.youtube.com/watch?v=fOlmrsp2iRc&t=5s)
* [Mikä ihme on asiakastarina](https://www.youtube.com/watch?v=m8WEoyyFUww&t=36s)
* [](https://www.youtube.com/watch?v=lYBhXz-_mIs&t=87s)
* [Sidosryhmistä](https://www.youtube.com/watch?v=VmotZXBdrDs&t=14s)
* [Käyttötapauksista 2](https://www.youtube.com/watch?v=rADU4vWTfyY)
* [Tuotteen kuvaus](#Johdatus)
* [Palvelukuvaus](#Palvelukuvaus)
* [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]()
## Johdatus
Tämä vaatimusmärittely kokoaa yhteen kehitettävän tuotteen ominaisuudet, käyttäjät ja muun oleellisen.
Karo Saharinen esitti toiveensa tuotteen suhteen, ja tämän pohjalta tuotteen kuvausta on lähdetty kehittämään.
Kyseessä on nettisivulle pohjautuva sovellus, joka tarjoaisi opiskelijalle mahdollisuuden
tutkia opintojensa kulkua tai koulunsa opintotarjontaa eri opintojaksoilla. Toiveena olisi, että
sovellus on helppo käyttää ja lukea. Opiskelijan olisi myös pystyttävä tutkimaan erilaisia opintopolkuja (ja sitä, minne ne johtavat)
klikkailemalla itseään kiinnostavia kursseja. Opiskelija voisi kirjautua sovellukseen koulunsa tunnuksilla ja järjestestää sekä tallentaa
itseään kiinnostavia opintopolkuja. Henkilöt, jotka eivät ole koulussa tai töissä, voisivat kirjautua sisään vieraana ja tutkia eri koulujen
opintotarjontaa ja pohtia mikä opintosuunta/koulu olisi heille paras.
Sovellus voisi tulla käyttöön monissa eri kouluissa (muuallakin kuin JAMK:ssa) ja myös yritykset voisivat käyttää sitä työntekijöiden löytämiseen.
Ideaalia olisi, että yrityksen työntekijät voisivat lisätä sovellukseen omia profiilejaan. Työntekijä voisi siis täyttää sovelluksessa omasta mielestään
'parhaan' tavan toteuttaa max. 240 opintopistettä. Näin ollen opiskelijat voisivat työntekijöiden profiileja nähdessään saada jonkinlaisen kuvan siitä, mikä koulutus
on heidän suunnittelemalleen työuralle parhain.
Työn tilaaja on Karo Saharinen, lehtori Jyväskylän Ammattikorkeakoulun IT-instituutissa.
Vaatimusmäärittelyn toimittaa Mirva Tulonen, Jyväskylän Ammattikorkeakoulun tieto- ja viestintätekniikan ensimmäisen vuoden opiskelija.
Näissä asiakastarinoissa on avattu esimerkkipolkuja, joita asiakas saattaa kulkea palvelua käyttäessään. Asiakaspolku 1 keskittyy asiakkaaseen,
joka on opiskelija. Asiakaspolku 2:ssa on aiheena työntekijä, joka saapuu palveluun täyttämään opintopolku suosituksensa.
* [Asiakaspolku 1](Asiakaspolut/asiakaspolku_salla.png)
* [Asiakaspolku 2](Asiakaspolut/Asiakaspolku_Harri_Puiseva.png)
## Sidosryhmät (Stakeholders) ja profiilikuvaukset (Profile descriptions)
Sovelluksen sidosryhmiä ovat ne osapuolet, jotka käyttävät sovellusta, ja joiden toiminta koskettaa sovellusta
oleellisesti. Tässä vaatimusmäärittelyssä sovellusken sidosryhmiä on tunnistettu 6 kappaletta. Näitä ovat korkeakouluopiskelija,
työnantaja ja -tekijä, vaihto-opiskelija, tuleva opiskelija sekä vastustaja. Jokaisella sidosryhmällä on omanlaisensa
käyttötarkoituksensa sovellukselle. Jokaisesta sidosryhmästä on luotu ainakin yksi esimerkkiprofiili, jotka ovat linkkeinä alla.
Kaikki sidosryhmien jäsenet eivät ole palvelun puolesta tai käytä sitä oikein. Esimerkiksi profiili 7, Christine Wood, vastustaa
jyrkästi kyseessä olevan palvelun kaltaista toimintaa. Christine voi toimia uhkana palvelulle, jos hän työntekijänä luo palveluun
väärää sisältöä.
| [Profiili 1 ](stakeholder-profile1_Salla_Mäki.md) | Salla Mäki, 22, opiskelija JAMK:ssa. Jyväskylä. | Tutori |
| [Profiili 2 ](stakeholder-profile2_Mikko_Kivinen.md) | Mikko Kivinen, 33, opiskelija. Tampere. | |
| [Profiili 3 ](stakeholder-profile3_Harri_Puiseva.md) | Harri Puiseva, 50, työssäkäyvä. | Rekrytointivastaava |
| [Profiili 4 ](stakeholder-profile4_Niina_Lampi.md) | Niina Lampi, 34. Rauma. Tekniikan osaaja. | Palvelun työntekijä |
| [Profiili 5 ](stakeholder-profile5_Jessica_Hill.md) | Jessica Hill, 20. Kotoisin Englannista | Vaihto-opiskelija Suomessa |
| [Profiili 6 ](stakeholder-profile6_Sami_Jokinen.md) | Sami Jokinen, 20. | Vasta lukion ja armeijan käynyt |
| [Profiili 7 ](stakeholder-profile7_Christine_Wood.md) | Christine Wood, 42. Yrityksen johtaja. | 'Bad man' |
Tämän palvelun sidosryhmistä on määritelty kaksi pääryhmää: opiskelijat sekä työelämässä olevat. Jos palvelua hyödynnetään oikein ja syvällisesti,
se vaikuttaa oleellisesti oppilaiden elämään ja heidän päätöksiinsä tulevaisuuden opinnoista. Työelämässä olevat, siis työnantajat ja -tekijät,
vaikuttavat palvelun sisältöön. Kuten aiemmin liitetyistä asiakasprofiileista voi havaita, kaikki mahdolliet palvelun käyttäjät eivät ole kuitenkaan
näistä kahdesta sidosryhmästä. Esimerkiksi vaihtoppilas, jonka tarpeet(kieli, erilainen kurssisuoritus) palvelun suhteen ovat erilaiset verratessa
ydinryhmän opiskelijoihin. Alla on liitetty sidosryhmäkartta, joka pyrkii tiivistämään asiakaskunnan tärkeysjärjestyksen.
## Palvelu/asiakaspolku (Customer Journey)
Asiakaspolku kuvaa asiakkaan 'matkaa' tämän käyttäessä tuotetta tai palvelua.
Tämän vaatimusmäärittelyn kuvaamaan palvelun pääasiakasryhmäksi on todettu opiskelijat, jotka käyttävät palvelua, sekä työntekijät, jotka
omalta osaltaan auttavat tuomaan palveluun sisältöä. Alla on linkit kahteen eri asiakaspolkuun. Salla Mäen asiakaspolku on esimerkki siitä, kuinka
opiskelija saattaa ensin löytää palvelun ja kuinka hän käyttää sitä. Harri Puiseva on työntekijä, ja näin ollen hänen asiakaspolkunsa kuvaa hänen
reittiään luomaan omanlaisensa opintopolku palveluun.
Asiakaspolkuja:
* [Salla Mäki](Asiakaspolut/asiakaspolku_salla.png)
* [Harri Puiseva](Asiakaspolut/Asiakaspolku_Harri_Puiseva.png)
## Tuotteen yleisiä vaatimuksia ja rajoituksia (General Requirements and restrictions)
Tämän palvelun tärkeimmät yleiset vaatimukset ovat sen helppokäyttöisyys. Tärkeää on myös, että se on toiminnallinen
niin oppilaille jotka käyttävät palvelua, kuin myös työntekijöillekin jotka ovat osana sivuston sisällön tuotantoa.

## Palveluun liittyvät toiminnalliset vaatimukset (Functional Requirements)
Nämä toiminnalliset vaatimukset on laadittu sen pohjalta, millaisia toiveita asiakas on esittänyt palvelun suhteen. On myös pohdittu palvelun
yleistä toimivuutta, ja johdettu muutama vaatimus sen perusteella, kuten palvelun skaalautuvuus useammilla laitteilla ja selaimilla.
Periaatteessa palvelun ranka on hyvin yksinkertainen, ja suurin osa toiminnallisista vaatimuksista tullaan toteuttamaan jo koodastasolla.
Suurin osa näistä vaatimuksista liittyy siihen, miten palvelun käyttäjän odotetaan toimivan palvelun kanssa ja kuinka yhdistää palvelun eri osa-alueet.
(Esim. kurssien tideot, yritysten heatmap)
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|:-:|:-:|:-:|:-:|
| REQ-to0001 | Työntekijä saa tunnuksen tehdäkseen suosittelemiaan opintopolkuja | Käyttö | Työntekijän esimies ja palvelun ylläpitäjä |
| REQ-to0002 | Eri opintopolkuja voi tallentaa omien tunnustensa alle | Käyttö ja toimivuus | Koodaaja |
| REQ-to0003 | Sivuston on skaalauduttava useimmilla selaimilla ja laitteilla | Palvelun toimivuus | Koodaaja |
| REQ-to0004 | Opintopolkuun ei voi täyttää enempää kuin 240 opintopistettä (mukaanlukien pakolliset kurssit) | Toimivuus | Koodaaja|
| REQ005 | Opintopolun tekijä voi ehdottaa kuinka laajoja kurssit ovat | Käyttö | Koodaaja |
| REQ-to0006 | Yrityksien opintopoluista on nähtävillä heatmap | Käyttö | Koodaaja ja sisällöntuottaja |
| REQ-to0007 | Tarjolla on myös kaikkien ohjelmana syötettyjen opintopolkujen heatmap/keskiarvokartta | Käyttö | Koodaaja ja sisällöntuottaja |
| REQ-to0008 | Jos käyttäjä yrittää sulkea selaimen, ohjelma kysyy tallenetaanko tiedot | Käyttö | Koodaaja |
| REQ-to0009 | Kursseista voi nähdä lyhyen kuvauksen, toteutustavan ja -ajan | Käyttö | Koodaaja ja sisällöntuottaja |
| REQ-to0010 | Kursseille ei voi ilmottautua sivustolla (Ei korvaa Asiota) | Käyttö | Kuka vastaa |
## Palveluun liittyvät ei-toiminnalliset vaatimukset (Non Functional Requirements)
Ei-toiminnalliset vaatimukset puolestaan liittyvät palvelun toimintoihin, jotka eivät ole niin näkyviä käyttäjälle palvelun sivustolla tai sen käytössä.
Tälläiset vaatimukset liittyvät suurimmalta osin tietoturvaan, palvelun suorituskykyyn ja luotettavuuteen.
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
### Suorituskyky? (Performance)
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|:-:|:-:|:-:|:-:|
| REQ00x | Vaatimus? | Suorituskyky | Kuka vastaa |
| REQ00x | Vaatimus? | Suorituskyky | Kuka vastaa |
| REQ00x | Vaatimus? | Suorituskyky | Kuka vastaa |
### Luotettavuus?
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|:-:|:-:|:-:|:-:|
| REQ00x | Vaatimus? | Luotettavuus | Kuka vastaa |
| REQ00x | Vaatimus? | Luotettavuus | Kuka vastaa |
| REQ00x | Vaatimus? | Luotettavuus | Kuka vastaa |
### Tietoturva?
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|:-:|:-:|:-:|:-:|
| REQ00x | Vaatimus? | Tietoturva | Kuka vastaa |
| REQ00x | Vaatimus? | Tietoturva | Kuka vastaa |
| REQ00x | Vaatimus? | Tietoturva | Kuka vastaa |
| REQ00x | Vaatimus? | Tietoturva | Kuka vastaa |
| REQ00x | Vaatimus? | Tietoturva | Kuka vastaa |
| REQ00x | Vaatimus? | Tietoturva | Kuka vastaa |
### Käytettävyys
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|:-:|:-:|:-:|:-:|
| REQ00x | Vaatimus? | Käytettävyys | Kuka vastaa |
| REQ00x | Vaatimus? | Käytettävyys | Kuka vastaa |
| REQ00x | Vaatimus? | Käytettävyys | Kuka vastaa |
| REQ00x | Vaatimus? | Käytettävyys | Kuka vastaa |
| REQ00x | Vaatimus? | Käytettävyys | Kuka vastaa |
## Palvelu MockUp-prototyyppi
[Ensimmäinen kijautuminen (rekisteröinti)](https://www.fluidui.com/editor/live/preview/cF8zTnh4NlY0SGwzcFdNYW9VY3RvR2lzWGhSU0FieHlRbw==)
| Ominaisuus | Prioriteetti | Muuta |
| :-: | :-: | :-: |
| [Ominaisuus 1 - Feature 1](FT1-ominaisuus.md) | | |
| [Ominaisuus 2](FT2-ominaisuus.md) | | |
| [Ominaisuus 3](FT3-ominaisuus.md) | | |
| [Ominaisuus 4](FT4-ominaisuus.md) | | |
| [Ominaisuus 5](FT5-ominaisuus.md) | | |
| [Ominaisuus 6](FT6-ominaisuus.md) | | |
| [Ominaisuus 7](FT7-ominaisuus.md) | | |
## Julkaisun suunnitelma
| Aika + Ominaisuuus | Kuvaus | Vastuu | Prioriteetti |
|:-:|:-:|:-:|:-:|
| 1.9.2018 [Ominaisuus 1](FT1-ominaisuus.md) | | |
| 1.10.2018 [Ominaisuus 2](FT2-ominaisuus.md) | | |
| 15.11.2018 [Ominaisuus 3](FT3-ominaisuus.md) | | |
| 5.12.2018 [Ominaisuus 4](FT4-ominaisuus.md) | | |
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
# Palvelun/ohjelmiston arkkitehtuuri
### Yleinen sijoittelunäkymä (Deployment diagram )

# Arkkitehtuuriin/teknologiaan liityvät vaatimukset
### Ylläpito (Maintenance)
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|:-:|:-:|:-:|:-:|
| REQ00x | Vaatimus? | Yllläpito | Kuka vastaa |
| REQ00x | Vaatimus? | Tekninen | Kuka vastaa |
| REQ00x | Vaatimus? | Käytettävyys | Kuka vastaa |
| REQ00x | Vaatimus? | Käytettävyys | Kuka vastaa |
| REQ00x | Vaatimus? | Käytettävyys | Kuka vastaa |
### Yleinen tietokantakuvaus (Database ER-diagram)
ER-kaavio

# Testauksen vaatimukset (Testing requirements)
### Testattavuus
| 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
* Riski -> Testaustarve
* Vaatimus -> Testaustarve
### Kaikki vaatimukset listattuna
### Dokumentit, standardit ja lähteet
*Lähteet*
| ID | Lähde | Kuvaus | Linkki |
|:-:|:-:|:-:|:-:|
| Id0 | Wikipedia | Vaatimusmäärittely | https://fi.wikipedia.org/wiki/Ohjelmiston_vaatimusm%C3%A4%C3%A4rittely
- |
| - | - | - |
| - | - | - |
| - | - | - |