Skriv namn på varje inlämnat papper!

Relevanta dokument
Skriftlig tentamen den 25 oktober 2014 Kravhantering, ETS672, 7,5 hp

Skriv namn på varje inlämnat papper!

Skriftlig tentamen den 16 januari 2015 Kravhantering, ETS672, 7,5 hp

Inlämning 1 - Tentafrågor. Projektgrupp A

Skriv namn på varje inlämnat papper!

Skriftlig tentamen den 21 oktober 2008 Kravhantering, ETS672, 7,5 hp

Problem 1-1,5p Två av följande metoder för kravspecifikation är ej lämpade att använda vid ett COTSprojekt,

För varje par av påstående/anledning svara med ett av följande alternativ (½ p per rätt svar):

Frågor och svar till tentamen i Kravhantering

Tentafrågor 1. Grupp. B

Tentafrågor Grupp C. Fråga 1

1) Kravhantering varför? (1.5p)

Anledning: Generellt så undviker QUPER att göra fullständiga förutsägelser för relationerna mellan ett systems fördelar, kostnad och kvalitet.

Eventuella felaktiga svar kanselerar motsvarande mängd rätta svar

Fråga 1 Skriv in vilken kravnivå kravet tillhör i rutan under varje krav.

Frågor och svar till tentamen i Kravhantering. Del 2. Kravhantering (ETS170), LTH Grupp B

Enligt IEEE Std har en bra kravspecifikation en mängd fordringar att uppfylla. Kravspecifikationen skall vara;

Skriv namn på varje inlämnat papper!

Inlämning 2 - Tentafrågor. Projektgrupp A 1 december 2010

Förslag till tentamensuppgifter

Fråga 1. A) Domain-requirement analysis B) Questionaires C) Focus groups D) Design workshop C) Stakeholder analysis. Svar: C, D

Rätt ifylld bokstav ger 0.5 poäng och fel ifylld bokstav ger 0.5 poäng i avdrag. Rätt svar: Alternativ A, C, D, A, C uppifrån.

NAMN/NAME: The proposition is a true statement, but the reason is false. Påståendet är falskt, men anledningen är ett korrekt uttalande.

Inlämning 2 - Förslag till tentamensfrågor i Kravhantering, Grupp A. Kompletterar de kursavsnitt som inte täcktes av förra inlämningen.

Kurs: ETS 170 Kravhantering. Tentauppgifter. Grupp G Christian Andersson Jacob Gradén Björn Nilsson. Lund,

Inlämning 2 - Tentamensfrågor

Rätt svar och poängsättning: 0,5p per rätt svar, max 2,5p A. 2 B. 5 C. 3 D. 6 E. 4

Innehåll. Kravhantering. Kravhantering TDDD06 Introduktion till kravhantering. Vad är kravhantering?

Varje rätt svar ger 0.5 poäng. (max 3p)

Validering av krav. Agile utveckling. Christin Lindholm. ETS672 Requirements Engineering L6: Agile Prioritisation. Anpassa kravarbetet till projektet

Kursinformation. Metodik för programvaruutveckling. Utvecklingsprocessen för programvara. Innehåll. Processmodell. Exempel

Exercise 1b: Requirements evaluation

Du fulländar mig! Om synergierna mellan agila metoder och UX. Joakim Holm Adaptiv AB. Erik Hammarström Antrop AB

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning

E Both the proposition and the reason are false.

Tentamensproblem A Grupp H

Att fastställa krav. Annakarin Nyberg

QC i en organisation SAST

Tentamen i: Affärssystem och tjänsteorienterad arkitektur

AGIL KRAVHANTERING. Hitta behoven bakom kraven!! Thomas Nilsson! Agile Coach & Mentor! CTO, Responsive

Fråga 2 (3p): Läs påstående och anledning och välj det alternativ som passar bäst.

Automation Region. Affärsdriven systemutveckling genom agila metoder. Stefan Paulsson Thomas Öberg

