KOKOS-seminaari Ohjelmistoarkkitehtuuri osana käyttäjäkeskeistä suunnittelua

Samankaltaiset tiedostot
Ohjelmistoarkkitehtuurit. Syksy 2008

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit. Syksy 2007

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit. Syksy 2010


Ohjelmistoarkkitehtuurit Kevät käytäntöjä

Käytettävyyslaatumallin rakentaminen web-sivustolle. Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -suunnitelma Timo Laapotti 28.9.

Ohjelmistotekniikka - Luento 2

Sisällys. Ratkaisumallien historia. Ratkaisumalli. Ratkaisumalli [2] Esimerkki: Composite [2] Esimerkki: Composite. Jaakko Vuolasto 25.1.

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

9. Muunneltavuuden hallinta

Specifying user requirements for corporate intranet with user centered design methods. Espoo Tekijä: Henri Ström Valvoja: TkT Kalevi Kilkki

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit Kevät käytäntöjä

Käytettävyydestä bisnestä: Tutkimuksesta tuotekehityksen kilpailutekijäksi

Ohjelmistojen suunnittelu

Suunnitteluvaihe prosessissa

10. Muunneltavuuden hallinta: variaatiopisteet

Käyttäjäkeskeisen suunnittelun sulauttaminen osaksi tuotekehitysprosessia

1510 Ihminen ja tietoliikennetekniikka

Ohjelmistoarkkitehtuuri

Standardit osana käyttäjäkeskeistä suunnittelua

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

Käyttäjäkeskeinen suunnittelu

Analyysi on tulkkaamista

ohjelman arkkitehtuurista.

Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto

SoberIT Ohjelmistoliiketoiminnan ja tuotannon laboratorio

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

2 Ohjelmistoarkkitehtuurien kuvaus

Tutkittua tietoa. Tutkittua tietoa 1

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

Bosch-malli. Kolme vaihetta. Termistöä. Ohjelm!toarkkitehtuu"n

Studio ART Oy. Yritysesittely. Studio ART Oy. Kasöörintie Oulu p

Tietojenkäsittelytieteiden koulutusohjelma. Tietojenkäsittelytieteiden laitos Department of Information Processing Science

Ohjelmistoprojektien hallinta Vaihejakomallit

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

UML- mallinnus: Tilakaavio

Suunnitteluratkaisut ja niiden arviointi sulautetuissa järjestelmissä

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

Oleelliset vaikeudet OT:ssa 1/2

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Testaaminen ohjelmiston kehitysprosessin aikana


10. Muunneltavuuden hallinta: variaatiopisteet

Teknologia-arkkitehtuurit. Valinta ja mallinnus

Uudelleenkäytön jako kahteen

SEPA - Design Patterns

3. Komponentit ja rajapinnat

Tietojärjestelmän osat

Ohjelmistojen mallintaminen, kesä 2010

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Muunneltavuuden hallinta (Variability management):

Ohjelmistotekniikan menetelmät, kesä 2008

Laadukas vaatimustenhallinta. Pekka Mäkinen Copyright SoftQA Oy

Yhteiskehittäminen ja palvelumuotoilu

Ohjelmistotekniikan menetelmät, kevät 2008

Decision-centric architecture review method (DCAR) Ohjelmistoarkkitehtuurit Veli-Pekka Eloranta (Samuel Lahtinen)

5. Suunnittelumallit. TTY Ohjelmistotekniikka

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Market. Need Market Research New Needs. Technical Research. Current Technological Level

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2008

Harjoitustehtävät viikolle 42

1 Johdanto. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1

Hirviö. Design Patterns

Käyttäjäkeskeisen suunnittelun periaatteet ja prosessit

Käyttäjäkeskeinen suunnittelu organisaation näkökulmasta

Decision-centric architecture review method (DCAR) Ohjelmistoarkkitehtuurit Veli-Pekka Eloranta

TOIMINNALLINEN MÄÄRITTELY MS

CMM Capability Maturity Model. Software Engineering Institute (SEI) Perustettu vuonna 1984 Carnegie Mellon University

CMMI CMM -> CMMI. CMM Capability Maturity Model. Sami Kollanus TJTA330 Ohjelmistotuotanto Software Engineering Institute (SEI)

