Skip to content

Forum-palvelun vaatimusmäärittely

Sisällysluettelo

  1. Johdanto
  2. Toimeksiantaja
  3. Vaatimusmäärittelyn tekijästä
  4. Palvelukuvaus
  5. Sidosryhmät ja profiilit
  6. Asiakkaan tarpeet
  7. Valitut asiakastarinat
  8. Palveluun liittyviä asiakaspolkuja
  9. Oleelliset käyttötapaukset
  10. Mock-up
  11. Olemassa olevat toiminnallisuudet ja ominaisuudet
  12. Käyttäjätarinoita
  13. Palveluun liittyvät tuotannolliset ja tekniset vaatimukset
  14. Toteutettavat ominaisuudet
  15. Toiminnalliset vaatimukset
  16. Ei-toiminnalliset vaatimukset
  17. Ohjelmiston arkkitehtuuri
  18. Palvelun sijoittelunäkymä ja integraatiot
  19. Hyväksyntätestit
  20. Julkaisusuunnitelma

Johdanto

Virtuaaliyritys TEAM Karhukaisen kehitti artikkelipohjaista foorumia Conduit-palvelua tilaajan toiveiden pohjalta. Projekti toteutettiin Jyväskylän ammattikorkeakoulun informaatioteknologian instituutin ja TE-toimiston järjestämän Ohjelmistotuotanto ja laadunvarmistus ja Moderni ohjelmistokehitys ‑kurssin puitteissa. Projektin kesto oli yksitoista viikkoa.

Toimeksiantaja

Toimeksiantaja oli JAMKin IT-instituutin WIMMA Lab oppimisympäristö, jossa opiskelijat muodostavat tiimejä ja virtuaalisia yrityksiä.

Vaatimusmäärittelyn tekijästä

Tätä vaatimusmäärittelyä teki neljä henkilöä, joilla ei ollut vaatimusmäärittely dokumenttien teosta aiempaa kokemusta. Osalla oli paljon kokemusta työelämästä muilta kuin IT-alalta. Osalla oli IT-alalta omaa harrastuneisuutta tai perusopintoja. Projektin toteutusvaiheessa ryhmään liittyi henkilöitä, jotka olivat tehneet kyseisiä dokumenttejä päivätöissään. Heiltä pystyi kysymään neuvoja aiheesta.

Palvelukuvaus

Conduit on avoimen lähdekoodin julkaisujärjestelmä, jossa rekisteröityneet käyttäjät voivat kirjoitttaa ja julkaista artikkeleita sekä kommentoida muiden kirjoittamia artikkeleita.

Palvelun olemassaolevista ominaisuuksista löytyy lisää kohdasta Olemassa olevat toiminnallisuudet ja ominaisuudet

Sidosryhmät ja profiilit

Sidosryhmä Profiili Kirjoittaa % artikkeleista
Toimeksiantaja Impi Toimeksiantaja 2 %
Toimeksiantaja Tommi Toimeksiantaja 8 %
Sponsorit Ossi Von Sponsor 5 %
Alumnit Tero Uusipyy 15 %
Vierailevat tähdet Harry Star 15 %
Student Coach Jonne Jaminne 15 %
Tukihenkilöt Tuutti Tukihenkilö 8 %
Avoimien ovien vieraat Aada Helmi 2%
WIMMA Labilaiset Iida Wimma 25 %
Häirikkö Aatos Aho 5-90 %

Asiakkaan tarpeet

VaatimusID Tyyppi Kuvaus
CUSTOMER-REQ-0001 Customer Requirement Forumin käyttäjänä toivon voivani palata helposti WIMMA Lab-sivustolle, koska haluan vielä tarkastella sitä uudelleen.
CUSTOMER-REQ-0002 Customer Requirement Käyttäjänä haluan helpon ja nopean tavan jakaa artikkeli sosiaaliseen mediaan, koska haluan artikkelille näkyvyyttä.

Valitut asiakastarinat

Tuutti Tukihenkilö

Tuutin tarina kaaviona

