DI Uolevi Nikula prof. J Sajaniemi, prof. H Kälviäinen



Samankaltaiset tiedostot
BaRE Käyttövalmis vaatimusmäärittelymenetelmä

Software engineering

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Ohjelmistotekniikka - Luento 2

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

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

Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.

Vaatimusmäärittely- ja hallinta

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

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Otanta-aineistojen analyysi (78136, 78405) Kevät 2010 TEEMA 3: Frekvenssiaineistojen asetelmaperusteinen analyysi: Perusteita

Määrittely- ja suunnittelumenetelmät

Testaaminen ohjelmiston kehitysprosessin aikana

Standardi IEC Ohjelmisto

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara

Prosessikuvaukset ja elinkaarimallit

Käyttäjäkeskeisen suunnittelun periaatteet ja prosessit

Johdanto. Mitä on ohjelmistotuotanto? Tämän kurssin näkökulma. Sami Kollanus TJTA330 Ohjelmistotuotanto

Mitä on ohjelmistotuotanto?

Peruskäsitteet. Vaatimusmäärittely- ja hallinta. Vaatimusmuutosten hinta. Syyt aikataulun ja budjetin ylitykseen

Tietojärjestelmän osat

Ketterien periaatteiden merkitys projektityössä

Englannin kielen ja viestinnän ja ammattiaineiden integrointiyhteistyö insinöörikoulutuksessa

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

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

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Käyttäjäkeskeinen vaatimusmäärittelytyö ketterän käyttöliittymäsuunnittelun haasteena

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

Computing Curricula raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

Millainen on onnistunut ICT-projekti?

2. Ohjelmistotuotantoprosessi

Tieto- ja viestintätekniikkaa opetustyön tueksi

TIETOLIIKENNETEKNIIKKA I A

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

Tutkittua tietoa. Tutkittua tietoa 1

Ohjelmistotuotanto historiallinen perspektiivi JOTU2013/K.Systä 1

7. Product-line architectures

Koodaa ja korjaa -malli

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

Collaborative & Co-Creative Design in the Semogen -projects

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

Mitä on ohjelmistotuotanto? Johdanto. Tämän kurssin näkökulma. Kurssin suhde muuhun opetukseen

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

Tehostettu kisällioppiminen tietojenkäsittelytieteen ja matematiikan opetuksessa yliopistossa Thomas Vikberg

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

Ohjelmistoprojektien hallinta Vaihejakomallit

CRM ja muutoksen tuska

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Laadukas vaatimustenhallinta. Pekka Mäkinen Copyright SoftQA Oy

- Yleistä. - EA ad-hoc group - FINAS S21/ Keskustelua

Jyrki Kontio, Ph.D

Ohjelmistoprosessit ja käyttöliittymäsuunnittelu

Ohjelmistoarkkitehtuurit. Kevät

Johdantoluento. Ohjelmien ylläpito

Land-Use Model for the Helsinki Metropolitan Area

Ohjelmistojen mallintaminen, kesä 2009

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

Ohjelmistoarkkitehtuurit. Syksy 2010

HCM Master Data. Matti Manninen / Arc Technology Oy. Human Capital Management liiketoiminnan moottorina IT Viikko-seminaari 7.10.

ITK130 Ohjelmistoprosessi

Datalähtöinen IT-palveluprosessien kehittäminen, analysointi ja suorituskyvyn mittaaminen Prosessipäivät 2016 Matti Erkheikki QPR Software

PCI DSS 3.0. Merkittävimmät muutokset Seppo Heikkinen, QSA Nixu

Yrittäjäkasvatuksen polku - sivusto. Yksityiskohtainen suunnittelu Huhtikuu 2018

Laadun hallinta. Laatukustannukset. Laadun kustannuksista. Sami Kollanus TJTA330 Ohjelmistotuotanto

Laadun hallinta. Laatukustannukset. Sami Kollanus TJTA330 Ohjelmistotuotanto

Seminaariaiheet. Tietoturvaseminaari, kevät 03 Lea Viljanen, Timo Karvi

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

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

Käyttäjäkeskeinen suunnittelu

Mobiili. MULLISTAA MYYNTITYÖN Technopolis Business Breakfast,

