INF1050/ / Dag Sjøberg Slide 1

Like dokumenter
Kravhåndtering. Plan. Generelt om krav Funksjonelle krav Ikke-funksjonelle krav Domenekrav Kravspesifikasjoner Kravhåndteringsprosessen Quiz 31/01/17

Kravhåndtering. Plan. INF1030: Systemer, krav og konsekvenser

UKE 10 Kravhåndtering. Gruppetime INF1055

Kravhåndtering. INF1050: Gjennomgang, uke 03

GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING

Kravhåndtering. Erik Arisholm. Simula Research Laboratory & Institutt for informatikk

Arne Maus, Ifi. Domenemodell

Arne Maus, Ifi. Jo Hannay (Ifi&Simula), Ian Sommerville m. fl. for lån av gamle foiler

Tom Røise 9. Februar 2010

Tom Røise 18. Februar 2009

Hvordan evaluerer man kvaliteten på et IT-system?

Brukerkrav og use case diagrammer og -tekst 19. januar Agenda. Brukerkrav og use case. Diagrammer Tekst.

Løsningsforslag: Oblig 1. INF1050: Gjennomgang, uke 12

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

Forelesning IMT mars 2011

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

Presentasjon 1, Requirement engineering process

GJENNOMGANG OBLIGATORISK OPPGAVE 1

Modellering av krav. INF1050: Systemutvikling 11. februar Universitetslektor Yngve Lindsjørn

Kravspesifikasjon med UML use case modellering. Erik Arisholm

Krav. Beskriver tjenestene produktet skal håndtere Kravene kan testes

Modellering av krav. INF1050: Systemutvikling 07. februar Førstelektor Yngve Lindsjørn

ISO 41001:2018 «Den nye læreboka for FM» Pro-FM. Norsk tittel: Fasilitetsstyring (FM) - Ledelsessystemer - Krav og brukerveiledning

En praktisk anvendelse av ITIL rammeverket

Forskningsmetoder. INF1050: Gjennomgang, uke 13

Agenda. TDT4140: Kravinnhenting. Kravprosessen Forståelsesproblemet Teknikker for innhenting av krav. Den organisatoriske dimensjonen

IN2002: Software Engineering og prosjektarbeid 12. februar Forskningsmetoder / Evaluering av IT-systemer. IN2000/ 12.2.

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel

1. Hvilke type krav angår sikkerhet og pålitelighet?

Løsningsforslag Sluttprøve 2015

GJENNOMGANG UKESOPPGAVER 9 TESTING

Chapter 4 Requirements Engineering

UNIVERSITETET I OSLO

UKE 9 Prosesser og prosessmodeller inkludert smidige metoder. Gruppetime INF1055

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

Oppsummering. Thomas Lohne Aanes Thomas Amble

Eksamen 2013 Løsningsforslag

Kurskategori 2: Læring og undervisning i et IKT-miljø. vår

Funksjonskravene er delt opp i to deler, krav til spillsekvens og generelle funksjonskrav.

Forfattere: Daníelsdóttir, Drífa Meland, Maiken Mijalkovic, Biljana Svendsen, Simen H. Gruppelærer: Zarei, Amir Hossein. 5.

Oppgave 1: Multiple choice (20 %)

Grunnleggende testteori. Etter Hans Schaefer

Kort om evaluering og testing av It-systemer. Hvordan vurdere, verdsette, velge og teste?

Prosessmodeller og smidig programvareutvikling. INF1050: Gjennomgang, uke 02

Information search for the research protocol in IIC/IID

UNIVERSITETET I OSLO

Brukersentert design Kapittel 3 i Shneiderman

UNIVERSITETET I OSLO

1. Hvilke type krav angår sikkerhet og pålitelighet?

Web Accessibility Toolbar. Struktur. Funksjonene. Headinger. Mer om tilgjengelighet og Flash.

INF1500 Introduksjon til design, bruk, interaksjon Kapittel 10 Identifisere behov og etablere krav

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Kap 11 Planlegging og dokumentasjon s 310

