Pakkanen * * * Sovellustuotannon menetelmäpilotti

Samankaltaiset tiedostot
Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Ohjelmistotekniikka - Luento 2

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

PlugIT-projektin työsuunnitelma 3. jaksolle EHDOTUS johtoryhmälle, Koko projektin keskeiset tehtävät

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Esityksen sisältö Määrittelyjen mukaisuudesta varmistuminen - PlugIT-leima

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

2. Ohjelmistotuotantoprosessi

Projektin suunnittelu

Helia Ohjelmointitaito Tuomas Kaipainen Mermit Business Applications Oy Mermit Business Applications

Käyttövaltuushallinnan hyödyt tehokkaasti käyttöön. Johanna Lampikoski, RM5 Software Juha Arjonranta, TeliaSonera Finland

Ohjelmistojen suunnittelu

PlugIT / Ydin: teemat ja jaksojen 2-6 suunnitelma ( )

Testaaminen ohjelmiston kehitysprosessin aikana

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Projektityö

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

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

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Sopimus Asiakas- ja potilastietojärjestelmästä. Liite N: Kielivaatimukset

Soveltamiskokemuksia ohjelmistotuotannon menetelmistä

Ohjelmistotekniikan menetelmät, kesä 2008

Tuotemallipohjaisen toimintaprosessin mallintaminen

Tapahtuipa Testaajalle...

Oppijan palvelukokonaisuus. Tietomallinnuksen laaja katselmointi

Hankesuunnitelma. Novus-Hanke. Novus-Hanke. YYL:n tietojärjestelmien kokonaisuudistus HANKESUUNNITELMA. LIITE 1

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

Käyttäjäkeskeinen suunnittelu

Suunnitteluvaihe prosessissa

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

UCOT-Sovellusprojekti. Testausraportti

Valtioneuvoston kanslia VAIN VIRKAKÄYTTÖÖN Hallinto- ja palveluosasto/hallintoyksikkö Terja Ketola PTJ2008-työsuunnitelma 1 (5)