Tentamen i: Affärssystem och tjänsteorienterad arkitektur

Användarcentrerad systemdesign

Användarcentrerad systemdesign

Programvara i säkerhetskritiska tillämpningar

Föreläsning 2: Projekt, Kravhantering, Dokumentgranskning

men borde vi inte också testa kraven? Robert Bornelind

Detta har hänt... Kursinformation. Agenda. Kursinformation

men borde vi inte också testa kraven?

Viktigt! Glöm inte att skriva tentamenskod på alla blad du lämnar in.

Exercise 1b: Requirements evaluation

Att fatta rätt beslut vid komplexa tekniska upphandlingar

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod

Validering av krav. Agile utveckling. Christin Lindholm. ETSF30 Requirements Engineering L6: Agile Prioritisation. Anpassa kravarbetet till projektet

Föreläsning 4 Identifiera krav och behov. Att läsa: Kapitel 10 i Rogers et al.: Interaction design

Design för användbarhet

Utveckling av en kravspecifikation för ett incidentrapporteringssystem

RUP - Rational Unified Process

Idag. EDAA35: Utvärdering av programvarusystem. Mål. Innehåll. Kursmoment. Lärare

Användningscentrering i agila utvecklingsprojekt. johanna.sarna@valtech.com Valtech

E Both the proposition and the reason are false.

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2

Problemet. Beställarkompetens och kravhantering. Användbarhetsboom Internet som motor. Beställarproblemet. Användarnytta = verksamhetsnytta.

Tentamen i Objektorienterad modellering och design

Agil programutveckling

Föreläsning 2 Metodik i PU. Avrundning av föreläsningen produktutvecklingsprocessen samt produktplanering

E Both the proposition and the reason are false.

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt

Tentamen i: Affärssystem och tjänsteorienterad arkitektur

PRODUCT MANAGEMENT. Klicka här för att ändra format. Klicka här för att ändra format på underrubrik i bakgrunden

Arbeta i projekt. Anders Hessel ITP-projekt Uppsala Universitet

LARS. Ett e-bokningssystem för skoldatorer.

Exercise 1b: Requirements Evaluation ETSA01 INGENJÖRSPROCESSEN 1 - METODIK VT15

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Föreläsning 2: Projekt, Kravhantering, Dokumentgranskning

Övningstenta, Examinationsfrågor

30 år av erfarenhet och branschexperts

Testbara krav. SAST Syd Ställ gärna frågor under presentationen eller efteråt Åhörarkopior distribueras efteråt

Deluppgift 2 Kravhantering a) (2p) När man diskuterar krav brukar man ange två olika typer av krav. Beskriv dessa och ge exempel.

Detta har hänt... Agenda. Kursinformation. Kursinformation

* Rätt svar A. * Motivering De flesta hushållsmaskiner har en på- och avstäningsknapp och inte endast en av-knapp.

Solvina. - Energy Excellence - Our goal, your benefit

Användarcentrerad Systemutveckling

Vad är RTCA DO-178C? och: Hur arbetar Saab med dessa krav? Lars Ljungberg, Saab AB, Avionics Systems

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18

Föreläsning 12 Inspektionsmetoder. Rogers et al. Kapitel 15

Agile-metoder, XP och ACSD

Praktikum i programvaruproduktion

Inspel till dagens diskussioner

Agil utveckling ställer nya krav på upphandling. Roland Bäcklin, Jaybis Konsult AB

BESKRIVNING AV PROCESSMETODEN SCRUM

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

openbim Stockholm 22 april 2013 Kraven på BIM är här

Ekonomistyrning (2FE255) Tentamen lördag 18 april 2015, kl

Kravfångst Bra kravarbete handlar om att ställa rätt frågor och att ge rätt svar i rätt form

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions

Tentamen i Objektorienterad modellering och design

Kurser och seminarier från AddQ Consulting

Design för användbarhet Användarcentrerad utvecklingsprocess

Transkript:

Lunds Tekniska Högskola, Inst. för Datavetenskap Skriftlig tentamen i ETS170 Kravhantering Tid: 2010-12-16 kl. 8-13, Plats: Eden 25, 26 Hjälpmedel: Inga. OBS! Tentamen innehåller två delar: Del A Teori 50 poäng, Del B Uppsatsämnen 50 poäng. Del A består av flervalsfrågor och kommer att bedömas schablonmässigt med mallar (ev. automatiskt) och fylls i direkt i detta häfte. Del B innehåller öppna frågor som besvaras i uppsatsform och lämnas in på separata papper. NAMN: Skriv namn på varje inlämnat papper! DEL A. TEORI 50p Denna del innehåller frågor i form av påståenden och anledningar. För varje par av påstående / anledning, svara med ett av följande alternativ: A B C D E Både påståendet och anledningen är korrekta uttalanden OCH anledningen förklarar påståendet på ett korrekt sätt. Både påståendet och anledningen är korrekta uttalanden, men anledningen förklarar inte påståendet. Påståendet är korrekt, men anledningen är ett felaktigt uttalande. Påståendet är felaktigt, men anledningen är ett korrekt uttalande. Både påståendet och anledningen är felaktiga uttalanden. Alternativen anges med bokstäver A-E i anvisad kvadrat: Svar Alla kvadrater ska fyllas i med exakt en bokstav. Rätt ifylld ruta ger 1 poäng medan felaktigt ifylld eller oifylld ruta ger 0 poäng. Denna del innehåller även para-ihop -frågor där olika svarsalternativ (A-E) ska paras ihop med rätt alternativ i en lista. Svaren anges i anvisad kvadrat. Rätt ifylld ruta ger 1 poäng medan felaktigt ifylld eller oifylld ruta ger 0 poäng.

1 Kvalitetskrav specificerar ofta kriterier som kan användas för att bedöma hur väl en viss funktionalitet i systemet fungerar. 2 Lättrörlig (eng. Agile) kravhantering är lämplig vid föränderliga kravmängder. 3 Att klustra krav med många beroenden kan ofta underlätta releasplaneringen. Kvalitetskrav står i kontrast till de icke-funktionella kraven, då de senare ofta definierar ett icke fungerande systembeteende. Hantering av kravändringar under utvecklingens gång möjliggör flexibel anpassning till förändrade kundbehov. Krav som är beroende av varandra är sällan lämpliga att implementera i samma release. 4 Krav på design-nivå ökar möjligheten att finna alternativa lösningar när det är dags för implementation. 5 Vid prioritering med parvisa jämförelser kan man beräkna ett index som karaktärisrerar mängden inkonsekvenser. 6 Det är sällan lämpligt att specificera maximala responstider i ett fleranvändarsystem. Design-krav beskriver ofta specifika implementationslösningar. Om ett krav finns med i endast en jämförelse, kan denna redundans användas för att upptäcka cirkulära egenvärden. Maxtiden är ofta väldigt dyr att garantera; det är lämpligare att t.ex. kravställa sannolikheten att en viss acceptabel responstid uppnås. 7 Vid elecitering inom okända kravområden är strukturerade intervjuer ofta lämpliga. Strukturen hjälper till att identifiera kravområden som ej legat till grund för intervjufrågorna. 8 Om man förlitar sig enbart till designworkshops vid elicitering är det stor risk att affärsmål och uppgifter glöms bort. Användarnas uppmärksamhet upptas vid designworkshops av tekniska frågeställningar med fokus lösningsförslagen.

