Demo 5 - 30.4.
Mallivastaus - Opiskelijoiden vastauksia
5. demoissa kerrataan luokka- ja sekvenssikaavioita ja
harjoitellaan arkkitehtuurin mallintamista. (luennot 9-11).
Demojen tulee olla palautettuna verkossa viimeistään 6.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. Kertaus
1). Käy läpi seuraava
toimintakuvaus:
Tutkimuslaitoksessa on kymmeniä projekteja. Kunkin projektin
rahoitus tulee useammasta lähteestä, jotka voivat olla yrityksiä
tai valtion yksiköitä. Projektissa työskentelee yksi tai useampi
henkilö. Kullakin projektilla on johtaja. Projektin työ liittyy
johonkin tai joihinkin tutkimusaiheisiin. Projekti tuottaa
tutkimusraportteja, joiden kansilehdellä tuodaan esille myös
raportin tekijät. Tutkimusraportti voi olla tutkimuslaitoksen
sisäinen (sisältää julkaisunumeron), konferenssiartikkeli (sisältää
konferenssin nimen ja vuoden. lisäksi yhden raportin kirjoittajista
tulee esittää artikkeli konferenssissa) tai tieteellisessä lehdessä
(sisältää vuoden ja lehden numeron) julkaistu artikkeli.
Laadi toimintakuvauksen perusteella tutkimuslaitoksen
kohdealuemalli. Esitä malli analyysivaiheen luokkakaaviona.
(2p)
2. Poliisirekisteri
Jatketaan demoissa 2 ja 3 kuvatun poliisijärjestelmän suunnittelua. CRC-korttien kirjoituskäytännöistä kannattaa kerrata myös demojen 4 malliratkaisut.2a). Kirjoita CRC-kortit rikosten kirjaukseen liittyvälle käyttöliittymäluokalle Käyttöliittymä, ohjausluokalle RikosOhjain sekä kohdealueluokille Rikos, Epäilty, ja Rikosrekisteri (huomaa, että avustajina voidaan käyttää myös muita kohdealuemallin luokkia. Voit käyttää esim. seuraavaa CRC-korttipohjaa (html, doc, odt). (2p)
2b). Muodosta Kirjaa rikos järjestelmään-käyttötapausta kuvaavan yhteistoimintakaavion ja CRC-korttien pohjalta sekvenssikaavio, joka kuvaa tarkasti käyttötapauksen kulun (sekä käyttöliittymän että järjestelmän sisäisen rakenteen kannalta). Jos yhteistoimintakaavio on piirretty ICONIX-tyylillä, huomioi ohjain"luokkien" yhdistely ja sijoittelu muiden luokkien metodeiksi. Muista myös poikkeustapausten käsittely. (2p)
Vinkki:
- Kokeile sekvenssikaavion piirtämistä VioletUML:llä
tai UMLetilla (UMLetissa mahdollisuus määrittää sekvenssikaavio
tekstimuodossa - valitse paletti Sequence - All in One
3. Arkkitehtuurin suunnittelu
3a). Jatketaan demoissa
3 ja 4 kuvatun
rahaliikenteen seurantajärjestelmän suunnittelua.Hahmottele demojen 4 CRC-korttien ja kohdealuemallin pohjalta looginen arkkitehtuuri rahaliikenteen seurantajärjestelmälle: (3p)
- Esitä arkkitehtuuri UML-paketteina (package, StarUML:ssä mm.
luokkakaavion mallinnuselementeissä), joiden yleiset
riippuvuussuhteet on kuvattu dependency-nuolilla. Käytä
tarvittaessa myös alipaketteja.
- Pakettien sisälle ei tarvitse lisätä yksittäisiä
luokkasymboleja, mutta tiettyyn pakettiin kuuluvat luokat tulee
merkitä esim. listaamalla luokat UML-kommenteilla
(Annotation->Note).
- Perustele ja arvioi suunnittelemaasi arkkitehtuuria
lyhyesti.
- Arkkitehtuurin ja suunnittelun perusteita: Bennett-kalvot
Software Architecture ja System
Design - Pakettien esittämisestä: Agate-Casen suunnitteludokumentit (huom. demovastauksessa ei tarvitse ottaa kantaa toteutusympäristön omiin paketteihin)
3b). Miten
arkkitehtuuriluennolla esitetty MVC
(Model-View-Controller)-arkkitehtuurityyli poikkeaa (useimmissa
kurssin oliomallinnusesimerkeissä ja harjoituksissa käytetystä)
kolmikerrosarkkitehtuurista
(Käyttöliittymäkerros-Ohjauskerros-Tiedonhallintakerros)? Anna
molempien käytöstä lyhyet esimerkit sekvenssikaavioina (esitettävät
toiminnot: käyttäjä käynnistää ohjelman, hakee tietoja, päivittää
tietoja ja sulkee ohjelman - sovellusalueeseen tai käyttöliittymän
mahdollisiin yksityiskohtiin ei tarvitse ottaa kantaa).
(2p)