CMMI CMMI CMM -> CMMI. CMM Capability Maturity Model. Sami Kollanus TJTA330 Ohjelmistotuotanto

Käyttötapausanalyysi ja testaus tsoft

Johdantoluento. Ohjelmien ylläpito

Ohjelmistotuotanto, suunnittelu Syksy Suunnittelu. Suunnittelun tulos. Suunnitteluprosessin työvaiheet. Suunnitteluprosessi.

Muunneltavuuden hallintaa Kevät 2016 Samuel Lahtinen. Ohjelmistoarkkitehtuurit 2016

Määrittely- ja suunnittelumenetelmät

1 TILATAR. 1.1 Yleistä. 1.2 Projektiorganisaatio

Käyttäjäkeskeisen suunnittelun periaatteet ja prosessit

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi

7.4 Variability management

Decision-centric architecture review method (DCAR) Tarjolla tänään. Arkkitehtuuritietämys Arkkitehtuuritietämys. Arkkitehtuuripäätökset

Suunnittelun tulos. 6. Suunnittelu. Suunnitteluprosessin työvaiheet. Suunnitteluprosessi. 6.1 Arkkitehtuurisuunnittelu.

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO

KÄYTETTÄVYYDEN PERUSTEET 1,5op. Mitä on käyttäjäkeskeinen suunnittelu? Mitä on käyttäjäkeskeinen muotoilu? Pieniä harjoituksia

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

2. Ohjelmistotuotantoprosessi

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

KJ-info Yhteinen Effica askelmerkit

Toiminnalliset ja ei-toiminnalliset vaatimukset Tunnus (ID) Vaatimus Vaatimuksen

1.3 Katsaus ohjelmistotuotannon kehittymiseen

Käytettävyystyön laatu: tarjotaanko oikeita palveluja, tuotetaanko oikeita tuloksia?

Vaatimusmäärittely- ja hallinta. Peruskäsitteet. Syyt aikataulun ja budjetin ylitykseen. TJTA330 Ohjelmistotuotanto

Käytettävyys ja käyttäjätutkimus. Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Vaatimusmäärittely- ja hallinta

Yhteistoimintakaavio (Esimerkki)

Transkriptio:

http://www.cs.tut.fi/ihte http://www.cs.tut.fi/kurssit/ohj-7300 KOKOS-seminaari 22.3.2006 Ohjelmistoarkkitehtuuri osana käyttäjäkeskeistä suunnittelua Jarmo Palviainen

Myytit käytettävyydestä (ohjelmistosuunnittelijan silmin) - usability = nonfunctional quality attribute - Käytettävyys = käyttöliittymän suunnittelu Myytit ohjelmistotekniikasta (koneensuunnittelijan silmin) - ohjelmistoa on helpompi muuttaa kuin rautaa - ohjelmistojen tuottaminen on kuin mitä tahansa muuta suunnittelutyötä - Käytettävyys on vain yksi tekijä muiden joukossa Myytit suunnittelutyöstä (käytettävyysihmisen silmin) - kun tehdään käyttäjäkeskeisesti ja ryhmätyöllä, ongelmat ratkeavat

Esityksen pääasiat Johdanto eli 9 minuutin esitys kahden tunnin aiheesta - Ohjelmistotuotteen kokonaislaatu - Motivaatio, miksi arkkitehtuurit? - Perustermistö ohjelmistoarkkitehtuureista Vaatimuksista hyvään tuotteeseen Usability Framework Koneautomaation ASUP:it Ongelmia ASUP:eissa

Ohjelmiston laatu (SW-näkökulma) ISO9126 määrittää laadun piirteiden (characteristics) avulla Piirteet kuvataan alipiirteiden avulla, jotka ovat helpommin mitattavia Käytettävyysammattilaiset eivät aina jäsennä laatua tämän mallin mukaisesti! - käytettävyys koostuu toiminnan tehokkuudesta, tarkoituksenmukaisuudesta (toiminnallisuudesta) ja miellyttävyydestä [ISO 9241-11]