Teollinen markkinointi ja kansainvälinen liiketoiminta. Pääaineen esittely

Vaatimusten luomisesta kehitykseen ja testaukseen

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

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

itsmf Finland Conference 2016 Focus Markus Leinonen COBIT ja governance

Ohjelmistoihin perustuva liiketoiminta: haasteita ja mahdollisuuksia

Tietokonearkkitehtuuri 2 TKT-3201 (5 op)

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

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Kandidaatintyön esittely: Epätäydellisen preferenssi-informaation huomioon ottavien päätöksenteon tukimenetelmien vertailu

Luottamuksen ja maineen rooli palveluperustaisten yhteisöjen muodostamisessa

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

Ketterä vaatimustenhallinta

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

Fujitsu SPICE Lite. Kimmo Vaikkola Fujitsu Finland Oy Laatu ja liiketoimintatavat. Copyright 2010 FUJITSU

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

Simulation model to compare opportunistic maintenance policies

Unified Process (UP)

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

ITK130 Johdatus ohjelmistotekniikkaan

Käyttökokemuksen evaluoinnista käyttökokemuksen ohjaamaan suunnitteluun. ecommunication & UX SUMMIT Eija Kaasinen, VTT

Tohtorixi. Pasi Tyrväinen , Päivitetty Prof. Digital media

Menetelmäraportti - Konfiguraationhallinta

Onnistunut Vaatimuspohjainen Testaus

Innovative and responsible public procurement Urban Agenda kumppanuusryhmä. public-procurement

Elinar Oy Ltd IBM Arkistointiratkaisut

Transkriptio:

DI Uolevi Nikula prof. J Sajaniemi, prof. H Kälviäinen

Johdanto Tutkimustuloksia Tulevaisuudensuunnitelmia 15.5.2001 Uolevi Nikula, LTKK 2

Software Engineering termi esitelty 1968 Requirements Engineering (RE) termi esitelty 1973 RE aktiivinen tutkimusalue 90-luvulla Kirjallisuusbuumi 90-luvun lopussa 15.5.2001 Uolevi Nikula, LTKK 3

Vaatimus [huom. vapaasti suomennettuna] Vaatimukset ovat tietokoneen ohjelmoinnin aiheuttamia vaikutuksia sovellusalueeseen. (Kovitz 1999, p.34) Vaatimusmäärittely (vm/re) Vaatimusmäärittely on ohjelmistotuotannon alue, joka keskittyy ohjelmistojärjestelmien reaalimaailman tavoitteisiin, toiminnallisuuksiin sekä rajoitteisiin. Se sisältää myös näiden tekijöiden liittymisen ohjelmistojen tarkkoihin käyttäytymisen määritelmiin ja niiden kehittymisen ajan kuluessa sekä eri ohjelmistoperheissä. (Zave 1997) Vaatimustenhallinta (RM) Systemaattinen lähestymistapa järjestelmän vaatimusten keräämiseen, järjestämiseen ja dokumentointiin sekä prosessi, joka luo ja ylläpitää asiakkaan ja projektitiimin välistä sopimusta järjestelmän muuttuviin vaatimuksiin liittyen. (Leffingwell & Widrig 1999, p.16) 15.5.2001 Uolevi Nikula, LTKK 4

15.5.2001 Uolevi Nikula, LTKK 5 Vaatimusmäärittely Vaatimusten kehittäminen Vaatimustenhallinta Selvitys Analyysi Määrittely Verifiointi Wiegers 1999, p.19

Vaatimusten selvitys (elicitation) Haastattelut, kyselyt, ryhmätyösessiot, workshopit, snow card, etnografia, contextual design, protot,... Analyysi Tarkastukset & työkalut: täydellisyys, ristiriidattomuus, priorisointi, jäljitettävyys,... Määrittely/dokumentointi ConOps (1362), SRS (830), Volére, use case, FM,... Verifiointi Tarkastukset, katselmoinnit 15.5.2001 Uolevi Nikula, LTKK 6

