Käytettävyyden huomiointi ohjelmisto prosessissa testausta lisäämällä

Samankaltaiset tiedostot
Ohjelmistoprosessit ja käyttöliittymäsuunnittelu

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Koodaa ja korjaa -malli

Oleelliset vaikeudet OT:ssa 1/2

2. Ohjelmistotuotantoprosessi

Prosessimalli. 2. Ohjelmistotuotantoprosessi. Prosessimallin vaihejako. Prosessimallien perustehtävät. Ohjelmiston suunnittelu. Vaatimusmäärittely

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä

Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Käyttöliittymien arviointimenetelmät

Toiminnallisen määrittelyn tarina. Esimerkki Reaktorin tavasta tehdä toiminnallista määrittelyä.

Käytettävyys verkko-opetuksessa Jussi Mantere

T Johdatus käyttäjäkeskeiseen tuotekehitykseen. suunnitteluprosessissa. Käyttäjän huomiointi. Iteroitu versio paljon kirjoitusvirheitä

Käyttäjäkeskeinen suunnittelu

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita

Käyttöliittymät II. Käyttöliittymät I Kertaus peruskurssilta. Keskeisin kälikurssilla opittu asia?

Ohjelmistotuotanto, prosessit Syksy Ohjelmistotuotantoprosessi. Prosessimalli. Prosessimallien perustehtävät. Prosessimallin vaihejako

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Linssintarkastusjärjestelmän käyttöliittymän käytettävyyden arviointi

Tapahtuipa Testaajalle...

Ohjelmistotekniikka - Luento 2

Mitä käytettävyys on? Käytettävyys verkko-opetuksessa. Miksi käytettävyys on tärkeää? Mitä käytettävyys on? Nielsen: käytettävyysheuristiikat

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Miten 333 organisaatiota voi kehittää yhtä yhteistä digitaalista palvelua ja vielä kuunnella kaikkien asiakkaita?

Määrittelyvaihe. Projektinhallinta

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

UCOT-Sovellusprojekti. Testausraportti

Lomalista-sovelluksen määrittely

KÄYTETTÄVYYDEN PERUSTEET 1,5op. Käytettävyyden arviointi paperiprototyypeillä Kirsikka Vaajakallio TaiK

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma

Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto

Projektityö

ohjelman arkkitehtuurista.

HELIA 1 (11) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu

S11-09 Control System for an. Autonomous Household Robot Platform

Tilannekatsaus Opintopolku.fi

TUTKIMUKSEN LÄHTÖKOHTIA, TOTEUTUS ja HYÖDYT Kalle Saastamoinen Lappeenrannan Teknillinen Yliopisto LTY 2003

Projektisuunnitelma Nero-ryhmä

Toteutusvaihe T2 Edistymisraportti

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

PROJEKTINHALLINTA. Käyttäjälähtöinen suunnittelu

3. Ryhdy kirjoittamaan ja anna kaiken tulla paperille. Vääriä vastauksia ei ole.

Ical-kalenterisovellus

Ohjelemistotuotanto, syksy 1998 /Prosessi Prosessimallit

käyttötapaukset mod. testaus

T Johdatus käyttäjäkeskeiseen tuotekehitykseen Kertausluento

Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä. Simo Tauriainen

ITK130 Ohjelmistoprosessi

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Tietojärjestelmän osat

Tuotemallipohjaisen toimintaprosessin mallintaminen

Ohjelmistojen suunnittelu

Määrittelyvaiheen vaatimusten vaikutukset käyttöliittymään

$$$ Raha ratkaisee. $$$ Raha ratkaisee. Ohjelmistotuote. Ohjelmistotekniikan määritelmä

Projektityö

Kurssin aihepiiri: ohjelmistotuotannon alkeita

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

työssäoppimispaikan työtehtävissä toimiminen ammattiosaamisen näytön suorittaminen näyttösuunnitelman mukaan. Ammattitaidon osoittamistavat

Test-Driven Development

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

ARVIOINTISUUNNITELMA HSL REITTIOPAS

UUSI ARKKITEHTUURI PAREMMAT PALVELUT. Järjestelmäarkkitehtuurihankkeet

Dokumentointi ketterissä menetelmissä

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Hyvän käyttöliittymän varmistaminen GUIDe-prosessimallilla

Fiksumpi käyttöliittymä kuntaan. Miten kuntien tietojärjestelmät saadaan palvelemaan kuntalaisia? LapIT-päivät 2015

