Kapittel 4 – Kravhåndtering/ Requirements Engineering

Slides:



Advertisements
Liknende presentasjoner
Hvor stor er en fisk? Yggdrasil Hvor stor er en fisk?  Vanlige kundetyper og prosjekter  Faktorer som påvirker.
Advertisements

FEIDE,  autorisasjon og informasjonstilgang Seniorrådgiver IKT-arkitektur Carl-Fredrik Sørensen Bruk av en tjenesteorientert arkitektur for å etablere.
Praktisk info til prosjektkunder
Programmering i ActionScript - hva er det, og hvordan undervise?
Pilotprosjektet så langt
Forskerspiren Åpne forsøk: nye læringsmål?
Universell utforming av IKT- løsninger ved NTNU Fra teori til praksis Carl-Fredrik Sørensen Seniorrådgiver NTNU IT.
GROW modellen.
Prototyping & Use Case Software Engineering Gruppe
MS kap 61 Nye trender  Vi skal se på  Virtualisering  ”Cloud computing”
2003 IT-konferansen 2003 UNIVERSITETET I OSLO Vortex: Skrivbar web for UiO Oddmund Møgedal USIT/UiO.
Modellbruk i Referansekatalogen Øyvind Aassve NorStella.
Oppgave gjennomgang Kap. 3 og 4.
1 Oppgave gjennomgang Kap Oppgaver -Kap 12: 1, 2, 3, 5, 7, 8, 11, 18, 19.
Etnografi: studiet av folks levesett og kultur
Grunnleggende testteori
Verifikasjon og validering
Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og.
Arbeidet med kravspesifikasjonen In 140 Sommerville kap. 6.
1 KravprosessenKravprosessen Noen sentral punkter.
Kravanalyse og spesifikasjon
Hvordan skrive en god utredning?
I dag snakker vi om: Brukergrensesnitt med kvalitet Bruksegenskaper Normans 7 stadier Testing med papirprototyp.
1 Skal vi snakke sammen? Jan Håvard Skjetne SINTEF / University of Melbourne
Erfaring med bruk av åpen kildekode til støtte for læringsprosessene
Human Factors (HF) i kontrollrom - En revisjonsmetode 2003
Tidligere eksamensspørsmål
Empiriske metoder Oppgaveanalyse, observasjon
Innledning SIF80AP Future and HCI av Brad Myers m.fl.
Combining Compound Conceptual User Interface Components with Modelling Patterns - a Promising Direction for Model-based Cross-platform User Interface Development.
Hvordan uttrykke krav Kapittel 4.4. Innledning Målet er å samles rundt ett entydig språk som ikke kan misforståes eller feiltolkes. Gjør sporbarheten.
Gruppe 3 Henning, Andre, Mats, Per A. og Vegard 1/73.
Software Requirements Elicitation
Testing av system Gruppe 6 Henrik Bækhus Morten A. Iversen Mathias Bondeson Gunnar K. Kulleseid Svein Ivar Kristiansen Ronny Hulthin.
Teknikker for å bedre design- prosessen -Design by contract -Prototyping design -Fault-tree analyses.
PARLAY/OSA Referanser: Referanser Foredraget er i all hovedsak basert på to artikler. Disse kan finnes på:
Samordning, arkitektur, PKI Hva skjer? Endre Grøtnes, Statskonsult
1 Oppgave gjennomgang Kap. 1 og 2. 2 Oppgaver -Kap 1: 5, 6, 7, 10, 12, 16, 22 og 25 -Kap 2: 2, 6, 10, 12, 13, 14 og 20.
La oss begynne med begynnelsen (igjen)
Identifisere behov – og etablere krav
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
BUCS Utfordringer og valg av fokus Tor Stålhane. Rammebetingelser Første spørreundersøkelse viser at det vi gjør må kunne: Brukes sammen med UML Passe.
Webinar – eWorker og eMeetings
Metode for systembeskrivelse og
Objektorientert utforming In 140 Sommerville kap. 12.
Veileder for risikovurdering
Trådløs kulturby Andy Pham Damir Nedic Amund Letrud Ruben Vijayaroopan Sivarajah Espen Olsen.
Brukermedvirkning In 140 Forelesning. Historie Skandinaviske tradisjon Sosio-teknisk metode NJMF-prosjektet( ) –Dataavtalen LO-NAF(i dag NHO) –Arbeidsmiljøloven.
X10 webservices/IM -> mobilklient. Oppdragsgiver:
Forstudie Nå situasjonen: dagens situasjon med ulemper og fordeler
Helseinformatikk Øving 2. Studie av modeller GLIF –Protégé GEM – GEM Cutter.
Mobile support for community healthcare Anders Linseth.
FINF- H -05, 13. september 2005 Arild Jansen. AFIN/UiO 1 FINF Forelesning 13.sept Personvern som premiss for SU-prosessen Diskusjon om personvern.
Objektorientert design
1 Kap. 57 – Cloud Computing How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
JADE-LEAP AmbieSense er et EU støttet forskningsprosjekt. I dette prosjektet prøver man å integrere nye typer teknologi for bruk på mobile enheter I den.
1 Utvikling av kritiske systemer Kort sammendrag Kap. 1 og 2.
Programvare-prosesser
1 NTNU IAM Prosjekt Anbudsmøtet NTNU,
Brukbarhetstesting og feltstudier INF 1500; introduksjon til design, bruk og interaksjon 7 november 2010.
Identifisere behov – og etablere krav INF 1500; introduksjon til design, bruk og interaksjon 8 september 2014.
Utviklingsprosesser INF 1500; introduksjon til design, bruk og interaksjon 12 september 2011.
Produktnavn Tittel på presentasjon. Oversikt Gi en kort beskrivelse av produktet eller tjenesten, brukerproblemene som løses, og brukerne produktet eller.
Hvordan skrive egne dilemma
Identifisere behov – og etablere krav
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
Nye trender Vi skal se på Virtualisering ”Cloud computing”
Sett inn bilde av produkt her
Dybdelæring – regneark B – Samarbeid
Utskrift av presentasjonen:

Kapittel 4 – Kravhåndtering/ Requirements Engineering Carl-Fredrik Sørensen

Tema for forelesningen Krav Bruker og system Funksjonelle og ikke-funksjonelle Kravspesifikasjons-dokument Kravprosesser Utforskning og analyse Validering Forvaltning Gjesteforelesning: Per Håkon Meland, SINTEF Spesifikasjon Utvikling Validering Evolusjon In practice, requirements and design are inseparable A system architecture may be designed to structure the requirements; The system may inter-operate with other systems that generate design requirements; The use of a specific architecture to satisfy non-functional requirements may be a domain requirement. This may be the consequence of a regulatory requirement

Krav: Hva? Beskriver Abstraksjonsnivå Grunnlag Systemtjenester (Funksjoner) Begrensninger av hvordan systemet brukes og utvikles (ikke-funksjonelle eller kvalitetskrav) Abstraksjonsnivå høyt nivå detaljert matematisk Grunnlag for et anbud på en kontrakt - må derfor være åpen for tolkning; grunnlag for selve kontrakten - må derfor defineres i detalj

Hvem -- Interessenter Kunde – spesifisere & foreslå endringer Manager – planlegge et tilbud og prosess Programvareutvikler – forstå hva som skal utvikles Testingeniør – definere og kjøre tester Vedlikeholdsingeniør – Forstå systemet for å implementere endringer Brukere ++

Kravtyper Krav Brukerkrav Systemkrav Utsagn i et naturlig språk + diagrammer/figurer Brukerkrav Beskrivelse av tjenester som systemet skal tilby Operasjonelle begrensninger/restriksjoner. Systemkrav Detaljerte beskrivelser av systemets funksjoner, tjenester og operasjonelle begrensninger/restriksjoner. Definerer hva som skal bli utviklet. Vil danne grunnlag for kontrakt mellome en klient og en kontraktør.

Eksempel på funksjonelle krav – LMS Det er mulig for studenter å melde seg selv inn i grupper. Systemet har funksjonalitet for deling av filer med håndtering av versjoner og alternativt sperring for samtidig editering. Systemet støtter mulighet for å kommentere publisert informasjon (f. eks. nyhetsmeldinger, meldinger om undervisningsaktiviteter, etc.) Kommentarmulighet kan slås av/på av den som publiserer informasjonen. Systemet tilbyr visning av studentens egen ePortfolio fra studentens hovedside (Min Side). Innebygde editeringsverktøy støtter fonetiske og matematiske spesialtegn.

Ikke-funksjonelle krav Definerer systemegenskaper og begrensninger f.eks. pålitelighet, responstid og lagringsbehov. Prosesskrav kan også spesifiseres, f.eks. bruk av IDE, programmeringsspråk eller utviklingsmetode. Ikke-funksjonelle krav kan være mer kritisk enn funksjonelle krav. Hvis disse ikke er oppfylt, kan systemet bli ubrukelig.

Eksempel på ikke-funksjonelle krav – LMS Systemet støtter FEIDE for autentisering og autorisering av brukere ved pålogging. Systemet lagrer læringsobjekter på en slik måte at det er mulig å hente ut disse gjennom API’er og XML-baserte protokoller fra andre IKT-løsninger ved NTNU. Systemet støtter generelt tilgang / operasjoner fra mobile enheter (smarttelefon / nettbrett). Beskriv i Bilag 2 hvilke funksjoner / operasjoner som støttes. Elektroniske brukertjenester skal være universelt utformet, og brukerne skal kunne benytte disse uten hensyn til tid, sted og kanal. Beskriv hvordan den foreslåtte løsningen tilfredsstiller dette. IKT-løsningen kan integreres med hjelpemiddelteknologi (for eksempel skjermoppbrekking, forstørrelse, talesyntese).

