Demo 1 - 21.3.

Mallivastaus - Opiskelijoiden vastauksia

1. demoissa keskitytään analyysikurssin asioiden kertaukseen ja harjoitellaan kurssin "tekniikkaa".

Demojen tulee olla palautettuna verkossa viimeistään 27.3. klo 12.00. Tähän mennessä tulee olla myös selvillä (=tiedot Korpissa), aiotko suorittaa demot >90%-ryhmässä vai tavalliseen tapaan).

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.
  1. 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öä.
  2. Siirrä demot verkkoon NettiDemoWWW:llä palautusohjeiden mukaisesti. Merkitse demojen numeroksi 1 ja molempiin sopivaksi katsomasi pistemäärä.
  3. Tarkista, että siirto on onnistunut: NettiDemoWWW:n generoidut tiedostot -kohdan alla olevien index.html ja files.txt -linkkien pitäisi toimia.
  4. 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.
Kokeile Korpin käyttöliittymää harjoitustöiden ohjausaikojen etsintään (linkki myös esim. kurssin harjoitustyösivulla). Varaa aika tarvittaessa (ohjaajat Itkonen, Hallamäki, Taipalus tai Tuhkala).


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)

  1. Kirjoita yksityiskohtainen kuvaus KH-lainaus -käyttötapauksesta.
  2. 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).
  3. 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

Menot ja tulot kirjataan tositteittain. Esimerkiksi ruokakaupan lasku kirjataan yhtenä menoeränä päivittäistavaroihin, erittelemättä sen sisältöä tarkemmin (kirjausten teko nopeutuu ratkaisevasti).

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)


Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/2012/kevat/oas/demot/demo1.html
© Miika Nurminen (minurmin@jyu.fi)
Julkaisujärjestelmä: © Antti Ekonoja, Tommi Lahtonen ja Jukka Mäntylä.
2012-03-22 15:06:33
Informaatioteknologia - Jyväskylän yliopiston IT-tiedekunta ja avoin yliopisto