Skjema for spørsmål og svar angående: Skuddbeskyttende skjold Saksnr TED: 2014/S

Spesifikasjon av Lag emne

Digitalisering av krav - kravhåndtering

DRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO

11 Planlegging og dokumentasjon

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

GJENNOMGANG UKESOPPGAVER 4 USE CASE MODELLERING HELGA NYRUD & KRISTIN BRÆNDEN

Ny teknologi gir nye godstransportløsninger

LCC som fokusområde i NSB ved store

Digitaliseringsreisen

Systemutviklingen er ferdig når et system er operativt. Med operativt menes når systemet blir brukt av brukerne på et faktisk arbeidssted.

Kapittel 7 & 8. Kravspesifikasjoner & Data design. Thomas Tjøstheim og Thomas Edvinsen. 20 September Kapittel 7 & 8 p.1/20

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

EN Skriving for kommunikasjon og tenkning

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

Styrende dokumenter og informasjonssikkerhet - erfaringer fra Hydro

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Undervisning i Smidige metoder ved Universitetet i Oslo

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Bedre valg av leverandør gjennom trialsourcing & Fastpris eller per time?! Oslo, 1. desember, 2014 Magne Jørgensen

Smart High-Side Power Switch BTS730

Software Requirements and Design (SRD) 1 Generelt om dokumenter

Utvikle kvalitet i høyere utdanning som å spikre syltetøy på veggen?

Metrikker og målte størrelser. Vi måler fakta for å bestemme systemets egenskaper

ChiCMS Hovedprosjekt ved Høgskolen i Oslo 2011

Kravspesifikasjon. Dagens forelesning. Mal for kravspesifikasjon. Hvordan finne fram til kravene? Kravspesifikasjon og objektorientert analyse

UKE 11 UML modellering og use case. Gruppetime INF1055

DRI2001 forelesning

Livsløpstesting av IT-systemer

Trådløsnett med. Wireless network. MacOSX 10.5 Leopard. with MacOSX 10.5 Leopard

VEDLEGG 1 KRAVSPESIFIKASJON

Bolk om Kravspesifisering

Kvalitet og programvare. Når bare det beste er godt nok. Produktet prosessen eller begge deler?

Prosjektledelse - fra innsiden

Syntax/semantics - I INF 3110/ /29/2005 1

DRI2001 h04 - Forelesning Systemutvikling og nettsteder

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

Technical Integration Architecture Teknisk integrasjonsarkitektur

Kravspesifikasjon med. UML diagrammer. systemutvikling. Dokumentasjon av systemets krav, arkitektur, design og implementasjon

Evaluering av It-systemer i et forvaltningsperspektiv. Drift, vedlikehold og videreutvikling av IT-systemet

Model Driven Architecture (MDA) Interpretasjon og kritikk

Tom Røise IMT2243 : Systemutvikling 1. IMT2243 Systemutvikling 26. februar Klassediagrammet. Klasse

Transkript:

INF1050: Systemutvikling 29. januar 2014 Kravhåndtering Professor Dag Sjøberg INF1050/ 29.1.2014 / Dag Sjøberg Slide 1 Eks. på prosessforbedring Innføring av ny teknologi i stor skala vil nesten alltid ha oppstartsproblemer Innspill fra studenter: Tekniske problemer med Kahoot har ført til for mye tid på bekostning av presentasjon av pensum Tiltak for å forbedre prosessen: Quiz bare siste 10 min av siste time Effekt: Tekniske eller andre problemer vil da bare gå utover quiz en selv, ikke presentasjon av pensum INF1050/ 29.1.2014 / Dag Sjøberg Slide 2 1

Plan Generelt om krav Funksjonelle krav Ikke-funksjonelle krav Domenekrav Kravspesifikasjoner Kravhåndteringsprosessen Quiz INF1050/ 29.1.2014 / Dag Sjøberg Slide 3 Kravhåndtering En aktivitet med formål å utvikle eller forbedre et IT-system for å løse utfordringer eller utnytte potensialer Kravhåndtering er prosessen for å identifisere, analysere og spesifisere kravene til det nye eller forbedrede systemet Requirements video (7 minutter) INF1050/ 29.1.2014 / Dag Sjøberg Slide 4 2