Markkinointi, asiakkaat, johto vaatimukset Vaatimusten kehittäminen Vaatimusten hallinta Analysoi, dokumentoi, katselmoi, neuvottele Sovitut vaatimukset nykyinen tarkistettu baseline baseline Markkinointi, asiakkaat, johto vaatimusten muutokset Projektiympäristö projektimuutokset Vaatimusten muutosprosessi Wiegers 1999, p.21 15.5.2001 Uolevi Nikula, LTKK 7

CHAOS raportti, Standish Group, 1995 Arviolta 250 miljardia USD käytetään vuosittain IT kehitykseen n. 175 000 projektissa Standish Group tutki 3682 projektia 365 yrityksessä Tutkimuksen perusteella arvioitiin, että amerikkalaiset yritykset ja hallitus käyttivät vuonna 1995 81 miljardia USD peruttuihin projekteihin ja tämän lisäksi 59 miljardia USD pitkittyneisiin projekteihin Onnistumisprosentti 16.2%; riitautettuja 52.7%; peruttuja 31.1% Jokaista 100 alkanutta projektia kohden oli 94 uudelleenaloitusta Keskimääräinen kustannusylitys oli 189% alkuperäisestä arviosta Keskimääräinen pitkittyminen oli 222% alkuperäisestä arviosta Keskimäärin vain 61% alkuperäisten määritysten mukaisista toiminnoista ja ominaisuuksista toteutettiin näissä projekteissa 15.5.2001 Uolevi Nikula, LTKK 8

Projektien onnistumiseen johtaneet tekijät Käyttäjien osallistuminen 15.9% Johtoportaan tuki 13.9% Selvästi kirjatut vaatimukset 13.0% Projektien riitauttamiseen johtaneet tekijät Käyttäjien palautteen puuttuminen 12.8% Epätäydelliset vaatimukset ja määritykset 12.3% Muuttuvat vaatimukset ja määritykset 11.8% Projektien perumisen aiheuttaneet tekijät Epätäydelliset vaatimukset 13.1% Käyttäjien osallistumisen puute 12.4% Resurssien puute 10.6% 15.5.2001 Uolevi Nikula, LTKK 9

Vaatimusten epäonnistunut tunnistaminen on yksi tärkeimpiä syitä asiakkaiden tyytymättömyyteen toimitettuihin järjestelmiin (Macaulay 1996) 15.5.2001 Uolevi Nikula, LTKK 10

Kaikki prosessimallit sisältävät vm:n Vesiputousmalli, Royce 1970 Järjestelmän toteuttamiskelpoisuus, ohjelmistosuunnitelmat ja määritykset, tuotteen suunnittelu, koodaus, integrointi, käyttöönotto, käyttö ja ylläpito Spiraalimalli, Boehm 1988 Periaatteessa sisältää vesiputousmallin erikoistapauksena Kierros 0: Toteuttamiskelpoisus; Kierros 1: Toimintojen määrittely; Kierros 2: Korkeimman tason vaatimusmäärittely; jne. RAD malli, Pressman 2001 (90-luvun alussa) Liiketoimintojen mallinnus, tietomallinnus, prosessimallinnus, sovelluksen generointi, testaus & luovutus Extreme Programming, XP, Beck 1999 XP on kevyt menetelmäoppi pienille ja keskisuurille tiimeille, jotka kehittävät ohjelmistoja epämääräisiin tai nopeasti muuttuviin vaatimuksiin perustuen. 15.5.2001 Uolevi Nikula, LTKK 11

Vaatimusmäärittelyä on tutkittu ja tehty jo yli 30 v Vaatimusmääritelytietous ei ole vieläkään jokapäiväisessä käytössä teollisuudessa Terminologia (ja menetelmät) eivät ole vielä vakiintuneita Liiketoiminta- tai asiakaskeskeisyys tarkoittaa vaatimuskeskeisyyttä Vaatimukset ovat kiinteä osa kaikkia realistisia ohjelmistokehitysmalleja 15.5.2001 Uolevi Nikula, LTKK 12

Nykytilankartoitus TBRC RR1, 2 konf.paperia A State-of-the-Practice Survey on Requirements Engineering in Small- and Medium-Sized Enterprises Lea Reinikaisen diplomityö RR4, konf.paperi Elicitation of Customer Requirements with Group Methods in Software Engineering Markus Mannion Erikoistyö RR5 Requirements Elicitation Using a Combination of Prototypes and Scenarios Satu Alaoutisen RM työkalukatsaus QURE esitys Are RM Tools of Any Practical Use? 15.5.2001 Uolevi Nikula, LTKK 13

