Johdatus sovellussuunnitteluun, syksy 2001, harjoitus 3 (19.11.- 23.11.)
1. 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.

2. Laadi tehtävän 1 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".

3. 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 huoneeseen majoittuu 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 perusteella. Kirjaa perustelut luokan valinnalle tai karsimiselle.

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

5.Alfonson pizzapalvelun tuotevalikoimaan kuuluu pizzoja, täytettyjä leipiä, salaatteja, pasta-annoksia ja juomia. Samaa tuetetta voi olla saatavissa eri kokoisina annoksina. Hinnat ovat tuote ja annoskoko kohtaisia. Joitakin tuotteita voi täydentää lisukkeilla kuten valkosipulilla, parmesan juustolla, sienillä jne. Lisukkeet on hinnoiteltu erikseen itsenäisesti ts. niiden hinta ei riipu tilatusta tuotteesta. Alfonson tuoteluettelossa selvitetään tarkoin mistä raaka-aineista kukin tuote koostuu. Lisukkeina myytävät tuotteet kuuluvat raaka-aineiden joukkoon. Kaikkia raaka-aineita, esimerkiksi pizzataikinaa, ei myydä lisukkeena. Samassa tilauksessa voi tilata useita tuotteita. Tilattuun tuotteeseen voi liittää useita lisukkseita. Pizzapalvelun tietojärjestelmän tulisi huolehtia tuotetietojen ja hinnaston ylläpidosta, sekä tilaushallinnasta. Laadi järjestelmän tietosisältöä kuvaava UML-kaavio. Täydennä tarvittaessa kuvausta puuttuvillä yksityiskohdilla.


Harri Laine 2001