Hensikten med å lage en kravspesifikasjone ( kravspec ) Basis for anbud rom for fortolkninger ulike tilbydere vil kunne tilby ulike måter å løse kundens behov på Basis for kontrakt Basis for design og implementasjon av systemet INF1050/ 29.1.2014 / Dag Sjøberg Slide 5 Typer krav Brukerkrav Krav uttrykt i naturlig språk eller diagrammer som viser ønskede tjenester (funksjoner) til systemet og føringer som gjelder Skal forstås greit av kunden Systemkrav Strukturert, detaljert beskrivelse av systemets funksjoner og føringer som gjelder Definerer hva som skal implementeres Utgangspunkt for kontrakt mellom oppdragsgiver (kunde) og utviklerorganisasjon INF1050/ 29.1.2014 / Dag Sjøberg Slide 6 3

Plan Generelt om krav Funksjonelle krav Ikke-funksjonelle krav Domenekrav Kravspesifikasjoner Kravhåndteringsprosessen Quiz INF1050/ 29.1.2014 / Dag Sjøberg Slide 7 Funksjonelle krav Hva systemet skal gjøre Hvilke tjenester (funksjoner) systemet skal tilby? Hvordan det skal reagere på ulike typer input? Vil kunne beskrive hva systemet ikke skal gjøre også INF1050/ 29.1.2014 / Dag Sjøberg Slide 8 4

Eksempel 1: Database over Empiriske Studier (DES) Anbudspris INF1050/ 29.1.2014 / Dag Sjøberg Slide 9 Overordnede funksjonelle krav DES should support the processes related to storing and reporting Studies DES should enable internal and external researchers to finding information about Studies DES should connect information about Responsible for the Studies to the Employee database and Publications from the Studies to the Publication database INF1050/ 29.1.2014 / Dag Sjøberg Slide 10 5

Detaljerte funksjonelle krav Function: Register new Study 1. Administrator log in 2. Insert Study information (see 3.2.2 above) 3. Control that all mandatory information is included 4. The name (Last name + First name) of the admini- istrator is registered as Study Owner by the system INF1050/ 29.1.2014 / Dag Sjøberg Slide 11 Eksempel 2: Automatisk togkontroll (ATC) Avstand mellom tog: Overordnet 1. Stor nok til å unngå kollisjoner 2. Liten nok til å tillate tett trafikk Detaljert 1. Minimum bremselengde + 1 min * togets hastighet 2. Max hastighet for at 20 tog per time kan passere INF1050/ 29.1.2014 / Dag Sjøberg www.railway-technology.com Slide 12 6

Plan Generelt om krav Funksjonelle krav Ikke-funksjonelle krav Domenekrav Kravspesifikasjoner Kravhåndteringsprosessen Quiz INF1050/ 29.1.2014 / Dag Sjøberg Slide 13 Ikke-funksjonelle krav Hvordan systemet skal implementere de funksjonelle kravene INF1050/ 29.1.2014 / Dag Sjøberg Slide 14 7

Typer av ikke-funksjonelle krav Non-functional Product Organizational External Efficiency Dependability Security Regulatory Ethical Usability Environmental Operational Development Legislative Performance Space Accounting Safety/security INF1050/ 29.1.2014 / Figur Dag Sjøberg fra Ian Sommerville Slide 15 Produktkrav: Usability er systemet lett å lære og bruke? Brukskvalitet/Brukervennlighet avhenger av krav til opplæring varierer for forskjellige brukergrupper Kan måles: Hvor lang tid tar det å lære systemet for nybegynnere? Hvor mange brukerfeil oppstår med erfarne brukere? Hvor ofte får brukerne meningsløse tilbakemeldinger? Hvor mange valg har hjelpefunksjoner? Responstid: Tid fra brukeren trykker OK til systemet svarer INF1050/ 29.1.2014 / Dag Sjøberg Slide 16 8