Työssäoppimispaikan työtehtävien ja ammattiosaamisen näytön suorittaminen työssäoppimisja näyttösuunnitelman mukaan hyväksytysti.

EMCS-järjestelmän sanomarajapinnan toiminnallinen kuvaus asiakkaille Meeri Nieminen

Käyttöliittymän suunnittelu tilastotieteen verkko-opetukseen. Jouni Nevalainen

OT-s200: Prosessimallit

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Nimi: Opnro: Harjoitustyön suoritus: ( ) syksy 2006 ( ) syksy 2005 ( ) muu, mikä. 1. Selitä seuraavat termit muutamalla virkkeellä ja/tai kaaviolla:

Ohjelmistoprosessi. Ohjelmistotuotanto. Yleiset ohjelmistotuotannon osatehtävät. Ohjelmistoprosessimalli. Vaihejaon ominaispiirteitä

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

Tuottavatko pilotoinnit tuloksia riittävän nopeasti käytännön hankkeiden kokemuksia

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Scrum is Not Enough. Scrum ei riitä. Ari Tanninen & Marko Taipale. Nääsvillen oliopäivä 2009 Tampereen teknillinen yliopisto 9.12.

Opetussuunnitelmien ja tutkintojen perusteiden rakenteistaminen

Ryhmäläisten nimet:

Uudelleenkäytön jako kahteen

KÄYTETTÄVYYSPÄIVÄ

Potilastiedon arkisto Valmistautuminen tekniseen käyttöönottovaiheeseen Kela, Kanta-palvelut, Viimeisin versio: Kanta.

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

Käytettävyyden arvionti

Käytettävyyslaatumallin rakentaminen verkkosivustolle

Kognitiivisen läpikäynnin ja simulointitestauksen hyödyntäminen ennen käytettävyystestausta

TOIMINNALLINEN MÄÄRITTELY MS

Näkemyksiä ja kokemuksia käyttäjälähtöisestä suunnittelusta Hannu Paunonen Metso Automation Oy

Hyrrä-hankkeen aikataulu Fiksu arvaus vai tarkka tieto?

Testaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille

Transkriptio:

Käytettävyyden huomiointi ohjelmisto prosessissa testausta lisäämällä

Agenda Tehtävänanto Johdanto Näkökulma Ohjelmistotuotantoprosessit Testaus & arviointimenetelmät Menetelmien yhdistäminen, onnistuuko? Systemaattinen käyttöliittymäsuunnittelu/ Vapaata keskustelua ja kysymyksiä

Tehtävänanto Käytettävyyttä voidaan yrittää huomioida lisäämällä ohjelmistokehitysprosessiin käyttöliittymän arviointi- ja testausmenetelmiä (systemaattisen kälisuunnittelun sijaan). Ks. lähtökohdaksi tietoa eri testausmenetelmistä esim. Käli II kurssin luentosivuilta tai testausseminaarin sivuilta. Valitse tarkasteltavaksi pari erilaista ohjelmistoprosessimallia (esimerkiksi vesiputousmalli, evoluutiomalli tai jokin ketterä menetelmä). Lisää näihin prosesseihin parhaaksi katsomasi testausmenetelmät, piirrä niistä kaaviokuvat ja perustele valintasi. Mitä tästä seuraa käyttöliittymälle? Vertaa seurauksia siihen, mitä tapahtuisi, jos prosessiin olisikin lisätty systemaattinen kälisuunnittelu. Valitse konkreettisia esimerkkitapauksia omista työkokemuksistasi tai keksi itse sopivia esimerkkejä.

Johdanto Eräässä työpaikassa oli käytettävyys palaveri Järjestetään muutaman kerran vuodessa Käydään läpi ennakkoon kerättyjä ongelmia, jotka koskevat esim. yksittäisiä dialogeja Selkeästi ongelmat johtuivat kokonaisuudesta Asiakkaan tarkkaa käyttötarvetta ei tunnettu Pohdin jo tuolloin, kuinka ohjelmistoa voisi parantaa vastaamaan paremmin todellisuutta tai kuinka prosessia voisi parantaa?

Näkökulma Näkökulma käyttöliittymäsuunnittelijan rooli Kuinka selviytyä perinteisessä ohjelmistotuotantoprojektissa? Mitä arviointi ja testausmenetelmiä voidaan käyttää, mitä siitä seuraa? Miten nämä ongelmat voidaan havainnollistaa esim. projektijohdolle? Näkökulma perustuu osittain omiin kokemuksiin lähihistorian työpaikasta

