Helsingin yliopisto
Tietojenkäsittelytieteen laitos
©Harri Laine
Johdatus sovellussuunnitteluun
581327-6, syksy 2000

Harjoitus 3 (20.11-24.11.)
1 Matkatoimisto Kaukokaipuu haluaa järjestelmän, jolla se voi 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. Kohteen yleisesittely sisältää esittelytekstiä ja kuvia kohteesta sekä lentojen aikataulun ja lähtöpäivät. Majoitusvaihtoehdon esittelyssä kerrotaan hotellin tai huoneistohotellin nimi ja osoite, kuvaus tarjolla olevista huonetyypeistä sekä tyypin huoneiden lukumäärä ja matkan perushinta viikolta kun tyypin huoneeseen majoituu tietty huonetyyppikohtainen perusmäärä henkilöitä. Lisäksi ilmoitetaan lisäviikon hinta ja lisävuodepaikan hinta sekä näiden enimmäismäärä. Järjestelmä pitää kirjaa lähtöihin liittyvistä varauksista huonetyyppikohtaisesti. Varaukset tunnistetaan varausnumerolla. Muita varaukseen liittyviä tietoja ovat tilaajan nimi ja osoitetiedot, matkan kesto viikkoina, matkustajien nimet ja syntymäajat sekä tieto varauksen käsittelyn tilasta.

Alleviivaa tekstistä luokkaehdokkaat ja karsi luokkia luennolla esitettyjen kriteerien perustteella. Kirjaa ylös perustelut luokan valinnalle tai karsimiselle.

2. Täydennä tehtävän 1 luokkamallia määrittelemällä luokille attribuutit sekä kartoittamalla luokkien väliset yhteydet. Esitä lopputulos UML-luokkakaaviona.

3. Kirjaston kokoelma koostuu kirjoista ja lehdistä. Samasta kirjasta voi olla kirjastossa useita kappaleita. Kutsutaan näitä niteiksi. Lehdet on niputettu kansioihin vuosikerroittain. Kirjaston asiakkaat voivat hakea teoksia eri hakusanoilla (kirjoittaja, otsikko, lehden nimi ja numero). Lisäksi he voivat lainata kirjoja. Lainasta talletetaan lainaaja, lainattu nide, lainauspäivämäärä ja palautuspäivämäärä. Asiakkaat voivat myös varata kirjan, jota ei ole sillä hetkellä saatavissa. Varaustiedot koostuvat varaajasta, varauksen kohteesta ja varauspäivämäärästä. Lehtiä ei saa lainata, ainoastaan lukea kirjastossa.

Laadi järjestelmän tietosisältöä kuvaava UML-luokkakaavio! Mieti erityisesti, liittyykö luokkien välisiin yhteyksiin olemassaoloriippuvuuksia? Esitä mahdolliset olemassaoloriippuvuudet kompositioilla!

4. Laadi tehtävän 3 luokkakaaviota vastaava ilmentymäkaavio, joka kuvaa seuraavia asioita: Matti Meikäläinen (tunnus 99999) on lainannut 30.3.2000 kaksi kirjaa: Dostojevskin "Rikoksen ja rangaistuksen" (niteen tunniste 12345) sekä Carl von Linnen "Kasvioppaan" (67890). Samalla hän on varannut "Savon luonto"-kirjan, jonka on toimittanut Kaura Pelto. Maija Muukalainen on lainannut 2.4.2000 Herman Hessen "Arosuden" (54321) sekä toisen niteen Dostojevskin "Rikosta ja rangaistusta" (12344). Lisäksi hän on varannut Dostojevskin "Karamazovin veljekset".
5. Viime harjoituskerralla tarkasteltiin kurssikirjanpitojärjestelmän käyttötapauksia. Laadi tämän järjestelmän käyttötapauksista
  • kirjaa opiskelijan laskuharjoituspisteet tietyltä harjoituskerralta
  • näytä kurssin tulokset ja
  • määrää arvosana
käyttötapauksiin rajoittuvat tietosisältömallit luokkakaavioina. Oletetaan, että koepisteet vaikuttavat suoraan arvosanaan, mutta laskuharjoitus- ja harjoitustyöpisteet muunnostaulukon kautta. Arvosanan määräämistä varten on määrättävä laskuharjoituspisteiden ja harjoitustehtäväpisteiden muunnostaulukot sekä yhteispisteisiin perustuvat rajat arvosanoille.

6. Esitä kustakin tehtävän 5 luokkakaaviosta ilmentymätason esimerkki oliokaaviona.


15.11.2000 Harri Laine