Demo 1 - 26.3.

1. demot ovat "harjoitusdemot", joista ei vielä jaeta pisteitä. Tarkoituksena on tutustua kurssilla käytettäviin työkaluihin ja aloittaa harjoitustyön suunnittelu.

HUOM! Demo-ohjeissa oletetaan, että ne tehdään Agoran mikroluokissa, jolloin tiedostot voidaan siirtää suoraan Resurssienhallinnan kautta verkkolevylle. Jos tehtäviä tekee kotikoneelta, siirtoon täytyy käyttää SSH-ohjelmaa, jonka käyttö WWW-sivujen julkaisussa on opetettu Tietokone ja tietoverkot työvälineenä -kurssin luennolla 9. Myös verkkolevyn käyttö kotikoneelta on mahdollista, mutta vaatii enemmän asetuksia: ks. Verkkolevyjen käyttäminen kotikoneelta käsin ja VPN-yhteyden käyttö -ohjeet.

Kurssin kotisivut ja kurssikysely

Tutustu kurssin virallisille sivuille osoitteessa http://appro.mit.jyu.fi/oas/. 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/2009/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.

Demojen palautus

Tutustu demojen palautusohjeisiin.

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. Oletetaan, että demojen numero on 1 (1. demojen pisteitä ei lasketa virallisiin pisteisiin) ja että molemmista tehtävistä saa 3 pistettä (olet mielestäsi tehnyt ne täysien pisteiden arvoisesti)

Tarkista, että siirto on onnistunut: NettiDemoWWW:n generoidut tiedostot -kohdan alla olevien index.html ja files.txt -linkkien pitäisi toimia.

Harjoitustyö

Tutustu kurssin malliharjoitustyöhön ja harjoitustyön 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 tieodoston tarkenteena).

Tutki harjoitustyön Vaihe 0 -sivua. Mieti mahdollista harjoitustyöaihetta ja kysy neuvoa ohjaajalta tarvittaessa. Jos sinulla ei ole vielä ryhmää, etsi muita samasta aiheesta kiinnostuneita harjoitusryhmästä tai kurssin postituslistan kautta.

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. Jos et löydä omaa W:-asemaa, niin tee tarvittavat alkutoimenpiteet, joihin löytyy ohjeistus Tietokone ja tietoverkot työvälineenä -kurssin luennolta 9. 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 kurssin harjoitustyöohjetta vastaava hakemistorakenne W-asemalle seuraavasti:
    • 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 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 kurssikyselynalkuun. 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.

UML-työkalut

Harjoitellaan prosessin mallintamista kurssin työkaluilla piirtämällä annetun "liiketoimintaprosessin" pohjalta aktiviteettikaavio. Työkalut (tai pikakuvakkeet) ovat hakemistossa C:\UMLTools. Ohjelmien asennuspaketit ovat hakemistossa C:\MyTemp\UML, jos haluat kopioida ohjelmat talteen muistitikulle tms (ohjelmat ovat ladattavissa WWW:stä, ks. kurssin linkkilista). StarUML.n, ArgoUML:n tai VioletUML:n asentaminen edellyttää myös, että koneella on Java-ajoympäristö. Kokeile ainakin kahta eri työkalua - käyttölogiikka vaihtelee eri editoreilla huomattavastikin.

Huom. työskentele C:\MyTemp-hakemiston alla (esim. C:\MyTemp\omatunnus, niin eri käyttäjien tiedostot pysyvät erillään).

Prosessin kuvaus: Luentokurssin suoritus
Opiskelija ilmoittautuu kurssille. Luennoitsija pitää luennon, jolle opiskelijat osallistuvat. Opiskelija tekee demotehtävät, jotka demonpitäjä tarkastaa ja merkitsee demopisteet. Luentoja ja demoja toistetaan niin kauan kuin kurssia on jäljellä, jonka jälkeen opiskelija ilmoittautuu tenttiin ja suorittaa sen. Luennoitsija tarkastaa tentin. Jos kurssi menee läpi, luennoitsija merkitsee kurssin arvosanan. Muuten opiskelija ilmoittautuu uusintatenttiin.


StarUML

