Newer
Older
* TTOS0100 Kurssin harjoitustyö HT0
# Tekijän Tiedot
* [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]()
## 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 suosituksiaan. 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.
* [Sidosryhmien tärkeys](images/Stakeholder_importance.jpg)
## 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.

## 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ö | P1 |
| REQ-to0002 | Eri opintopolkuja voi tallentaa omien tunnustensa alle | Käyttö ja toimivuus | P3 |
| REQ-to0003 | Sivuston on skaalauduttava useimmilla selaimilla ja laitteilla | Palvelun toimivuus | P2 |
| REQ-to0004 | Opintopolkuun ei voi täyttää enempää kuin 240 opintopistettä (mukaanlukien pakolliset kurssit) | Toimivuus | P1 |
| REQ-to0005 | Opintopolun tekijä voi ehdottaa kuinka laajoja kurssit ovat | Käyttö | P2 |
| REQ-to0006 | Yrityksien opintopoluista on nähtävillä heatmap | Käyttö | P1 |
| REQ-to0007 | Tarjolla on myös kaikkien ohjelmana syötettyjen opintopolkujen heatmap/keskiarvokartta | Käyttö | P2 |
| REQ-to0008 | Jos käyttäjä yrittää sulkea selaimen, ohjelma kysyy tallenetaanko tiedot | Käyttö | P3 |
| REQ-to0009 | Kursseista voi nähdä lyhyen kuvauksen, toteutustavan ja -ajan | Käyttö | P1 |
| REQ-to0010 | Kursseille ei voi ilmottautua sivustolla (Ei korvaa Asiota) | Käyttö | P2 |
## 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.
### Suorituskyky? (Performance)
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|:-:|:-:|:-:|:-:|
| REQ-su0001 | Sivusto vastaa vähintään kuudessa sekunissa| Suorituskyky | P3 |
| REQ-su0002 | Sivusto pystyy ylläpitämään riittävästi kävijöitä kerralla | Suorituskyky | P2 |
| REQ-su0003 | Sisäänkirjautuessa tunnusten oikeellisuuden tarkistus saa viedä enintään 1s. | Suorituskyky | P2 |
### Tietoturva?
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|:-:|:-:|:-:|:-:|
| REQ-tt0002 | Sivusto ei tallenna käyttäjän henkilökohtaisia tietoja | Tietoturva | P2 |
| REQ-tt0002 | Koulun/työpaikan tunnukset ovat henkilökohtaiset | Tietoturva | P1 |
### Käytettävyys
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|:-:|:-:|:-:|:-:|
| REQ-as0001 | Käyttäjän on mahdollista kirjautua palveluun käyttäen koulun tai työpaikan antamaa tunnusta | Käytettävyys | P1 |
| REQ-as0002 | Palveluun voi kirjautua myös vieraana | Käytettävyys | P1 |
| REQ-as0003 | Oppilas saa näkyville kaikki koulunsa mahdolliset kurssit | Käytettävyys | P2 |
| REQ-as0004 | Oppilas voi selata erilaisia opintopolkuja ja verrata niitä keskenään | Käytettävyys | P2 |
[Ensimmäinen kijautuminen (rekisteröinti)](https://www.fluidui.com/editor/live/preview/cF8zTnh4NlY0SGwzcFdNYW9VY3RvR2lzWGhSU0FieHlRbw==)
| [Opintopolut](FT2-ominaisuus.md) | 1 | |
| [Heatmap](FT2-ominaisuus.md) | 1 | |
| [laitostunnus](FT3-ominaisuus.md) | 2 | |
## 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) | | |
# Palvelun/ohjelmiston arkkitehtuuri
### Yleinen sijoittelunäkymä (Deployment diagram )
# Arkkitehtuuriin/teknologiaan liityvät vaatimukset
### Ylläpito (Maintenance)
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|:-:|:-:|:-:|:-:|
| REQ00x | Palvelun tiedot kursseista pysyvät ajantasaisina | Ylläpito | P1 |
| REQ00x | Palvelun käyttö vaatii kolmannen osapuolen asiakasohjelman, eli nettiselaimen. | Tekninen | Kuka vastaa |
### Yleinen tietokantakuvaus (Database ER-diagram)
ER-kaavio
# Testauksen vaatimukset (Testing requirements)
### Testattavuus
| REQ00x | Palvelussa on oltava vähintään opintopolkujen selailu | Testattavuus |
| REQ00x | Rekisteröityminen on mahdollista | Testattavuus |
* Rekisteröitymisen onnistuminen -> 1
* Opintopolkujen muodostuminen -> 1
* Heatmappien muodostuminen -> 2