Yritykset 12 pk-yritystä, 6 kaupunkia, 4-1000+ työntekijää, liikevaihto 2-100 mmk Tutkimusmenetelmät rakenteinen haastattelu kysymykset pääosin kirjallisuudesta: Jackson 1995, Sommerville and Sawyer 1997 ja IEEE Std 830-1998 Kevyt RE-kypsyysarvio REAIMS-malli 15.5.2001 Uolevi Nikula, LTKK 14

15.5.2001 Uolevi Nikula, LTKK 15 Työntekijöiden rooleissa 8 6 4 2 0 Des UI/DB Sys. anal. Tech writer Testers All dev. Ohjelmistokehitystyökaluissa 12 10 8 6 4 2 0 Conf. mgmt Testing CASE RM

REAIMS Top Ten käytännöt 1. Std doc structure 2. Use simple language 3. Formal insp. done 4. Easy change planned 5. Reqs have unique id 6. Reqs template used 7. Anal. checklist used 8. Conflict resol. planned 9. RM policies defined 10. Doc checklist defined Standard Normal Discret. Never Company count 0 3 6 9 12 15.5.2001 Uolevi Nikula, LTKK 16

15.5.2001 Uolevi Nikula, LTKK 17 REAIMS Top Ten pisteet Point Gain 30 27 24 21 18 15 12 9 6 3 0 1 2 3 4 5 6 7 8 9 10 11 12 Company

Kysytyt kirjat ja RM työkalut 7 kirjaa: Davis 1993, Gause & Weinberg 1989, Jackson 1995, Kovitz 1999, Robertson & Robertson 1999, Sommerville & Sawyer 1997, Thayer & Dorfman 1997 13 RM työkalua INCOSE työkaluvertailusta 6/1999 15 haastatellusta 4 tunnisti 1 kirjan 1 tunnisti 2 kirjaa 10 ei tunnistanut yhtään kirjaa 7 tunnisti 1-3 työkalua 8 ei tunnistanut yhtään työkalua 15.5.2001 Uolevi Nikula, LTKK 18

Yleensä tietokantapohjaisia (dokumentti/tietomallinnus) Perusominaisuuksia Haku eri kenttien arvojen perusteella Lajittelut Jäljitettävyys Muutostenhallinta/versionhallinta Oikeuksienhallinta/tietoturva Dokumenttien generointi Kaupalliset työkalut n. 15 tmk Ks. INCOSE vertailu internetissä 15.5.2001 Uolevi Nikula, LTKK 19

RM työkaluista ja niiden valinnasta on kirjoitettu varsin paljon Aiheesta ei ole juurikaan kirjoitettu akateemisia tutkimuspapereita Tutkimukset on tehty yleensä johonkin projektiin tai yritykseen tarpeisiin liittyen ja julkaistu muutamissa tapauksissa Harvat tutkimukset sisältävät ajantasalla olevaa tietoa työkaluista Vihjeitä tulevaisuuden suunnista on vaikea löytää 15.5.2001 Uolevi Nikula, LTKK 20

Useimmat yritykset käyttävät yhä satunnaisia menetelmiä epäjärjestelmällisesti Erinomaisuus riippuu ihmisistä ja heidän toimintatavoistaan yrityksen koko tms. ei näytä ennustavan sitä Meidän tulokset vahvistavat tutkimustulosten hitaan siirtymisen käytäntöön Meidän tavoitteena on läheinen yhteistyö teollisuuden kanssa 15.5.2001 Uolevi Nikula, LTKK 21

Kahden diplomityön aloitus kesällä Yana liiketoimintamallinnus Anna arkkitehtuurivaatimukset/re? MiRE Minimum RE tsoft-hanke 15.5.2001 Uolevi Nikula, LTKK 22