Produktkrav: Efficiency (Effektivitet) Ytelse ( performance ) Kapasitet (transaksjoner pr. time, jfr. julehandel for BBS) Responstid (min/maks/gjennomsnitt ved ulik belastning) Antall samtidige brukere Lagringsplass ( space ) INF1050/ 29.1.2014 / Dag Sjøberg Slide 17 Produktkrav: dependability I hvilken grad kan man stole på systemet? Pålitelighet ( reliability ) Feilrater (mean time between failures (MTBF)) Oppetid (% tid tilgjengelig for bruker) Ulike systemer, ulike krav INF1050/ 29.1.2014 / Dag Sjøberg Slide 18 9

Produktkrav: Security Sikring av data, for eksempel grad av datakryptering valg av autentiseringsprotokoller/innlogging INF1050/ 29.1.2014 / Dag Sjøberg Slide 19 Begrepene safety og security Generelt på norsk Safety: sikkerhet mot uønskede hendelser som resultat av tilfeldigheter Security: sikkerhet mot uønskede hendelser som resultat av overlegg Innen systemutvikling Safety: Det skal ikke være risikabelt å bruke datasystemer (sikkerhet) Security: Datasystemer skal hindre at de selv eller deres data blir angrepet utenfra (sikring) INF1050/ 29.1.2014 / Dag Sjøberg Slide 20 10

Organisasjonskrav: Development Kostnader og ressurser er alltid en begrensning! Leveransetidspunkt (påvirker også kostnader og ressursbruk) Utviklingsmetoder/prosessmodeller Programmeringsspråk, verktøy, komponenter Standarder og regler i organisasjonen INF1050/ 29.1.2014 / Dag Sjøberg Slide 21 Eksempel ikke-funksjonelle krav: Kravspec. Database over Empiriske Studier Language Screen content, messages, database field, table, report names, online and offline documentation should all be written in UK English. Maintenance Requirements DES should use standard scripting language and HTML and standard SQL statements, including ANSI SQL 99 syntax supported by MySQL v. 3.23, to minimize the need for maintenance of the code due to new browser and/or MySQL versions. Technical documentation The code should be documented in such a way that a developer will be able to understand and maintain the code without difficulties. User documentation The use of the DES should be self explanatory. Therefore, no training or offline user documentation should be necessary. However, there should be an opening page with information when administrating the studies. INF1050/ 29.1.2014 / Dag Sjøberg Slide 22 11

Mål og målbare krav Ikke-funksjonelle krav ofte vanskelige å uttrykke presist, og upresise krav er vanskelige å verifisere Mål (intensjon) til kunden/brukerne Systemet skal være enkelt å bruke Verifiserbart ikke-funksjonelt krav En påstand som uttrykker noe målbart som kan testes objektivt For romreservasjonssystem: 90 % av brukerne skal bruke mindre enn 1 minutt på å reservere ønsket rom etter å ha brukt systemer 3 ganger (gjennomført vellykkede reservasjoner) INF1050/ 29.1.2014 / Dag Sjøberg Slide 23 Metrikker for ikke-funksjonelle krav Egenskap Hastighet Størrelse Enkelhet i bruk Pålitelighet Robusthet Flyttbarhet (portability) Metrikk/mål Antall transaksjoner/sekund Responstid Tid på oppdatering av skjermen Mbytes Antall ROM-brikker Opplæringstid Antall hjelpebilder Gjennomsnittlig tid til feil Sannsynlighet for utilgjengelighet Feilrate Tid til oppstart etter feil % handlinger som fører til feil Sannsynlighet for ødelagte data ved feil Prosent installasjonsavhengige kommandoer/ setninger Antall installerte systemer 12