Tuutti käy aamupäivällä taapaamassa opiskelijoita WIMMA Labsissa. Paikalla on hyvin porukkaa ja keskustelua syntyy. Yhdestä esille tulleesta ongelmasta toivotaan yleisohjetta. Tuutti pyöräilee kotiinsa ja tekee tietokoneella video-ohjeen, jonka lähettää artikkelina conduit-palvelun kautta jakoon. Nälkä alkaa jo kurnia vatsaa, joten hän käy tekemässä voileivän keittiössä. Samalla kun teevesi on kuumentumassa mikrossa, Tuutti selailee Conduittia ja huomaa artikkelissaan uuden kommentin. Hän käy vielä tietokoneella laittamassa nopeasti lisäohjeita ennekuin lähtee ulos asioille.

Iida Wimma

Iidan tarina kaaviona

Iida Wimma herää aamulla ja ensimmäisenä asiana käy tarkistamassa onko WimmaLabin Conduit -artikkelialustaan tullut uusia artikkeleita. Hän huomaa, että hänen projektinjohtaja on kirjoittanu artikkelin, jossa ehdotetaan päivälle sovitun kokouksen siirtämistä. Iida kirjoittaa hänelle sopivat ajat conduitin kommenttikenttään ja jatkaa kahvin juomista. Iida haluaa pysyä ajantasalla WimmaLabin tapahtumista ja käy päivän mittaan tasaisin välein katsomassa WimmaLabin foorumia. Tarpeen tullen hän kirjoittelee uusia artikkeleita tai kommentoi kiinnostavia artikkeleita.

Tero Alumni

Tero on valmistunut JAMKista pari vuotta sitten. Työpaikka löytyi viimeisenä vuonna koululla vierailleen yrittäjan kautta. Tero osallistui koulun aikaan itsekin WimmaLabin toimintaan ja koki sen antoisaksi ja mukavaksi toiminnaksi, ja tämän myötä hän haluaa jakaa kokemuksiaan ja tietämystään hänen jälkeensä JAMKIssa ja WimmaLabissa opiskeleville. Näin ollen hän osallistuu WimmaLabin toimintaan alumnina.

Tero rekisteröityy WimmaLabin Conduit-palveluun ja kirjoittaa artikkeleita koskien työelämää, hänen alallaan tapahtuvia teknisiä muutoksia ja muuta, josta hän kokee olevan hyötyä opiskelijoille. Kommenttiosiossa Tero vastailee artikkeleiden herättämiin kysymyksiin sekä kommentoi muiden artikkeleita. Kiinnostavan artikkelin löytäessään hän jakaa sen sosiaaliseen mediaan.

Oleelliset käyttötapaukset

  • Käyttötapaus 3 - WimmaLab sivulle siirtyminen

  • Käyttötapaus 6 - palautteen antaminen

  • Käyttötapaus 7 - Salasanan vaihtaminen

  • Käyttötapaus 8 - Twitter jaon tekeminen

Mock-up

Kirjautumissivu ja värimaailmaan

Kirjautumisnäkymä

Olemassa olevat toiminnallisuudet ja ominaisuudet

Alla olevasta taulukosta näkyvät Conduit-palvelun olemassaolevat ominaisuudet ennen projektin aloittamista.

