Johdatus sovellussuunnitteluun, avoin kesä 2003, harjoitus 2

1.

Matkatoimisto Kaukokaipuu haluaa esitellä matkakohteitaan WWW:ssä. Järjestelmän pitäisi mahdollistaa myös matkojen varaukset sekä matkailijoiden kommenttien kokoaminen. Kustakin matkakohteesta laaditaan esite, jossa on esitelty matkakohde ja majoitusvaihtoehdot. Asiakas saa tiedon matkakohteeseen liittyvistä vapaista paikoista. Asiakas voi kirjata matkaan liittyvän varauksen. Varauksen kirjauksen yhteydessä asiakas saa varausnumeron. Tilausvahvistus hoidetaan puhelimitse tai postitse, kun asiakas on maksanut varausmaksun. Asiakas saa liput vasta, kun on maksanut koko matkan.

Laadi hahmotelma järjestelmän sidosryhmäkaavioksi. Mieti millaisia käyttäjäryhmiä järjestelmällä on ja mihin muihin järjestelmiin se voisi olla yhteydessä. Millaisten palvelujen kautta sidosryhmät voisivat olla yhteydessä järjestelmään?


 
 

Ehdotus sidosryhmäkaavioksi:


 

2.

Harjoituksen 1 tehtävissä (1) - (4) tarkasteltiin Onnelan asukasyhdistyksen ja sen Kylätilan toimintaa. Tehtäväsi on nyt määritellä tietojärjestelmä asukasyhdistyksen toiminnan tukemiseksi. Laadi aluksi tietojärjestelmän sidosryhmäkaavio, jossa kuvaat sidosryhmät ja niiden tietotarpeet.


 
 

Ehdotus sidosryhmäkaavioksi:

 
 

Emännät ja isännät lisäävät uudet jäsenet järjestelmään ja ottavat tarvittaessa vastaan jäsenmaksuja. He ottavat vastaan myös ilmoittautumisia kursseille ja hoitavat tilanvarauksia.

Johtokunnan sihteeri ylläpitää listaa kursseista ja välittää ilmoittautumistietoja mm. johtokunnalle. Sihteeri pitää kirjaa myös halukkaista emännistä/isännistä, ja kokoaa näiden päivystysvuorolistat. Sihteeri lähettelee kurssi- ja jäsenmaksulaskuja tarvittaessa, ja voi poistaa jäseniä järjestelmästä.

Asiakas hakee jäseneksi, ilmoittautuu mielenkiintoisille kursseille, varaa Onnelan asukasyhdistyksen tiloja ja hoitaa mm. jäsenmaksunsa ajoissa.


3.

Pohdi seuraavaksi tehtävän (2) pohjalta Onnelan asukasyhdistyksen tietojärjestelmän käyttöä erityisesti Kylätilan toiminnan yhteydessä. Ketkä ovat järjestelmän käyttäjiä ja mitä he tekevät? Piirrä käyttötapauskaavio. Kirjoita myös lyhyt sisältökuvaus kustakin käyttötapauksesta ja esimerkkitapaus vähintään kolmesta keskeisestä tapauksesta.


 
 

Ehdotus käyttötapauskaavioksi:

Esimerkkejä kuvauksista:

  • Jäseneksi hakeminen: Asiakas haluaa liittyä jäseneksi. Hän ilmoittaa yhteystietonsa hakemuksessaan, maksaa jäsenmaksun ja jää odottamaan vastausta.

    Esimerkkitapaus: Hannu Hakija täyttää nimensä, osoitteensa (Etäkatu 3, 55555 Ronkala) ja puhelinnumeronsa (33445566) jäsenhakemukseen ja toimittaa tämän järjestelmään. Hän maksaa ruokatauollaan jäsenmaksun lähipankissa.

  • Uuden jäsenen lisääminen: Emäntä käy läpi uudet jäsenhakemukset ja lisää uuden jäsenen järjestelmään.

    Esimerkkitapaus: Elli Emännällä on luppoaikaa päivystyksen ohella, ja hän huomaa Hannu Hakijan jäsenhakemuksen. Varmistettuaan, että jäsenmaksu on saapunut, hän lisää Hannun jäsenkantaan.

  • Kurssille ilmoittautuminen: Asiakas tutkii kurssilistaa, valitsee mielenkiintoisen kurssin ja yrittää ilmoittautua sille. Mikäli kurssilla on tilaa, asiakkaan ilmoittautuminen kirjataan järjestelmään.

    Esimerkkitapaus: Hannu Hakija haluaa sivistää itseään, ja selailee Kylätilan kurssilistaa. Hän päättää osallistua jännittävälle kurssille, jonka aiheena on babylonialainen ruukunvalanta, ja jolla on onneksi vielä runsaasti tilaa. Hannu ilmoittautuu kurssille ja saa vahvistuksen ilmoittautumisen onnistumisesta.

  • Emäntien vuorolistan luonti: Johtokunnan sihteeri luo säännöllisesti emäntien/isäntien päivystysvuorolistan. Tässä hänellä on apuna halukkaiden emäntien/isäntien lista, josta näkyy myös halukkaiden aikataulurajoitukset.

    Esimerkkitapaus: Saija Sihteeri näkee emäntälistasta, että Iiro Isäntä on mielellään paikalla neljänä iltana viikossa muttei perjantaisin, että Elli Emännälle sopivat kaikki illat yhtä hyvin ja että Maisa ja Jarmo Virtanen voivat olla paikalla vain keskiviikosta perjantaihin. Järjestelmän avulla Saija löytää kullekin arki-illalle kaksi emäntää/isäntää, yhden varsinaisen ja yhden varalle. Hän tallettaa uuden vuorolistan järjestelmään.

 

4.

Peruskäyttötapausten lisäksi järjestelmässä on varauduttava poikkeuksiin ja virhetilanteisiin, jotka voidaan usein esittää perustapausten erikoistuksina tai laajennoksina. Nimeä mielestäsi tärkeimmät poikkeustilanteet tehtävän (3) käyttötapauksille. Lisää ne käyttötapausmalliin.


 
  Esimerkkejä poikkeustapauksista:
  • Ilmoittautuminen kurssille: Kurssi saattaa olla täynnä tai vastikään peruutettu, jolloin tästä pitää ilmoittaa asiakkaalle. Toisaalta jos asiakas ei kuulu jäsenistöön, häneltä täytyy kirjata myös yhteystiedot.
  • Tilanvaraus: Tilanvarauksen yhteydessä voi käydä ilmi, että paikka on jo varattu.
  • Emäntien vuorolistan luonti: Jos emännillä ja isännillä on paljon muita kiireitä, voi vuorolistan luonti epäonnistua kun jokaiselle illalle ei löydykään sopivaa emäntää.
  • Jäsenen poistaminen: Poistettavaa jäsentä ei löydykään, kirjoitusvirheen tai sekaannuksen takia.

Pelkästä tiedonhausta, kuten emännän tilanvarauslistan selailusta, voi olla hankala löytää poikkeuksia. Käyttötapaukseen liittyy kuitenkin aina tavoite, jonka toteutumatta jääminen johtuu toivon mukaan useammin poikkeuksesta kuin säännöstä. Ehkä emäntä yritti varmistaa ajankohdan ja paikan kurssille, jota ei ollutkaan olemassa? Tämä kävisi paremmin ilmi yksityiskohtaisemmasta käyttötapauskaaviosta.

Esimerkki edellisen käyttötapauskaavion perustapauksen laajennoksesta. Huomaa nuolten suunta: generalization-nuoli (valkoinen kolmio) erikoistapauksesta yleiseen tapaukseen, include-nuoli käyttötapauksesta siihen sisältyvän laajennoksen suuntaan (yleensä useampi käyttötapaus tarvitsee samaa laajennosta).


 

5.

Oheisessa kaaviossa kuvataan kysymyksiin ja vastauksiin perustuvan harjoittelujärjestelmän tietosisältöä. Laadi kaavioon pohjautuva ilmentymätason kuva tilanteesta, jossa kurssilla JSS on yksi kysymyssarja ja siinä kysymykset 1-3. Pirjo on vastannut 2 kertaa kysymykseen 3 ja kerran kysymykseen 2. Matti on vastannut myös 2 kertaa kysymykseen 3.


 
   

Ilmentymäkaavio: