T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt...

25
T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa Marko Nieminen Teknillinen korkeakoulu Käyttöliittymät ja käytettävyys [email protected]

description

T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa. Marko Nieminen Teknillinen korkeakoulu Käyttöliittymät ja käytettävyys [email protected]. Vaatimusmäärittelyt käyttöliittymän suunnittelussa. Luennon sisältö: - PowerPoint PPT Presentation

Transcript of T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt...

Page 1: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

T-121.300

KÄYTTÖLIITTYMÄSUUNNITTELU

Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko NieminenTeknillinen korkeakoulu

Käyttöliittymät ja käytettävyys

[email protected]

Page 2: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko Nieminen

Vaatimusmäärittelyt käyttöliittymän suunnittelussa

Luennon sisältö:

Vaatimusmäärittelyt yleisesti/perinteisesti

Käyttäjäkeskeisen suunnittelun erityispainotukset vaatimusmäärittelyille

Page 3: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko Nieminen

Mihin vaatimusmäärittelyjä tarvitaan?

Perinteisesti vaatimusmäärittelyissä (spesifikaatioissa) pyritään kuvaamaan lopputuloksena syntyvä järjestelmä sellaisella tarkkuudella, että suunnittelijat voivat toteuttaa järjestelmän.

Käyttäjät ja asiakkaat allekirjoittavat sopimuksen ja sitoutuvat siten tehtyyn suunnitelmaan. Onko ongelmia?

Hankaluuksia helposti ymmärtämättömyyden ja puuttuvan osaamisen vuoksi

Vaihtoehtoja massiivisille vaatimusmäärittelydokumenteille: paperiprototyypit ja iteratiivinen suunnittelutapa

Page 4: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko Nieminen

Vaatimusmäärittelyt (trad.)

Vaatimusmäärittelyt kuvaavat yksityiskohtaisesti ne tarpeet, joihin järjestelmän pitää tuottaa ratkaisu

Vaatimusten analysointi ja määrittely on alku perinteisen vesiputousmallin mukaisessa suunnitteluprosessissa

(Vaatimusten analysointi -> Määrittely -> Suunnittelu (arkkitehtuuri, yksityiskohdat) -> Toteutus -> Integrointi -> Ylläpito)

Tiukimmin tulkittuna seuraavaa vaihetta ei aloiteta ennen kuin edellinen vaihe on päättynyt; edelliseen vaiheeseen ei myöskään palata

Esimerkkejä vaatimusmäärittelyiden rakenteesta löytyy mm. IEEE:ltä (alkaen 830-1984)

Page 5: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko Nieminen

Vaatimusmäärittelyn rakenne(Pressman 1987)

Johdanto tavoitteet (toiminta, liiketoiminta), projektin reunaehdot

Tietomalli yksityiskohtainen kuvaus ongelmasta, jonka järjestelmä ratkaisee tietovirrat, tietosisällöt, tiedon rakenteet, järjestelmärajapinnat (hw, sw,

hci!)

Toiminnallinen kuvaus toiminnalliset osat, toimintojen kuvaukset (toimintaselostus, rajoitukset,

suorituskykyvaatimukset, suunnittelurajoitukset, kuvaavat diagrammit)

Validointikriteerit suorituskyvyn reunaehdot, käytettävät testit, erityishuomiot

(Viitteet, liitteet)

Page 6: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko Nieminen

Vaatimusmäärittelyjen tuottaminen

Aikamoista kysely- ja luonnostelutyötä; asioiden hoksaamista ja pohdiskelua, kuitenkin yleensä varsin tiukoissa aikatauluraameissa

Vaiheet Ongelman tunnistaminen Arviointi ja syntetisointi Määrittely Katselmointi

Page 7: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko Nieminen

Vaatimusmäärittelyn haasteita

Kommunikointi Ymmärtäminen Käyttäjä/asiakaskaan ei aina tiedä mitä haluaa tai mitä vaaditaan...

Analysoijan rooli keskeinen! Ymmärrettävä sekä asiakkaan tarpeet että kehitysorganisaation näkökulmat.

Hoksattava abstrakteja käsitteitä, uudelleenjärjestettävä loogisesti, syntetisoitava uusia ratkaisuja uusien rakenteiden pohjalta

Kyettävä tunnistamaan keskeiset ja tärkeät seikat ristiriitaisista ja sekavistakin lähteistä

Kyky ymmärtää käyttäjän/asiakkaan toimintaympäristöä Kyky sovittaa teknisiä elementtejä/ratkaisuja em. toimintaympäristöön Kyky kommunikoida selkeästi sekä keskustellen että kirjallisesti Kyky nähdä metsä puilta

Analysoija on - asiakkaan näkökulmasta konsultti ja “tiedustelija”- kehittäjien näkökulmasta määrittelijä ja “korkean tason” suunnittelija

Analysoija on - asiakkaan näkökulmasta konsultti ja “tiedustelija”- kehittäjien näkökulmasta määrittelijä ja “korkean tason” suunnittelija

Page 8: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko Nieminen

Vaatimusmäärittelyn deliveraabeli

Vaatimusmäärittelydokumentti validointikriteereineen

Mutta myös: Prototyypit Alustava käyttöohje

Page 9: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko Nieminen

Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Myös käyttöliittymäsuunnittelussa pitää lähteä liikkeelle vaatimusten määrittelystä

Toisaalta käyttöliittymäsuunnittelu voi olla myös iteratiivinen osa vaatimusten määrittelyä

Käyttäjälle näkyvän järjestelmän osan - käyttöliittymän - vaatimusmäärittelyjen pitää tarkastella käyttäjälle keskeisiä asioita

Taustalla todelliset, kattavat ja edustavat kuvaukset Perinteisesti: abstraktit ja osittaiset tehtäväkuvat Keinot, joilla määritykset tuotetaan, ratkaisevat

vaatimusmääritysten laadukkuuden (prosessilähtöinen näkökulma)

Page 10: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

04/21/23 Marko Nieminen

Vaatimusmäärittelyissä kuvattavat asiat(ISO 9241)

Käyttäjä

Tehtävä

Laitteet javälineet

Ympäristö

Tavoitteet

Tuottavuus/vaikuttavuus

Tehokkuus

TyytyväisyysKäyttö-

konteksti

Tuote Käytettävyydenmittarit

Vuoro-vaikutuksen

tulos

Aiotutlopputulokset

Käytettävyys

Vaatimusmäärittely:

JOHDANTO

(tavoitteet)

Vaatimusmäärittely:

JOHDANTO

(tavoitteet)

Vaatimusmäärittely:

VALIDOINTIKRITEERIT

Vaatimusmäärittely:

VALIDOINTIKRITEERIT

Vaatimusmäärittely:

JOHDANTO

(toiminta-liiketoiminta)

Tämän kuvaaminentuottaa puitteetvaatimusmääritte-lyn muiden osientuottamiselle.

Vaatimusmäärittely:

JOHDANTO

(toiminta-liiketoiminta)

Tämän kuvaaminentuottaa puitteetvaatimusmääritte-lyn muiden osientuottamiselle.

Page 11: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

04/21/23 Marko Nieminen

Käyttäjäkeskeiset toimenpiteet vaatimusten määrityksessä

V1 V2 V3 V4 V5

TyylioppaatTarkistuslistat

Heuristiset säännötKognitiivinen läpikäynti

Pienimuotoiset käytettävyystestitKäytettävyystavoitteiden tarkastelu

KäytettävyystestitTulosten vertailu

käytettävyystavoitteisiin

Katselmoinnit

Vaatimus-määrittely

Suunnittelu jaToteutus

Testaus Seuranta

Asiakaspalautetuotekehittäjille asti!

Käyttäjätietouden keruu

Tuotehallinta

