Tietojenkäsittelyn kehittämisen perusteet, 2 ov

Download Report

Transcript Tietojenkäsittelyn kehittämisen perusteet, 2 ov

4. Vaatimusten hallinta

Ohjelmistotuotantoprosessin tavoitteena

 Asiakasvaatimukset (ja tehdyt sopimukset) täyttävän ohjelmiston kehittäminen  

Varmistus: vaatimustenhallinta Vaatimusmäärittely vaiheena

 Asiakasvaatimusten kerääminen ohjelmiston määrittelyn taustaksi 

Vaatimustenhallinta tukitoimintona

 Miten hallitaan koko ohjelmistoprosessin ajan asiakkailta tulevia vaatimuksia 4. Vaatimustenhallinta 1

4.1 Vaatimustenhallinta erillisenä tukitoimintona

      Asiakasvaatimukset on vaikeasti määriteltävissä (ainakin ohjelmistotuotantoprosessin alussa) Asiakasvaatimuksia syntyy koko prosessin ajan Vaatimukset voivat muuttua prosessin aikana ja niitä on paljon Markkinatilanteen muutokset aiheuttavat muutoksia vaatimuksissa Vaatimusten kerääminen seuraavaa tuotantoversiota varten Vaatimustenhallinnan liiketoiminnalliset ulottuvuudet  Kustannus/hyöty analyysit, markkina-analyysit yms.

4. Vaatimustenhallinta 2

Alustavat asiakasvaatimukset Vaatimustenhallinta: kartoitus, analysointi, jäljitettävyys, muutokset Vaatimukset Hallitut muutokset

Kelpuutetut 5 1 2 Myöhempään versioon 3 8 7 Hylätty 6 4

Analysoidut vaatimukset

ominaisuus 1 2 Toiminto 1 5 Toiminto 2 2 Toiminto 3 1 ominaisuus 2

Ohjelmisto- vaatimukset: Järjestelmän toiminnallinen määrittely

moduuli a 1 moduuli b 5 2 5 moduuli c 2 moduuli d 2 5 2 moduuli e 2 2 1 5 moduuli f 1 5

Järjestelmän tekninen määrittely

5 2 1 5 1 1 2 5 5 5 2 2 5 5 2 5 5 5 2 2 2 1 1 1 1 2 5 5 1 2 5 1 2 1 2 1 2 1 1

Toteutettu järjestelmä

4. Vaatimustenhallinta 3

4.2 Asiakasvaatimusten kartoittaminen ja analysointi

    Tavoite: oikein ymmärretyt ja muuttumattomina pysyvät asiakasvaatimukset Asiakasvaatimuksia saadaan  Markkinoinnilta, omasta organisaatiosta, asiakaspalautteena, prototyyppejä rakentamalla, ideointiaivoriihen tuloksena, kilpailijoiden tuotteita tutkimalla Alustavat asiakasvaatimukset puutteellisia, ristiriitaisia  analysointi  Selvitetään kunkin asiakasvaatimuksen tarve, perimmäinen syy  Arvioidaan kunkin vaatimuksen priorisointi  Sovitetaan yhteen ristiriitaiset vaatimukset Kuvataan käyttötapausten (use case) avulla 4. Vaatimustenhallinta 4

      Monesti asiakasvaatimukset esitetään ohjelmistovaatimusten muodossa:   Näytön alareunassa oleva STOP-napin on oltava punainen, järjestelmän muistiresursseista on käytössä enää 10% Käyttäjää on varoitettava, jos muistimäärä ei enää riitä järjestelmän luotettavaan käyttöön Vaatimusten perimmäinen syy täytyisi löytyä; miksi …?

Todellisten vaatimusten löydyttyä voidaan sitten miettiä ratkaisuja ongelmaan ja valita paras (määrittelyvaihe) Toteutetaanko yksittäinen asiakasvaatimus vai geneerisempi, laajemmalle asiakaskunnalle soveltuva ratkaisu Vaatimusten priorisointi: esim. välttämätön, toivottu, valinnainen Ristiriitaiset vaatimukset  kompromissit 4. Vaatimustenhallinta 5

 Analysoidut vaatimukset   Vaatimukset voivat muuttua tai uusia vaatimuksia voi löytyä Analysoidut vaatimukset ryhmitellään ja numeroidaan  Muutosherkkyys (volatility) Vaatimus 3.2.1

Nimen perusteella haettava kirjan muut tiedot täytyy löytyä 0,2 s:ssa.

3.2.2

…..

Perustelu Käyttäjät hakevat usein kirjoja, ja järjestelmän täytyy olla riittävän nopea palvellakseen käyttäjiä Priori teetti 1 4. Vaatimustenhallinta Liittymät muihin vaatimuksiin 1.3.4

1.4.5

Lainaus, varaus : kirja voitava hakea nimen perusteella näihin toimintoihin Mistä vaatimus on peräisin Kirjastonhoitajan toive Asiakkaat ovat toivoneet entisen järjestelmän nopeutumista asiakaspalautteiss aan 6

4.3 Vaatimusten verifiointi, validointi ja jäljitettävyys

 Todennetaan vaatimusten toteutuminen vertaamalla vaatimusmäärittelyä järjestelmän toiminnalliseen määrittelyyn ja testausvaiheessa testien tulosta vastaavaan speksiin (verifiointi)   Toiminnallisten vaatimusten osalta voidaan osoittaa kohdat, jotka toteuttavat tietyn asiakasvaatimuksen (jäljitettävyys, traceability) Toteutettavan järjestelmän osoittaminen asiakkaan tarpeita vastaavaksi (validointi, kelpoistaminen) 4. Vaatimustenhallinta 7

4.4 Vaatimusmuutosten hallinta

 Muutosten syitä  Kaikkia asiakasvaatimuksia ei ymmärretä oikein alkuvaiheessa    Asiakasvaatimuksia voi jäädä huomaamatta Ohjelmiston toimintaympäristössä voi tapahtua muutoksia Jokin asiakasvaatimuksen pohjalta määritelty toiminto osoittautuu mahdottomaksi toteuttaa    Aikataulusta johtuvat muutokset asiakasvaatimusten painotuksiin Kilpailutilanteen aiheuttamat muutokset vaatimuksiin Teknologiavalinnat osoittautuvat epäonnistuneiksi 4. Vaatimustenhallinta 8

   Muutostenhallintaa varten on sovittava projektissa tietyt menettelyt  Miten muutoksia asiakasvaatimuksiin hyväksytään?

 Aiheuttaako muutos muutoksia muihin vaihetuotteisiin, mihin ja millaisia?

Eteenpäin jäljitettävyys  Mitä jonkin asiakasvaatimuksen poisjättäminen aiheuttaa toteutuksessa Taaksepäin jäljitettävyys  Jos jokin osa ohjelmakoodista jätetään toteuttamatta, miten se vaikuttaa asiakasvaatimusten toteutumiseen 4. Vaatimustenhallinta 9