Ohjelmistoarkkitehtuuri Järjestelmän perusorganisaatio, joka sisältää järjestelmän osat, niiden keskinäiset suhteet ja niiden suhteet ympäristöön sekä periaatteet, jotka ohjaavat järjestelmän suunnittelua ja evoluutiota (IEEE 1471-2000) Osat - suhteet - kehittyminen Rakenne ja käyttäytyminen Kuvaus + perustelut

Miksi ohjelmistoarkkitehtuureja 1/2 Ohjelmistoarkkitehtuuri - Ensimmäisiä artefakteja, joiden perusteella tuotteen kokonaislaatua voidaan arvioida - Varhaiset ratkaisut vaikuttavat merkittävästi tuotteen laatuun. - Joidenkin vaatimusten täyttäminen myöhemmässä vaiheessa mahdotonta, jos niitä ei ole huomioitu arkkitehtuurisuunnittelussa esim. kompromissit tehokkuuden ja ylläpidettävyyden/muokattavuuden suhteen ASUPs (Architecturally Sensitive Usability Patterns) - arkkitehtuurit voivat sallia tai estää käytettävyyden kannalta oleellisia ominaisuuksia esim. toimintojen peruminen (multilevel undo) tiedon tai operaatioiden yhdisteleminen

Miksi ohjelmistoarkkitehtuureja 2/2 Nykyinen ohjelmistojen inkrementaalinen kehitystapa asettaa vaatimuksia arkkitehtuurille - voitava toteuttaa järjestelmää esim. käyttötapaus kerrallaan Iteratiivisuus on UCD-prosessissa oletus Prototypointi helpottuu Tuoteperheet ja ylläpito

Peruskäsite: suunnittelumalli (design pattern) Alexanderin 1977 esittämä idea - kuvaa usein esiintyvän ilmiön (ongelman) yleisen ratkaisun perusajatuksen kontekstin, jossa ongelma ja ratkaisu voivat esiintyä, kuvaa ratkaisun heikkoudet ja vahvuudet

Eri suunnittelumallit Ohjelmistoarkkitehtuurien suunnittelumallit - esim. rekursiokooste-malli Item operation() * children Leaf operation() Composite operation()

Eri suunnittelumallit Ohjelmistoarkkitehtuurien suunnittelumallit - esim. rekursiokooste-malli Käytettävyyden suunnittelumallit - velho, undo, navigointi näkymän sisällä

Eri suunnittelumallit Ohjelmistoarkkitehtuurien suunnittelumallit - esim. rekursiokooste-malli Käytettävyyden suunnittelumallit - velho, undo, navigointi näkymän sisällä Vaatimusten keräämisen mallit (requirements elicitation patterns, [Juristo & Moreno, unpublished]) - Auttavat löytämään vaatimukset ajoissa - KOKOS-projekti sovittaa kehitteillä olevia malleja koneautomaatiokontekstiin

Esityksen pääasiat Johdanto eli 9 minuutin esitys kahden tunnin aiheesta Vaatimuksista hyvään tuotteeseen Usability Framework Koneautomaation ASUP:it Ongelmia ASUP:eissa

Vaatimuksista hyvään tuotteeseen Vaatimusmäärittelyn mallit Käyttöskenaariot + Vaatimukset Käytettävyyssuunnittelumallit Arkkitehtuurin suunnittelumallit Nykyinen arkkitehtuuri Hyvät käytännöt Hyvä arkkitehtuuri mahdollistaa Käyttäjän tarpeet ja vaatimukset täyttävä järjestelmä

Eri (suunnittelu)mallien suhde Vaatimusmäärittelyn mallit Arkkitehtuurin suunnittelumallit Käyttöskenaariot + Vaatimukset Käytettävyyssuunnittelumallit Mitä tietoa tarvitaan eri vaiheissa?! - vaatimusmäärittely (UCD-pro, arkkitehtuurisuunnittelija, käyttäjiä tai heidän edustajiaan, tuotteen omistaja, ) - arkkitehtuurisuunnittelu - määrittely ja käyttöliittymäsuunnittelu

Esityksen pääasiat Johdanto eli 9 minuutin esitys kahden tunnin aiheesta Vaatimuksista hyvään tuotteeseen Usability Framework Koneautomaation ASUP:it Ongelmia ASUP:eissa

Usability framework [Folmer & Bosch 2004]

