Resurser Produktmål Tidplan Idé Affärsmål Användarfall Risker Krav Gränssnitt hårdvara Återanvänd kod Funktionella krav Kvalitetskrav Granskning Programkod Applikation Validera Kodgranskning Versioner Whitebox Blackbox Kravtäckning Varianter Ekvivalensklasser Kodtäckning Gränsvärde Konfigurationer Utvärdering Release Acceptanstest Integrationstest Enhetstest Releasebeslut Underhåll Support Testdokumentation Felrapport Systemtest Exercise 1b: Requirements evaluation INGENJÖRSPROCESSEN METODIK ETSA01 VT13 Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 Agenda for exercise 1a and 1b: 1a Requirements introduction and overview Requirements elicitation (ex. R.1 - R.4, R.6) ER diagram (ex. R.5) Use case Project work kick-off 1b Requirements evaluation workshop Evaluation:» Usecase» Functional requirements» Quality reguirements Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 2
Ta in cykel i garaget - problem Förhandsvillkor: Cykeln har streckkod och är inte i garaget Otvetydigt? Verifierbart? Nödvändigt? Spårbart ⅔ Rankat 1. En cykelägare kommer med en cykel till garagets ingång. 2. Cykelägaren läser cykelns streckkod m h a streckkodsläsare vid 3. Ingångsdörrens lås öppnas. 4. Cykelägaren placerar sin cykel i garaget och låser sin cykel. 5. Cykelägaren lämnar garaget genom extrautgången. Diffust för systemet Irrelevant för systemet Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 3 Ta in cykel i garaget - systemet Förhandsvillkor: Cykelns streckkod finns i systemet och är inte 1. Cykelägaren läser cykelns streckkod m h a streckkodsläsare vid 2. Ingångsdörrens lås öppnas. 3. Cykelägaren placerar sin cykel i garaget och lämnar garaget genom extrautgången. Otvetydigt Verifierbart Nödvändigt Spårbart Rankat Tydligt för systemet ⅔ Vill och kan verifiera Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 4
Ta in cykel i garaget - begrepp Förhandsvillkor: Cykelns streckkod finns i systemet och är inte Otvetydigt Konsistent Verifierbart Nödvändigt Spårbart ⅔ Rankat 1. Cykelägaren läser cykelns streckkod m h a streckkodsläsare vid 2. Ingångsdörrens lås öppnas. 3. Cykelägaren placerar sin cykel i garaget och lämnar garaget genom extrautgången. Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 5 Ta in cykel i garaget Förhandsvillkor: Cykelns streckkod finns i systemet och är inte Otvetydigt Verifierbart Nödvändigt Spårbart ⅔ Rankat 1. Cykelägaren läser cykelns streckkod m h a streckkodsläsare vid 2. Ingångsdörrens lås öppnas och cykeln registreras som inlämnad. 3. Cykelägaren placerar sin cykel i garaget och lämnar garaget genom extrautgången. Heltäckande? Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 6
Ta in cykel i garaget komplett? Verifierbart Tre MYCKET viktiga frågor: Nödvändigt 1. Är det VERKLIGEN så Spårbart Förhandsvillkor: Cykelns streckkod finns i systemet och är inte beställaren vi ha det? Rankat Affärsmål Produktmål 1. Cykelägaren läser cykelns streckkod 2. Finns m h a streckkodsläsare det bättre lösningar? vid 2. Ingångsdörrens lås öppnas och cykeln 3. Finns registreras det undantag som eller inlämnad. varianter? 3. Cykelägaren placerar sin cykel i garaget - och Användarmisstag? lämnar garaget genom extrautgången. - Säkerhet? - Tekniska problem? Otvetydigt ⅔ Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 7 Ta in cykel i garaget Otvetydigt Verifierbart Några undantag och varianter: Nödvändigt Dörren öppnas inte Spårbart Förhandsvillkor: Cykelns streckkod finns i systemet Cykeln registrerad och är inte som Rankat inlämnad Garaget var fullt Streckkoden finns inte i systemet Streckkoden trasig 1. Cykelägaren läser cykelns streckkod Låset m h a streckkodsläsare trasigt vid Streckkodsläsaren är trasig 2. Ingångsdörrens lås öppnas och cykeln Garaget registreras är inte som i bruk inlämnad. Ägaren är avstängd 3. Cykelägaren placerar sin cykel i garaget och lämnar garaget genom extrautgången. Cykeln lämnas inte Ägaren går in med PIN-kod ⅔ Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 8
Resurser Resurser Produktmål Tidplan Produktmål Tidplan Idé Affärsmål Användarfall Risker Krav Gränssnitt hårdvara Återanvänd kod Idé Affärsmål Funktionella krav Användarfall Risker Krav Gränssnitt hårdvara Återanvänd kod Kvalitetskrav Granskning Programkod Funktionella krav Kvalitetskrav Applikation Validera Kodgranskning Versioner Granskning Programkod Applikation Whitebox Blackbox Validera Kodgranskning Versioner Whitebox Blackbox Kravtäckning Varianter Ekvivalensklasser Kodtäckning Kravtäckning Varianter Gränsvärde Konfigurationer Ekvivalensklasser Kodtäckning Gränsvärde Konfigurationer Utvärdering Release Acceptanstest Integrationstest Enhetstest Utvärdering Release Enhetstest Releasebeslut Acceptanstest Integrationstest Underhåll Support Testdokumentation Felrapport Systemtest Releasebeslut Underhåll Support Testdokumentation Felrapport Systemtest et väljer och formulerar: Affärsmål produktmål (projektmål) I kravspecifikationen Affärsmål: Vad vill beställaren/ägaren uppnå med systemet? Vinst? Nytta? Goodwill? Spridning? Produktmål: Vad vill användarna uppnå med systemet? Komfort? Prestige? Underhållning? Hjälp? I projektplanen mål: Vad vill utvecklingsorganisationen uppnå med projektet? Vinst? Kompetens? Goodwill? Kodbas? [tid-kostnad-kvalitet] Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 9 Affärsmål för cykelgaraget - idéer Public service: Kostnadsfritt för den pendlande användaren med smidig access, låg säkerhet och utan garantier. Gated community: Betalande användare som garanteras plats och en säker förvaring av sina exklusiva cyklar. Skalbarhet: Förberett för uppskalning till en serie sammanlänkade garage där cykelägaren har fri tillgång. Billig drift: Stabilt och enkelt att underhålla, låg service till cykelägarna Cykelgarage som produkt: Ägaren ska enkelt kunna generera och konfigurerar nya och inbördes oberoende garage. Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 10
Ta in cykel i garaget undantag? 1. Cykelägaren läser cykelns streckkod m h a streckkodsläsare vid 2. Ingångsdörrens lås öppnas och cykeln registreras som inlämnad. 3. Cykelägaren placerar sin cykel i garaget och lämnar garaget genom extrautgången. Undantag: 1a. Streckkoden finns inte i systemet 3a. Cykeln lämnas aldrig I garage Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 11 Ta in cykel i garaget undantag? 1. Cykelägaren läser cykelns streckkod m h a streckkodsläsare vid 2. Ingångsdörrens lås öppnas och cykeln registreras som inlämnad. 3. Cykelägaren placerar sin cykel i garaget och lämnar garaget genom extrautgången. Undantag: 1a. Streckkoden finns inte i systemet * PIN-kodsterminalens LED blickar rött i 2 sekunder * Systemet registrerar den okända koden som ett intrångsförsök * Dörren öppnas INTE 3a. Cykeln lämnas aldrig I garage * Cykeln registreras som inlämnad (felaktigt) Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 12
Funktionella krav och kvalitetskrav: Ta in cykel i garaget Hur lång är PIN-koden Är koden unik per användare? Ska den kombineras med användar-id? Hur länge ska dörren vara öppen? Hur snabbt ska dörren öppnas Hur många försök får man? Hur ger vi återkoppling på PIN-kodsterminalen? Hur ofta får streckkodsavläsning misslyckas? Ska vi logga alla försök? Kvalitetskrav Tillförlitlighet Användbarhet Effektivitet Underhållsbarhet Portabilitet Uppfyllandegrad Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 13 Funktionella krav: Ta in cykel i garaget Krav UF1a: PIN-koden bör vara fyrsiffrig. Krav UF1b: Inmatning av PIN-kod sker på formen *nnnn# där n står för ett godtyckligt nummer 0-9 Krav UF1: Om cykelägaren slår en felaktig PIN-kod lyser terminalens LED i tre sekunder. Krav UF2: Efter tre misslyckade PIN-kodsförsök lyser teminalens LED i fem sekunder och cykelägarens konto spärras i 10 minuter. Hur lång är PIN-koden Är koden unik per användare? Ska den kombineras med användar-id? Hur länge ska dörren vara öppen? Hur många försök får man? Hur ger vi återkoppling på PINkodsterminalen? Hur ofta får streckkodsavläsning misslyckas? Ska vi logga alla försök? Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 14
Kvalitetskrav: Ta in cykel i garaget Krav UQ1: 99,8 % av försök att läsa en korrekt streckkod ska ge rätt PIN-kod till systemet. ETSA01: Ingenjörsprocessen metodik VT2013 Krav UQF2: Vid lyckad PIN-kodsinslagning eller streckkodsavläsning skall dörren vara fullt öppnad efter 2 sekunder. Krav UQF3: Senast 15 sekunder efter strömavbrott ska streckkodläsaren var i full drift. Hur lång är PIN-koden Är koden unik per användare? Ska den kombineras med användar-id? Hur länge ska dörren vara öppen? Hur många Tidplan försök får vt man? 2013 Hur ger vi återkoppling på PINkodsterminalen? Hur ofta får streckkodsavläsning misslyckas? Ska vi logga alla försök? V tid 8 10 12 13 15 K 8 10 12 13 15 K 8 10 12 13 15 K 8 10 12 13 15 K 8 10 12 13 15 K lö sö 12 Student Ö0a F1 Ö0b Ö1a Ö0c Ö1b 1,0 L1 Kravspec 1,0 2,0 1,0 1,0 1,0 0,5 Handledare -> fb0 15 Student F2 Ö2 Kravspec 1,0 3,0 1,0 G1 Handledare fb1 - - - -> fb2 16 Student F3 Ö3 Kravspec > L3 Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 15 Testplan Handledare - - - - - - - - - - - - -> fb3 17 Student F4 Ö4 Kravspec G2 > L4 Inför vecka 2 Testplan G3 G4 Code Handledare - - - -> fb4 Fredag kl 24: V2 Kravspec efter påsk L1 i wikin: Användarfallet + Funktionlla krav + kvalitetskrav 18 Student Ö5 Tisdag kl 8 återkoppling från oss på L1 Testplan > L5 Tidag kl 13 > L5 Code förläsning i E:A Test Onsdag kl 12 L2 kravspecifikation sanity check Handledare - - - - - - - - -> fb5 19 Student F5 Torsdag kl 8 återkoppling från oss på sanity check Kravspec Fredag kl 16? intern granskning efter omarbete??? Testplan V Code tid 8 10 12 13 15 K 8 10 12 13 15 K 8 10 12 13 15 K 8 10 12 13 15 K 8 10 12 13 15 K lö sö 12 Test Student Ö0a F1 Ö0b Ö1a Ö0c Ö1b Startman. 1,0 L1 Kravspec Handledare 1,0 2,0 1,0 1,0 1,0 0,5 Handledare 20 Student F6 -> fb0 15 Student F2 Ö2 Kravspec Kravspec 1,0 3,0 1,0 G1 Testplan måndag tisdag onsdag torsdag fredag Handledare fb1 - - - -> fb2 grupp: måndag tisdag onsdag torsdag fredag 16 Code Student F3 Ö3 L2 L2 Test Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT13 Exercise 1 16 Startman Handledare -> L4 F Schemalagd föreläsning Ö Schemalagd övning L Leverabel från projektet G Granskningsmöte? fb Återkoppling T Tentamen 1,0 Timmar per projektmedlem