Ikke-funksjonelt krav i japansk togkontroll (ATC): sikkerhet (safety) Når togets datamaskin mottar varsel om jordskjelv, skal bremsene settes på innen 2 sekunder (nytt krav, tidligere var det 3 sekunder) Hairong Dong,Bin Ning, Baigen Cai, Zhongsheng Hou, Automatic Train Control System Development and INF1050/ 29.1.2014 / Dag Sjøberg Simulation for High-Speed Railways, Circuits and Systems Magazine, Slide IEEE, 1025 (2): 6 18, 2010 Krav til pålitelighet Tokyo-Osaka (500 km): 285 tog med 360 000 passasjerer hver dag Ingen dødsulykker på 50 år Gjennomsnittlig forsinkelse: 24 sekunder Mesteparten av forsinkelsene skyldes naturfenomener som kraftig regn, tyfoner og snøfall INF1050/ 29.1.2014 / Dag Sjøberg Slide 26 13

Hvordan oppnå god nok pålitelighet? Safety & punctuality, Japan Rail (video 2 minutter) INF1050/ 29.1.2014 / Dag Sjøberg Slide 27 Japansk lokfører sovnet i 270 Mens det japanske toget rullet jevnt og rolig videre, sovnet lokføreren stille og fredelig bak spakene. Hastighetsmåleren viste 270 kilometer i timen, opplyste polititalsmenn torsdag. Mannen våknet etter åtte minutter da systemet for automatisk togstopp stanset høyhastighetssettet av typen Shinkansen på en stasjon i provinsen Okayama sør i Japan. De rundt 800 passasjerene om bord i toget merket ingen ting til episoden. (Kilde: NTB) INF1050/ 29.1.2014 / Dag Sjøberg Slide 28 14

Hvordan oppnå pålitelighet? INF1050/ 29.1.2014 / Dag Sjøberg Slide 29 Plan Generelt om krav Funksjonelle krav Ikke-funksjonelle krav Domenekrav Kravspesifikasjoner Kravhåndteringsprosessen Quiz INF1050/ 29.1.2014 / Dag Sjøberg Slide 30 15

Domenekrav Fagområdet (domenet) til et system gir også opphav til krav f. eks. må et togkontrollsystem ta hensyn til værforhold når bremselengde skal beregnes Domenekrav kan være nye funksjonelle krav føringer på eksisterende krav, dvs. ikke-funksjonelle krav spesifikke beregninger Ignorering av domenekrav kan føre til ubrukelig system INF1050/ 29.1.2014 / Dag Sjøberg Slide 31 Utfordringer ved domenekrav Forståelighet Kravene er ofte uttrykt i spesielle domenespråk Ofte uforståelige for systemutviklere Implisitt Domenespesialister kan kjenne fagområdet så godt at de ikke tenker på å gjøre domenekravene eksplisitte En god systemutvikler har ofte god domenekunnskap. Industri og næringsliv etterspør ofte begge deler INF1050/ 29.1.2014 / Dag Sjøberg Slide 32 16

fra Ian Sommerville INF1050/ 29.1.2014 / Dag Sjøberg Slide 33 Plan Generelt om krav Funksjonelle krav Ikke-funksjonelle krav Domenekrav Kravspesifikasjoner Kravhåndteringsprosessen Quiz INF1050/ 29.1.2014 / Dag Sjøberg Slide 34 17

Kravspesifikasjonen (dokument) Spesifiserer bruker- og systemkrav, dvs. hva som skal lages ikke hvordan, dvs. den er ikke et designdokument Ofte del av kontrakt for systemutviklingsprosjektet Derfor bør være så komplett og presis som mulig Informasjonen i kravspec en vil avhenge av type system og utviklingsprosjekt Ulike standarder F.eks. utgitt av IEEE De fleste gjelder for store ingeniørprosjekter INF1050/ 29.1.2014 / Dag Sjøberg Slide 35 Brukere av kravspesifikasjonen System customers Specify the and read them to check that they meet their needs. Customers specify changes to the. Managers Use the document to plan a bid for the system and to plan the system development process. System engineers Use the to understand what system is to be developed. System test engineers Use the to develop validation tests for the system. Figur fra Ian Sommerville System maintenance engineers Use the to understand the system and the relationships between its parts. 18