Käyttäjien tunnistaminen ja ryhmittelyKäyttäjäluonnehdinnatTehtäväanalyysitYmpäristö- ja tilanneanalyysitKäytettävyystavoitteiden luonti

Käyttäjien tunnistaminen ja ryhmittelyKäyttäjäluonnehdinnatTehtäväanalyysitYmpäristö- ja tilanneanalyysitKäytettävyystavoitteiden luonti

Käyttäjien tunnistaminen ja ryhmittelyKäyttäjäluonnehdinnatTehtäväanalyysitYmpäristö- ja tilanneanalyysitKäytettävyystavoitteiden luonti

Page 12: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

04/21/23 Marko Nieminen

Tunnista käyttäjä!

Jos tuotteesi edes yrittää olla myyntikelpoinen, joku käyttää sitä!

Kuka käyttää tuotetta? Millainen henkilö hän on? Miksi hän käyttää tuotetta? Mitä käytöllä tavoitellaan? Missä tilanteessa tuotetta käytetään? Miten tuotetta yritetään käyttää?

Tunnista, valitse ja kuvaa tuotteen käyttäjät!

Page 13: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko Nieminen

Tehtäväkuvaus

Konkreettinen, yksityiskohtainen esimerkki tehtävästä, jonka käyttäjä suorittaa

kertoo, mitä käyttäjä haluaa tehdä, muttei sitä, miten käyttäjä tekee asian

on hyvin yksityiskohtainen, kertoo esimerkissä asiat todellisilla käsitteillä -- ei yleistyksiä

kuvaa kokonaisen työtehtävän tehtäväkuvaukset osoittavat, ketkä työtä tekevät laajennettavissa skenaarioksi (mm. storyboard), joka

kertoo, miten käyttäjä suorittaa tietyt toimenpiteet tietyn järjestelmän avulla

Page 14: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko Nieminen

Harjoitustehtävä

Hahmottele vierustoverisi kanssa skenaario opiskelijasta, joka haluaa varata kirjan korkeakoulun kirjastosta internet-palvelun kautta

Page 15: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko Nieminen

Kuvausten taustalla todelliset havainnot!

Tärkeää on perustaa käyttäjäkuvaukset todellisuuteen Havainnointikeinona esim etnografinen havainnointi tai

sen johdannaiset; “Contextual Inquiry”; myös osallistuvan suunnittelun keinoin voidaan saada selville kuvausten vaatimia faktoja.

Page 16: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

04/21/23 Marko Nieminen

User Characterisation(Booth 1989)

USER DATA Identify the target user group Proportion of males and

females Average age / age range Cultural characteristics

(language etc.)

JOB CHARACTERISTICS Job role description Main activities Main responsibilities Reporting structure Reward structure Schedules Status / quality Turnover rate

USER BACKGROUND Relevant education / knowledge /

experience Relevant skills Relevant training

USAGE CONSTRAINTS Voluntary vs. mandatory use Motivators vs. de-motivators

PERSONAL PREFERENCES AND TRAITS

Learning style Interactional style Aesthetic preference Personality traits Physical traits

Page 17: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

04/21/23 Marko Nieminen

Task Analysis(Booth 1989)

GOALS Identify goals and list important

supporting tasks

For each important task:

TASK INTRINSICS Task identifier Inputs and outputs Transformational process Operational procedures & patterns Planning, decision points, problem

solving Terminology Equipment

TASK DEPENDENCY AND CRITICALITY

Dependency on other tasks & systems Concurrent effects Criticality of tasks (linked to

dependency)

CURRENT USER PROBLEMS

PERFORMANCE CRITERIA Speed, Accuracy, Quality

TASK CRITERIA Sequence, frequency & importance of

actions Functional relationships between

actions Availability of functions Flexibility of operation

USER DISCRETION Can the user control or determine pace,

priority & procedure?

TASK DEMANDS Physical, Perceptual, Cognitive,

Environmental Health and safety requirements

Page 18: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

04/21/23 Marko Nieminen

Situational Analysis(see Booth 1989)