StarUML on avoimen lähdekoodin UML-työkalu, joka perustuu UML 1.4-määritykseen ja tukee myös suurinta osaa UML 2.0 kaaviotyypeistä ja notaatiosta. StarUML tukee myös MDA (Model Driven Architecture) lähestymistapaa ohjelmistojen suunnitteluun ja toteutukseen. StarUML:ssa kaikki projektin kaaviot tallennetaan yhteen projektitiedostoon
(.uml-tiedostoon).
  1. Käynnistä ohjelma Start-valikosta tai UMLTools-hakemiston pikakuvakkeesta.
  2. Valitse aloitettavan projektin tyypiksi Default Approach. (TAI Luo uusi projekti valitsemalla File > New Project)
  3. Jos kaavioalueen oikeassa reunassa ei näy Model Explorer -dialogia, valitse View > Model Explorer
  4. Napsauta oikealla hiiren näppäimellä Model Explorer -dialogin analysisModel-riviä ja valitse Add Diagram > Activity Diagram. Anna kaaviolle haluamasi nimi.
  5. Valitse kaavioalueen oikealla puolella olevasta työkalupakista alkutila InitialState. Napsauta kaavioaluetta hiirellä, symboli tulee näkyviin.
  6. Toista sama loppusymbolille, FinalState
  7. Valitse ActionState –symboli ja lisää kaavioon muutamia aktiviteetteja. Valinta ei säily, joten joudut napsauttamaan ActionState -symbolia aina uudestaan.
  8. Täydennä aktiviteettien nimet (Opiskelija ilmoittautuu kurssille, Luennoitsija pitää luennon jne) napsauttamalla aktiviteetti valituksi ja kirjoittamalla nimi.
  9. Liitä aktiviteetteja yhteen tilasiirtymillä (Transition). Tilasiirtymät lisätään painamalla hiiren vasen näppäin pohjaan lähtötilassa, vetämällä hiirtä lopputilaa kohden ja vapauttamalla näppäin kohdetilan kohdalla.
  10. Ehtotilanteissa (esim. jos kurssi menee läpi) käytä Decision –symbolia. Ehtotekstit voit lisätä tilasiirtymiin: Napsauta siirtymää, niin pääset syöttämään siihen tekstin, esim. [luentoja jäljellä].
  11. Voit ottaa kaaviossa käyttöön myös ”uimaradat”, jotka kuvaavat eri toimijoita, valitsemalla toisen swimlane –symboleista. Napsauta uimaradan yläosaa syöttääksesi sille toimijan nimen. Uimaradan leveyttä ja korkeutta voit säätää sen kulmista.
  12. Hiiren avulla voit sijoitella aktiviteetit ja muut symbolit oikeille radoille.
  13. Kun kaavio on valmis, vie kaavio kuvaksi (File > Export Diagram). Tallennus tapahtuu oletusarvona JPG-muotoon.
  14. Tallenna projektiin tekemäsi muutokset valitsemalla File > Save/Save as.
  15. Siirrä kaavio NettiDemoWWW:llä Demo1:n vastauksiisi ja tarkista, että siirto onnistui.
Vertaa kaaviotasi malliratkaisuun.

ArgoUML