Måter å skrive en kravspec på Notasjon Naturlig språk Strukturert naturlig språk Grafiske notasjoner Matematiske spesifikasjoner Beskrivelse Kravene skrives som nummererte setninger på norsk, engelsk etc. Naturlig språk men på en standard form (skjema). Hvert felt gir informasjon om ett aspekt ved kravene Grafiske modeller støttet av tekstbeskrivelser, beskriver funksjonelle krav; UML use case (bruksmønstre / brukstilfeller) og sekvensdiagrammer er vanlig å bruke Notasjoner basert på matematiske begreper, eks. tilstandsmaskiner og mengder. Slike entydige spesifikasjoner kan redusere flertydighet, men de fleste kunder forstår ikke formelle spesifikasjoner. De vil derfor ikke kunne sjekke at de faktisk representerer sine ønsker og vil derfor være skeptiske til bruk av slike spesifikasjoner i en kontrakt INF1050/ 29.1.2014 / Dag Sjøberg Slide 37 Retningslinjer for skriving av kravspec Bruk et standard format på alle krav Bruk må for absolutte krav og bør for ønsker Uthev teksten på spesielt viktige deler Unngå IT-sjargong Forklar hvorfor et krav er nødvendig INF1050/ 29.1.2014 / Dag Sjøberg Slide 38 19

Krav og design I teorien: krav uttrykker hva systemet skal gjøre, designet angir hvordan I praksis: vanskelig å skjelne mellom krav og design En systemarkitektur må designes for å strukturere kravene Systemet vil kunne måtte samspille med andre systemer som igjen gir opphav til nye designkrav En spesifikk arkitektur for å imøtekomme ikke-funksjonelle krav vil kunne være et viktig krav, for eksempel for å tilfredsstille lovgivning. Eksempel: skatte-opplysninger som utveksles elektronisk over landegrenser stiller krav til arkitekturen INF1050/ 29.1.2014 / Dag Sjøberg Slide 39 Kravspec i smidige prosjekter Systemer som utvikles iterativt, har færre detaljer i kravspec en I Scrum og andre smidige metoder er kravene gjerne uttrykt som en liste av brukerhistorier kalt backlog Merk: bruker trenger ikke være sluttbruker. Som sikkerhetsansvarlig ønsker jeg I statusmøter (sprint-slutt i Scrum) evalueres backlog en. Innholdet kan endres, dvs. får en levende kravspec I smidig hevdes ofte at bortkastet å bruke mye tid på å lage detaljerte kravspec s fordi kravene endrer seg likevel Brukes som unnskyldning for ikke å jobbe nok med kravspesifikasjonen, spesielt bør fundamentale krav spesifiseres tidlig INF1050/ 29.1.2014 / Dag Sjøberg Slide 40 20

Plan Generelt om krav Funksjonelle krav Ikke-funksjonelle krav Domenekrav Kravspesifikasjoner Kravhåndteringsprosessen Quiz INF1050/ 29.1.2014 / Dag Sjøberg Slide 41 Kravhåndteringsprosessen Hvordan samle inn, analysere, validere og organisere og endre kravene til et system INF1050/ 29.1.2014 / Dag Sjøberg Slide 42 21

INF1050/ 29.1.2014 / Dag Sjøberg Slide 43 Aktivitet 1: Forstudie/målanalyse Analyser nå-situasjonen, ønsket situasjon og mulige tiltak for å oppnå ønsket situasjon Hvilke (del)mål kan oppnås ved å lage et nytt IT-system? Hva er kost/nytte for forskjellige delmål? Risikomomenter? Bør systemet integreres med andre systemer som allerede er i bruk? Prosjektmandat: Ja, vi skal lage et system for å oppnå følgende mål INF1050/ 29.1.2014 / Dag Sjøberg Slide 44 22