Mikä on vähintä, mitä ohjelmistokehityksessä pitäisi tehdä vaatimuksiin liittyen ja kuinka nämä asiat kannattaisi tehdä? Teknologiansiirto tutkimusyhteisöstä jokapäiväiseen ohjelmistokehitykseen Peruselementit: Vaatimusmäärittelydokumentit Prosessi Työkalutuki/automatisointi Mittaaminen 15.5.2001 Uolevi Nikula, LTKK 23

Menetelmän määrittely 2001 Menetelmän käytännön testaus Q4/2001-15.5.2001 Uolevi Nikula, LTKK 24

IEEE:llä on 8 vaatimusmäärittelyä sivuavaa standardia Rational Unified Process (RUP) sisältää pohjat 7 eri vaatimuksiin liittyvälle dokumentille Yksi vaihtoehto dokumentin pohjaksi löytyy tsoft:n kotisivuilta 15.5.2001 Uolevi Nikula, LTKK 25

Vaatimusmäärittelytutkimus on Joensuun yliopiston ja LTKK:n välistä yhteistyötä Kontaktihenkilö Joensuussa on prof. J Sajaniemi Ajatuksia mahdollisista yhteistyön muodoista otetaan vastaan ja niihin reagoidaan mahdollisuuksien mukaan 15.5.2001 Uolevi Nikula, LTKK 26

Vaatimusmäärittely/teknologiansiirto on kiinnostava tutkimusalue Käytännön ohjelmistokehitys hyödyntää harvoin edes perustuloksia tutkimuspuolelta Vaatimusmäärittelyalue sisältää hyvin käytännönläheisten ongelmien lisäksi hyvin teoreettisia ongelmia Vaatimusmäärittely/Ohjelmistotuotanto/Tietojärjestelmätieteet ovat ajoittain lähempänä sosiologiaa kuin insinööritieteitä 15.5.2001 Uolevi Nikula, LTKK 27

Onko teillä kehitystarpeita vaatimusmäärittelyyn liittyen? Liittyvätkö ne Vaatimusmäärittelydokumentteihin Prosessiin Työkaluihin/automatisointiin Mittaamiseen Haluatteko kehittää vm-toimintojanne tsoftin yhteydessä? 15.5.2001 Uolevi Nikula, LTKK 28

Beck K. Extreme Programming Explained. Addison Wesley, New Jersey, 1999 Boehm BW. A Spiral Model of Software Development and Enhancement. Computer vol. 31, no. 5, May 1988, pp. 61-72 Davis AM. Software Requirements: Objects, Functions, and States. Prentice Hall, 1993 Gause DC, Weinberg GM. Exploring Requirements: Quality Before Design. Dorset House, New York, 1989 INCOSE. Tools Survey: Requirements Management (RM) Tools. Available in www.incose.org/tools/tooltax.html, accessed May 11, 2001 Jackson M. Software Requirements & Specifications a lexicon of practice, principles and prejudices. Addison-Wesley, 1995 Kovitz BL. Practical Software Requirements: A Manual of Content and Style. Manning Publications Company, 1999 Leffingwell D, Widrig D. Managing Software Requirements: A Unified Approach. Addison Wesley, New Jersey, 1999 Macaulay L. Requirements Engineering. Springer-Verlag, London, 1996 15.5.2001 Uolevi Nikula, LTKK 30

Pressman, RS. Software Engineering: A Practitioner s Approach, 5th ed. McGraw-Hill, New York, 2001 Robertson S, Robertson J. Mastering the Requirements Process. Addison-Wesley, 1999 Royce, WW. Managing the Development of Large Software Systems: Concepts and Techniques. In Proc. Wescon, Aug. 1970. Also available in Proc. ICSE 9, Computer Society Press, 1987 Sommerville I, Sawyer P. Requirements Engineering A Good Practice Guide. John Wiley & Sons, New York, 1997 Thayer RH, Dorfman M (eds). Software Requirements Engineering, second Edition. IEEE Computer Society, Los Alamitos, California, 1997 The Standish Group. CHAOS Report. Available in www.standishgroup.com, accessed May 11, 2001 Wiegers KE. Software Requirements. Microsoft Press, Washington, 1999 Zave P. Classification of Research Efforts in Requirements Enigneering. ACM Computing Surveys vol. 29, no. 4, Dec 1997, pp. 315-321 15.5.2001 Uolevi Nikula, LTKK 31