ArgoUML on kaavioiden oikeellisuuteen panostava Java-pohjainen UML-editori, joka väittää tukevansa UML 1.4-määritystä kokonaisuudessaan. Samaan projektiin kuuluvat kaaviot säilytetään yhtenäisessä mallitietokannassa. Erikoisuutena editori osaa antaa syntaksitarkistuksen perusteella vinkkejä mallin yleisistä virheistä. Raskas, mutta monipuolinen. Toinen suositeltava vaihtoehto laajempiin projekteihin.
  1. Käynnistä ohjelma (argouml.jar tai argouml.bat)
  2. Valitse Create / New Activity diagram (tai työkaluriviltä New Activity Diagram, toiseksi viimeinen symboli).
  3. Valitse kaavioalueen yläpuolella (ja koko ohjelman työkalurivin alapuolella) olevasta työkalupakista New Initial. Napsauta kaavioaluetta hiirellä, symboli tulee näkyviin.
  4. Toista sama loppusymbolille, New Final State.
  5. Valitse New Action State –symboli ja merkkaa kaavioon muutamia aktiviteetteja. Valinta ei säily, joten joudut napsauttamaan New Action State -symbolia aina uudestaan. Kun lisäät uuden symbolin (tai symboli on muuten valittuna), sen ympärillä näkyy symbolia kohti olevia nuolia. Kokeile mitä tapahtuu, kun napsautat jotakin näistä nuolista.
  6. Täydennä aktiviteettien nimet (Opiskelija ilmoittautuu kurssille, Luennoitsija pitää luennon jne) napsauttamalla aktiviteetti valituksi ja kirjoittamalla nimi.
  7. Liitä aktiviteetteja yhteen tilasiirtymillä (New Transition). Viivat asettuvat automaattisesti, mutta asetteluun voi vaikuttaa siirtämällä aktiviteettia. Voit myös ottaa hiirellä kiinni keskeltä tilasiirtymänuolta ja muotoilla sitä haluamallasi tavalla. Epäonnistuneen tilasiirtymänuolen voit poistaa napsauttamalla oikeaa hiiren näppäintä ja Delete From Model.
  8. Ehtotilanteissa (esim. jos kurssi menee läpi) käytä New Junction –symbolia. Ehtotekstit voit lisätä tilasiirtymiin: Napsauta siirtymää, sen viereen ilmestyy taustaa tummempi (oletusarvoisesti violetti) nelikulmio. Napsauta tätä nelikulmiota, niin pääset syöttämään siihen tekstin, esim. [luentoja jäljellä].
  9. Anna kaaviolle nimi: Napsauta vasemman reunan navigointipuusta auki untitledModel ja sen alta Unnamed Activity Graph ja syötä nimi oikean alapuoliskon Properties-välilehden Name-kohtaan.
  10. Voit ottaa kaaviossa käyttöön myös ”uimaradat” valitsemalla Swim Lane –symbolin. Napsauta uimaradan yläosaa syöttääksesi sille aktorin nimen. Sijoittamalla uuden uimaradan aivan entisen viereen se ”napsahtaa” automaattisesti paikoilleen. Uimaradan leveyttä ja korkeutta voit säätää sen kulmista.
  11. Hiiren avulla voit sijoitella aktiviteetit ja muut symbolit oikeille radoille. Siirto voi vähän takkuilla, mutta yritä silloin uudelleen. Jos et enää ”saa otetta” uimaradalla olevasta symbolista (koska se on radan ”takana”), voit siirtää uimaradan taustalle napsauttamalla oikealla hiiren näppäimellä ja valitsemalla Ordering, To Back. Nyt muut symbolit ovat ”pinnalla” ja niitä voi muokata.
  12. Kun kaavio on valmis, vie kaavio kuvaksi (File > Export Graphics) Tallennus tapahtuu oletusarvona PNG-muotoon.
  13. Siirrä kaavio NettiDemoWWW:llä Demo1:n vastauksiisi ja tarkista, että siirto onnistui.
Vertaa kaaviotasi malliratkaisuun.

VioletUML

VioletUML on kevyt, minimalistinen Java-pohjainen UML-editori, joka on ominaisuuksiltaan rajoitettu (sekä mallien syntaksin että asettelun osalta). Se soveltuu kuitenkin hyvin yksinkertaisten mallien luonnosteluun.
  1. Käynnistä ohjelma (com.horstmann.violet-0.21.1.jar).
  2. Valitse alkuruudusta Activity Diagram.
  3. Valitse oikeassa reunassa olevasta työkalupalkista Scenario start -symboli merkkaa kaavioon.
  4. Valitse hiiren rullalla (tai klikkaamalla työkalupalkkia) Scenario end -symboli ja merkkaa kaavioon
  5. Valitse Activity -symboli ja merkkaa kaavioon muutamia aktiviteetteja (valittu symboli säilyy klikkausten välillä)
  6. Täydennä aktiviteettien nimet (Opiskelija ilmoittautuu kurssille, Luennoitsija pitää luennon jne) joko tuplaklikkaamalla aktiviteetteja tai hiiren oikealla napilla. Huomaa, että CTRL-Enter sulkee property-ikkunan, pelkkä enter vaihtaa riviä kuvauksen sisällä.
  7. Liitä aktiviteetteja yhteen tilasiirtymillä. Viivat asettuvat automaattisesti, mutta asetteluun voi vaikuttaa muuttamalla ominaisuuksista bent style -kohtaa (HV=horizontal-vertical jne)
  8. Ehtotilanteissa (esim. jos kurssi menee läpi) käytä Decision-symbolia. Voit tarkentaa ehtotekstiä Note-työkalulla (Huom! VioletUML:ssä olevan bugin takia ehtotekstiä ei kannata merkitä suoraan Decision-elementtiin). Ehdon mahdolliset tulokset merkitään tilasiirtymän ominaisuuksiin (tuplaklikkaus tai oikea nappi) middle labeliksi.
  9. Valitse, siirrä, kopioi, liitä tai poista aktiviteetteja, tilasiirtymiä tms tarvittaessa Select-työkalun ja Edit-valikon avulla. Muista pikanäppäimet CTRL-X, CTRL-C, CTRL-V ja Delete ja väliaikaistallennukset (File>Save As... Merkitse kaavion tarkenteeksi violet).
  10. Kun kaavio on valmis, vie kaavio kuvaksi (File>Export To...>Image File). Merkitse kuvan tallenteeksi PNG (ohjelma ei osaa merkitä tätä automaattisesti).
  11. Siirrä kaavio NettiDemoWWW:llä Demo1:n vastauksiisi ja tarkista, että siirto onnistui.
