Ohjelmistotuotanto, syksy 2002, harjoitus 7

1 Jatkamme pullonpalautusautomaatin ohjelmiston kehittelyä. Harjoitusten 6 luokkakaavio JPEG-muodossa ja Plastic Lite ohjelman PLA-muodossa (voit ottaa työskentelyn pohjaksi) sekä käyttötapausluettelo ilmestyvät kurssin harjoitussivulle torstaina 24.10. Käytä tätä tai omaa kaaviotasi tehtävän lähtökohtana. Mieti jokin käyttöliittymä automaatin käynnistykseen. Tarkastele varsinaista pullojen palautustoimintaa. Täydennä luokkakaaviota pullonpalautuksen hoitamiseen tarvittavilla metodeilla, sekä mahdollisilla lisäattribuuteilla ja -luokilla. Kuvaa lyhyesti kunkin metodin tehtävä ja määrittele metodeille parametrit.

2 Laadi pullonpautukseen liittyvää olioyhteistyötä kuvaava sekvenssikaavio.

3 Selvitä itsellesi (ja varaudu selvittämään muille ryhmäläisille) MVC-arkkitehtuurin käyttötarkoitus ja idea (MVC= Model-View-Controller, liittyy käyttöliittymän ja sisältöluokkien yhteistyöhön).

4 SQL-Trainer ohjelmistoa käytetään SQL-kyselyjen harjoitteluun Tietokantojen perusteet kurssilla. Ohjelma esittää käyttäjälle tehtävän ja tarjoaa editori-ikkunan vastauksena annettavan SQL-kyselyn kirjoittamiseksi. Laadittu vastaus analysoidaan ja analyysin tulos näytetään vastaajalle. Ohjelman luokkamallissa luokalla Task on attribuutit task_text_finnish ja task_text_english. Vastauksen käsittelevällä luokalla on metodi analyse(task, answer,language,out), joka suorittaa ja analysoi kyselyn answer oliolta task saamiensa kuvailutietojen (esim. vastauksen rivien määrä) ja kirjoittaa halutulla kielellä palautteen ja kyselyn tuloksen tietovirtaan out sekä kirjoittaa analyysin tuloksen tietokantaan.

Trainer ohjelmistoa halutaan laajentaa siten, että sillä voidaan esittää myös muita kuin SQL-kyselytehtäviä, esimerkiksi monivalintatehtäviä yhdellä tai useammalla valinnalla ja tehtäviä, joiden vastaus ei ole SQL-kysely vaan edellyttää muunlaista analysointia. Monivalintatehtävissä vastaus annetaan valitsemalla valikosta tai valintanapeilla. Välineeseen pitäisi mahdollisimman vähäisellä vaivalla pystyä liittämään uusia tehtävätyyppejä ja niille analysoijia. Mitä suunnittelumallia käyttäisit ja miten.

5 Onko pullonpalautus automaatin ohjelmistossa käyttöä composite, strategy, observer tai command suunnittelumalleille. Jos on, niin missä tilanteissa?


Harri Laine, 23.10.2002