Ohjelmistotuotantoprosessit

Vesiputousmalli Peräisin 70-luvulta, insinööritausta Käytettiin alkuaan alkeellisten I/O tyyppisten järjestelmien suunnitteluun Perustuu syötteinä toimiviin dokumentteihin, virheet kertautuvat todennäköisesti Toimii kohtuullisesti pienissä projekteissa, jos tekijätiimi taitava ja kokenut Todellisuudessa prosessin esittämän jaon noudattaminen mahdotonta, projekti luisuu anarkiaan.

Extreme Programming

Extreme Programming Perustuu inkrementaaliseen ohjelmistokehitykseen Asiakas ei tiedä mitä haluaa: I can't tell you what i want, but i'll know when i see it Dokumentointi pyritään minimoimaan Ei panosteta uudelleen käytettävyyteen Ohjelmistoyritysten rahastusautomaatti, jotain tapahtuu jatkuvasti, todellinen vastuu projektista asiakkaalla, laskutus juoksee Jatkuva iterointi lisää monimutkaisuutta

Extreme Programming Malli muodostaa rikkinäisiä työketjuja Tarvittavat toiminnot löytyvät todennäköisesti Asiakas ei hahmota kokonaisuutta

Arviointi- ja testausmenetelmät Tehokkuus Opittavuus Näiden kahden tekijän tasapainon oltava kunnossa Tehokkuuteen voidaan lisätä käytettävyyttä Opittavuus ja tehokkuus voivat olla pahasti ristiriidassa->esimerkki Sopivat menetelmät, jotka sopisivat kälisuunnittelijalle itsenäiseen työhön

Arviointi- ja testausmenetelmät

Simulointitestaus

Simulointitestaus Asiantuntijan simuloima, käyttäjää ei tarvita Selvitetään paras mahdollinen ratkaisu Selvitetään paras kälin tarjoama ratkaisu Ristiriita näiden vaihtoehtojen välillä mahdollinen Asiantuntija simuloi käyttäjää, voisiko käyttäjä täydellisellä tietämyksellä järjestelmästä suorittaa tehtävän Arvioi hyödyllisyyttä ja tehokkuutta Ei ota juuri kantaa opittavuuteen

Simulointitestaus Simulointia suoritetaan useaan kertaan, simuloinnista piirretään havainnollinen kaavio, jossa kaikki vaiheet Tilanteen tulee olla realistinen Tehokkuusongelmat havaitaan esimerkiksi monimutkaisista navigointiketjuista Tietosisältöongelmat löytyvät jos päätöksentekoon ei löydy riittävästi tietoa

Kognitiivinen läpikäynti

Kognitiivinen läpikäynti Asiantuntijan simuloima, käyttäjää ei tarvita Keskittyy opittavuuteen liittyviin ongelmiin Suoritetaan kun tehokkuuteen liittyvät ongelmat on ratkaistu Poistetaan opittavuusesteitä Tietosisällöllä ei merkitystä (on jo kunnossa) Tärkeää on, että käyttäjä keksii ja oivaltaa mitä hänen pitää tehdä Ongelmia voidaan korjata esimerkiksi poistamalla ylimääräisiä vaiheita Vaati proton tai kälikuvat

Heuristinen arviointi

Heuristinen arviointi Asiantuntijan simuloima, käyttäjää ei tarvita Sovellusalueen tuntemisesta etua, tarvittaessa alan asiantuntija avustaa Tarkastellaan käytettävyysperiaatteiden mukaan Auttava esiintulevien ongelmien korjaamista Arviointiin sopii käyttäjätarinasta valmiiseen ohjelmaan Löydetään piileviä käytettävyysongelmia, mutta ei oteta kantaa hyödyllisyyteen

Ohjelmistokehitysprosessit + Arviointi ja testausmenetelmät + =:-)

Ohjelmistokehitysprosessit + Arviointi ja testausmenetelmät Mitä tapahtuu kun perinteisiin prosessimalleihin lisätään arviointi ja testausmenetelmiä? Taustalla tilanneasettelu, tutkielmassa Käyttöliittymäsuunnittelijan valta rajallinen Pääpaino prosesseissa vanhojen tapojen säilyttäminen, koska realistista Käyttöliittymäsuunnittelijan vastuu kasvaa Prosessin muiden osapuolten rooli ei muutu