9 I ett virtuellt fönster (virtual window ) visas dataflödet (data flow ) mellan användargränsnittet och databasen. Datakrav berör relationen mellan input-output och den bearbetning som sker däremellan. 10 Ett kontextdiagram är lämpligt om man vill beskriva vilka gränssnitt som finns mellan systemet och dess omgivning. Kontextdiagram visar en överskådlig bild av direkta aktörer och deras kommunikation med systemet. 11 Uppgiftsbeskrivningar (task descriptions ) är ofta lättare för användare att validera jämfört med klassdiagram. Uppgiftsbeskrivningar (task descriptions ) definierar den specifika tidsordning som underuppgifter (sub tasks ) sker i. 12 I marknadsdriven kravhantering händer det att ett krav går till tillståndet "avslag" (reject ) direkt efter initialtillståndet. Det kan hända att ett krav inte är i linje med den övergripande strategin för mjukvaruprodukten. 13 Spårbarhet (traceability ) underlättar ofta underhåll (maintenance ). 14 Kontextdiagram (context diagram ) är inte lämpligt vid utveckling med löpande räkning (time-andmaterial ). Kravändringars påverkan på kod kan följas om det finns spårbarhet från krav till implementation, vilket gör det lättare att hitta var uppdateringar krävs. Vid utveckling med löpande räkning (time-and-material ) betalar kunden kostnaderna allt eftersom. 15 Fokusgrupper är mer strukturerade än idékläckningsmöten (brainstorming ). När man genomför brainstorming uppmanas intressenterna att närsomhelst kritisera idéerna. 16 Öppen målsättning (open target ) låter användaren bestämma det exakta värdet. Öppet mått (open metric ) finns ofta i en dataordlista (data dictionary )

17 CRUD-kontrollen kan med fördel användas för att leta efter saknade eller inkonsekventa krav. Datakrav är mer lika kvalitetskrav än funktionella krav, varför inkonsekvenser ofta blir mindre riskfyllda. 18 Enligt QUPER uppstår mättnadsbarriär (saturation barrier) när kostnaderna planar ut. 19 Det är svårt att få ett meningsfullt resultat från ett använbarhetstest om det utförs innan produkten levererats. Innan en barriär kan kvaliteten förbättras till en förhållandevis låg kostnad, men vid en barriär krävs stora investeringar för att nå högre kvalitet. Heuristisk evaulering är ofta dyrare än användbarhetstestning, men har mindre risk att identifiera skenbara användbarhetsproblem. 20 Produktledning för mjukvaruprodukter (software product management ) kräver många skilda kompetenser, t.ex. kravprioritering och releasplannering. Föreberedelse för lansering (launch preparation ) är en kompetens som är extra relevant för de mjukvaruorganisationer som saknar interna intressenter. 21 Krav på målnivå gör att leverantörer kan ta ett mindre ansvar för verksamheten kring produkten. Vilken kravnivå man väljer beror i stor utsträckning på vem som ska utföra uppdraget 22 Det är ofta lämpligt att ta med både domäninformation och illustrativa exempel i anslutning till ett krav. Information om bakgrund till kravet samt hypotetiska lösningsförslag är sällan till hjälp när krav ska implementeras. 23 Nuvärdesanalys (net present value analysis ) tar inte hänsyn till osäkerheten i framtida vinster. Framtida vinster är mer osäkra desto längre bort i tiden de inträffar.

24 Öppna mått (open metric ) passar bra när man vill överlåta åt leverantören att definiera hur kvalitetskrav ska mätas. 25 Kvalitetskrav är i praktiken ofta svårare att hantera än datakrav. Vissa kvalitetskrav är svåra att kvantifiera och leverantören kanske har specifik domänkunskap kring vanliga sätt att göra kvanitiferingar i domänen. Kvalitetskrav rör oftast bara enskilda delar av systemet, medan datakrav oftare påverkar hela systemet. 26 I marknadsdriven kravhantering kan man med fördel använda en databas där kravattributen specificeras successivt. I en kravdatabas kan man lättare skilja på alfa- och betakrav. 27 100$-metoden ger prioriteter som är på en ordinal skala där endast ordningen och inte inbördes storleksrelationer kan avgöras. Med 100$-metoden kan man beräkna ett konsekvensindex, då varje jämförelse är med flera gånger. 28 Användbarhetsproblem är ofta mer oväntade för utvecklarna än programmeringsproblem. När man utvärderar ett systems användbarhet försöker man undvika att ta hänsyn till användarnas subjektiva upplevelse. 29 En datamodell (E/R-diagram) är bättre på att ange kardinalitet (cardinality ) jämfört med virtuella fönster. 30 Att ha en speciellt ansvarig för integrationen av en produkt som består av delprodukter från flera leverantörer leder ofta till mer problem än om kunden ansvarar. 31 Att göra parvisa jämförelser mellan krav tar kortare tid än att prioritera varje krav var för sig. En fallgrop med virtuella fönster är att överarbeta den grafiska utformningen, vilket kan öka risken att de tolkas som krav på designnivå. Kunden kan ofta själv ta ansvar för integrationen, speciellt om kunden kan verksamheten bättre än programvarutekniken. Om kraven prioriteras var för sig får man inte någon information om deras inbördes relation.

