% .tex-tiedosto projektin dokumenttien latomiseksi.

% Kirjoitelmaluokka, t�ss� k�ytet��n projektien projdoc-luokkaa.
\documentclass[twoside]{projdoc}

\usepackage{paralist}
\usepackage{alltt}

% --- kansisivu ---

% Projektin nimi
\project{Paatti}

% Luottamuksellisuus: k�yt� termi� 'Luottamuksellinen' tai 'Julkinen'
\publicity{Julkinen}

% Versionumero: numerointik�yt�nt� on projektikohtainen
\version{1.0.0}

% Dokumentin nimi
\title{Vaatimusmaarittely}

% --- tiivistelm�sivu ---

% Tekij�t: huomaa aakkosj�rjestys sukunimen mukaan
\author{Tapio Ker�nen}{Toni Salminen}{Jari Salokangas}{Lauri Satokangas}
% Puhelinnumerot: tekij�it� vastaava j�rjestys!
\authorphones{040-8464981}{040-5378086}{040-8652014}{040-5735358}
% S�hk�postiosoitteet: tekij�it� vastaava j�restys!
\authoremails{t.tapio.keranen@student.jyu.fi}{toni.a.j.salminen@student.jyu.fi}{jari.p.t.salokangas@student.jyu.fi}{lauri.n.satokangas@student.jyu.fi}
% Etu- ja sukunimen alkukirjaimet: tekij�it� vastaava j�rjestys!
\authorinitials{TK}{TS}{JS}{LS}

% Tiivistelm� dokumentista: t�m� ei siis ole tiivistelm� projektista,
% vaan t�m�n ko. dokumentin tarkoituksesta. 
\docabstract{Paatti-projekti kehitti Jyv�skyl�n yliopiston psykologian laitokselle prototyypin tietoj�rjestelm�st�, jolla kuntoutetaan i�kk�it�, mielenterveyspotilaita ja ty�uupumuksesta k�rsivi� sek� tuetaan kyseisiin aihealueisiin liittyv�� tutkimusta. Tietoj�rjestelm�ss� on kaksi k�ytt�liittym��, joista tutkijan k�ytt�liittym�ll� hallitaan kuntoutettavien kuntoutusohjelmia sek� kuntoutettavan k�ytt�liittym�ll� kuntoutettava suorittaa tutkijan laatimaa kuntoutusohjelmaa. Sovellusraportissa kuvataan projektissa toteutettu tietoj�rjestelm�n prototyyppi k�ytt�liittym�n, tietorakenteiden, ohjelmointik�yt�nteiden sek� tavoitteiden toteutumisen osalta.} 

% Tiivistelm� projektista
\projectabstract{Paatti-projekti kehitti Jyv�skyl�n yliopiston psykologian laitokselle prototyypin tietoj�rjestelm�st�, jolla tuetaan i�kk�iden, mielenterveyspotilaiden ja ty�uupumuksesta k�rsivien itsen�ist� el�m�� ja kuntoutumista, sek� tuetaan kyseisiin aihealueisiin liittyv�n tutkimuksen tekemist�.}

% Avainsanat: dokumentin sis�lt��n liittyvi� olennaisia asiasanoja: aakkosj�rjestys, ensimm�inen sana isolla alkukirjaimella ja piste loppuun.
\keywords{Arkkitehtuuri, jatkokehitys, komponentit, k�yt�nteet, k�ytt�liittym�, k�ytt�ohje, rajapinnat, rakenne, sovellus, tavoitteet, testaus, tietoj�rjestelm�, tietokanta.}

% Varsinainen tulosteessa n�kyv� ladonta alkaa
\begin{document}

% --- versiohistoriasivu ---

% T�m� latoo versiohistorialle ymp�rist�n, sen alapuolelle ladotaan
% versiohistoriataulukko. Esimerkin vuoksi tehty. 
% \versionhistory

\newpage