Ominaisuus Kuvaus Vaatii rekisteröitymisen
Artikkelin kirjoittaminen Käyttäjä voi kirjoittaa ja julkaista artikkelin palvelussa. kyllä
Artikkelin kommentointi Käyttäjä voi kommentoida omia ja muiden artikkeleita kyllä
Käyttäjän seuraaminen Käyttäja voi seurata toista käyttäjää. Seurattujen käyttäjien julkaisemat artikkelit ilmestyvät käyttäjan Your feed -näkymään. kyllä
Suosikiksi lisääminen Käyttäjä voi lisätä artikkelin suosikkeihinsa. Merkityt artikkelit löytyvät käyttäjän oman tilin hallinasta kohdasta Favorited articles kyllä
Käyttäjätietojen muuttaminen Käyttäjä voi muuttaa tai asettaa itseään koskevia tietoja, joihin kuuluvat: profiilikuvan URL (profile pic URL), käyttäjänimi (user name), kuvaus (bio), email, uusi salasana (new password) kyllä
Rekisteröityminen Käyttäjä voi rekisteröityä palveluun. Rekisteröitymisen hän tarvitsee sähköpostiosoitteen sekä valitsemansa käyttäjänimen ja salasanan ei
Sisäänkirjautuminen Käyttäjä voi kirjautua sisää aiemmin luomillaan tunnuksilla, jotka koostuvat sähköpostiosoitteesta ja salasanasta kyllä
Omien artikkeleiden hallinta Käyttäjätietojen hallinnassa käyttäjä näkee listan julkasemistaan artikkeleista ja voi muokata tai poistaa haluamiaan artikkeleita kyllä
Globaali syöte (Global feed) Syötteessä näkyvät kaikki palevlussa julkaistut artikkelit aikajärjestyksessä uusimmasta vanhimpaan ei
Henkilökohtainen syöte (Your feed) Syötteessä näkyvät käyttäjän seuraamien käyttäjien julkaisemat artikkelit aikajärjestyksessä uusimmasta vanhimpaan kyllä
Tagisyöte Syötteessä näkyy kaikki artikkelit, jotka sisältävät tagin, jota käyttäjä klikkaa sivun oikeassa laidassa olevasta tagipilvestä (Popular tags) ei

Käyttäjätarinoita

  • US1: Ylläpitäjänä haluan julkaista palvelun Docker teknologiaa käyttäen, koska se helpottaa tuotantoa. #109
  • US4: Testaajana haluan Docker compose scriptin, koska haluan saada Conduitin uuden version pystyyn mahdollisimman nopeasti ja helposti #111
  • US6: Toimeksiantajana toivon, että sivusto näyttää visuaalisesti yhtenäiseltä, jos käyttäjä menee foorumille #81
  • US7: Forumin käyttäjänä toivon voivani palata helposti WIMMA Lab-sivustolle, koska haluan vielä tarkastella sitä uudelleen #82
  • US8: Palvelun käyttäjän toivon, että palvelu on luotettava ja se käyttää suojattuja HTTPS-yhteyttä, koska en uskalla käyttää HTTP-palveluja nykyajassa #83
  • US10: Palvelun tuottajana haluan tietää mitä selaimia asiakkaamme käyttävät, koska se selkeyttää ominaisuuksien kehittämistä palvelemaan loppuasiakasta paremmin #85
  • US16: Palvelun käyttäjänä haluan tarvittavassa tilanteessa jakaa foorumin postauksen twitterin avulla ulkomaailmaan, koska joskus on hyvä tiedottaa ulkomaailmaa WIMMALABin tapahtumista. #91
  • US18: Palvelun tuottajana haluan saada palautetta loppukäyttäjilä, jonka perusteella tuotetta voidaan kehitää paremmaksi #92
  • US19: Palvelun tuottajana haluan auttaa loppukäyttäjää erillisen tukiportaalin kautta kuormittamatta kehitystiimiä ylimääräisillä kysymyksillä #93
  • US20: Palvelun kehittäjänä haluan saada loppukäyttäjän palautteen Issue-muodossa eteeni, koska se on selkeämpää jatko käsitellä #94
  • US22: Palvelun tuottajana haluan tallentaa viikon mittaiset käyttölogit erilliseen palvelimeen, koska palveluun murtautuja ei saa tuhota logeja #96
  • US23: Palvelun tuottajana haluan, että login muoto on tulkittavissa silmämääräisti, mutta se sisältää aiemmin esitetyt atribuutit #97
  • US27: Palvelun tuottajana haluan, että palvelusta löytyy tietosuojakuvaus, koska asiakkaat sitä edellyttävät. #112
  • US31: Järjestelmän ylläpitäjänä haluan että tuotannon tietokannasta otetaan säännölliset backup:it #133
  • US33: Järjestelmän ylläpitäjänä vaadin että tietokanta on varmennettuna toisella koneella tai erillään tuotantopalvelimesta #135
  • US38: Palvelun ylläpitäjänä haluan että yksittäisistä palveluista kerätään logit keskitettyyn paikkaan #140
  • US40: Palvelun tuottajana haluan saada kaiken Conduit-palvelun lähdekoodin hallitusti projekti-groupin alle #127
  • US41: Palvelun tuottajana haluan käytää konttien jakamisessa labranetin gitlab rekisteriä #142
  • US44: Palvelun tuottajana haluan seurata palvelun käyttöastetta soveltaen apuna Google Analytics-palvelua, koska se on ollut aiemmin käytössä #149
  • US46: Loppukäyttäjänä haluan tarvittaessa palvelussa vaihtaa vanhan salasanani uuteen #169
  • US49: Tuotepäällikkönä toivon, että meillä on antaa PDF-muotoinen testisuunnitelma testeineen tarvittaessa asiakkaan tekniselle henkilökunnalle tarkasteltavaksi #166
  • US51: Tuotepäällikkönä haluan varmistaa, että tietokannan palautus toimii aiemmin tehdyistä varmistustiedostoista #165
  • US54: Testaajana voin käyttää tarvittaessa ennalta määriteltyä backup-tiedostoa testien pohjana #164
  • Käyttäjänä haluan saada ilmoituksen, jos kirjoitan liian pitkän merkkimäärän artikkelin tekstikenttään. #156
  • Yksittäisen tagin pituus ja tagien kokonaismäärä artikkelissa #174

