|
|
|
# Vaatimusmäärittely
|
|
|
|
|
|
|
|
## Sisällysluettelo
|
|
|
|
|
|
|
|
* [Asiakastarinat & asiakaspolut](#asiakastarinat-asiakaspolut)
|
|
|
|
* [Sidosryhmät ja profiilikuvaukset](#sidosryhmät-stakeholders-ja-profiilikuvaukset-profile-descriptions)
|
|
|
|
* [Sidosryhmäkuva](#sidosryhmäkuva-stakeholder-map)
|
|
|
|
* [Yleinen käyttötapaus](#yleiset-käyttötapaukset-general-use-cases)
|
|
|
|
* [Yleiset toiminnalliset vaatimukset](#palveluun-liittyvät-toiminnalliset-vaatimukset-functional-requirements)
|
|
|
|
* [Yleiset ei-toiminnalliset vaatimukset](#palveluun-liittyvät-ei-toiminnalliset-vaatimukset-non-functional-requirements)
|
|
|
|
* [Palvelu MockUp]()
|
|
|
|
* [Tärkeimmät ominaisuudet]()
|
|
|
|
* [Julkaisun suunnitelma]()
|
|
|
|
* [Palvelun/ohjelmiston arkkitehtuuri](#palvelunohjelmiston-arkkitehtuuri)
|
|
|
|
* [Testaus ja laadunvarmistus](#testauksen-vaatimukset-testing-requirements)
|
|
|
|
* [Lähteet]()
|
|
|
|
|
|
|
|
## Johdatus
|
|
|
|
|
|
|
|
Dokumentissa käydään läpi GitLab palvelun aktiivisuuden seuraamisjärjestelmän toteutuksen vaatimuksia. Dokumentissa perehdytään palvelun sidosryhmiin, asiakastarinoihin opettajan näkökulmasta sekä toiminnallisiin että ei toiminnallisiin vaatimuksiin.
|
|
|
|
|
|
|
|
|
|
|
|
### Palvelukuvaus
|
|
|
|
|
|
|
|
Toteutuksessa tehdään GitLab-palvelun seurantajärjestelmä, jonka avulla opettaja voi mm. seurata kurssinsa oppilaiden aktiivisuutta. Tällä hetkellä opettajalla ei ole tietoa, käyvätkö opiskelijat esimerkiksi kurssin GitLab etusivulla. Seurantajärjestelmän avulla voitaisiin seurata kuinka moni opiskelija on aktiivinen ja ketkä todennäköisesti ovat jättäneet jo kurssin kesken.
|
|
|
|
|
|
|
|
Palvelun avulla opettajan resursseja voitaisiin suunnata auttamaan aktiivisesti yrittäviä opiskelijoita, sekä tarkkailla yleisesti kurssin mielenkiintoa oppilaitoksen ulkopuolelle. Palvelu on suunnattu Jyväskylän ammattikorkeakoulun käyttöön, mutta on laajennettavissa myös muihin GitLab:ia käyttäviin tekijöihin.
|
|
|
|
|
|
|
|
Palvelu vaatii sen seuraamisen vuoksi opiskelijoille tiedottamisen, mitä tietoja heistä kerätään, mihin tarkoitukseen sekä kuka tiedot näkee. Tässä kyseisessä tapauksessa tiedot kerätään kaikist GitLab toimista ja tiedot näkee kurssin opettaja.
|
|
|
|
|
|
|
|
|
|
|
|
### Vaatimusmäärittelytyön tilaaja
|
|
|
|
|
|
|
|
Jyväskylän Ammattikorkeakoulu, Marko Rintamäki
|
|
|
|
|
|
|
|
### Vaatimusmäärittelyn toimittaja
|
|
|
|
|
|
|
|
MystiCons
|
|
|
|
|
|
|
|
## Asiakastarinat & Asiakaspolut
|
|
|
|
|
|
|
|
Asiakastarinat eri näkökulmista.
|
|
|
|
* [Opettaja](Asiakastarina_opettaja)
|
|
|
|
* [Opiskelija] (Asiakastarina_opiskelija)
|
|
|
|
|
|
|
|
|
|
|
|
## Sidosryhmät (Stakeholders) ja profiilikuvaukset (Profile descriptions)
|
|
|
|
|
|
|
|
* Opettaja
|
|
|
|
* [Narsuman](opettaja_profiili)
|
|
|
|
* Opiskelija
|
|
|
|
* [Ilona Innokas](opiskelija_profiili)
|
|
|
|
* Ylläpitäjä
|
|
|
|
* [Admin] (yllapitaja_profiili)
|
|
|
|
|
|
|
|
|
|
|
|
## Sidosryhmäkuva (Stakeholder map)
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
## Tuotteen yleisiä vaatimuksia ja rajoituksia (General Requirements and restrictions)
|
|
|
|
|
|
|
|
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|
|
|
|
|:-:|:-:|:-:|:-:|
|
|
|
|
| GENREQ001 | Pääkäyttäjällä ja ylläpitäjällä vain pääsy palveluun | Käyttöoikeudet | Tuotanto |
|
|
|
|
| GENREQ002 | Palveluun kirjaudutaan tunnuksilla | Käyttöoikeudet | Tuotanto |
|
|
|
|
| GENREQ003 | Palvalua voidaan käyttää vain tunnuksilla | Käyttöoikeudet | Tuotanto |
|
|
|
|
| GENREQ004 | Palvelu on käytettävissä yleisimmillä selaimilla (firefox, mozilla) | | Tuotanto |
|
|
|
|
| GENREQ005 | Palvelu noudattaa GDPR:ää | Tietosuoja | Tuotanto |
|
|
|
|
|
|
|
|
|
|
|
|
## Yleiset käyttötapaukset (General Use Cases)
|
|
|
|
* [Peruskäyttö](kayttotapaus1_gitlab)
|
|
|
|
* [Yksittäisen opiskelijan seuranta](kayttotapaus2_gitlab)
|
|
|
|
* [Kurssin toteutuksen seuranta](kayttotapaus3_gitlab)
|
|
|
|
|
|
|
|
|
|
|
|
## Palveluun liittyvät toiminnalliset vaatimukset (Functional Requirements)
|
|
|
|
|
|
|
|
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|
|
|
|
|:-:|:-:|:-:|:-:|
|
|
|
|
| FUNCREQ001 | Palvelu kirjaa aktiivisuuden logiin | Toiminnallinen | Tuotanto |
|
|
|
|
| FUNCREQ002 | Palvelu lukee dataa logista ja piirtää graafin | Toiminnallinen | Tuotanto |
|
|
|
|
| FUNCREQ003 | Datasta voidaan piirtää halutunlainen graafi | Toiminnallinen | Tuotanto |
|
|
|
|
| FUNCREQ004 | Palvelun data varastoidaan tietokantaan | Toiminnallinen | Tuotanto |
|
|
|
|
|
|
|
|
|
|
|
|
## Palveluun liittyvät ei-toiminnalliset vaatimukset (Non Functional Requirements)
|
|
|
|
|
|
|
|
|
|
|
|
### Suorituskyky (Performance)
|
|
|
|
|
|
|
|
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|
|
|
|
|:-:|:-:|:-:|:-:|
|
|
|
|
| PERFMREQ001 | Palvelun täytyy pystyä käsittelemään vähintään 100 yhtäaikaisen käyttäjän logitusta | Suorituskyky | Tuotanto |
|
|
|
|
| PERFMREQ002 | Skaalautuvuus käytön mukaan | Suorituskyky | Tuotanto |
|
|
|
|
|
|
|
|
|
|
|
|
### Luotettavuus
|
|
|
|
|
|
|
|
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|
|
|
|
|:-:|:-:|:-:|:-:|
|
|
|
|
| TRUSTREQ001 | Palvelu nostetaan automaattisesti pystyyn serverin bootatessa | Luotettavuus | Tuotanto |
|
|
|
|
| TRUSTREQ002 | Palvelu ajaa backuppeja tietyin aikavälein | Luotettavuus | Tuotanto |
|
|
|
|
| TRUSTREQ003 | Backuppeja säilytetään vähintään viikon ajan | Luotettavuus | Tuotanto |
|
|
|
|
|
|
|
|
|
|
|
|
### Tietoturva
|
|
|
|
|
|
|
|
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|
|
|
|
|:-:|:-:|:-:|:-:|
|
|
|
|
| SECUREQ001 | Admin-käyttäjillä on vahvat salasanat | Tietoturva | Ylläpito |
|
|
|
|
| SECUREQ002 | GitLab voidaan käyttää vain https kautta | Tietoturva | Tuotanto |
|
|
|
|
| SECUREQ003 | Kibana vaatii salasanan | Tietoturva | Tuotanto |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Palvelu MockUp-prototyyppi
|
|
|
|
|
|
|
|
|
|
|
|
## Tärkeimmät tunnistetut ominaisuudet (Features)
|
|
|
|
|
|
|
|
| Ominaisuus | Prioriteetti | Muuta |
|
|
|
|
| :-: | :-: | :-: |
|
|
|
|
| [Ominaisuus 1](https://github.com/JAMK-IT/TTOS0100-Ohjelmistosuunnittelu-ja-testaus/blob/master/pohja-ominaisuuskuvaus.md) | | |
|
|
|
|
|
|
|
|
|
|
|
|
## Julkaisun suunnitelma
|
|
|
|
|
|
|
|
| Aika + Ominaisuuus | Kuvaus | Vastuu | Prioriteetti |
|
|
|
|
|:-:|:-:|:-:|:-:|
|
|
|
|
| 1.1.201x [Ominaisuus 1](https://github.com/JAMK-IT/TTOS0100-Ohjelmistosuunnittelu-ja-testaus/blob/master/pohja-ominaisuuskuvaus.md) | | |
|
|
|
|
|
|
|
|
|
|
|
|
# Palvelun/ohjelmiston arkkitehtuuri
|
|
|
|
|
|
|
|
### Versio 1.0 25.5.2018
|
|
|
|

|
|
|
|
|
|
|
|
### Versio 2.0 18.6.2018
|
|
|
|

|
|
|
|
|
|
|
|
### Yleinen sijoittelunäkymä (Deployment diagram )
|
|
|
|
|
|
|
|
|
|
|
|
# Arkkitehtuuriin/teknologiaan liityvät vaatimukset
|
|
|
|
|
|
|
|
### Ylläpito (Maintenance)
|
|
|
|
|
|
|
|
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|
|
|
|
|:-:|:-:|:-:|:-:|
|
|
|
|
| REQ001 | Palvelu voidaan pystyttää min 2 CPU core kun käyttäjämäärä ~500 | Tekninen | Tuotanto |
|
|
|
|
| REQ002 | Palvelu toimii kun vähintään 4 GB RAM kun käyttäjämäärä ~500| Tekninen | Tuotanto |
|
|
|
|
| REQ003 | Palvelun pystyttämiseen tarvitaan 50 GB muistia | Käytettävyys | Tuotanto |
|
|
|
|
| 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
|
|
|
|
|
|
|
|
| Id | Kuvaus | Ehkäisevät toimenpiteet |
|
|
|
|
|:-:|:-:|:-:|
|
|
|
|
| RISKID001 | Palvelu kaatuu | [TRUSTREQ001](#luotettavuus), [TRUSTREQ002](#luotettavuus) |
|
|
|
|
| RISKID002 | | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 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
|
|
|
|
| Id1 | EUR-Lex | GDPR / Standardi | http://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32016R0679
|
|
|
|
| - | - | - |
|
|
|
|
| - | - | - |
|
|
|
|
|