% --- tietoa projektista -sivu ---

% \projectinfo latoo ymp�rist�n projektin tiivistelm�lle, joka on 
% projektikohtainen.
% Projektin tiivistelm� ja tekij�iden tiedot ladotaan automaattisesti sivun
% alkuun. Eli lis�tt�v� projektiorganisaation tiedot muiden kuin tekij�iden
% osalta sek� tarvittavat yhteystiedot. Alla t�m� on tehty esimerkin vuoksi.
\projectinfo

\textbf{Tilaaja:}

\begin{tabular}{p{4.8 cm}p{8cm}p{2.4cm}}
~~~$\bullet$~~Jukka Kaartinen & \texttt{jukka.kaartinen@jyu.fi} & 0400-248148 \\
~~~$\bullet$~~P�ivi Lappalainen & \texttt{paivi.k.lappalainen@psyka.jyu.fi} & 040-8054192 \\
~~~$\bullet$~~Raimo Lappalainen & \texttt{raimo.lappalainen@psyka.jyu.fi} & 050-4432349 \\
~~~$\bullet$~~Heikki Lyytinen  & \texttt{heikki.lyytinen@psyka.jyu.fi} & 050-5524892 \\

\end{tabular}

\vspace{1truecm}
\textbf{Ohjaajat:}

\begin{tabular}{p{5.0cm}p{7.8cm}p{2.4cm}}
~~~$\bullet$~~Matti Lehtinen & \texttt{matti.k.lehtinen@jyu.fi} & 041-4564118 \\
~~~$\bullet$~~Jukka-Pekka Santanen & \texttt{santanen@mit.jyu.fi} & 040-8053299 \\
~~~$\bullet$~~Outa Valkama & \texttt{outa.j.valkama@gmail.com} & 045-3490910
\end{tabular}

\vspace{1truecm}
\textbf{Yhteystiedot:}