Palveluun liittyvät tuotannolliset ja tekniset vaatimukset

Järjestelmävaatimukset

ID Tyyppi Kuvaus Ominaisuus johon vaikuttaa
SYSTEM-REQ-0001 System Technical Requirement Käytettävissa tulee olla sähköpostipalvelin feat10: Salasanan palautus
SYSTEM-REQ-0002 System Technical Requirement Käytettävissa tulee olla tunnukset doorbell.io-palveluun feat08: Asiakkaan palautekanava
SYSTEM-REQ-0003 System Technical Requirement doorbell.io-palvelussa tulee olla käytössä GitLab-integrointi Feature 8 - Palautekanava
SYSTEM-REQ-0004 System Technical Requirement Käytettävissa tulee olla Google Analytics tili Feature 5 - Analytiikka
SYSTEM-REQ-0005 System Technical Requirement Logimuodon formaatti on koneluettava esim. JSON Feature 9 - Backend logitus
SYSTEM-REQ-0006 System Technical Requirement Google Analytics tilin avulla selvitetään kuinka paljon käyttäjiä on palvelussa. Feature 5 - Analytiikka
SYSTEM-REQ-0007 System Technical Requirement Google Analytics tilin avulla selvitetään millaisia käyttäjiä palvelussa on (maa, selain, käyttäytyminen, jne) Feature 5 - Analytiikka

Toiminnalliset vaatimukset

ID Tyyppi Kuvaus Ominaisuus johon vaikuttaa
FUNCTIONAL-REQ-0001 Functional Requirement Käyttäjä pääsee Forumilta helposti Wimma Labin pääsivulle. feat03: Wimma Lab brändäys ja referenssi
FUNCTIONAL-REQ-0002 Functional Requirement Käyttäjä voi laittaa sivustolla ollessaan palautetta palvelusta feat08: Asiakkaan palautekanava
FUNCTIONAL-REQ-0003 Functional Requirement Käyttäjän lähettämä palaute voidaan ohjata GitLab-issueksi feat08: Asiakkaan palautekanava
FUNCTIONAL-REQ-0004 Functional Requirement Artikkelin merkkimäärän yläraja on 1000 Artikkelin kirjoittaminen ja julkaiseminen
FUNCTIONAL-REQ-0005 Functional Requirement Artikkelia kirjoittaessa näytetään käytetty ja maksimi merkkimäärä
FUNCTIONAL-REQ-0006 Functional Requirement Otsikon merkkimäärän yläraja on 200 Artikkelin kirjoittaminen ja julkaiseminen
FUNCTIONAL-REQ-0007 Functional Requirement Kuvauksen merkkimäärän yläraja on 500 Artikkelin kirjoittaminen ja julkaiseminen
FUNCTIONAL-REQ-0008 Functional Requirement Artikkelin kirjoitustilassa virheilmoitukset tulevat keskitetysti otsikko tekstikentän yläpuolelle. Artikkelin kirjoittaminen ja julkaiseminen