32 Kapacitetskrav (capacity requirements ) är ofta enkla att kvantifiera. 33 Användbarhetskrav på designnivå utgör en större risk för kunden än för leverantören. 34 Varje uppgiftsbeskrivning (task description ) bör helst bara ha en aktör. Kapacitetskrav (capacity requirements ) är processkrav som t.ex. kvantifierar utvecklingskapaciteten (development capacity ). Leverantören kan bedöma och uppfylla ett designkrav oberoende av om det stödjer kundens verksamhet och användarens uppgifter. Det är bättre att dela upp relaterade deluppgifter i olika uppgiftsbeskrivningar, en för varje aktör. 35 Kravhanteringen bör inte sluta förrän kraven är fullständiga. En fullständig kravspecifikation är lättare att överblicka. 36 I en korrekt kravspec återspeglar alla krav existerande behov eller förväntningar. Kravens korrekthet är ofta beroende av deras modifierbarhet. 37 Risken för inkonsekventa krav ökar om det finns redundans i kravspecifikationen. Redundans kan åtgärdas genom att istället göra korsreferenser. 38 Unika nummer för varje krav stödjer modifierbarheten. Unika nummer underlättar index och korsreferenser, som i sin tur gör det lättare att hitta och hålla reda på krav som ändras. 39 Krav på utvecklingsprocessen syftar till att ersätta vaga krav med krav på lämpliga arbetsmetoder. Iterativ utveckling delar upp kravhanteringen i flera steg.

40 Om användbarhetsproblem upptäcks vid systemtest är de ofta lättare att hantera än om de upptäcks vid elicitering. Användbarhetsproblem kan kräva stora förändringar av användargränssnittet. 41 Ett fokusgruppsmöte används ofta i stället för semi-strukturerad validering (semi-structured validation ). Arbetet med fokusgrupper liknar brainstorming men är mer strukturerad och sker i flera steg, bland annat ingår framtidsvisioner och prioritering.

Para ihop: Nuvarande arbete (present work) Framtida systemidéer (future system ideas) Realistiska möjligheter (realistic opportunities) Fullständighet (completeness) Åtagande (commitment) A B C D E Para ihop mest lämpliga saken att elicitera (A-E) ovan med resp. eliciteringsteknik nedan: (samma bokstav kan ev. förekomma flera gånger; det är inte säkert att alla bokstäver ovan passar att para ihop med nedan alternativ.) 42 Observation 43 Förhandling (negotiation) 44 Mål-domän-analys (goal-domain analysis) 45 Prototyper 46 Brainstorming