Vertaa kaaviotasi malliratkaisuun.

UMLet

UMLet on toinen kevyt Java-pohjainen UML-editori, joka on työkaluvalikoimaltaan hieman Violet:ia monipuolisempi. Käyttöliittymä perustuu valmiiden mallinnuselementtien kopiointiin. Erikoisuutena kaikki mallinnuselementin ominaisuudet voidaan kuvata yhdessä tekstikentässä ohjelman omalla koodikielellä. Käyttöliittymä vaatii totuttelua, mutta voi olla pienehköjen mallien tekoon tehokas.

  1. Käynnistä ohjelma (UMLet.exe tai umlet.jar).
  2. Valitse valikosta Palettes > Activity.
  3. Lisää kaavioon skenaarion alkusymboli tuplaklikkaamalla symbolia oikeassa reunassa olevasta paletista (ole varovainen mallinnuselementtejä raahatessa, ettei paletti mene sekaisin).
  4. Siirrä aiemmin lisäämääsi symbolia (joko raahaamalla symbolia tai taustaa). Lisää vastaavasti skenaarion loppusymboli.
  5. Lisää kaavioon tuplaklikkaamalla muutamia aktiviteetteja (state-symboli - siirrä edellistä symbolia jokaisen lisäyksen välillä - muuten symbolit voivat "jumittua" toisiinsa). Elementtejä voi kloonata tuplaklikkaamalla myös työtilan puolella.
  6. Täydennä aktiviteettien nimet (Opiskelija ilmoittautuu kurssille, Luennoitsija pitää luennon jne) oikeassa reunassa olevaa Properties-tekstikenttää muuttamalla. Aseta tarvittaessa aktiviteettisymbolin koko raahaamalla symbolin reunasta.
  7. Liitä aktiviteetteja yhteen tilasiirtymänuolilla. Nuolen päässä olevat pyöreät alueet kuvaavat "tarttumapintaa", joka pysyy kiinni tilasymbolin reunassa. Viivasta vetämällä (ei päät eikä keskiosan neliö) viivaan voi luoda uusia taitoskohtia.
  8. Ehtotilanteissa (esim. jos kurssi menee läpi) käytä päätössymbolia (vinoneliö). Päätössymboliin ei voi suoraan kirjoittaa tekstiä, mutta default-palettisivulla on tekstityökalu ("This is a text element to place text anywhere."), jota voit käyttää ehdon kirjoittamiseen. Ehdon mahdolliset tulokset merkitään tilasiirtymän ominaisuuksiin (anna lt=<- -tyylimääritteen olla omalla rivillään tekstikentässä)
  9. Valitse, siirrä, kopioi, liitä tai poista aktiviteetteja, tilasiirtymiä tms tarvittaessa Edit-valikon avulla. Muista pikanäppäimet CTRL-X, CTRL-C, CTRL-V ja Delete ja väliaikaistallennukset (File > Save As...). Voit valita vain osan elementeistä pitämällä CTRL-näppäintä pohjassa ja tämän jälkeen "maalaamalla" tai klikkaamalla valittavat elementit.
  10. Kun kaavio on valmis, vie kaavio kuvaksi (File > Save as PDF).
  11. Siirrä kaavio NettiDemoWWW:llä Demo1:n vastauksiisi ja tarkista, että siirto onnistui.
Vertaa kaaviotasi malliratkaisuun.

Bonus: Activity-All in One -paletin avulla voit luoda kokonaisia aktiviteettikaavioita ohjelmointikielen tyylisellä rakenteella. Kokeile, pystytkö muodostamaan kurssin suoritusprosessin kaavion näin.
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/oas/demot/demo1.html
© Miika Nurminen (minurmin@jyu.fi)
Perustuu osittain Mauri Leppäsen, Eetu luoman ja Timo Käkölän kurssisivustoihin.
Julkaisujärjestelmä: © Antti Ekonoja, Tommi Lahtonen ja Jukka Mäntylä.
Demojen palautusjärjestelmä: Vesa Lappalainen 2009-05-06 16:59:13
Informaatioteknologia - Jyväskylän yliopiston IT-tiedekunta ja avoin yliopisto