Toteutettavat ominaisuudet

  • P1 = Pakollinen
  • P3 = Tarpeellinen
  • P5 = Tehdään, kun tarve ilmenee
Ominaisuus Prioriteetti Tehty
Feature 1 - Palvelun kontitus P1 kyllä
Feature 2 - GDPR pohja P1 kyllä
Feature 3 - WimmaLab Brändäys ja referenssi P2 kyllä
Feature 4 - Https sertifikaatti P3 kyllä
Feature 5 - Analytiikka P4 kyllä
Feature 6 - Blacklist P5 ei
Feature 7 - Some-jako P5 kyllä
Feature 8 - Palautekanava P5 kyllä
Feature 9 - Backend logitus P5 kyllä
Feature 10 - Salasanan palautus P5 ei
Feature 11 - Käyttäjätilien poistaminen P3 ei
Feature 12 - Tietokannan varmistus P3 kyllä
Feature 13 - Reverse proxy P3 ei
Feature 14 - Käyttäjäryhmät user/admin P3 ei
Feature 15 - Keskitetty logienhallinta P3 ei
Feature 16 - Salasanan vaihtaminen P3 kyllä

Ei-toiminnalliset vaatimukset

Tietoturvavaatimukset

ID Tyyppi Kuvaus Ominaisuus johon vaikuttaa
SECURITY-REQ-0001 Non-Functional Security Palvelun oletusportti 80 siirretään 443 porttiin Feature 4 - Https sertifikaatti
SECURITY-REQ-0002 Non-Functional Security Lisätään self signed-sertifikaatti Feature 4 - Https sertifikaatti
SECURITY-REQ-0003 Non-Functional Security Backend logissa näkyy kuka teki ja mitä teki. Feature 9 - Backend logitus
SECURITY-REQ-0004 Non-Functional Security Backend logissa näkyy tapahtumien kellonajat aikavyöhykkeineen. Feature 9 - Backend logitus

Käytettävyysvaatimukset

ID Tyyppi Kuvaus Ominaisuus johon vaikuttaa
USABILITY-REQ-0001 Non-Functional Usability Ulkoasu on yhteneväinen Wimma Lab brändin kanssa feat03: Wimma Lab brändäys ja referenssi
USABILITY-REQ-0002 Non-Functional Usability Paluu Wimma Labin sivulle onnistuu yhdellä napin painalluksella. feat03: Wimma Lab brändäys ja referenssi
USABILITY-REQ-0003 Non-Functional Usability Paluu Wimma Labin pääsivulle tapahtuu Wimma Lab ikonin kautta. feat03: Wimma Lab brändäys ja referenssi
USABILITY-REQ-0004 Non-Functional Usability Wimma Labin linkki-ikoni on alapalkissa. feat03: Wimma Lab brändäys ja referenssi
USABILITY-REQ-0005 Non-Functional Usability Kursori muuttuu Wimma Labin linkki-ikonin päällä käden kuvaksi. feat03: Wimma Lab brändäys ja referenssi
USABILITY-REQ-0006 Non-Functional Usability Paluu Wimma Labin pääsivulle onnistuu kaikilta sivuilta. feat03: Wimma Lab brändäys ja referenssi
USABILITY-REQ-0007 Non-Functional Usability Väriteemat/fontit vastaavat WimmaLabin visuaalista ilmettä feat03: Wimma Lab brändäys ja referenssi
USABILITY-REQ-0008 Non-Functional Usability WimmaLab logo on näkyvillä feat03: Wimma Lab brändäys ja referenssi

Laadunvarmistusvaatimukset

ID 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
TESTABILITY-REQ-0001 Non-Functional Testability Lisätietoa

Ohjelmiston arkkitehtuuri

Palvelun sijoittelunäkymä ja integraatiot

uml diagram

Hyväksyntätestit

Lähde Testitapaus Id Kuvaus Tyyppi
Feature 4 TEK-49 Tarkista löytyykö HTTPS Hyväksyntätesti
Feature 16 TEK-67 Toimiiko salasanan palautus Hyväksyntätesti

Julkaisusuunnitelma

Ominaisuuslistaan pääsee tästä

uml diagram