Aktivitet 2: Kravinnsamling og -analyse Engelsk: Requirements Elicitation, requirement collection, capture or discovery Forstå domenet forretningsområde og terminologi Identifiser interessentenes krav, organiser kravene i hierarkier eller grupper Identifiser og løs konflikter mellom krav Omfatter mange av de samme aktivitetene som i foranalysen, bortsett fra at man nå typisk har et prosjektmandat og derfor innhenter flere fakta og systematiserer dem INF1050/ 29.1.2014 / Dag Sjøberg Slide 45 En prosjektleder må forholde seg til ulike interessenter (stakeholders) Oppdragsgivere (kunder): prioriterer de eller vil de ha alt feilfritt og med en gang? Brukergrupper: brukervennlighet Ledere: mål, ikke overraskelser Utviklere: god teknisk løsning, stilig Vedlikeholdere: feilfritt, forståelig og veldokumentert Systemeiere og forvaltere: økonomi Andre interessenter (fagforeninger, lovgivere, andre systemer) INF1050/ 29.1.2014 / Dag Sjøberg Slide 46 23

Kravinnsamling utfordringer Ulike forretningsområder har egen terminologi Ulike organisasjoner har egen terminologi, struktur og forretningsprosesser som en utvikler kanskje ikke kjenner til Interessenter vet ikke nøyaktig hva de vil ha eller kjenner ikke til tekniske muligheter og begrensninger Motstridende krav fra forskjellige interessenter, forskjellige meninger om hva som er viktig, organisasjonsstruktur og politikk, skjulte agendaer etc. Ofte ikke mulig å nå konsensus. Da må det skjæres igjennom Kravene vil ofte endres underveis, nye interessenter dukker opp, forretningsområdet endrer seg, organisasjonen endrer seg (reorganisering, oppkjøp) etc. Må skille mellom need to have og nice to have INF1050/ 29.1.2014 / Dag Sjøberg Slide 47 Hvordan samle inn kravspec-informasjon? Finnes en rekke metoder og teknikker Forelesning 5.2: Bruksmønstre/brukstilfeller = use cases Forelesning 9.4: Intervjuer Spørreskjemaer Etnografi/observasjon INF1050/ 29.1.2014 / Dag Sjøberg Slide 48 24

Aktivitet 3: Validering av kravspec Sjekk at kravene definerer det systemet som kunden faktisk vil ha Feil i krav koster mye Å rette opp en kravfeil etter at systemet er utviklet og tatt i bruk, koster svært mye mer enn å rette den opp i kravspesifiseringsfasen INF1050/ 29.1.2014 / Dag Sjøberg Slide 49 Aspekter ved validering Validitet Dekker funksjonaliteten kundens faktiske behov? Konsistens Inneholder kravene selvmotsigelser? Kompletthet Mangler det krav? Unødvendige krav Ligger kravene innenfor prosjektmandatet? Realisme Er kravene realistiske, gitt tilgjengelig ressurser? Verifiserbarhet (testbarhet) Kan det testes om kravene er oppfylt? Hvis ikke, kan kravene formuleres mer presist? Forståelighet Forstår interessentene (brukerne, kundene) kravene? For kompliserte? Kan kravene deles opp i mindre deler? Har kravene flere mulige tolkinger (tvetydige)? Sporbarhet Hva eller hvem er kilden til kravet? Viktig når endringer må gjøres eller når man må prioritere vekk krav Endringsevne Hva er konsekvensene av å endre et krav? Påvirker det andre krav? INF1050/ 29.1.2014 / Dag Sjøberg Slide 50 25

Aktivitet 4: Håndtering av kravendringer Forretningsområde og tekniske omgivelser vil alltid endre seg etter at systemet er tatt i bruk Brukere vil oppdage nye behov etter hvert som systemet tas i bruk Store systemer har ofte ulike brukergrupper som hver kan ha ulike og til dels motsetningsfylte krav Trenger oversikt over avhengigheter mellom kravene slik at man kan vurdere konsekvensene av å endre dem Trenger en formell prosess for å fremme endringsforslag INF1050/ 29.1.2014 / Dag Sjøberg Slide 51 Til slutt: Kravspec som grunnlag for testing For dårlig arbeid med kravspesifisering er én av årsakene til IT-skandaler Hvis kravene er dårlig spesifiserte, kan man ikke stole på at systemet er bra selv om systemet er testet mot kravspec. INF1050/ 29.1.2014 / Dag Sjøberg Slide 52 26