Usability framework [Folmer & Bosch 2003, Juristo & al 2003] Käytettävyyden attribuuttien, käytettävyysominaisuuksien ja käytettävyyden suunnittelumallien suhteet

Ohjelmiston laadun ja arkkitehtuurin suhde [Folmer 2005] Qualities Quality Architecture Attributes Indicators Properties ASPatterns Design decisions Compose software quality Means to measure qualities Means to measure attributes Guidelines to Improve indicators Solutions to fulfill properties Solutions to implement ASPattens Esimerkki: Velho (wizard) ASUP

Esityksen pääasiat Johdanto eli 9 minuutin esitys kahden tunnin aiheesta Vaatimuksista hyvään tuotteeseen Usability Framework Koneautomaation ASUP:it Ongelmia ASUP:eissa

Arkkitehtuurisesti herkät käytettävyyden suunnittelumallit (Architecturally Sensitive Usability Patterns =ASUP Usability-Supporting Architectural Pattern = USAP) Osa käytettävyyden suunnittelumalleista edellyttää tiettyjä piirteitä ohjelmistoarkkitehtuurilta - vaaditut piirteet taas esitettävissä arkkitehtuurimalleina Tunnistettuja esimerkkejä: - palautteen antaminen riskitilanteissa - toimintojen kohdistaminen useampiin kohteisiin - keskeyttäminen (cancel) ja peruminen (undo) - käyttäjäprofiilit - multichanneling, useiden erilaisten syöttölaitteiden käyttö