Katselmoinnit. review) Katselmoinnit (review( Mitä ovat katselmoinnit? Katselmoinnin määritelmä (IEEE 1988)

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg

Sähköi sen pal l tietototurvatason arviointi

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

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

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita

Millainen on menestyvä digitaalinen palvelu?

Laatu tietojärjestelmähankkeissa. Tietohallinnon kokemuksia Juha-Pekka Leskinen Atk-päällikkö Eduskunnan kanslia

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

Ohjelmistotekniikan menetelmät, kevät 2008

Kuntien Kansalliseen palveluarkkitehtuuriin liittyminen. Kunta-KaPA

Katselmoinnin määritelmä. Katselmoinnit osa 1. ja vielä ajatuksia katselmoinneista. Katselmointi. Katselmointi, katselmus (review) IEEE Std

TIETOKANNAN SUUNNITTELU

Kansallinen ASPAtietojärjestelmä

Ohjelmiston toteutussuunnitelma

Tervetuloa ehoksseminaariin!

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

JHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 6: Katselmointi

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

Kurssin aihepiiri: ohjelmistotuotannon alkeita

Ohjelmiston testaus ja laatu. Testaustasot

TOIMINNALLINEN MÄÄRITTELY MS

Oleelliset vaikeudet OT:ssa 1/2

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Toiminnallisten vaatimusten jäljitettävyys tietotarpeisiin ja ohjelmistoratkaisuihin terveydenhuollon tietojärjestelmissä

Uudelleenkäytön jako kahteen

DIGIROAD DIGIROAD PALVELUT

Opetussuunnitelmien ja tutkintojen perusteiden rakenteistaminen

Miten varmennan ICT:n kriittisessä toimintaympäristössä?

Avoimen ja yhteisen rajapinnan hallintamalli

ZENworks Application Virtualization 11

Johdantoluento. Ohjelmien ylläpito

KONEAUTOMAATION LAATU JA TURVALLISUUS Marko Varpunen

Projektin tavoitteet

Tietojärjestelmän osat

xxx avoimen rajapinnan hallintasuunnitelma (VALMIS 1.4)

XBRL-raportointi julkishallinnolle. Tietojärjestelmätoimittajainfo Kuntatieto-ohjelmasta Seppo Harju

Tavoitteena saada päätökseen yliopiston ja Enfon tekninen järjestelmän kehittämisprojekti 06/2014 mennessä (minimitavoitteiden osalta).

PILETTI. Tekninen vaatimusmäärittely. v. 0.2

Kieliaineistojen käyttöoikeuksien hallinnan tietojärjestelmä

Määrittely- ja suunnittelumenetelmät

T Projektikatselmus

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

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

JulkICTLab Eteneminen Mikael Vakkari, VM

Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle

PerustA - Perustietovarantojen viitearkkitehtuuri. Liite 3: Tietojärjestelmäarkkitehtuurin. integraatioarkkitehtuuri

T Tietojenkäsittelyopin ohjelmatyö Hirviöryhmä loppukatselmointi. Hirviö. Projektikatselmointi

Sovelluspalvelin terveydenhuollon sovellustuotannossa ja sovel Iusintegraat iossa, Juha Rannanheimo, Kuopion YO

Prosessiajattelu. Organisaation prosessikuvaus - CMMI. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessien määritys CMMI käytänteet

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Kontrollipolkujen määrä

Testiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt

XDW-projektissa rakennetut palvelut

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Onnistunut Vaatimuspohjainen Testaus

Testaussuunnitelma Labra

SYSTEEMITYÖ. Tärkeitä sanoja

ITK130 Ohjelmistoprosessi

Dynaaminen analyysi IV

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Ohjelmistojen mallintaminen, kesä 2009

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Verkkopalkan palvelukuvaus

Transkriptio:

, mallit ym. Pakkanen * * * Sovellustuotannon menetelmäpilotti Pakkanen pähkinäkuoressa PlugIT-seminaari 29.-30.3.04 Annamari Riekkinen ja Kirsi Karvinen PlugIT Kuopion yliopisto / Tietotekniikkakeskus /HIS-tutkimusyksikkö Sisältö Komponenttilähestymistapa käsitteenä: yhteyksien hallinta rajapintatasolla, arkkitehtuuri ja prosessiajattelu. Pakkasen taustaa: tarve menetelmäpilotille ja pilottikohteen esittely. Pakkasen keskeisimmät näkökulmat lyhyesti Pakkanen iteratiivinen prosessi: 2 päävaihetta Taustamateriaalia: Käsitteitä, teoreettinen tausta Komponentti- ja palvelupohjaisuus Komponenteista koostettu toteutus Olioihin perustuva toteutus rajapintaluokka g h g h Arkkitehtuuri keskeisessä roolissa Web-selain Käyttöliittymätaso (kerros) f d f Webpalvelin tai asiakas J/ASP J/ASP J/ASP Dialogitaso (kerros) (työpöytätaso) d e c uses rajapintaluokka c e Yhden käyttäjän palvelut b a a b Komponentti (sovellus) Sovelluspalvelin Järjestelmätaso (kerros) Sovelluskohtaiset palvelut Toimintalogiikkataso (kerros) Eri sovellusten yhteiset palvelut Sovellus jäsennetään joukkona komponentteja, jotka tarjoavat käyttäjilleen palveluja suunnittelunäkökulma Jokainen rakentuu joukosta yhteistyötä tekeviä olioita (sisäisen toteutuksen ei kuitenkaan tarvitse olla oliopohjainen!) toteutusnäkökulma Tietokantapalvelin Tietokanta Toiminnan jakaminen itsenäisiin osiin uudelleenkäytettävyys korvattavuus (ylläpito) Komponenttipohjainen ohjelmistotuotanto Prosessiajattelu Ohjelmistotuotannon kaikki vaiheet perustuvat komponentteihin toimintalähtöinen vaatimusmäärittely: vaatimukset toimintaprosesseja tarkastelemalla toiminnan kannalta keskeisten en tunnistaminen. sovelluksen ja sovellusarkkitehtuurin suunnittelu. en toteutus (hankinta) ja sovelluksen koostaminen. sovelluksen testaus. sovelluksen käyttöönotto (tekninen: sovelluksen hajautus). en (ohjelmisto-osien ja palveluiden) itsenäinen jakelu. tekniikat (J2EE,.NET, web, tietokannat, jne.) prosessi ja menetelmät, jotka tukevat - ja palvelulähestymistapaa. Ohjelmistoja tuotetaan prosessissa, jossa on erilaisia vaiheita (tai tasoja). Vaiheisiin sisältyy erilaisia tehtäviä ja tehtäväkokonaisuuksia, joilla on erilaisia keskinäisiä riippuvuuksia. Prosessi on iteratiivinen ja samoin eri vaiheet ovat iteratiivisia. Miten tehtäväkokonaisuudet tukevat toisiaan kokonaisprosessissa? ja suunnittelu ja koostaminen kartoitus analysointi paperiprotot, näyttöprotot, testaus, näytöt Näytöt ja ulkoasu Käyttöliittymälogiikan toteutus ja testaus arkkitehtuurin, en, rajapintojen määrittelyt sovelluksen testauksen suunnittelu, testitapausten laadinta en toteutus (testaus) ja yhdistäminen (testaus) testaus

Tausta ja tarve menetelmäpilotille Miksi menetelmäpilotti? Terveydenhuollon ohjelmistojen toimittajien tarve ottaa käyttöön uudempia tekniikoita. Myös yliopistossa on edessä tilanne, jossa valitaan tekniikat ja välineet tulevaisuuden sovelluskehitystarpeisiin tarjoaa pilottiympäristön. Lähtökohdaksi on valittu - ja palvelulähestymistavan mukaiset tekniikat. Tekniikoiden lisäksi tarvitaan tietoa siitä, millainen prosessi ja millaiset menetelmät tukevat valitun lähestymistavan mukaista sovelluskehitystä. Pilottikohteen esittely Tietotekniikkakeskuksessa kehitetty Pakka-sovellus, jonka avulla ylläpidetään Tiken hallinnoimien palvelinkoneiden käyttäjätunnuksia. Pilotoinnissa tarkastelussa keskeisimpien toimintojen osalta. Nykyisellä sovelluksella muutama käyttäjä. Fileman ja Delphi-FixÍT-tekniikoihin perustuva työpöytäsovellus. Henkilö Henkilökohtainen käyttäjätunnus, esim. annamari Pakka Messi Henkilökunnan sähköpostipalvelin Palvelinkoneet Pinna Hallinnon sovellusten palvelin Pakan tarkoitus: helpottaa palvelinkoneiden käyttäjätunnusten hallintaa ja käyttäjän elämää, esimerkiksi: mahdollistaa yksikäsitteisen käyttäjätunnuksen voimassaoloaika, tunnuksen varaus sulkemisen jälkeen ym. Pakkasen tehtävät Tehtävämääritelmä: sovellusosan uusiminen palvelupohjaiseen arkkitehtuuriin käyttämällä teollisuusstandardeihin pohjautuvia tekniikoita sekä PlugIT-projektissa tutkittuja tai kehitettyjä menetelmiä niin, että menetelmäpilotissa saadut tulokset ovat ohjelmistoyritysten hyödynnettävissä. Tehtävä on selvittää, kuinka kattavia johtopäätöksiä organisaatiossa voidaan tehdä sovellusosan toteutuksen pohjalta valittaessa uusia tekniikoita sovelluskehitystä varten päätöksenteon tuki. Tehtävä on koota kokemusten pohjalta kevyet toimintatavat, jossa eri tehtäväkokonaisuudet tukevat toisiaan prosessissa. Pakkanen keskeisten näkökulmien valossa Vaikutteet ja näkökulmat Iteratiivinen menetelmäkehitys Komponentti- ja palvelulähestymistavan vaatimukset Prosessiajattelun tuki: eri tehtäväkokonaisuuksien keskinäiset riippuvuudet ja vaiheistus Käytettävyys ja laadunvarmistus (turvallisuus ja ohjausprosessi) Prosessi, joka tukee - ja palvelupohjaista lähestymistapaa s.e. laadunvarmistus ja käytettävyys huomioidaan koko prosessin ajan (turvallisuus ja ohjaus). Menetelmäkehitys on iteratiivinen prosessi (Turvallisuus) Käytettävyys (Ohjausprosessi) Perusprosessimallin valinta: - vaatimusmäärittely - komponettien ja arkkitehtuurin määrittely - en hankinta (toteutus) - sovelluksen kokoaminen - testaus - (käyttöönotto ja ylläpito), mallit ym. Menetelmien valinta: toimintalähtöinen vaatimusmäärittely: työtoiminnan malli menetelmä en ja arkkitehtuurin määrittelyyn (näkökulmia määrittelyjen sijoittamiseksi toteutustekniikoihin) tavoitteet ja vaatimukset teknisille ratkaisuille

Pakkasen toteutus 1. vaiheessa Iteratiivinen menetelmäkehitys Luo käyttäjätunnus Komponenttien ja sovellusarkkitehtuurin määrittely Arviointi jen sijoitus toteutustekniikoihin toteutus Iteraatio: Prosessi vaatimusmäärittelystä toteutukseen yhden käyttötapauksen osalta. Valittujen menetelmien (vaatimusmäärittely ja en määrittely) käyttöönotto ja opiskelu käytännön soveltamisen myötä. Tekniikoiden valinta ja teknisten ratkaisujen kokeilut yhden käyttötapauksen osalta. arviointi Data Havaitut ongelmat: n tuki puuttui. (Formaali tarkastusmenettely raskas laadunvarmistuksessa)., mallit ym. Painopiste käytettävyyden huomiointiin prosessissa. Menetelmäkehitys: käytettävyysnäkökulma mukaan vaatimusmäärittelyvaiheen alusta alkaen toimintalähtöinen vaatimusmäärittely: toimintaprosessit en ja arkkitehtuurin määrittelymenetelmän validointia teknisten ratkaisujen arviointia laadunvarmistukseen läpikäynnit ja katselmoinnit Pakkasen toteutus 2. vaiheessa How to DoIT Tekniikkavalinnat Sovellus Testattu sovellus Prosessin täydennys käytettävyys- (käyttöliittymän suunnittelu) ja laadunvarmistusnäkökulmilla. Tehtävä: Demosovelluksen toteuttaminen kokemusten paketointi menetelmäsalkkuun. Pakkasen tulokset Dokumentoitu demosovellus Pakkanen Menetelmäkuvaukset menetelmäsalkkuun: toimintalähtöinen vaatimusmäärittely käyttöliittymän suunnnittelu en ja sovelluksen arkkitehtuurin määrittely en ja käyttöliittymän toteutus ja sovelluksen koostaminen laadunvarmistus Arviointia: vaatimuksia ja tavoitteita tekniikoiden ja välineiden valintaan saatujen tulosten yleistettävyys (Turvallisuus) Käytettävyys (Ohjausprosessi) Pakkanen - tavoitteita Pakkanen - tavoitteita Koota kokemukset erilaisista menetelmistä siten, että ne tukevat prosessiajattelua: toimintalähtöinen vaatimusmäärittely sovelluksen palveluarkkitehturin luonti en määrittely ja dokumentointi käyttöliittymä- ja tietokantasuunnittelu en toteuttaminen valituilla tekniikoilla sovelluksen koostaminen ja testaus (en että pohjaisten sovellusten käyttöönotto ja ylläpito) käytettävyys- ja laadunvarmistusnäkökulman huomiointi koko prosessissa. - Selvittää millaisia asioita ja näkökulmia pitäisi ottaa huomioon tekniikkavalintoja tehdessä (projekti/organisaatiokohtisesti). Koota kokemuksia sovelluksen toteuttamisesta pohjaisen lähestymistavan periaatteiden mukaan eri tekniikoilla ja välineillä. määrittelyjen sijoittaminen toteutustekniikoihin, esim. palveluarkkitehtuurin sijoittaminen J2EE ja.net arkkitehtuureihin. en rakentaminen, sovelluksen koostaminen ja ulkopuolisen palvelun käyttöönotto sovelluksessa. ratkaisut varastoksi? eri tekniikoiden perusfilosofia ja periaatteet, minkälaisiin tilanteisiin soveltuvat? tekniikoiden ja välineiden käyttöönotto? Migraatiokokeilut: Fileman-kannasta relaatiokantaan: tietokantarakenteen ja tietojen siirto: mitä voidaan/kannattaa automatisoida ja mitä on tehtävä käsityönä. Pilottiprojektin rooli päätöksenteon tukena (saavutettujen tulosten soveltaminen todellisuudessa).

Käsitteitä Sovellustuotantoprosessin päävaiheet: määrittely, suunnittelu, toteutus, testaus ja käyttöönotto (sekä ylläpito). Pakkanen: teoreettinen tausta, käsitteitä Prosessimallit: Vesiputousmalli: prosessissa vaiheet seuraavat toisiaan peräkkäin niin, että koko sovelluksen osalta edellinen vaihe tehdään loppuun ennen seuraavaan vaiheeseen siirtymistä. Ohjelman toimintalogiikka ja tietosisällön käyttötavat konkretisoituvat projektin lopussa. Soveltuvuus työtehtäviin voidaan varmistaa vasta kuin sovellus on kokonaan valmis. Inkrementaalinen (ja iteratiivinen) lähestymistapa: ohjelmistoa kootaan osissa siten, että aluksi suunnitellaan ja koodataan pieni osa toiminnallisuutta, joka testataan. Seuraavaksi suunnitellaan lisää toimintoja, jotka toteutetaan ja testataan. Muutoksiin varaudutaan koko ohjelmiston kehitysprojektin ajan (uskomus, että vaatimuksia ei voida saada riittävän hyvin selville projektin alussa). Komponenttipohjaisen sovellustuotannon näkökulmia Toimintaprosessit sovellustuotannon lähtökohtana: määritellään sovelluksen rajat ja tavoitteet (käyttötapaukset) ts. määritellään mitä toimintaprosesseja sovellus tukee ja miten. Palveluarkkitehtuuri: sovellus määritellään joukkona komponentteja, jotka tarjoavat toisilleen palveluja rajapintojensa (eli liittymiensä) kautta. Komponenttivarasto: uudelleenkäyttö. Dokumentointi tärkeää: käyttömahdollisuudet, käyttö, versiointi. Komponenttien hankinta: löydettävyys, panostuksen uudelleenkäyttöön täytyy olla (huomattavasti) pienempi kuin sen tekeminen (uudelleen). Komponenttiteknologiat (mm. J2EE/.NET). Komponenttien toteutus, sovelluksen koostaminen ja suoritusympäristö. Komponenttipohjaisen sovellustuotannon näkökulmia Sovelluskehityksessä kaksi erillistä prosessia: sovellusten koostaminen komponenteista (löytäminen, yhdistäminen ja mukauttaminen) yksittäisten en toteuttaminen (määrittelyjen pohjalta) Sovellustuotannon vaiheita vaatimusmäärittely (keräys, kokoaminen ja analysointi, kuvaus) sovelluksen määrittely ja suunnittelu (komponentit ja niiden rajapinnat, palveluarkkitehtuuri, käyttöliittymä, tietovarasto) en hankinta (toteutus, osto, teetto, ulkopuolisen palvelun käyttöönotto, oman olemassa olevan palvelun käyttöönotto jne.) sovelluksen koostaminen (en yhdistäminen ja mukauttaminen) sovelluksen testaus sovelluksen jakelu ja käyttöönotto sovelluksen ylläpito Cheesman&Daniels: pohjainen sovellustuotantoprosessi, mallit ym. Pakkasessa sovellettu perusprosessi Cheesman&Daniels sovellustuotantoprosessi Perustuu Rational Unified Process l. RUP-malliin. Periaate ylläpidon näkökulma: painottaa en välisten riippuvuuksien hallintaa toteutus voidaan vaihtaa ilman, että se vaikuttaa liittymän olemassa olevien käyttäjien tapaan kutsua palveluja. Painopiste on arkkitehtuurissa, jossa en väliset riippuvuudet ja yhteydet määritellään rajapintatasolla. Mallinnustekniikka UML, johon on tehty joitakin laajennoksia (määrittelynäkökulma). Ei huomioi riittävästi käyttöliittymän suunnittelua. Lisäksi tarvitaan (ainakin) laadunvarmistus-, turvallisuus- ja ohjausnäkökulma. Pakkasessa pääpaino on ollut käytettävyys- ja laadunvarmistusnäkökulmissa, mutta turvallisuus- ja ohjausnäkökulmia ei ole käyty läpi yhtä systemaattisesti.

GUIDe prosessimalli : käyttötapaukset Käyttäjien työnkulut selvitetään vaatimusmäärittelyvaiheessa pääasiassa kenttätutkimusten avulla (vrt. toimintalähtöinen vaatimusmäärittely). Tärkeimmistä työtehtävistä ja tavoitteista johdetaan käyttöliittymäkuvaus, joka testataan. Testattu (ja hyväksytty) kuvaus siirtyy toteutuksen suunnitteluun. Toteutuksen suunnittelu, koodaus ja testaus * vesiputousmalli * evoluutiomalli, XP tms. GUIDe prosessimalli Projektimalli perustuu käyttäjien työtehtäviä kuvaaviin tavoitepohjaisiin käyttötapauksiin (goal-based use cases) ja käyttöliittymäsuunnitteluun (goal-derived design). Käyttöliittymä suunnitellaan heti projektin alussa vaatimukseksi toteutukselle. Tavoitteena testata käyttöliittymäratkaisuja ja ohjelmiston soveltuvuutta työtehtäviin varhaisessa vaiheessa, jolloin muutosten tekeminen on helpompaa ja nopeampaa ( edullisempaa). Käyttöliittymäkuvaus konkretisoi vaatimusmäärittelyä. Vaatimukset voidaan saada selville riittävän täsmällisesti jo projektin alkuvaiheessa. Cheesman&Daniels + GUIDe Käyttöliittymäkuvat käyttöohje Käyttöliittymäkuvat, Käytettävyystestaus Käyttöohje, mallit ym. n vaikutus prosessiin käytettävyysnäkökulma (vihreä) Testauksen ja testitapausten suunnittelu V-prosessimalli Hyväksymistestaus Asiakkaat Kehittäjät Testauksen tasot Yksittäiset kehittäjät Testitapausten suoritus, testauksen toteutus V-prosessimalli Laadunvarmistuksen näkökulmat: todennus (verifiointi): arviointi, että tuote tehdään oikein kelpuutus (validointi): arviointi, että tehdään oikea tuote testaus: ohjelmiston suoritus edellisten kohtien todentamiseksi. Sovelluksen testaus huomioidaan projektissa alusta asti. perustuu määrittelyihin l. testaussunnitelma ja testitapaukset laaditaan etukäteen ennen toteutusta. määrittelyjen katselmointi ja testaus Virheitä löytyy aikaisessa vaiheessa, jolloin niiden korjaaminen on helpompaa ja edullisempaa. V-mallin idea sopii hyvin en ja pohjaisen sovelluksen testausprosessiksi. Tavoite: estää virheiden pääsy tuotteeseen sekä varmistaa, että ohjelmistos täyttää sille asetetut vaatimukset = laadunvarmistus. Cheesman&Daniels + GUIDe + V-malli Järjestelmätestaus ryhmä Integrointitestaus Komponenttitestaus Käyttöliittymäkuvat Testauksen vaikutus prosessiin (lila) Käyttöliittymäkuvat, Käytettävyystestaus Hyväksymistestaus, Käyttöohje Järjestelmätestaus, mallit ym. Käyttöohje, Hyväksymistestaus Järjestelmätestaus

Sovelluskehitysprosessi Vaiheet eli portaat: (Sovelluksen ylläpito) (Sovelluksen käyttöönotto) Sovelluksen testaus Sovelluksen koostaminen Komponenttien toteutus (osa hankintaprosessia) ja suunnittelu Toimintalähtöinen vaatimusmäärittely (Turvallisuus) Käytettävyys (Ohjausprosessi) Pakkasessa: ja tarkastus huomioitu koko prosessissa. Sovellettavien menetelmien tuki testitapausten määrittelyssä ja testauksen toteutuksessa: tuotokset tukevat testausprosessia. Tarkastuksessa kokeiltu formaalia tarkastusmenettelyä: löytyy virheet tekijät joutuvat miettimään perusteluja tarkemmin rajoittuu dokumentteihin (tosin voisi olla sovellettavissa myös muihin tuotoksiin) menettelyyn osallistujien on hyvä tietää perusasiat tarkastuksen kohteesta (esim. määrittely) valmistautuminen vie aikaa Tarkastukset toteutettu erilaisin läpikäynnein, esimerkiksi: dokumenteille kommentointia ja katselmointeja käyttöliittymänäyttöjen läpikäynti käyttäjän kanssa. Turvallisuus Ohjausprosessi Erilaisia näkökulmia: Tietosuoja, esim. sovelluksen ja tietojen käyttöoikeudet sisäänkirjautumismekanismit tietojen luokittelu ja suojaus Tietojen virheettömyys eheys (oikellisuus, ristiriidattomuus = sallittu tila) syöttötietojen oikeellisuuden tarkistus Sovelluksen oikea toiminta sovelluslogiikka Sovelluksen turvallinen toiminta toipuminen virhetilanteista (esim. sähkökatkot, levyrikot) Tiedonsiirto salausmekanismit Valvonta lokit Toimintatavat, jotka sovitaan yhteisesti organisaatiotasolla, ei tarvitse luoda uudelleen jokaisessa projektissa. Projektin hallinta: esim. suunnittelu, toteutus, seuranta, riskienhallinta, resurssien hallinta. Tuotteen ja tuotosten hallinta: Konfiguraation ja muutosten hallinta: esim. ryhmätyöntuki ja versiointi sekä tuotteen että erilaisten projektin aikana tuotettavien artefaktien osalta. Vaatimustenhallinta Dokumentointi ja dokumenttien hallinta Komponenttien hankinta- ja hallintaprosessi Uudelleenkäytön tasot jne. osittain päällekkäisiä ja toisiinsa lomittuvia asioita (lisää kaiteita tikapuihin). Lisätietoa Kiitos! Pakkasessa syntyvää materiaalia on osapuolten saatavana: Yhteyshenkilöille tuotokset - menetelmät sovellustuotannon ja integraation yleiset menetelmät esimerkit Http://www.uku.fi/plugit/yhteys/pakkanen Kirsi Karvinen: Kirsi.Karvinen@uku.fi Annamari Riekkinen: Annamari.Riekkinen@uku.fi Pakkanen Lähteet: Cheesman John; Daniels John. UML Components: A Simple Process for Specifying Component-Based Software. Szyperski (toim.) Component Software Series. 1.painos. Addison-Wesley, Boston, 2001. Laakso,Sari. Hyvän käyttöliittymän varmistaminen GUIDe-projektimallilla. Helsingin yliopisto, tietojenkäsitetlytieteen laitos. Saatavana: <URL: http://www.cs.helsinki.fi/u/salaakso/papers/guidesuomeksi.html>,viitattu 24.3.2004.