Vesiputousmalli Määrittely Heuristinen Analyysi Suunnittelu Heuristinen Analyysi Simulointitestaus Toteutus Simulointitestaus Testaus&käyttöönotto Kognitiivinen läpikäynti

Vesiputousmalli Pyritään vähentämään turhia iteraatiokierroksia Estetään virheellisen syötteen pääsy seuraavalle tasolle Vaihesiirtymät kontrolliin, validointitapa Projekti ei pääse toteutukseen, ennen kun käytettävyys kunnossa Käyttöliittymäsuunnittelija tarkastelee jokaista askelmaa käytettävyyden lomassa, kommunikoi kaikille osapuolille heidän omalla kielellään

Vesiputousmalli Määrittelyvaiheessa piirretään esim. umlkäyttötapausten perusteella kälikuvat Kälikuvat ja interaktiomalli toimitetaan toteuttajille, näin koodaajien ei tarvitse ottaa kantaa käyttöliittymään, laatu paranee Toteutusvaiheessa varmennetaan simulointitestauksella, että ohjelmisto vastaa määrittelyään (kälikuvat) Käyttöönoton yhteydessä tulevat ongelmat (käytettävyys, opittavuus, työkulku)

Vesiputousmalli Suoritetaan iteraatiokierroksia ja korjataan ongelmat, kierrosten määrä vähäinen Ei ratkaisi ongelmaa täysin, mutta auttaa varmentamaan ko. prosessissa edes siedettäväntasoisen käytettävyyden Käyttöliittymäsuunnittelijan rooli ja taakka suuri, lähes projektipäällikkömäinen Lopputuloksen ratkaisee se, paljon informaatiota on saatu ja kuinka sitä on käytetty Projekti voi edelleen epäonnistua pahasti

Extreme programming malli

Extreme programming malli Käytettävyyden kannalta suurimmat ongelmat toimintosaarekkeissa Pala palalta ilman suunnitelma toteutettu ohjelmisto on sekainen Koko ohjelmistoa ei voida nähdä XP-muistuttaakin kalliilla tavalla toteutettua GUIDe prosessia Voidaan taistella vastaan suorittamalla sopivissa kohdissa käliarvioita

Extreme programming malli Asiakkaan toiveet kokonaisempia, ei yksittäisiä nappuloita Asiakkaan toiveen jälkeen heuristinen analyysi vaikutuksesta ohjelmistoon Toteutuksen jälkeen simulointitestauksella varmennetaan, että tapaus menee läpi, samoin varmennetaan edelliset tapaukset Näin estetään ohjelman rikkoutuminen Uuden lisääminen ei vahingoita vanhoja

Vesiputous+GUIDe Määrittely -Käyttötapaukset Käyttöliittymäsunnittelu GUIDen tuoma muutos alkuun Käyttöliittymän arviointi-iteraatiot Toteutuksen suunnittelu Toteutus& yksikkötestaus Integrointi & järjestelmätestus Käyttöönotto & Ylläpito

Extreme programming+guide Käyttötapausten selvittäminen Ei asiakkaan laatimia käyttäjätarinoita vaan alussa selvitettyjä käyttötapauksia Käyttöliittymäsuunnittelu Käyttöliittymän arviointi iteraatiot Nopea toteutu ksen suunnitelu GUIDen tuoma muutos projektin alkuun KT 1 Koodaus työnjako 1 Yksikkö testit 1 Pari koodaus 1 Yksikkö testaus 1 Integrointi 1 KT 1 Koodaus työnjako 2 Yksikkö testit 2 Pari koodaus 2 Yksikkö testaus 2 Integrointi 2

GUIDe-edut Ohjelmasta saadaan aina riittävän toimiva pienoismalli ennen kallista toteutusvaihetta Vähentää molemmissa malleissa, erityisesti vesiputousmallissa, iterointia eri kohtien välillä, sillä syöte on jo mahdollisimman oikeellista alusta pitäen Vesiputousmallissa GUIDe auttaa tekemään käytettävyydestä täsmällisen, mitattavan suureen

Kysymyksiä? Yrityksistä näyttäisi olevan tarvetta/kysyntää sellaisille menetelmille, jotka parantavat nykyisiä prosesseja Kynnys kirjoittaa softat uudelleen on aivan liian suuri, lisäksi toimintatavat ovat jäykkiä ja pinttyneitä