Käytettävyyden suunnittelumallit/mekanismit/skenaariot Kieliversiot, kansainvälisyys Hälytykset Järjestelmän tilan ilmaiseminen ja tehtävän keston ennustaminen Pikavalinnat Lomakkeen/kentän validointi Peruminen (Undo) Kontekstisensitiiviset avusteet, velhot, standardiavusteet ja esittely (tour) / (provide good help) Käyttäjäprofiilit ja käyttäjäkohtaisesti räätälöidyt toiminnot/näytöt (workflow//working in unfamiliar context) Historialoki / parametrien historialoki Visualisoinnin tukeminen Cancel Multi-tasking Komentojen yhdisteleminen Useisiin objekteihin kohdistuvat toiminnot Tiedon uudelleenkäyttö Laiteriippumattomuus (erilaiset aksessointimenetelmät) [Bass et al, Folmer & Bosch, Juristo et al, Neeteson]

Käytettävyysskenaariot koneautomaatiossa (Kaivos- ja metsäkoneet) [Neeteson] Järjestelmän tilan tarkkaileminen: - Ehkä tärkein käytettävyyden kannalta. Käyttäjän pitää millä tahansa hetkellä voida helposti selvittää järjestelmän tila. Mm. varoitusviestien käyttö liittyy tähän skenaarioon. Oikeellisuuden tarkistus: - tarkistetaan käyttäjän syötteet ennen kuin operaatiota aletaan suorittamaan. Työpöytäsovelluksessa tämä yleensä tarkoittaa tiedon konsistenssiuden tarkistamista ennen kuin se talletetaan tietokantaan. Koneautomaatiossa voidaan myös tarkistaa osien ja alijärjestelmien tila ennen operaation aloittamista. Järjestelmän evaluointi: - Järjestelmään sisällytetään ominaisuuksia, joiden avulla voidaan seurata sen käyttöä ja siten kehittää käytettävyyttä. Virhetilanteista toipuminen: - Järjestelmät on suunniteltava siten, että virhetilanteessa hukkaan menevän työn määrä minimoituu. järjestelmän pitäisi myös palauttaa itsensä viimeisimpään mahdolliseen tilaan ennen virhetilannetta. Visualisoinnin tukeminen: - Tarvitaan erilaisia keinoja suurten tietomäärien visualisoimiseen, jotta niitä voidaan tarkkailla.

Esimerkki: Parameter history logging [Neeteson] Parantaa käyttäjän tehokkuutta - rutiinisuorituksissa nopeuttaa virheistä vapaita rutiinisuorituksia tarjoamalla tukea historiatiedon muodossa pienentää todennäköisyyttä, että käyttäjä kokeilee virheellisiä parametrin arvoja - Ei-rutiinisuorituksissa Tukee ongelmanratkaisua antamalla enemmän vihjeitä siitä, mitä tehdä. Tukee myös oppimista, kun käyttäjän on helpompi ymmärtää erilaisten asetusten mahdolliset vaikutukset DeviceType Device DeviceLocation Lisää käyttäjän luottamusta ja mukavuutta - Käyttäjä kokee olonsa luottavaisemmaksi saadessaan vihjeitä aiemmin käytettyjen parametriarvojen vaikutuksista (kun pitää käsitellä suuria parametrijoukkoja, mikä on virhealtista) PK PK FK1 Id Name ImageName HiddenImageName DeviceParameter Id DeviceTypeId Name SourceIndex SourceSubIndex SourceType ValueCount DisplayType Advanced PK Id Name FK1 TypeId FK2 LocationId NodeId SoftwareVersion IsVirtual ParentId GUIDiagramX GUIDiagramY DeviceParameterValue PK,FK1 PK,FK2 DeviceParameterId DeviceId Value ValueIndex PK Id Name HatchNumber SoftwareParameter PK Id Name Value Type MinValue MaxValue

Esityksen pääasiat Johdanto eli 9 minuutin esitys kahden tunnin aiheesta Vaatimuksista hyvään tuotteeseen Usability Framework Koneautomaation ASUP:it Ongelmia ASUP:eissa

Ongelmia ASUP:ien käytössä Vastaukset löydettävä jo vaatimusten keräämisvaiheessa ASUP:it edelleen liian epämääräisiä etenkin arkkitehtuurisuunnittelijan näkökulmasta (ei riittävää osaamista käytettävyydestä) - Vaikea löytää sovellusalueen ja sovelluksen kannalta oleelliset - Vaikka sanottaisiinkin esim. että tarvitaan undo, pitäisi tietää mitä pitää voida perua ja miten - Low-fi protoilulla harvoin törmätään ASUP-tarpeeseen Ratkaisu Vaatimusmäärittelyn mallit (requirements elicitation patterns) ohjaavat kysymään oikeista asioista riittävän tarkkoja kysymyksiä

Ongelmia ASUP:ien käytössä ASUP:in tukeminen arkkitehtuuritasolla onnistuu vasta kun on jokin järkevä arkkitehtuuri - työkalut, kehitysympäristöt, valmiskomponentit, arkkitehtuuriosaaminen, panostusten määrä Ratkaisu?

Esityksen pääasiat Johdanto eli 9 minuutin esitys kahden tunnin aiheesta Vaatimuksista hyvään tuotteeseen Usability Framework Koneautomaation ASUP:it Ongelmia ASUP:eissa Bonus

Lähteitä: arkkitehtuuri & käytettävyys Bass, L., John, B.E., Kates, J. Achieving usability through software architecture. Technical report, CMU/SEI-2001-TR-005. Ferre, X., Juristo, N., Moreno, A., Sánchez, I. A Software Architectural View Of Usability Patterns, 2nd Workshop on Software and Usability Cross-Pollination (at INTERACT'03) Folmer, E., Bosch, J. Usability Patterns in Software Architecture, Proceedings of the Human Computer Interaction International 2003, Pages 93-97, June 2003. Folmer, E., Bosch, J. Architecting for usability: a survey. 2004. http://www.eelke.com/research/jsssurvey.pdf Folmer, E. Software Architecture analysis of usability. PhD. Thesis University of Groningen. ISBN - 90-367-2361-2, 2005. http://www.eelke.com/research/literature/thesis-efolmer.pdf Koskimies, K., Mikkonen, T. Ohjelmistoarkkitehtuurit, Talentum Media Oy, 2005. Neeteson, D, julkaisematon opinnäytetyö, TTY/ University of Groningen,julkaistaneen 2006.

Lähteitä: käytettävyyden suunnittelumallit Erickson, T. The Interaction Design Patterns Page http://www.visi.com/~snowfall/interactionpatterns.html Welie, van M. The Amsterdam Collection of Patterns in User Interface Design http://www.welie.com/index.html PoInter collection at Lancaster University http://www.comp.lancs.ac.uk/computing/research/cseg/proj ects/pointer/pointer.html Tidwell, J. The Case for HCI Design Patterns http://www.mit.edu/~jtidwell/interaction_patterns.html