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

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

INF1050/ / Dag Sjøberg Slide 1

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

Hvordan evaluerer man kvaliteten på et IT-system?

Tom Røise 9. Februar 2010

Arne Maus, Ifi. Domenemodell

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

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

Tom Røise 18. Februar 2009

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

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

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

Presentasjon 1, Requirement engineering process

Forelesning IMT mars 2011

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

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

Kravspesifikasjon med UML use case modellering. Erik Arisholm

GJENNOMGANG OBLIGATORISK OPPGAVE 1

UKE 9 Prosesser og prosessmodeller inkludert smidige metoder. Gruppetime INF1055

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

En praktisk anvendelse av ITIL rammeverket

Forskningsmetoder. INF1050: Gjennomgang, uke 13

UNIVERSITETET I OSLO

Løsningsforslag Sluttprøve 2015

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

Eksamen 2013 Løsningsforslag

Prosessmodeller og smidig programvareutvikling. INF1050: Gjennomgang, uke 02

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

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

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

UNIVERSITETET I OSLO

GJENNOMGANG UKESOPPGAVER 9 TESTING

Chapter 4 Requirements Engineering

EN Skriving for kommunikasjon og tenkning

Kap 11 Planlegging og dokumentasjon s 310

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

11 Planlegging og dokumentasjon

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

Oppsummering. Thomas Lohne Aanes Thomas Amble

Brukersentert design Kapittel 3 i Shneiderman

Digitaliseringsreisen

Software Requirements and Design (SRD) 1 Generelt om dokumenter

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

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

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

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.

Forside. Eksamen i IN1030 for Våren Ingen hjelpemidler tillatt.

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

UNIVERSITETET I OSLO

Smidige metoder i praksis Høgskolen i Oslo Kristin Meyer Kristiansen Objectnet AS

Smart High-Side Power Switch BTS730

Spesifikasjon av Lag emne

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Grunnleggende testteori. Etter Hans Schaefer

Digitalisering av krav - kravhåndtering

Prosjektledelse - fra innsiden av et utviklingsprosjekt. Presentasjon hos UiO Ida Lau Borch, prosjektleder i Bouvet ASA

Oppgave 1: Multiple choice (20 %)

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

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

Prosjektledelse - fra innsiden

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

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

Information search for the research protocol in IIC/IID

Jernbaneverkets erfaringer med implementering av RAMS

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

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Problemdefinisjon. Læremål denne uka og de to neste. Problemanalyse og kravspesifikasjon Marakas kap 2-4. Marakas kap 2: So what is the problem?

Lykke til! Eksamen i fag TDT4140 Systemutvikling NTNU Norges teknisk-naturvitenskapelige universitet

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

Prøveeksamen INF1050: Gjennomgang, uke 15

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

ChiCMS Hovedprosjekt ved Høgskolen i Oslo 2011

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

Technical Integration Architecture Teknisk integrasjonsarkitektur

PROGRAMUTVIKLINGSPLAN. Big Data and Machine Learning

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

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

ELIN-metoden. Elektronisk informasjonsutveksling

LCC som fokusområde i NSB ved store

Oppgave 1 Multiple Choice

Hvorfor ikke bruke Word?

Den europeiske byggenæringen blir digital. hva skjer i Europa? Steen Sunesen Oslo,

Aibel Vår tilnærming til GDPR. Elin H Madell HR System Owner

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

PROSJEKTPLAN FOR INF [4 3]120-PROSJEKT: PROJECT HOSPITAL 2004

PROSESSDOKUMENTASJON

Nye krav i ISO 9001, hvilke er de og hvordan implementere disse i TQM? Ragna Karoline Aasen

Team2 Requirements & Design Document Værsystem

HMS og IKT-sikkerhet i integrerte operasjoner

Grunnleggende testteori

Bolk om Kravspesifisering

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

Hvordan komme i gang med ArchiMate? Det første modelleringsspråket som gjør TOGAF Praktisk

Transkript:

INF1050: Systemutvikling 31. januar 2017 Kravhåndtering Professor Dag Sjøberg INF1050/ 31.1.2017 / Dag Sjøberg Slide 1 Plan Generelt om krav Funksjonelle krav Ikke-funksjonelle krav Domenekrav Kravspesifikasjoner Kravhåndteringsprosessen Quiz INF1050/ 31.1.2017 / Dag Sjøberg Slide 2 1

Kravhåndtering Hensikten med å utvikle eller forbedre et IT-system: å løse utfordringer eller utnytte potensialer Kravhåndtering er prosessen å identifisere, analysere og spesifisere kravene til det nye eller forbedrede systemet Requirements video (7 minutter) INF1050/ 31.1.2017 / Dag Sjøberg Slide 3 Hensikten med å lage en kravspesifikasjon ( 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/ 31.1.2017 / Dag Sjøberg Slide 4 2

Typer krav Brukerkrav Krav uttrykt i naturlig språk eller diagrammer som viser ønskede tjenester (funksjoner) til systemet og føringer som gjelder (kvalitetsegenskaper) Skal forstås greit av kunden Systemkrav Strukturert, detaljert beskrivelse av systemets funksjoner og føringer som gjelder (kvalitetsegenskaper) Definerer hva som skal implementeres Utgangspunkt for kontrakt mellom kunde (oppdragsgiver) og utviklerorganisasjon INF1050/ 31.1.2017 / Dag Sjøberg Slide 5 Plan Generelt om krav Funksjonelle krav Ikke-funksjonelle krav Domenekrav Kravspesifikasjoner Kravhåndteringsprosessen Quiz INF1050/ 31.1.2017 / Dag Sjøberg Slide 6 3

Funksjonelle krav Hva systemet skal gjøre Hvilke tjenester (funksjoner) skal systemet tilby? Hvordan skal det reagere på ulike typer input? For å avgrense systemet, vil man også kunne beskrive hva systemet ikke skal gjøre INF1050/ 31.1.2017 / Dag Sjøberg Slide 7 Eksempel 1: Database over Empiriske Studier (DES) Anbudspris INF1050/ 31.1.2017 / Dag Sjøberg Slide 8 4

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/ 31.1.2017 / Dag Sjøberg Slide 9 Detaljerte funksjonelle krav Function: Register new Study 1. Administrator log in 2. Insert Study information 3. Control that all mandatory information is included 4. The name (Last name + First name) of the adminiistrator is registered as Study Owner by the system INF1050/ 31.1.2017 / Dag Sjøberg Slide 10 5

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/ 31.1.2017 / Dag Sjøberg Slide www.railway-technology.com 11 Eksempel 3: Overordnede funksjoner i E-resept https://ehelse.no/e-resept-kjernejournal-og-helsenorgeno INF1050/ 31.1.2017 / Dag Sjøberg Slide 12 6

Plan Generelt om krav Funksjonelle krav Ikke-funksjonelle krav Domenekrav Kravspesifikasjoner Kravhåndteringsprosessen Quiz INF1050/ 31.1.2017 / Dag Sjøberg Slide 13 Ikke-funksjonelle krav Hvordan systemet skal implementere de funksjonelle kravene INF1050/ 31.1.2017 / 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/ 31.1.2017 / Figur Dag fra Sjøberg Ian Sommerville Slide 15 Produktkrav: Usability er systemet lett å lære og bruke? Brukskvalitet/Brukervennlighet avhenger av krav til opplæring varierer for ulike 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? Responstid: Tid fra brukeren trykker OK til systemet svarer INF1050/ 31.1.2017 / Dag Sjøberg Slide 16 8

Produktkrav: Efficiency (Effektivitet) Ytelse ( Performance ) Kapasitet (transaksjoner pr. timer i betalingskortsystemer) Antall samtidige brukere Responstid (min/maks/gjennomsnitt ved ulik belastning) Lagringsplass ( Space ) INF1050/ 31.1.2017 / Dag Sjøberg Slide 17 Responstid i E-resept Ikke funksjonelt krav 9

Kravspec en endres mer detaljert større krav til volum 38 sider kortere dokument (bl.a. mindre repetisjon) https://ehelse.no/ Documents/E-resept/ Dokumentarkiv- Meldingsdefinisjoner/ Detaljert_funksjonell_spe sifikasjon_dfs_v2.08.pdf 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/ 31.1.2017 / Dag Sjøberg Slide 20 10

31/01/17 Oppetid i E-resept # dager i året? Produktkrav: Security Sikring av data, for eksempel grad av kryptering valg av autentiseringsprotokoller/innlogging INF1050/ 31.1.2017 / Dag Sjøberg Slide 22 11

Begrepene safety og security brukt innen systemutvikling Safety: Det skal ikke være risikabelt å bruke IT-systemer (sikkerhet mot uønskede hendelser som resultat av tilfeldigheter og ulykker) Security: IT-systemer skal hindre at de selv eller deres data blir angrepet utenfra (sikkerhet mot uønskede hendelser som resultat av overlegg) INF1050/ 31.1.2017 / Dag Sjøberg Slide 23 Organisasjonskrav: Development Kostnader og ressurser er alltid en begrensning! Leveransetidspunkt (påvirker også kostnader og ressursbruk) Prosessmodeller og utviklingsmetoder Programmeringsspråk, verktøy, komponenter Standarder og regler i organisasjonen INF1050/ 31.1.2017 / Dag Sjøberg Slide 24 12

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/ 31.1.2017 / Dag Sjøberg Slide 25 Mål og målbare krav Ikke-funksjonelle krav ofte vanskelige å uttrykke presist, og upresise krav er vanskelige å verifisere Mål (intensjon) til kunden The code should be documented in such a way that a developer will be able to understand and maintain the code without difficulties Verifiserbart ikke-funksjonelt krav En påstand som uttrykker noe målbart som kan testes objektivt Eks. romreservasjonssystem: 90 % av brukerne skal bruke mindre enn 1 minutt på å reservere ønsket rom etter å ha brukt systemet 3 ganger (gjennomført vellykkede reservasjoner) INF1050/ 31.1.2017 / Dag Sjøberg Slide 26 13

Metrikker for ikke-funksjonelle krav Egenskap Hastighet Størrelse Enkelhet i bruk Pålitelighet Robusthet Flyttbarhet (portability) Måling (variabel) Antall transaksjoner/sekund Responstid Tid på oppdatering av skjermen Gigabytes, use case-poeng 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 % installasjonsavhengige kommandoer/setninger Ikke-funksjonelt krav i japansk togkontroll (ATC): sikkerhet (safety) Når en datamaskin i toget mottar varsel om jordskjelv, skal bremsene settes på innen 2 sekunder (nytt krav, tidligere 3 sek.) Hairong Dong,Bin Ning, Baigen Cai, Zhongsheng Hou, Automatic Train Control System Development and INF1050/ 31.1.2017 / Dag Sjøberg Simulation for High-Speed Railways, Circuits and Systems Magazine, Slide IEEE, 1028 (2): 6 18, 2010 14

Krav til pålitelighet: Høyhastighetstog i Japan Tokyo-Osaka (500 km): 342 tog med 424 000 passasjerer hver dag Gjennomsnittlig forsinkelse: 0,9 minutter Mesteparten av forsinkelsene skyldes natural disasters such as earthquakes, strong winds, heavy snows and typhoons. INF1050/ 31.1.2017 / Dag Sjøberg Slide 29 INF1050/ 31.1.2017 / Dag Sjøberg Slide 30 15

Hvordan oppnå pålitelighet? INF1050/ 31.1.2017 / Dag Sjøberg Slide 31 Plan Generelt om krav Funksjonelle krav Ikke-funksjonelle krav Domenekrav Kravspesifikasjoner Kravhåndteringsprosessen Quiz INF1050/ 31.1.2017 / Dag Sjøberg Slide 32 16

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/ 31.1.2017 / Dag Sjøberg Slide 33 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/ 31.1.2017 / Dag Sjøberg Slide 34 17

Plan Generelt om krav Funksjonelle krav Ikke-funksjonelle krav Domenekrav Kravspesifikasjoner Kravhåndteringsprosessen Quiz INF1050/ 31.1.2017 / Dag Sjøberg Slide 35 Kravspesifikasjonen (dokument) Spesifiserer bruker- og systemkrav, dvs. hva (funksjoner og føringer) som skal lages ikke hvordan det skal lages, 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 standarder gjelder for store ingeniørprosjekter INF1050/ 31.1.2017 / Dag Sjøberg Slide 36 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/ 31.1.2017 / 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/ 31.1.2017 / Dag Sjøberg Slide 38 19

I hvilken grad følger e-resept standarder og anbefalt praksis? Sjekk selv. 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/ 31.1.2017 / Dag Sjøberg Slide 40 20

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/ retrospective i Scrum) evalueres backlog en. Innholdet kan endres, dvs. levende kravspec INF1050/ 31.1.2017 / Dag Sjøberg Slide 41 Advarsel Hevdes ofte i smidig utvikling at det er bortkastet å bruke 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/ 31.1.2017 / Dag Sjøberg Slide 42 21

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

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/ 31.1.2017 / Dag Sjøberg Slide 45 Aktivitet 2: Kravinnsamling og -analyse Engelsk: Requirements elicitation, 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/ 31.1.2017 / Dag Sjøberg Slide 46 23

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: planer, 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/ 31.1.2017 / Dag Sjøberg Slide 47 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. 24

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/ 31.1.2017 / Dag Sjøberg Slide 49 Hvordan samle inn kravspec-informasjon? Finnes en rekke metoder og teknikker Forelesning 7.2: Bruksmønstre/brukstilfeller = use cases Forelesning 18.4: Intervjuer Spørreskjemaer Etnografi/observasjon INF1050/ 31.1.2017 / Dag Sjøberg Slide 50 25

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 opp feilen i kravspesifiseringsfasen INF1050/ 31.1.2017 / Dag Sjøberg Slide 51 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 i forhold til 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 INF1050/ 31.1.2017 / Dag Sjøberg Slide 52 26

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 Trenger oversikt over avhengigheter mellom kravene slik at man kan vurdere konsekvensene av å endre dem Trenger en formell prosess for å vurdere og evt. gjennomføre endringsforslag Hvilken endring foreslås? Hvem foreslår? Hvem vurderer endringen, lager konsekvensanalyse, tar beslutning om implementering? Hvem skal involveres i implementeringen? Hvem følger opp? Etc. INF1050/ 31.1.2017 / Dag Sjøberg Slide 53 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/ 31.1.2017 / Dag Sjøberg Slide 54 27

Quiz Kahoot INF1050/ 31.1.2017 / Dag Sjøberg Slide 55 28