Johdatus sovellussuunnitteluun, kevät 2003, harjoitus 5 (14.4.-25.4.)

1.

Vastaa kurssikyselyyn osoitteessa http://www.cs.helsinki.fi/kurssit/kyselyt/.


Vastauksia käytetään kurssin kehittämiseen.
 

2.

Tutustu johonkin UML-luokkakaavioiden tekemiseen tarkoitettuun ohjelmaan (esimerkiksi "Plastic Lite" -ohjelma löytyy useimmista laitoksen Windows-koneista; Linux-ympäristössä voit käyttää "dia" -kaavionpiirto-ohjelmaa). Laadi ohjelmalla pienehkö luokkakaavio: ainakin pari luokkaa, niille attribuutteja ja yhteys luokkien välille rajoitteineen. Yritä tehdä myös virheitä esim. yhteys yhteyksien välille. Millaisia ongelmia löysit ohjelman käyttöliittymästä kokeilusi perusteella?


Ongelmia Plastic Litessa (erityisesti sellaisen käyttäjän näkökulmasta, joka vain alkaa piirtää tutkimatta käyttöohjetta eikä välttämättä osaa asiaakaan vielä ihan hirveän hyvin):
  • pelkistetyt kuvakkeet - mitähän ne tarkoittavat?
  • ensimmäinen luokka on helppo piirtää, mutta tietojen muuttaminen ja lisääminen on työlästä: joka asialle tulee uusi dialogi-ikkuna ja vielä välilehdet, sen sijaan että samassa ikkunassa saisi tehdä ja muuttaa nimiä, attribuutteja, operaatioita ja niiden parametreja ...
  • kun kaksoisklikkaa luokkaa (vast. attribuuttia tai operaatiota) editoidakseen sitä, päätyy milloin millekin välilehdelle (ehkä tässä on jokin systematiikka = samalle missä viimeeksi on oltu jonkin toisen kohteen kohdalla - onko tämä oikea työtapa?)
  • kaikki dialogi-ikkunat ovat samannäköisiä, ja kun niitä on paljon, tekee helposti virheitä ja/tai eksyy
  • yhteyksien piirtämiseen liittyy samoin dialogeja, jotka eivät ole mitenkään selviä (mistä tietää kumpi luokka on A, kumpi B? vastaus: riippuu yhteyden piirtosuunnasta)
  • miksi koostetta varten on oma nappi, mutta kompositiolle ei?
  • omat luokat on erotettu valmiista valikoimasta, joten attribuutin tyypiksi ei tarjota omia luokkia (tosin kenttiin yleensäkin saa kirjoitella mitä vaan)
  • käyttöliittymä antaa piirtää virheellisiä kaavioita, esimerkiksi:
    • nimettömät attribuutit
    • useita samannimisiä luokkia, attribuutteja tai yhteyksiä
    • yhteydet jotka eivät ole järkeviä (esim. osallistumisrajoite 0)
  • tallettamisen käsite ei ole selvä maallikkokäyttäjälle: miksi jo piirretty kuva pitää vielä erikseen tallettaa?
  • työkalulla ei voi käsitellä useita kaavioita yhtä aikaa - tämä selviää (epäsuorasti) vasta kun aikoo avata toisen kaavion ("haluatko tallettaa muutokset ...")
  • tarpeettomia kuitattavia virheilmoituksia
  • ohjeistuksen toimivuus?

3.

Hahmottele elokuvalipun ostamiseen tarkoitettu käyttöliittymä WAP-kännykälle. Muista, että käytössäsi oleva tila on pieni. (Vinkki: pohjaa ratkaisusi valikoihin, koska käytössäsi on vain pieni ja huonolaatuinen näyttö.)

Syötteen anto muuten kuin valitsemalla on jokseenkin hankalaa, eikä kännykän näytölle mahdu muutamaa riviä enempää tietoa kerrallaan. Valikot eivät saisi levitä liian suuriksi, toisaalta kovin monen sivun läpi selaaminen ei sekään ole järin houkuttelevaa. Valikoissa avuliaat oletusarvot ja järkevä järjestäminen on siis vaivan arvoista. Pelkistämistäkin on pakko tehdä; tärkein, eli palvelun pakolliset osat, helposti saataville, ja jos jotakin lisäyksiä ehdottomasti halutaan tehdä, ne eivät saisi hankaloittaa peruskäyttöä.

Esimerkki elävästä elämästä, Sandrew Metronomen WAP-lipputilaus (kuvitettu käyttöohje), Frantic Median suunnittelemana ja toteuttamana. Mitä hyvää ja mitä huonoa ratkaisussa on?


4.

Suunnittele elokuvalipun ostamiseen tarkoitettu käyttöliittymä WWW-sivuille. Tätä käyttöliittymää on tarkoitus käyttää selaimen kautta, joten rajoitteet ovat huomattavasti tehtävää (3) vähäisemmät.

Kuvia esimerkkijärjestelmän käyttöliittymästä voi katsoa HTML-muodossa (kuvat yht. 300K) tai PowerPoint-kalvoina (1.1 MB) - Linuxissa OpenOffice ja StarOffice osaavat lukea PowerPoint-tiedostoja. Julkaistu tekijäryhmän luvalla.


5.

Onnelan asukasyhdistys on päättänyt perustaa Kylätilaan pienen kirjaston, johon asukkaat voivat lahjoittaa itselleen tarpeettomia kirjoja muiden yhdistyksen jäsenten lainattavaksi. Asukasyhdistys haluaa itselleen webbi-käyttöisen järjestelmän kirjaston kirjavarannon ja lainausten kirjaamiseksi. Lahjoittaja merkitsee itse lahjoittamansa kirjan tiedot järjestelmään. Samoin kukin lainaaja kirjaa järjestelmään lainauksensa (mukaanlukien arvioidun palautusajan) ja palautuksensa. Luonnollisesti kirjoja ja lainoja pitää voida myös selailla. Lisäksi järjestelmään on tarkoitus tallettaa asukkaiden arvioita lukemistaan kirjoista.

Luettele järjestelmän käyttötapaukset otsikkotasolla ja suunnittele järjestelmän käyttöliittymä.


Käyttötapaukset:

  • kirjan lainaaminen
  • kirjan palauttaminen
  • kirjalistan selaaminen
  • lainojen selaaminen
  • kirjan lahjoittaminen
  • kirjan arvostelu
  • arvostelujen lukeminen

Kirjalistan ja lainojen selaaminen: kirjat näkyvät listassa, lainassa olevat vaaleammalla värillä. Kirjan valitsemalla siitä näkee lisätietoja ja arviointeja. Mikäli kirjoja on paljon, jonkinlainen hakumahdollisuus kirjan nimen tai nimen osan perusteella on jo tarpeen.


Kirjan lainaaminen Suositaan valikkojen käyttöä tekstin syötön sijaan. Itsepalvelukirjaston asiakkaat on oletettu rehellisiksi. Salasanatarkistusta tarvitaan, jos järjestelmä on webissä koko maailman nähtävissä(paikan päälle tosin joutuu webbilainaajakin kävelemään kirjaa hakemaan).


Kirja-arvostelu: Valitaan arvostelijan nimi valikosta, syötetään arvosteluteksti. Valitaan arvosana radio button-valikosta. Esikatsellaan ja hyväksytään salasana tarkistaen.

Kirjan lahjoittaminen: Selkeä lomake, jossa omat kentät kullekin annettavalle arvolle (kirjan nimi, tekijä, vuosi..) esimerkkisyötteineen.