Para ihop: Lättrörlig kravpraxis Agile RE practices Hantering av kravändringar genom A Managing requirements change A konstant planering through constant planning Propotyputveckling B Prototyping B Test-driven utveckling C Test-driven development C Iterativ kravhantering D Iterative requirements engineering D Granskningsmöten och acceptanstest E Review meetings and acceptance tests E Para ihop mest lämpliga lättrörliga kravpraxis (A-E) ovan med utmaning (challenge) nedan: (samma bokstav kan ev. förekomma flera gånger; det är inte säkert att alla bokstäver ovan passar att para ihop med nedan alternativ.) 47 De har varit ovilliga att acceptera längre utvecklingscykler som är nödvändiga för att uppnå skalbara och robusta implementationer allt eftersom produkten mognar. They have been unwilling to accept longer development cycles that are necessary to develop more scalable and robuts implementations as the product matures. 48 Detta kräver djup förståelse av kraven och omfattande samarbete mellan utvecklare och kund, då detta innefattar att förfina lågnivåspecifikationer iterativt. 49 Att göra om designen av arkitekturen blev väsentligt dyrare. This requires a thorough understanding of the requirements and extensive collaboration between the developer and customer, because it involves refining low-level specificatins iteratively. Redesigning of the architecture added significantly to the cost 50 Icke-funktionella krav är ofta dåligt definierade och ignoreras under tidiga utvecklingscykler. NFRs are often ill defined and ignored during early development cycles.

DEL B UPPSATSER 50p Utgå från följande rubriker och skriv korta uppsatser på max 2 A4-sidor per uppsats. Var noga med att skriva läsligt. Svårlästa uppsatser ger poängavdrag. Börja på nytt blad för varje ny uppsats. B1. Funktionella krav: Ge konkreta exempel på 4 olika specifikationsstilar, beskriv hur de används samt när respektive stil passar bra och/eller dåligt. (20 p) B2. Kvalitetskrav (icke-funktionella krav): utmaningar, kategorier och specifikationsstilar (15 p) B3. Prioritering och releaseplanering i marknadsdriven kravhantering: begrepp, utmaningar och metoder (15 p)

Nr Svar Kap 1C 1 & 6 B1 Funktionella krav sum 20 2 A [AGRE] För varje teknik: ca 5 poäng (viss poängöverföring m. tekniker om större/mindre) 3 C [INTDEP] exempel ca 1 poäng för bra exempel 1*4 4 4 D 1 beskrivning ca 2 poäng för bra beskrinvning av tekniken 2*4 8 5 C [PRIO2] passar ca 2 poäng för bra beskrinvning av när den passar 2*4 8 6 A 6.5 p 244 7 E 8 B2 Kvalitetskrav sum 15 8 A 8.2.10 sid 344 Utmaning 1 p per bra svårighet/problem/utmaning max ca 4 9 E 2 Kategorier 1p per bra typ av kvalitetskrav inkl. förklaring max ca 5 10 A 3.2 Specifikationsstilar max ca 6 11 C 3 1 p per bara beskrivning av eller exempel på stil 12 A [MDRE2] 0,5 p för open metric 13 A 7 & 8 0,5 p för open target (om förstått skillnaden OM/OT) 14 D 1 & 3 15 C 8 B3 MDRE, speciellt RP och PRIO sum 15 16 E 6 begrepp 1p per relevant, väl förklarat RP/PRIO begrepp max ca 5 17 C 6, 2 utmaning 1 p per bra svårighet/problem/utmaning max ca 4 18 D [QUPER] metoder 2 p per bra beskriven metod/angreppssätt max ca 6 19 E 6.6 prioriteringsmetod, beroende, laxtrappa, etc 20 C [SPM] 21 D 1 22 C 1 23 D 8 sid 360 p max ca B1 B3 indikerar prioritet och inriktning 24 A 6.3 bedömning görs för varje individuellt fall och p är inte strikt 25 C 1.4 26 C [MDRE2] 27 E [PRIO1] 28 C 6 29 B 2 30 E 5 31 D [PRIO2] 32 C 6 33 A 6 34 E 3 35 E 9 36 C 9 37 B 9 38 A 9 39 B 3.16 sid 150 40 D 6 41 D 8 42 A 8 43 E 8 44 D 8 45 C 8 46 B 8 47 B [AGRE] 48 C [AGRE] 49 A [AGRE] 50 D [AGRE]