Presentasjon 1, Requirement ing process Prosessodeller Hvorfor bruke prosessmodeller? En prosessmodell er en forenklet beskrivelse av en prosess En prosessmodell er vanligvis lagd ut fra et bestemt perspektiv så det kan være flere forskjellige modeller av samme prosess (ingen enkel modell gir deg en komplett forståelse av prosessen) Nyttig når vi vet hvordan vi skal gjøre noe og vi vil forsikre oss om at andre gjør det på samme måten Requirements Engineering prosessmodeller er strukturerte aktiviteter som utføres for å lage, validere og opprettholde et kravdokument. De viser handlingene og leveringsveiene som er involvert i behandlingen av de forskjellige prosesser som hører til kravdokumentet eller systemutviklingen. Existing systems information Stakeholder needs Organisational standards Requirements ing process Agreed requirements System specifications Regulations Domain information System models Input og output til Requirement Enigineerings process 1
Coarse-grain Activity modell Grovstrukturerte aktivitetsmodeller beskriver sammenhengen mellom de forskjellige aktivitetene i prosessen. Kravdokumentet, eller systemutviklingen, består gjerne av flere forskjellige sammenhengende prosesser. De grovstrukturerte modellene viser prosesser som gir input til, og henter output fra bestemte prosesser. Slike modeller gir brukerne en oversikt over de forskjellige arbeidsoppgavene i hele prosessen. I begynnelsen er en slik modell et godt utgangspunkt, men etter hvert trengs mer detaljerte modeller. elicitation analysis and negotitaion documentation validation - Bruker behov - Domene informasjon - Eksisterende system - Informasjon - Forskrifter - Standarder document System specification Agreed requirements Spiral modell Man starter spiralen og dens aktiviteter blir repetert til kunde og leverandør er fornøyde med kravene. Når dette skjer har man et kravdokument. 2
Prosessmodellene inneholder disse aktivitetene: - Requirements elicitation o Finne kravene - Requirements analysis and negotiation o Analysere kravene og forhandle frem en kompromiss - Requirements documentation o Komme frem til et kravdokument som er forståelig for alle - Requirement validation o Sjekke kravene i forhold til konsistens og fullstendighet 3
Prosessaktør Prosessaktørene er mennesker og/eller organisasjoner som vil bli påvirket av systemet og som har direkte eller indirekte innflytelse på systemet. For å få en best mulig prosess er det viktig å involvere alle interessenter, som for eksempel sluttbrukerne, ulike ledere, utviklere, kunder, utenforstående organisasjoner som sertifikatutstedere og standardorganisasjoner av et system. Vanligvis blir aktørene identifisert ved hvilken rolle de har, f. eks. requirement. Dette gjør det lettere fordi disse rollene er assosiert til aktiviteter i prosessen. For å vise aktørenes assosiasjon til prosessaktiviteter kan man lage et rollehandlingsdiagram. Dette diagrammet blir ofte laget når prosessen blir detaljert beskrevet. Eks. over software prototyping Aksjon/handling Forstå problemet Etablere kravutkast Velge prototype system Utvikle prototype Evaluere prototype - Req. - Domene ekspert Sluttbruker -Reg. - Sluttbruker - SW - Prosjekt leder - Req. - SW - Sluttbruker - Domene ekspert - Req. - SW Rolle 4
Prosesstøtte Det finnes to typer verktøy for å støtte requirement ing prosessen: 1. Modellerings- og valideringsverktøy støtter utviklingen av systemmodeller som kan brukes til å spesifisere systemet, og for å sjekke fullstendigheten og samsvaret mellom disse modellene. Disse verktøyene gjør det mulig å: a. Lage grafisk- eller tekstmodeller av kravene b. Sjekke om navn er dupliserte c. Finne ut om det er ulinkede entiteter i en modell 2. Managementsverktøy hjelper med å håndtere en kravdatabase, støtter håndteringen av forandringer i kravene og skaper oversiktlighet. Grunnen til at man har utviklet disse verktøyene, er fordi man har store problemer med håndtere den store mengden data som blir samlet under requirement prosessen. Disse verktøyene gjør det mulig å: a. Arkivere forandringsforslag b. Linke forandringene til relaterte krav c. Hele tiden ha status på forandringene d. Rekonstruere kravenes historie e. Støtte sporbarhet 5
Prosess management Denne prosessen skal håndtere store mengder med informasjon, og sikre at denne informasjonen kommer frem til riktig sted. Prosessen skal: - håndtere forandringer til krav - håndtere relasjonene mellom kravene - håndtere bindingen mellom kravdokument og andre dokumenter 6
Prosesskvalitet En antagelse er at kvaliteten på utviklingsprosessene direkte påvirker kvaliteten på det leverte produktet. Bedriftenes evne til å ha en god prosesskvalitet er avhengig av deres modenhet til faktorer som blant annet å overholde budsjetter, holde tidsrammer og tilfredstille kundens behov. For å få et kvalitetsprodukt er det viktig å gjenkjenne relevante kilder, og få med alle viktige krav og gi en nøyaktig beskrivelse av kravene. --------------------------------------------------------------------------------------------------- I denne modenhetsprosessen er det ifølge CMM (Capability Maturity Model) en modenhetsstige på 5 steg Prosessmodenhets modeller SEI CMM Delt inn i fem nivåer (Initielt (ukontrollert), Repeterbart (produkthåndtering), Definerbart (prosesshåndtering), Håndterbart (kvalitetshåndtering), Optimalisert (prosessforbedring)) SPICE Prosessmodenhets modell for mindre bedrifter (fem nivåer) (Fraværende, Utføres uformelt, Institusjonalisert, Kontrollert og styrt, Optimalisert) --------------------------------------------------------------------------------------------------- 7
Prosessforbedring Prosessforbedring betyr å ha forståelse for de eksisterende prosesser, og å forandre disse for å høyne produktkvalitet og/eller redusere kostnader og utviklingstid. Litteraturen har hittil fokusert på å forbedre prosesser for å øke kvaliteten på produktet, her tenker man mest på å redusere antall feil i sw. Vi ser nå at det blir viktigere å få økt forståelse for krav, forventninger i markedet og bedriftenes interessenter. (herunder det å redusere kostnader og utviklingstid.) Prosessforbedring forstås ikke bare med å adoptere bestemte metoder, verktøy eller å bruke noen modeller som er blitt brukt andre steder. Prosessforbedring bør sees på som en aktivitet som er spesifikk for en organisasjon eller for et produkt. Prosessforbedring må være kontinuerlig og iterativ. Dette for å kunne vurdere og videreutvikle prosessene. Det er fire spørsmål man må kunne svare på i forbindelse med prosessforbedring: 1. Hva er problemene med de eksisterende prosessene? 2. Hva er forbedringsmålene? 3. Hvordan kan vi introdusere prosessforbedringer for å nå målene? 4. Hvordan skal forbedringene kontrolleres og håndteres? De ulike stegene i prosessforbedring: - Analyse Her undersøkes eksisterende prosesser og det lages en prosessmodell. Dette for å dokumentere og forstå prosessen. - Identifikasjon Her bruker man resultatet i analysen til å identifisere kvalitet. - Introduksjon De nye metodene, prosedyrene og verktøyene settes på plass, og integreres med andre aktiviteter. - Opplæring For å få utbytte av de nye forbedringene trenges det opplæring. Uten opplæring kan de nye forandringene gjøre kvaliteten dårligere. 8