Demo 1 - 21.3.
Mallivastaus - Opiskelijoiden vastauksia
1. demoissa keskitytään analyysikurssin asioiden kertaukseen ja
harjoitellaan kurssin "tekniikkaa".
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).
StarUML-käyttövinkkejä wikissä. Ks. myös muiden ohjelmien ohjeita.
Yleistä
Kurssin kotisivut ja materiaali
Tutustu kurssin sivuille osoitteessa http://appro.mit.jyu.fi/itkp113/. Sivut ovat kurssin pääasiallinen tiedotuskanava ja niitä päivitetään jatkuvasti kurssin edetessä!
Varmista, että pääset suojatuille materiaalisivuille https://www.mit.jyu.fi/oas/2012/materiaali/suojatut/.
Kirjautuminen Korppi-tunnuksilla. Teknisistä syistä
(palvelimen nimi www.mit.jyu.fi ei täsmää koneen
varsinaisen nimen eppu.it.jyu.fi kanssa)
materiaalisivuille kirjauduttaessa
www-selain saattaa valittaa virheellisestä sertifikaatista.
Sivuille on tästä huolimatta turvallista kirjautua.
Esimerkki
sertifikaatin asentamisesta FireFox-selaimeen.
Demojen palautus
Tutustu demojen palautusohjeisiin.Jos et ole ennen käyttänyt NettiDemoWWW:tä, harjoittele aluksi ohjelman käyttöä seuraavasti. Muuten voit siirtyä suoraan varsinaisiin tehtäviin.
- Tee "leikkidemot". Kirjoita kaksi tekstitiedostoa. Nimeä ne vaikka teht1.txt ja teht2.txt ja kirjoita niiden sisällöksi tiedoston nimi tai jotakin muuta sisältöä.
- Siirrä demot verkkoon NettiDemoWWW:llä palautusohjeiden mukaisesti. Merkitse demojen numeroksi 1 ja molempiin sopivaksi katsomasi pistemäärä.
- Tarkista, että siirto on onnistunut: NettiDemoWWW:n generoidut tiedostot -kohdan alla olevien index.html ja files.txt -linkkien pitäisi toimia.
- Poista testitiedostot.
Harjoitustyö
Tutustu kurssin malliharjoitustyöhön ja harjoitustyön 5-6-vaiheiden yleisiin vaatimuksiin ja ohjeisiin. Harjoitustyön tyotiedostot-hakemistossa on kaaviot sisältävä StarUML-projekti (kirjasto.uml), jonka voit ladata omalle koneellesi ja testata StarUML:ssä (File->Save as.... Varmista, että uml pysyy tiedoston tarkenteena).Jos sinulla ei ole jo, tee WWW-hakemisto harjoitustyötä varten (ryhmässä tehtäessä voi olla joko yhdellä tai kaikilla, mutta ohjauksia varten yhdellä vastuuhenkilöllä on oltava ryhmän "virallinen" versio):
- Avaa Windows Explorer (suom. Resurssienhallinta) ja mene
W:-asemalle (etäopiskelijat: ks. IT-palveluiden
ohjeet:
henkilökohtaiset kotisivut ja
verkkolevyjen käyttäminen kotikoneelta).
- Jos et löydä omaa W:-asemaa, niin tee tarvittavat alkutoimenpiteet, joihin löytyy ohjeistus Tietokone ja tietoverkot työvälineenä -kurssin harjoituksissa. Jos et alkutoimenpiteiden jälkeenkään löydä W:-asemaa, voit kokeilla muuttaa salasanasi salasana.jyu.fi-palvelussa. Salasanan muuttamisen jälkeen koneelta täytyy kirjautua ulos ja sen jälkeen kirjautua uudelleen sisälle, jotta W:-asema tulee näkyviin.
- Luo analyysi- ja suunnittelukurssien harjoitustöiden vaiheita vastaava hakemistorakenne W-asemalle seuraavasti (soveltaen, jos osa näistä on jo tehty analyysikurssilla):
-
- Jos W-asemasi on tyhjä, luo uusi tiedosto index.html (tiedosto voi olla tyhjä). Tämä peittää W-aseman alla olevien hakemistojen näkyvyyden (W-asema näkyy www:ssä osoitteen http://users.jyu.fi/~omatunnus/ tapaan).
- Luo W-aseman juureen ns. salasanahakemisto - esim satunnaisista
merkeistä muodostuva nimi, joka ei ole helposti arvattavissa. Tämä
vaikeuttaa (mutta ei estä - tähän tarvittaisiin web-palvelimella
tehtävä
salasanasuojaus) hakukoneiden ja muiden asiattomien käyttäjien
pääsyä harjoitustyöhön. Myös salasanahakemistoon kannattaa tehdä
tyhjä index.html.
- Tee salasanahakemiston alle toinen hakemisto oas. Tämä
on harjoitustyön varsinainen säilytyshakemisto.
- Lisää oas-hakemistoon (esim. Notepadilla - Windows Explorer voi
valittaa tiedoston nimestä) tiedosto .htaccess (tiedoston nimi siis alkaa
pisteellä), jossa rivi:
Options +Indexes
tämä mahdollistaa www-hakemistossa olevien tiedostojen listauksen ilman varsinaisten www-sivujen kirjoitusta. - Lisää oas-hakemistoon vähintään aihekuvaus.txt, jossa työn aihetta on hahmoteltu. Voit myös halutessasi lisätä muutkin harjoitustyöohjesivulla mainitut hakemistot.
- Lisää harjoitustyön www-osoite
ja muut tiedot (harjoitustyöpari, työn aihe) Korpin
kurssikyselyn
alkuun. Kaikki ryhmän jäsenet täyttävät,
vaikka käytettäisiin vain yhtä www-hakemistoa - ohjaajat käyttävät
Korpissa olevia tietoja harjoitustöiden ohjauksen apuna.
1. Käsitteitä
Vastaa lyhyesti, mutta perustellen. Ei esseevastauksia!
1a). Miten vaatimukset ja käyttötapaukset liittyvät toisiinsa? (1p)
1b). Selitä ICONIX-yhteistoimintakaavion (robustness diagram) kytkentäsäännöt. Mihin ne perustuvat ja mitä hyötyä niistä on? (1p)
2. Kirjastojärjestelmä
Tutustu Kirjastojärjestelmä-malliharjoitustyöhön erityisesti
aihekuvauksen ja vaiheen 1
mallien osalta. Voit käyttää esim. seuraavaa käyttötapauspohjaa
(html, doc, odt).
2a). Käy läpi käyttötapauskaavio ja malliesimerkkinä ollut Asiakaslainaus-käyttötapaus. Tavoitteena kirjoittaa lainaukseen liittyvät käyttötapaukset niin, että yleiset lainaustoiminnot on erotettu asiakkaan ja kirjastonhoitajan (KH) tekemästä lainauksesta: (3p)
- Kirjoita yksityiskohtainen kuvaus KH-lainaus -käyttötapauksesta.
- Tutki, mitä yhteisiä piirteitä KH-lainaus ja Asiakaslainaus-käyttötapauksilla on ja kirjoita niiden pohjalta yleinen Lainaus-käyttötapaus (käyttötapauksen aktorina voidaan pitää Kirjastonhoitajan tai Asiakkaan sijaan yleisempää roolia, esim Lainaaja).
- Varmista, että Asiakaslainaus ja KH-lainaus ovat Lainauksen
erikoistumia (voit joutua muokkaamaan myös
Asiakaslainaus-käyttötapausta): jokaiselle Lainauksessa mainitulle
askeleelle ja mahdolliselle poikkeukselle on oltava vastine
alikäyttötapauksessa. Alikäyttötapaus voi sisältää uutta
toiminnallisuutta, poikkeuksia tai muuttaa yksittäisten askeleiden
yksityiskohtia.
Vinkkejä: RUP: Guidelines for Use-Case-Generalization
2b). Tutustu kirjastojärjestelmän käyttötapauskuvaukseen "Hae aineistoa". Muodosta käyttötapauskuvauksen pohjalta korkean tason yhteistoimintakaavio (communication diagram tai robustness diagram), joka seuraa käyttötapauksen kulkua ja huomioi järjestelmän sisäisen rakenteen. Voit käyttää pohjana malliharjoitustyön StarUML-projektia. (2p)
3. Rahaliikenteen seurantajärjestelmä
Käy läpi seuraava toimintakuvaus:
Yleistä
Tulojen ja
menojen kirjaaminen on hyvä tapa selvittää, mistä menoista ja
kuinka paljon voi tinkiä vaikkapa lomautetuksi joutuessaan. Monelta
tämä kuitenkin jää tekemättä tai vähintäänkin seuranta repsahtaa
hetikohta lupaavan alun jälkeen. Kirjauksia pitäisi tehdä
säännöllisesti, mutta joinakin päivinä ei vain ehdi tai
jaksa.
Tavoite on määritellä järjestelmä, joka helppokäyttöisyydellään
auttaisi tätä tehtävää. Järjestelmä pystyy osoittamaan kohteen
(kuten kauppaliikkeen, huvipaikan tai vaikkapa kirjakerhon) jonne
rahat ovat hävinneet. Tästä kohteesta riippuen saatetaan jatkossa
tarvita siihen kohdistuvaa tarkempaa seurantaa, mutta ko. toiminta
on (ainakin aluksi) rajattu tämän järjestelmän
ulkopuolelle.
Järjestelmän rakenne ja
toiminta
Järjestelmään voidaan ottaa käyttöön useita rahaläheitä (pankkitilit, lompakko, auton tuhkakuppi jne), joiden välillä voidaan tehdä rahansiirtoja (esim. käteisen nosto tililtä, tilisiirrot). Kukin meno (esim. maksettava lasku) voidaan maksaa miltä tahansa rahalähteestä. Tositteen kirjaukseen liitetään tieto rahalähteestä (pankkikortti, käteinen, lasku,...).
Järjestelmää käyttöönotettaessa rahalähteisiin syötetään alkusaldot. Saldoja tulee kuitenkin pystyä muuttamaan myöhemmin.
Kirjausta tehdessä oletetaan tapahtumapäiväksi menossa oleva päivä. Päivää tulee kuitenkin olla helppo muuttaa (kirjauksia jää kuitenkin rästiin).
Usein toistuvien vakiotapahtumien (lounas työpaikalla, kuukausipalkka) tulee olla (hintoineen) valittavissa nopeasti. Hintaa tulee kuitenkin pystyä muuttamaan (perjantaina pihvilounas).
Aina haluttaessa (esim. tiliotteen saapuessa) järjestelmä täsmäytetään: Siihen syötetään tiliotteen loppusaldo ja päivämäärä, jolloin järjestelmä ilmoittaa onko ko. tiliin kohdistuvien kirjausten perusteella tullut sama saldo kuin tiliotteella. Jos saldot poikkeavat, tulee järjestelmän sallia tapahtumien läpikäynti yksi kerrallaan ja virheiden korjaus. Jos virheitä ei löydy, tulee voida lisätä saldoero-tapahtuma (jotta seuraava jakso saadaan kohdalleen). Täsmäytyksen jakso voidaan syöttää järjestelmään. Sitä tulee pystyä muuttamaan.
Järjestelmän tulee pystyä tuottamaan raportteja kuukausittain, viikoittain ja kohteittain.
Eri kohteista voidaan muodostaa ryhmiä (esim. eri ruokakauppojen ostokset), ja raportteja voidaan saada sekä ryhmien väliltä ja ryhmien sisäisesti (onko ruokaan mennyt enemmän kuin bensaan, mihin ruokakauppaan on mennyt eniten).
Järjestelmään voidaan määritellä hälytysraja, joka vilkuttaa violettia kun jakson kyseisen ryhmän kulut ovat 90 % sallitusta ja punaista, kun sallittu raja ylittyy.
3a). Muodosta toimintakuvauksen pohjalta rahaliikenteen seurantajärjestelmän kohdealuemalli. Esitä malli analyysivaiheen luokkakaaviona. (4p)
3b). Pohdi, millaisissa tilanteissa kohdealuemalli kannattaa luoda yksittäisten käyttötapausten ja yhteistoimintakaavioiden pohjalta ja milloin suora toimintakuvauksen käsittely riittää? Onko valinnalla vaikutusta kehitysprosessin myöhempiin vaiheisiin? (2p)
4. Bonus
Lue Danielsin artikkeli Modeling with a sense of
purpose (huom. pdf ladattavissa vain yliopiston verkosta tai
VPN-yhteyden yli). Selitä lyhyesti Danielsin näkemys analyysin ja
suunnittelun eroista. Mitä ongelmia liittyy samaa muotoa olevien
UML-kaavioiden käyttöön kehitysprosessin eri vaiheiden kuvauksiin,
ja miten ongelman voisi korjata? (3p)
