JOENSUUN YLIOPISTO
Tietojenkäsittelytieteen laitos
09.02.2000 MT
OHJEITA KÄYTTÖLIITTYMIEN TYÖTÄ TEKEVILLE
Käyttöliittymien työn tarkoituksena on soveltaa ja harjoitella kurssilla opittuja käyttöliittymien suunnittelu- ja toteutusmenetelmiä. Työssä on siis kaksi osaa: suunnittelu ja toteutus. Toteutus voidaan aloittaa vasta sen jälkeen, kun suunnitelma on hyväksytty.
Työ voi olla jatkoa johonkin opiskelijan aikaisempaan harjoitustyöhön; tarkoituksena on parantaa esim. ohjelmoinnin peruskurssin työn usein hyvinkin minimaalista käyttöliittymää. Tällöin käyttöliittymä toteutetaan erillään kohdeohjelmasta, jota on tarkoitus muuttaa mahdollisimman vähän. Kohdeohjelman laskentaosiin ei tarvitse tehdä muutoksia. Lopputuloksena tulisi olla mahdollisimman yleiskäyttöinen käyttöliittymien rakentamiseen soveltuva aliohjelmakirjasto, jonka palveluja kohdeohjelma käyttää.
Työn dokumentointi poikkeaa toteutuksen dokumentoinnin osalta, mikäli työ tehdään kokonaisuudessaan alusta lähtien.
I SUUNNITELMA
Ennen toteutusta tehdään suunnitelma käyttöliittymästä. Suunnitteluvaiheessa ei tule ajatella toteutusta, vaan päämääränä on keskittyä ainoastaan käyttäjän kannalta mahdollisimman hyvän käyttöliittymän aikaansaamiseen. Ennen toteutuksen aloittamista tulee suunnitelma esittää tarkoitukseen varatussa seminaarissa (tai mikäli seminaaria ei järjestetä, henkilökohtaisesti työnohjaajalle). Suunnitelmasta laaditaan erillinen dokumentti, josta tulee ilmetä seuraavat asiat:
1. Toteutettavan järjestelmän kuvaus
Lyhyt, mutta kattava yleiskuvaus järjestelmästä, johon käyttöliittymä tehdään. Selostetaan, mitä järjestelmän on tarkoitus tehdä, mitä syötteitä on käytettävissä, millaisia tuloksia halutaan yms.
2. Toimintoanalyysi ja käyttäjien kuvaus
Kuvataan järjestelmän normaalikäytössä tarpeelliset toiminnot. Tässä yhteydessä tulee selvittää, kuka tekee mitä, milloin ja miksi. Käyttäjistä selvitetään koulutus, atk-tausta, kokemus, noviisi-/eksperttierot ja muut käyttöliittymän suunnitteluun vaikuttavat ominaisuudet.
3. Käsitteellinen suunnittelu
Tässä yhteydessä selvitetään käsiteltävät objektit sekä niiden ominaisuudet. Esim. korttipelin yhteydessä voisivat objekteina olla vaikkapa korttipakka ja kortti. Ominaisuuksia voisivat tässä tapauksessa olla esim. pakalla 52 korttia, kortilla maa ja arvo. Lisäksi kuvataan objekteihin kohdistuvat toiminnot ja niiden merkitys. Korttipeliesimerkissä voisivat toimintoja olla mm. "sekoita pakka" ja "valitse viisi korttia". Tässä tapauksessa sekoittamisen merkitys on ilmeinen, mutta ilmaus "valitse" vaatii jo lisäselvityksiä (kuka valitsee, millä perusteella valitsee). Objekteja valittaessa on pidettävä mielessä niiden merkitys käyttöliittymän kannalta. Korttipelin olioista käyttöliittymäobjekteiksi soveltuvat erinomaisesti pakka ja kortti, sillä näitä käyttäen käyttöliittymästä tulee reaalimaailmaa hyvin mallintava ja näin käyttäjän helposti omaksuttava.
4. Semanttinen suunnittelu
Kuvataan käyttäjän ja systeemin välisen dialogin sisältö, mutta ei vielä muotoa. Tässä yhteydessä selvitetään, mitä syötteitä järjestelmä vaatii ja mitä tulosteita siitä saadaan. Lisäksi kuvataan tarpeelliset ilmoitukset, opasteet, yms.
5. Syntaktinen suunnittelu
Vasta nyt päätetään käyttöliittymän ulkonäkö. Käyttöliittymään tulee yleensä myös sellaisia objekteja, jotka eivät suoranaisesti liity sovellukseen, vaan jotka ovat käyttöliittymälle ominaisia. Tällaisia ovat esim. ikkunat, valikot, syötekentät, sekä hiirelle painikkeet, rullausjanat, yms. Mahdolliset toteutukseen liittyvät helppoudet tai vaikeudet on tässä vaiheessa aktiivisesti unohdettava ja päämääränä on pidettävä luontevaa ja loogista jakoa objekteiksi.
Tässä yhteydessä kuvataan tarvittavat näytöt, ikkunointi, valikot, lomakepohjat, näppäimien ja/tai hiiren käyttö, värit, tekstien sanamuodot, jne. Selvitetään, miten toiminnot saadaan aikaan, miten ne vaikuttavat, miten kesken olevan toiminnon suoritus ilmenee, jne. Havainnollistamiseen suositellaan kuvien, tilasiirtymäkaavioiden, tms. käyttöä.
6. Perustelut
Valittujen ratkaisujen perustana olleet syyt selvitetään. Käsittely voi olla kaksijakoinen: yksityiskohtiin liittyvien ratkaisujen perustelu (miksi valikko A sijaitsee juuri tässä, millä perusteella taustaväri on valittu, miksi toiminto X suoritetaan juuri tällä näppäimellä) ja kokonaisuuden tarkastelu (muistuttaako käyttöliittymä jotakin toista yleisesti käytettyä, kuvaako käyttöliittymä reaalimaailmaa tai manuaalijärjestelmää). Erityisesti tässä tulee ajatella käyttöliittymän ja käyttäjäkunnan välistä suhdetta (esittää perustelut vuorovaikutustekniikan valinnalle).
7. Protoilu
Mikäli toteutusväline mahdollistaa protoilun (kuten esim. Visual Basic tai Delphi), voidaan suunnitteludokumenttiin liittää viimeisenä suunnitteluvaiheena leksikaalinen suunnittelu, jossa määritellään loput yksityiskohdat käyttöliittymästä, esimerkiksi näyttöjen yksityiskohtainen toteutus. Tämän suunnitteluvaiheen tuloksena on prototyyppi tulevan järjestelmän käyttöliittymästä.
II TOTEUTUS
Toteutus ja sen dokumentointi tehdään tavalliseen tapaan soveltaen yleistä työohjetta "Ohjeita ohjelmoinnin peruskurssin työtä tekeville". Toteutuksen dokumentoinnista on syytä neuvotella työkohtaisesti ohjaajan kanssa.
Mikäli työssä on tarkoituksena parantaa olemassaolevan sovelluksen käyttöliittymää, toteutus dokumentoidaan vain käyttöliittymän osalta, kohdeohjelman työselostusta ei ole tarkoitus kopioida.