EQUIPMENT (what equipment) does not meet performance criteria does not meet specification fails

SURROUNDINGS Physical environment Social environment Changes in surroundings

POLICY Changing laws, rules, standards,

guidelines

AVAILABILITY missing data missing materials missing personnel missing support

OVERLOADS too many people/machines using resource too much data, information, materials, etc.

INTERRUPTIONS process breakdown things missed/forgotten restart required

Page 19: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

04/21/23 Marko Nieminen

Kysymyksiä...

Missä tuotetta käytetään? Kuka on käyttäjä tai käyttäjäorganisaatio? Missä ympäristössä tuotetta käytetään?

Keitä ovat tuotteen käyttäjät? Mitkä ovat käyttäjien toimenkuvat/tehtävänimikkeet? Minkä nimisiä käyttäjät ovat?

Mitä käyttäjät haluavat tehdä tuotteella? Mitä tavoitteita käyttäjillä on tuotetta käyttäessään?

Missä tilanteessa tuotetta käytetään? Mitä tapahtuu tyypillisessä käyttötilanteessa? Miten tilanteet etenevät? Missä

vaiheissa tehtävää tuotetta käytetään? Mitä muita osia käyttäjän tehtävään kuuluu? Mikä on tyypillisin käyttötilanne/käyttötapahtuma?

Mitä tietoja tarvitaan tuotteen käyttämiseksi? Kokemusta? Koulutusta? Mitä tietoa EI tarvita?

Miten tuotteen pitäisi palvella käyttäjää käyttötilanteessa?

Page 20: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

04/21/23 Marko Nieminen

Käytettävyystavoitteet(ks. Whiteside & al 1988)

Käytettävyys-tekijä

Mittauskohde MittayksikköHuonoin

tasoSuunniteltu

tasoParastaso

Tilannenyt

Ensivaikutelmajärjestelmästä

vastaajienmäärä

50 %neg.

90 %pos.

100%pos.

Opittavuus Koulutus aika 1 pv+ kouluttaja

1 h+ kouluttaja

1 h(ei koul.)

MuistettavuusKäyttöliittymänpainikkeiden muistaminen

hlö-määrä

70 %muistaa

4 / 7

90 %muistaa

6 / 7

100 %muistaa

7 / 7

VirheetTehtävä: tarkistahenkilön tiedot

Virheidenmäärä 4 0 0

Tehokkuus

Tehtävä: vastaapuhelintiedusteluun, jossa

pyydetään henkilön puhelinnumeroa

tiedon hakuunkulunut aika 30 sek 7 sek 3 sek

Tyytyväisyys

Page 21: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko Nieminen

Oliopohjainen analyysi

Soveltuu oliopohjaisiin kehitysympäristöihin Keskeiset käsitteet:

objektit (objects) jaetaan kuuluviksi joko ongelma-alueeseen (problem space) tai

toteutukseen (solution space) operaatiot (operations/methods) ominaisuudet (attributes/properties)

liittyvät sekä olioihin että operaatioihin

Vaiheet: Kuvataan järjestelmä sopivalla tarkkuudella vapaamuotoisesti,

mutta kirjallisesti objektit=substantiivit; ominaisuudet=adjektiivit; operaatiot=verbit;

operaatioiden ominaisuudet=adverbit

Page 22: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko Nieminen

Vaatimusmäärittelyt

kertovat, mihin tarpeisiin käyttäjät (asiakkaat) haluavat järjestelmän/tuotteen vastaavan

antavat pohjan järjestelmän/tuotteen toiminnallisen kuvauksen kirjoittamiselle

Page 23: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

mutta...

Page 24: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko Nieminen

The First Law of System Engineering(Bersoff 1980)

No matter where you are in the system life cycle,

the system will change, and the desire to change it will persist

throughout the life cycle

Page 25: T-121.300 KÄYTTÖLIITTYMÄSUUNNITTELU Luento 2. Vaatimusmäärittelyt käyttöliittymäsuunnittelussa

Marko Nieminen