Resurser Produktmål Tidplan Projektplan Idé Affärsmål Användarfall Risker Krav Design 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 VT14 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 requirements Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT14 Exercise 1 25
Användarfall: 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 VT14 Exercise 1 26 Användarfall: 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. Tydligt för systemet 3. Cykelägaren placerar sin cykel i garaget och lämnar garaget genom extrautgången. Otvetydigt Verifierbart Nödvändigt Spårbart Rankat ⅔ Vill och kan verifiera Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT14 Exercise 1 27
Användarfall: 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. Centrala begrepp enhetliga i hela beskrivningen Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT14 Exercise 1 28 Användarfall: 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 VT14 Exercise 1 29
Användarfall: Ta in cykel i garaget komplett? Otvetydigt Nödvändigt Tre MYCKET viktiga frågor: Spårbart Förhandsvillkor: Cykelns streckkod finns i systemet och är inte 1. Är det VERKLIGEN så Rankat beställaren vi ha det? Affärsmål Produktmål 1. Cykelägaren läser cykelns streckkod m h a streckkodsläsare vid 2. Finns det bättre lösningar? 2. Ingångsdörrens lås öppnas och cykeln registreras som inlämnad. 3. Finns det undantag eller 3. Cykelägaren placerar sin cykel i garaget varianter? och lämnar garaget genom extrautgången. - Användarmisstag? - Säkerhet? - Tekniska problem? Verifierbart ⅔ Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT14 Exercise 1 30 Användarfall: 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 VT14 Exercise 1 31
Resurser Resurser Produktmål Tidplan Projektplan Produktmål Tidplan Projektplan Idé Affärsmål Användarfall Risker Krav Design Gränssnitt hårdvara Återanvänd kod Idé Affärsmål Funktionella krav Användarfall Risker Krav Design 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 Projektet 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 Projektmål: Vad vill utvecklingsorganisationen uppnå med projektet? Vinst? Kompetens? Goodwill? Kodbas? [tid-kostnad-kvalitet]? Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT14 Exercise 1 32 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 VT14 Exercise 1 33
Användarfall: 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 VT14 Exercise 1 34 Användarfall: 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 VT14 Exercise 1 35
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 VT14 Exercise 1 36 Exempel på möjliga krav kopplade till att ta in cyklar i cykelgaraget Krav 1a: PIN-koden bör vara fyrsiffrig. Krav 1b: Inmatning av PIN-kod sker på formen *nnnn# där n står för ett godtyckligt nummer 0-9 Krav 2: Om cykelägaren slår en felaktig PIN-kod lyser terminalens LED i tre sekunder. Krav 3: 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 VT14 Exercise 1 37
Exempel på möjliga krav kopplade till att ta in cyklar i cykelgaraget Krav 4: 99,8 % av försök att läsa en korrekt streckkod ska ge rätt PIN-kod till systemet. Krav 5: Vid lyckad PIN-kodsinslagning eller streckkodsavläsning skall dörren vara fullt öppnad efter 2 sekunder. Krav 6: 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 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 VT14 Exercise 1 38 V1 V2 Inför vecka 2 Fredag kl 24: L1 i projektwebben: Användarfall 1 + relaterade skall-krav Måndag kl 10 Föreläsing 2 Måndag kl 15 Återkoppling från projekthandledare på L1 (= fb1) Onsdag kl 8 L2 kravspecifikation sanity check On to Ö2 återkoppling från projekthandledare på sanity check L2 (=fb2) Fredag kl 16? FÖRSLAG till tidpunkt för projektinternt granskningsmöte för OBLIGATORISK granskning Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT14 Exercise 1 39