Demo 6 - 7.5.
Mallivastaus - Opiskelijoiden vastauksia
6. demoissa harjoitellaan yksityiskohtaista suunnittelua sekä
staattisesta että dynaamisesta näkökulmasta. (luennot 12-14).
Demojen tulee olla palautettuna verkossa viimeistään 13.5. klo
12.00. Demot palautetaan NettiDemoWWW:llä. Muista merkitä NettiDemoWWW:ssä
pistemäärä (ja tarvittaessa omia kommentteja). Pisteet voi jakaa
useammalle tiedostolle tai useita tehtäväkohtia voi yhdistää samaan
tiedostoon (suositeltavat formaatit: teksti, html, kuvaformaatit,
pdf).
1. Käsitteitä
Vastaa lyhyesti. Ei esseevastauksia!1a). UML:ssä sekä tila- että aktiviteettikaaviossa perusmallinnuselementtejä kutsutaan tiloiksi (state). Mikä merkitysero tilakaavion tilalla on aktiviteettikaavion tilaan (aktiviteettiin) verrattuna? (1p)
1b). Tutustu seuraavaan kohdealuekuvaukseen:
Komppanianpäälliköllä on alaisina upseereita, joilla on alaisena
joukkueenjohtajina toimivia upseerikokelaita. Upseerikokelailla on
alaisina ryhmänjohtajina toimivina alikersantteja, joiden alaisina
on sotamiehiä. Ylennyksiä ja siirtoja varten komppanianpäälliköiden
ja upseerien (=kantahenkilökunnan) palvelusaikaa seurataan
(ilmoitetaan vuosissa). Kokelaat, alikersantit ja ryhmänjohtajat
(=varusmiehet) laskevat TJ (tänään jäljellä) -indeksiä, joka
vähenee päivittäin yhdellä. Kun TJ on 0, varusmies
kotiutetaan.
Suunnittele luokkarakenne (kuvaus luokkakaaviona, assosiaatioiden toteutukseen ei tarvitse ottaa kantaa), joka mahdollistaa käskytyksen komppanianpäälliköstä alkaen niin, että eri tasoilla olevat johtajat välittävät käskyt alaisilleen (jotka välittävät käskyn edelleen tai suorittavat, jos ovat sotamiehiä (=miehistöä)). Lisäksi millä tahansa tasolla olevan johtajan tulee pystyä luettelemaan kaikkien (suorien ja epäsuorien) alaistensa nimet. (2p)
Vihje: Composite-suunnittelumalli Design Patterns -luentokalvoissa.
2. Poliisirekisteri
Jatketaan demoissa 2, 3 ja 5 kuvatun
poliisijärjestelmän yksityiskohtaista suunnittelua.2a). Suunnittele Rikos-luokalle tilakaavio. (2p)
2b). Muodosta poliisirekisterin kohdealuemallin ja Kirjaa rikos järjestelmään-sekvenssikaavion pohjalta suunnitteluvaiheen luokkakaavio, jossa attribuutit, metodit ja assosiaatioiden toteutustapa on kuvattu tarkasti. (3p)
3. Kirjastojärjestelmä
Jatketaan demoissa 2 ja 4 sekä malliharjoitustyössä kuvatun kirjastojärjestelmän yksityiskohtaista suunnittelua.3a). Muodosta Päivitä kokoelmaa-sekvenssikaavioiden ja kohdealuemallin pohjalta suunnitteluvaiheen luokkakaavio, jossa attribuutit, metodit ja assosiaatioiden toteutustapa on kuvattu tarkasti. Voit käyttää pohjana malliharjoitustyön StarUML-projektia (sekä kohdealuemallin että lainaus/palautus-käyttötapauksiin liittyvän suunnitteluvaiheen luokkakaavion osalta). (4p)
3b). Tarkenna Kadonneiden käsittely -sekvenssikaavioita niin, että assosiaatioiden toteutus näkyy metodikutsuissa. Jos käytät Umletia, voit ottaa pohjaksi Sequence-all in one -palettiin sopivan kaaviokuvauksen (kopioi properties-dialogiin paletin oletussekvenssikaavion tilalle). (2p)