\begin{tabular}{p{4.5cm}p{13cm}}
~~~$\bullet$~~S�hk�postilistat: & \texttt{paatti@korppi.jyu.fi},\linebreak \texttt{paatti\_opetus@korppi.jyu.fi} \\
~~~$\bullet$~~S�hk�postiarkistot: & \texttt{https://korppi.jyu.fi/list-archive/paatti/}, \texttt{https://korppi.jyu.fi/list-archive/\linebreak paatti\_opetus/} \\ 
\end{tabular}


% --- chapter 1 ---

%-----------------------------------------------------------------------------
% \mainmatter latoo automaattisesti sis�llysluettelon ym. alkusivut, ja 
%% sen j�lkeen alkaa dokumentin sis�llysluettelossa n�kyv�t luvut.
\mainmatter

% \chapter{P��luvun nimi} aloittaa p��luvun, \section{Alaluvun nimi} alaluvun,
% ja \subsection{Ala-alaluvun nimi} ala-alaluvun.
%\chapter{Johdanto}

% I�kk�it� ihmisi� halutaan auttaa el�m��n tervett� ja itsen�ist� el�m�� omassa kodissaan pidemp��n. I�kk�ill� on usein muistih�iri�it�, jotka est�v�t heit� noudattamasta hoito-ohjeita. Kuntoutettavia tulee siten muistuttaa hoito-ohjeiden noudattamisesta. Useasti varttuneempien ihmisten fyysinen aktiivisuus alenee, ja t�m� johtaa toimintakyvyn heikkenemiseen, joka est�� heit� el�m�st� itsen�isesti omassa kodissaan. Ik�ihmisi� tulee motivoida liikkumaan enemm�n omatoimisesti.

% Ty�uupumuksesta k�rsiv�t eiv�t useasti muista pit�� taukoja el�m�ss��n ja ty�ss��n. Heit� pit�� muistuttaa rentoutusharjoituksista, jotka helpottavat stressi�, auttavat toipumaan ja opettavat keinoja selviyty� uupumuksesta.

% Mielenterveyspotilaiden hoito vaatii paljon hoitohenkil�kunnan l�sn�oloa. L�sn�olo ei kuitenkaan ole aina mahdollista, kun h�t� on suurin. Potilaan tilaa tulee voida seurata tapaamisten v�lill�, sek� potilaan ja tutkijan tulee tarvittaessa saada yhteys toisiinsa tapaamisten v�lill�.

% Jyv�skyl�n yliopiston psykologian laitos haluaa joustavan yhteyden kuntoutettavan, omaisen ja tutkijan v�lille. Tutkijan ja kuntoutettavan v�lille halutaan yhteys, joka mahdollistaa rutiiniluonteisten teht�vien suorittamisen ilman tutkijan l�sn�oloa ajasta ja paikasta riippumattomasti. Yhteys mahdollistaa my�s nopeamman viestinn�n kuntoutettavan ja tutkijan v�lill� sek� antaa mahdollisuuden tutkijalle ja omaiselle seurata kuntoutukseen liittyvien tapahtumien suorittamista l�hes reaaliajassa.

% Paatti-projekti toteutti Sovellusprojekti-kurssilla kev��ll� 2012 Jyv�skyl�n yliopiston psykologian laitokselle prototyypin tietoj�rjestelm�st�, jolla tuetaan kuntoutettavien itsen�ist� el�m�� ja kuntoutumista sek� tutkijoiden tekem�� tutkimusta. Kuntoutettaviin kuuluu muun muassa i�kk�it�, ty�uupumuksesta k�rsivi� ja mielenterveyspotilaita. Tietoj�rjestelm�ll� voidaan tukea tutkimusta ja parantaa kuntoutettavien hyvinvointia monin eri tavoin. 

% Projektissa toteutettu tietoj�rjestelm� koostuu kahdesta erillisest� tutkijan ja kuntoutettavan k�ytt�liittymist�. Tutkijan k�ytt�liittym� on suunniteltu tutkijoiden ja omaisten k�ytett�v�ksi. K�ytt�liittym�ll� voi hallita k�ytt�ji�, ryhmi� ja tutkimuksia sek� luoda kuntoutusohjelmia ryhmille. Kuntoutettavan k�ytt�liittym�ll� voi suorittaa kuntoutusohjelmia ja tarkastella suorittamiaan kuntoutusohjelman tapahtumia. Toteutetut prototyypit ovat yhteydess� palvelimella olevaan tietokantaan.

% Sovellusraportissa kuvataan vaatimusm��rittelyn \cite{vaatimusmaarittely} toiminnallisten vaatimusten toteutusratkaisut ja toteutuminen. Lis�ksi raportissa kuvataan sovelluksen k�ytt�liittymi�, yleisi� toteutusratkaisuja, toteutuksen tietorakenteita ja yhteyksi� tiedostoihin, puutteellisia toteutusratkaisuja, suoritettuja testauksia sek� jatkokehitysideoita \cite{luokkadokumentaatio}. Projektin tuloksia, k�yt�nteit�, teht�vien ty�m��ri�, ty�njakoa, aikataulua, sek� riskej� ja muita projektin l�pivientiin liittyvi� asioita k�sitell��n projektiraportissa \cite{projektiraportti}. 

% Luvussa 2 kuvataan aihealueeseen ja sovellukseen liittyv�t termit ja niiden merkitys. Luvuissa 3 ja 4 kuvataan tutkijan ja kuntoutettavan k�ytt�mien sovellusten k�ytt�liittymien n�kym�t ja toiminnot. Luvussa 5 kuvataan j�rjestelm�n rakenne ja toteutusratkaisuja. Luvussa 6 kuvataan j�rjestelm�n tietokannan taulujen ja rakenteiden merkitykset. Luvussa 7 kuvataan projektin ohjelmointik�yt�nteit� sek� testausk�yt�nteit� ja testauksen tuloksia. Luvussa 8 kuvataan projektin tavoitteiden toteutumista, j�rjestelm�n tunnettuja virheit� ja puutteita sek� projektin aikana esiintulleita jatkokehitysideoita. Luvussa 9 sis�lt�� k�ytt�ohjeita sovelluksen yll�pit�jille.


% --- chapter 2 ---

\chapter*{Termit}

Luvussa kuvataan projektissa k�ytett�vi� aihealueen termej� sek� tekniikoita ja kehitysv�lineit�.

\section*{Aihealueen termit}
Projektin sovellusraportin aihealueen termej� ovat seuraavat:
% Termilistat ladotaan Ventry-ymp�rist�ll�, parametrina pisin termi,
% jolloin sisentyy oikein:
\begin{Ventry}{Kuntoutusohjelma}
  \item[H�lytysteht�v�] on teht�v�tyyppi, joka l�hett�� j�rjestelm�n kautta viestin toiselle k�ytt�j�lle.
  \item[Kuntoutettava] on tietoj�rjestelm�n k�ytt�j�, joka suorittaa kuntoutusohjelmia.
  \item[Kuntoutusohjelma] on tutkijan ryhm�lle tai k�ytt�j�lle laatima kokonaisuus aikataulutettuja tapahtumia.
  \item[K�ytt�j�rooli] on k�ytt�j�n k�ytt�oikeuksia tietoj�rjestelm�ss� kuvaava rooli. Niit� ovat mm. kuntoutettava ja tutkija.
  \item[Mobiililaite] on �lypuhelin tai sormitietokone.
  \item[Ohje] on teht�v��n liittyv� kuvaus teksti-, ��ni-, kuva- tai videomuodossa.
  \item[Omainen] on k�ytt�j�, jolla on oikeus seurata kuntoutettavan edistymist� ja aktiivisuutta.
  \item[Ryhm�] on k�ytt�jist� koostuva kokonaisuus, jolle mm. voidaan laatia kuntoutusohjelma.
  \item[Suorite] on teht�v�n suorittamisesta tietokantaan tallennettu data.
  \item[Tapahtuma] on tutkijan laatima teht�vien kokonaisuus, joka liitet��n osaksi kuntoutusohjelmaa.
  \item[Teht�v�] on tapahtuman sis�ll� oleva yksitt�inen teht�v�, joka voi sis�lt�� mm. teksti�, ��nt�, kuvan tai videon.
  \item[Tutkija] on k�ytt�j�, joka laatii kuntoutusohjelmia kuntoutettaville ja seuraa niiden toteutumisia.
  \item[Tutkijan k�ytt�liittym�] on k�ytt�liittym�, jolla tutkija luo tapahtumia, aikatauluttaa tapahtumia ja kuntoutusohjelmia, hallitsee k�ytt�jien ja ryhmien tietoja sek� muodostaa suoritteista erilaisia raportteja.
  \item[Tutkimus] on samaan tutkimusaiheeseen tai -kohteeseen liittyvien ryhmien kokonaisuus.
\end{Ventry}

\section*{Vaatimusm��rittelyn termit}

Vaatimusm��rittelyss� esiintyvi� termej� ovat seuraavat:
\begin{Ventry}{Tapahtumamuokkain} 
  \item[Etenemisvaihtoehto] on monivalintateht�v�n yksi valinta, jonka valitsemisen j�lkeen siirryt��n seuraavaan teht�v��n. 
  \item[H�lytyskomponentti] on teht�v�, joka l�hett�� viestin k�ytt�j�n asetuksiin m��ritetyille henkil�ille. 
  \item[K�ytt�j�profiili] on j�rjestelm�ss� olevan k�ytt�j�n profiili, joka sis�lt�� yksil�intitietoja ja k�ytt�oikeuksia.
  \item[Mediasis�lt�] koostuu tietoj�rjestelm�ss� olevista multimediatiedostoista, joita voidaan sis�llytt�� teht�viin.
  \item[Muistutus] huomauttaa k�ytt�j�� ajankohtaisista tapahtumista ��ni-, v�rin�- ja/tai tekstimuotoisella viestill�. 
  \item[Sis�lt�komponentti] on teht�v�, joka esitt�� k�ytt�j�lle informaatiota, kuten teksti�, ��nt�, valokuvan tai videon.
  \item[Sy�tekomponentti] on teht�v�, joka tallentaa j�rjestelm��n k�ytt�j�n antamaa informaatiota, kuten teksti�, ��nt�, valokuvan tai videon. 
  \item[Tapahtumamuokkain] on tutkijan k�ytt�liittym�ss� oleva kuntoutusohjelmissa k�ytett�vien tapahtumien laatimiseen k�ytett�v� ty�kalu.
  \item[Tapahtumatyyppi] on tapahtumalle asetettu tyyppi, jolla tapahtuman sis�lt� voidaan tunnistaa. Niit� voivat olla mm. liikunta- tai rentoutustapahtumat.
  \item[Valintakomponentti] on teht�v�, johon k�ytt�j� vastaa valitsemalla vaihtoehdon.
\end{Ventry}

\section*{Tekniikat ja kehitysv�lineet}
Dokumentissa esiintyvi� tekniikoita ja kehitysv�lineit� ovat seuraavat:
\begin{Ventry}{Kuntoutusohjelma}
  \item[CSS] on WWW-dokumenteille kehitetty tyylikieli.
  \item[Git] on hajautettu versiohallintaj�rjestelm�.
  \item[HTML5] on uusi versio WWW-sivujen tekemiseen k�ytetyst� HTML-kuvauskielest�.
  \item[JavaDoc] on ohjelma, jonka avulla Javan l�hdekoodista voidaan generoida luokkadokumentaatio.
  \item[JavaScript] on WWW-ymp�rist�ss� k�ytett�v� komentosarjakieli, jolla voidaan mm. lis�t� WWW-sivuille dynaamista toiminnallisuutta.
  \item[NetBeans] on integroitu ohjelmointiymp�rist� mm. Java- ja JavaScript-ohjelmointikielille.
  \item[Vaadin] on Java-kielisten WWW-sovellusten kehitysymp�rist�.
  \item[YouSource] on Git-versiohallintaohjelmistoa tukeva l�hdekoodien julkistusj�rjestelm�, jota k�ytet��n WWW-k�ytt�liittym�ll�.
\end{Ventry}


% --- chapter 10 ---

\chapter*{Yhteenveto}

Paatti-projekti toteutti Sovellusprojekti-kurssilla kev��ll� 2012 Jyv�skyl�n yliopiston psykologian laitokselle prototyypin tietoj�rjestelm�st�, jolla tuetaan i�kk�iden, ty�uupumuksesta k�rsivien ja mielenterveyspotilaiden itsen�ist� el�m�� ja kuntoutumista sek� tuetaan tutkijoiden tekem�� tutkimusta. Projektissa toteutettiin prototyypit tutkijan ja kuntoutettavan sovelluksista, joissa k�sitelt�v� tieto tallennetaan tietokantaan. Toteutettu j�rjestelm�kokonaisuus toimii asetettujen p��toiminnallisuuksien mukaisesti ja antaa siten hyv�n pohjan tuotantoversion kehitt�miselle.

Tietoj�rjestelm�ss� tutkija luo tutkimuksiinsa liittyen kuntoutettavista ryhmi�, joille m��ritet��n omat kuntoutusohjelmat. Kuntoutusohjelmat sis�lt�v�t aikataulutettuja tapahtumia, jotka sis�lt�v�t m��ritetyss� j�rjestyksess� suoritettavia teht�vi�. Teht�v�t voivat olla kysymyksen tai ohjeen muodossa ja voivat sis�lt�� teksti� tai monivalinnan. 

Kuntoutettavia voi siirt�� ryhm�st� toiseen edistymisen mukaan tutkijan toimesta. Kuntoutettava voi olla monessa ryhm�ss�, jolloin h�n suorittaa useampaa kuntoutusohjelmaa samanaikaisesti. Tutkija pystyy seuraamaan kuntoutettavan tai ryhm�n edistymist� omasta k�ytt�liittym�st��n. Tietoj�rjestelm�n tietokantaan ker��m�� tietoa saa my�s siirretty� toisiin j�rjestelmiin xls-tiedostomuodossa.

Kuntoutettava n�kee suoritettavat kuntoutusohjelman tapahtumat mobiililaitteessa olevasta WWW-sovelluksesta. Tapahtumat voivat olla esimerkiksi liikuntaharjoitteita, rentoutusharjoitteita tai l��kkeiden ottamisen muistutuksia.

Paatti-projektissa toteutettu tietoj�rjestelm�n prototyyppi ei sis�ll� kaikkia vaadittuja toimintakokonaisuuksia. Tilaajien kanssa jatkokehitykseen sovittiin tutkijan k�ytt�liittym�st� mediatiedostojen lataus ja esikatselun�kym�, suoritedatan graafiseen analysointiin k�ytett�v� raporttin�kym�, viestien lukemiseen ja l�hett�miseen tarkoitettu viestin�kym� sek� ohjen�kym�. Kuntoutettavan k�ytt�liittym�st� tilaajien kanssa jatkokehitykseen sovittiin p�iv�kirjamerkint�jen tallentamiseen ja lukemiseen tarkoitettu p�iv�kirjan�kym� sek� viestien lukuun tarkoitettu viestin�kym�.

Projektin rajallinen aikataulu ei mahdollistanut kaikkien tilaajien vaatimusten toteuttamista ja siksi toteutettu j�rjestelm�prototyyppi kaipaa jatkokehityst�. Toteutunut j�rjestelm�prototyyppi sovittiin tilaajien kanssa viet�v�ksi jatkokehitykseen, jossa kehitet��n projektin aikana toteuttamatta j��neet toiminnallisuudet sek� korjataan sovelluksissa esiintyv�t puutteet ja heikot toteutusratkaisut.


%L�HTEET
%\begin{thebibliography}{1}
%Katso kirjoitusohjeen luku 2.3 ja 2.4.

\bibitem{learningvaadin}
  Frankel Nicolas, 
  ''Learning Vaadin'',
  Packt Publishing,
  2011

\bibitem{luokkadokumentaatio}
  Ker�nen Tapio, Salminen Toni, Salokangas Jari ja Satokangas Lauri,
  ''Paatti-projekti, Luokkadokumentaatio'',
  Jyv�skyl�n yliopisto,
  tietotekniikan laitos,
  2012.

\bibitem{projektiraportti}
  Ker�nen Tapio, Salminen Toni, Salokangas Jari ja Satokangas Lauri,
  ''Paatti-projekti, Projektiraportti'',
  Jyv�skyl�n yliopisto,
  tietotekniikan laitos,
  2012.

\bibitem{projektisuunnitelma}
  Ker�nen Tapio, Salminen Toni, Salokangas Jari ja Satokangas Lauri,
  ''Paatti-projekti, Projektisuunnitelma'',
  Jyv�skyl�n yliopisto,
  tietotekniikan laitos,
  2012.

\bibitem{sovellusprojektienohje}
  Santanen Jukka-Pekka,
  ''Tietotekniikan Sovellusprojektien ohje'',
  saatavilla HTML-muodossa <URL: \texttt{http://www.mit.jyu.fi/opetus/\\sovellusprojektit/projohje.html}>,
  Jyv�skyl�n yliopisto,
  tietotekniikan laitos,
  11.9.2006.


%\end{thebibliography}

% Dokumentin  lopetus
\end{document}