Types of nonfunctional requirement

Metrikker for å spesifiser ikke-funksjonelle krav Figure 4.5 Property Measure Speed Processed transactions/second User/event response time Screen refresh time Size Mbytes Number of ROM chips Ease of use Training time Number of help frames Reliability Mean time to failure Probability of unavailability Rate of failure occurrence Availability Robustness Time to restart after failure Percentage of events causing failure Probability of data corruption on failure Portability Percentage of target dependent statements Number of target systems

Kravprosess Utforskning og analyse Validering Forvaltning Oppdage krav Interagere med interessenter/stakeholders for å oppdage deres krav og domenekrav. Kravklassifisering og logisk organisering Prioritering og forhandling (løse konflikter) Kravspesifikasjon (dokumentasjon) Validering Forvaltning

Intervjuer Oppdagelse Formelle eller uformelle intervjuer TDT4180 Menneske-maskin interaksjon Intervjuer Oppdagelse Formelle eller uformelle intervjuer Intervjutyper Lukkede intervjuer basert på en pre-bestemt spørsmålsliste Åpne intervjuer hvor forskjellige problemstilliner blir utforsket sammen med interessentene. Effektive intervjuer Vær åpen og fordomsfri, unngå forutinntatte ideer om kravene og vær villig til å lytte til interessentene. Påvirk intervjuobjektene for å få diskusjoner ved å gi spørsmål som springbrett, et kravforslag eller ved å arbeide sammen på en prototypsystem. Interviews in practice Normally a mix of closed and open-ended interviewing. Interviews are good for getting an overall understanding of what stakeholders do and how they might interact with the system. Interviews are not good for understanding domain requirements Requirements engineers cannot understand specific domain terminology; Some domain knowledge is so familiar that people find it hard to articulate or think that it isn’t worth articulating.

Scenarier Scenarier er eksempler fra det virkelige liv om hvordan et system kan bli brukt. De bør inkludere starttilstand/situasjon; den normale flyt av hendelser; hva som kan gå galt; informasjon om andre samtidige aktiviteter; stopptilstand (når scenariet er ferdig)

Etnografi Social science method: observere og analyser hvordan folk faktisk arbeider. Fordeler: Folk trenger ikke å forklare eller beskrive sitt arbeid. Viktige sosiale og organisatoriske faktorer kan bli observert. Etnografiske undersøkelser har vist at arbeid normalt sett er rikere og mer komplekst enn det som blir foreslått med enklere modeller. Etnografi er effektiv for å forstå eksisterende prosesser. Ulemper: Kan ikke identifisere nye egenskaper som bør bli lagt til et system. Bruker mye tid Etnografi + prototyping Utviklingsresultater fra prototyper for ubesvarte spørsmål, kan fokusere den etnografiske analysen.

Kravvalidering Validitet. Gir systemet de funksjonene som best støtter kundens behov? Konsistens. Er det konflikter mellom forskjellige krav? Kompletthet. Er alle funksjoner som kreves av kunden, inkludert? Realisme. Kan kravene bli implementert gitt tilgjengelig budsjett og teknologi Verifiserbarhet. Kan kravene bli sjekket?

Reviewteknikker Systematisk, manuell analyse av krav. Spørsmål Prototyping Test-case generering Spørsmål Q1: Er krav realistisk testbart? Q2: Er krav ordentlig forstått? Q3: Er opprinnelsen til kravet klart formulert? (Traceability)? Q4: Kan kravet bli endret uten en stor påvirkning på andre krav (Adaptability)?

Forvaltning av krav administrere endring av krav under spesifikasjon og utvikling. Nye krav oppdages mens systemet er under utvikling, og etter det har tatt i bruk. Opprettholde relasjoner mellom krav som har en avhengighet Roller de som betaler for et system (kunder) brukere av dette systemet Software engineering er sjelden de samme menneskene. Human Computer Interaction Programvare (Systemarbeid og menneske-maskin interaksjon)

Konklusjon Er dette en funksjonell krav? Bruker- og systemkrav Hvordan ser et kravdokument ut? Tekst eller diagrammer? Standarder f.eks IEEE-standarden? Prosess Utforskning og analyse Validering (prototyping, test generasjon, gjennomgang)? Endringsledelse – change management Er dette en funksjonell krav? «Hver medarbeider bruker systemet skal være entydig identifisert av hans eller hennes 8-sifret ansattnummer»