06.08.2013 Views

Exercise 1b - Lunds Tekniska Högskola

Exercise 1b - Lunds Tekniska Högskola

Exercise 1b - Lunds Tekniska Högskola

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Exercise</strong> <strong>1b</strong>:<br />

Requirements evaluation<br />

INGENJÖRSPROCESSEN METODIK ETSA01 VT13<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1<br />

Agenda for exercise 1a and <strong>1b</strong>:<br />

1a Requirements introduction and overview<br />

– Requirements elicitation (ex. R.1 - R.4, R.6)<br />

– ER diagram (ex. R.5)<br />

– Use case<br />

– Project work kick-off<br />

<strong>1b</strong> Requirements evaluation workshop<br />

– Evaluation:<br />

» Usecase<br />

» Functional requirements<br />

» Quality reguirements<br />

V-modellen för programvaruutvecking<br />

Idé<br />

Affärsmål<br />

Validera<br />

Produkt-<br />

Användarfall<br />

mål<br />

Tidplan Funktionella krav<br />

Resurser<br />

Kvalitetskrav<br />

Risker<br />

Verifiera Kravtäckning<br />

Projekt-<br />

Krav<br />

plan<br />

Verifiera<br />

Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1 2<br />

Granskning<br />

Design<br />

Gränssnitt hårdvara<br />

Kodgranskning<br />

Gränsvärde<br />

Utvärdering<br />

Underhåll<br />

Release Support<br />

Releasebeslut<br />

Acceptanstest<br />

Whitebox<br />

Ekvivalensklasser<br />

Återanvänd kod<br />

Integrationstest<br />

Programkod Blackbox Kodtäckning<br />

Versioner<br />

Verifiera<br />

Applikation<br />

Varianter Konfigurationer Enhetstest<br />

Testdokumentation<br />

Felrapport<br />

Systemtest


Användarfall:<br />

Ta in cykel i garaget - problem<br />

Användarfall 1: Cykelägare lämnar in cykel i garaget<br />

Huvudaktör: Cykelägare<br />

Förhandsvillkor: Cykeln har streckkod och är inte i garaget<br />

Framgångsscenario:<br />

1. En cykelägare kommer med en cykel till garagets ingång.<br />

2. Cykelägaren läser cykelns streckkod m h a streckkodsläsare vid<br />

ingången.<br />

3. Ingångsdörrens lås öppnas.<br />

4. Cykelägaren placerar sin cykel i garaget och låser sin cykel.<br />

5. Cykelägaren lämnar garaget genom extrautgången.<br />

Korrekt<br />

Heltäckande ?<br />

Otvetydigt ?<br />

Konsistent ?<br />

Verifierbart ?<br />

Nödvändigt ?<br />

Spårbart ⅔<br />

Rankat<br />

Diffust för<br />

systemet<br />

Irrelevant<br />

för systemet<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1 3<br />

Användarfall:<br />

Ta in cykel i garaget - systemet<br />

Användarfall 1: Cykelägare lämnar in cykel i garaget<br />

Huvudaktör: Cykelägare<br />

Förhandsvillkor: Cykelns streckkod finns i systemet och är inte<br />

registrerad som inlämnad<br />

Framgångsscenario:<br />

1. Cykelägaren läser cykelns streckkod m h a streckkodsläsare vid<br />

ingången.<br />

2. Ingångsdörrens lås öppnas.<br />

3. Cykelägaren placerar sin cykel i garaget och lämnar garaget<br />

genom extrautgången.<br />

Korrekt<br />

Heltäckande ?<br />

Otvetydigt ✔<br />

Konsistent ?<br />

Verifierbart ✔<br />

Nödvändigt ✔<br />

Spårbart ⅔<br />

Rankat<br />

Tydligt för<br />

systemet<br />

Vill och kan<br />

verifiera<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1 4


Användarfall:<br />

Ta in cykel i garaget - begrepp<br />

Användarfall 1: Cykelägare lämnar in cykel i garaget<br />

Huvudaktör: Cykelägare<br />

Förhandsvillkor: Cykelns streckkod finns i systemet och är inte<br />

registrerad som inlämnad<br />

Framgångsscenario:<br />

1. Cykelägaren läser cykelns streckkod m h a streckkodsläsare<br />

vid ingången.<br />

2. Ingångsdörrens lås öppnas.<br />

3. Cykelägaren placerar sin cykel i garaget och lämnar garaget<br />

genom extrautgången.<br />

Korrekt<br />

Heltäckande ?<br />

Otvetydigt ✔<br />

Konsistent ✔<br />

Verifierbart ✔<br />

Nödvändigt ✔<br />

Spårbart ⅔<br />

Rankat<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1 5<br />

Användarfall:<br />

Ta in cykel i garaget<br />

Användarfall 1: Cykelägare lämnar in cykel i garaget<br />

Huvudaktör: Cykelägare<br />

Förhandsvillkor: Cykelns streckkod finns i systemet och är inte<br />

registrerad som inlämnad<br />

Framgångsscenario:<br />

1. Cykelägaren läser cykelns streckkod m h a streckkodsläsare vid<br />

ingången.<br />

2. Ingångsdörrens lås öppnas och cykeln registreras som<br />

inlämnad.<br />

3. Cykelägaren placerar sin cykel i garaget och lämnar garaget<br />

genom extrautgången.<br />

Korrekt<br />

Heltäckande ?<br />

Otvetydigt ✔<br />

Konsistent ?<br />

Verifierbart ✔<br />

Nödvändigt ✔<br />

Spårbart ⅔<br />

Rankat<br />

Heltäckande<br />

?<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1 6


Användarfall:<br />

Ta in cykel i garaget – komplett?<br />

Verifierbart<br />

Tre MYCKET viktiga frågor:<br />

Användarfall 1: Cykelägare lämnar in cykel i garaget<br />

Nödvändigt<br />

✔<br />

✔<br />

Huvudaktör: Cykelägare<br />

1. Är det VERKLIGEN så<br />

Spårbart<br />

Förhandsvillkor: Cykelns streckkod finns i systemet och är inte<br />

beställaren vi ha det? Rankat<br />

registrerad som inlämnad<br />

Affärsmål<br />

⅔<br />

Framgångsscenario:<br />

Produktmål<br />

1. Cykelägaren läser cykelns streckkod 2. Finns m h a streckkodsläsare det bättre lösningar? vid<br />

ingången.<br />

2. Ingångsdörrens lås öppnas och cykeln 3. Finns registreras det undantag som eller<br />

inlämnad.<br />

varianter?<br />

3. Cykelägaren placerar sin cykel i garaget - och Användarmisstag?<br />

lämnar garaget<br />

genom extrautgången.<br />

- Säkerhet?<br />

- <strong>Tekniska</strong> problem?<br />

Korrekt<br />

Heltäckande ?<br />

Otvetydigt ✔<br />

Konsistent ?<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1 7<br />

Användarfall:<br />

Ta in cykel i garaget<br />

Korrekt<br />

Heltäckande ?<br />

Otvetydigt ✔<br />

Konsistent ?<br />

Verifierbart<br />

Några undantag och varianter:<br />

Användarfall 1: Cykelägare lämnar in cykel i garaget<br />

Nödvändigt<br />

✔<br />

✔<br />

Huvudaktör: Cykelägare<br />

Dörren öppnas inte Spårbart<br />

Förhandsvillkor: Cykelns streckkod finns • i systemet Cykeln registrerad och är inte som Rankat inlämnad<br />

registrerad som inlämnad<br />

• Garaget var fullt<br />

⅔<br />

• Streckkoden finns inte i systemet<br />

Framgångsscenario:<br />

• Streckkoden trasig<br />

1. Cykelägaren läser cykelns streckkod • Låset m h a streckkodsläsare trasigt vid<br />

ingången.<br />

• Streckkodsläsaren är trasig<br />

2. Ingångsdörrens lås öppnas och cykeln • Garaget registreras är inte som i bruk<br />

inlämnad.<br />

• Ägaren är avstängd<br />

3. Cykelägaren placerar sin cykel i garaget och lämnar garaget<br />

genom extrautgången. Cykeln lämnas inte<br />

Ägaren går in med PIN-kod<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1 8


Produkt-<br />

Användarfall<br />

mål<br />

Tidplan Funktionella krav<br />

Resurser<br />

Kvalitetskrav<br />

Risker<br />

Projekt-<br />

Krav<br />

plan<br />

Verifiera<br />

Granskning<br />

Design<br />

Gränssnitt hårdvara<br />

Projektet väljer och formulerar:<br />

Återanvänd kod<br />

Programkod<br />

Affärsmål – produktmål – (projektmål)<br />

I kravspecifikationen<br />

Affärsmål: Vad vill beställaren/ägaren uppnå med systemet?<br />

– Vinst? Nytta? Goodwill? Spridning?<br />

Produktmål: Vad vill användarna uppnå med systemet?<br />

– Komfort? Prestige? Underhållning? Hjälp?<br />

I projektplanen<br />

Projektmål: Vad vill utvecklingsorganisationen uppnå med projektet?<br />

– Vinst? Kompetens? Goodwill? Kodbas? [tid-kostnad-kvalitet]<br />

Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1 9<br />

Affärsmål för cykelgaraget - idéer<br />

Public service: Kostnadsfritt för den pendlande användaren med smidig<br />

access, låg säkerhet och utan garantier.<br />

Gated community: Betalande användare som garanteras plats och en<br />

säker förvaring av sina exklusiva cyklar.<br />

Skalbarhet: Förberett för uppskalning till en serie sammanlänkade<br />

garage där cykelägaren har fri tillgång.<br />

Billig drift: Stabilt och enkelt att underhålla, låg service till cykelägarna<br />

Cykelgarage som produkt: Ägaren ska enkelt kunna generera och<br />

konfigurerar nya och inbördes oberoende garage.<br />

Idé<br />

Affärsmål<br />

V-modellen för programvaruutvecking<br />

Validera<br />

Verifiera<br />

Kodgranskning<br />

Kravtäckning<br />

Gränsvärde<br />

Utvärdering<br />

Underhåll<br />

Release Support<br />

Releasebeslut<br />

Acceptanstest<br />

Whitebox<br />

Ekvivalensklasser<br />

Integrationstest<br />

Blackbox Kodtäckning<br />

Versioner<br />

Verifiera<br />

Applikation<br />

Varianter Konfigurationer Enhetstest<br />

V-modellen för programvaruutvecking<br />

Idé<br />

Affärsmål<br />

Validera<br />

Produkt-<br />

Användarfall<br />

mål<br />

Tidplan Funktionella krav<br />

Resurser<br />

Kvalitetskrav<br />

Risker<br />

Verifiera Kravtäckning<br />

Projekt-<br />

Krav<br />

plan<br />

Verifiera<br />

Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1 10<br />

Granskning<br />

Design<br />

Gränssnitt hårdvara<br />

Kodgranskning<br />

Gränsvärde<br />

Whitebox<br />

Ekvivalensklasser<br />

Återanvänd kod<br />

Integrationstest<br />

Programkod Blackbox Kodtäckning<br />

Versioner<br />

Verifiera<br />

Applikation<br />

Varianter Konfigurationer Enhetstest<br />

Testdokumentation<br />

Felrapport<br />

Systemtest<br />

Utvärdering<br />

Underhåll<br />

Release Support<br />

Releasebeslut<br />

Acceptanstest<br />

Testdokumentation<br />

Felrapport<br />

Systemtest


Användarfall:<br />

Ta in cykel i garaget – undantag?<br />

Framgångsscenario:<br />

1. Cykelägaren läser cykelns streckkod m h a streckkodsläsare vid ingången.<br />

2. Ingångsdörrens lås öppnas och cykeln registreras som inlämnad.<br />

3. Cykelägaren placerar sin cykel i garaget och lämnar garaget genom<br />

extrautgången.<br />

Undantag:<br />

1a. Streckkoden finns inte i systemet<br />

3a. Cykeln lämnas aldrig I garage<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1 11<br />

Användarfall:<br />

Ta in cykel i garaget – undantag?<br />

Framgångsscenario:<br />

1. Cykelägaren läser cykelns streckkod m h a streckkodsläsare vid ingången.<br />

2. Ingångsdörrens lås öppnas och cykeln registreras som inlämnad.<br />

3. Cykelägaren placerar sin cykel i garaget och lämnar garaget genom<br />

extrautgången.<br />

Undantag:<br />

1a. Streckkoden finns inte i systemet<br />

* PIN-kodsterminalens LED blickar rött i 2 sekunder<br />

* Systemet registrerar den okända koden som ett intrångsförsök<br />

* Dörren öppnas INTE<br />

3a. Cykeln lämnas aldrig I garage<br />

* Cykeln registreras som inlämnad (felaktigt)<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1 12


Funktionella krav och kvalitetskrav:<br />

Ta in cykel i garaget<br />

• Hur lång är PIN-koden<br />

• Är koden unik per användare?<br />

• Ska den kombineras med användar-ID?<br />

• Hur länge ska dörren vara öppen?<br />

• Hur snabbt ska dörren öppnas<br />

• Hur många försök får man?<br />

• Hur ger vi återkoppling på PIN-kodsterminalen?<br />

• Hur ofta får streckkodsavläsning misslyckas?<br />

• Ska vi logga alla försök?<br />

Kvalitetskrav<br />

• Tillförlitlighet<br />

• Användbarhet<br />

• Effektivitet<br />

• Underhållsbarhet<br />

• Portabilitet<br />

• Uppfyllandegrad<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1 13<br />

Funktionella krav: Ta in cykel i garaget<br />

Krav UF1a:<br />

PIN-koden bör vara fyrsiffrig.<br />

Krav UF<strong>1b</strong>:<br />

Inmatning av PIN-kod sker på formen *nnnn#<br />

där n står för ett godtyckligt nummer 0-9<br />

Krav UF1:<br />

Om cykelägaren slår en felaktig PIN-kod lyser<br />

terminalens LED i tre sekunder.<br />

Krav UF2:<br />

Efter tre misslyckade PIN-kodsförsök lyser<br />

teminalens LED i fem sekunder och<br />

cykelägarens konto spärras i 10 minuter.<br />

• Hur lång är PIN-koden<br />

• Är koden unik per användare?<br />

• Ska den kombineras med<br />

användar-ID?<br />

• Hur länge ska dörren vara<br />

öppen?<br />

• Hur många försök får man?<br />

• Hur ger vi återkoppling på PINkodsterminalen?<br />

• Hur ofta får streckkodsavläsning<br />

misslyckas?<br />

• Ska vi logga alla försök?<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1 14


Kvalitetskrav: Ta in cykel i garaget<br />

Krav UQ1:<br />

99,8 % av försök att läsa en korrekt<br />

streckkod ska ge rätt PIN-kod till<br />

systemet.<br />

ETSA01: Ingenjörsprocessen metodik<br />

VT2013<br />

Krav UQF2:<br />

Vid lyckad PIN-kodsinslagning eller<br />

streckkodsavläsning skall dörren vara<br />

fullt öppnad efter 2 sekunder.<br />

Krav UQF3:<br />

Senast 15 sekunder efter strömavbrott<br />

ska streckkodläsaren var i full drift.<br />

• Hur lång är PIN-koden<br />

• Är koden unik per användare?<br />

• Ska den kombineras med<br />

användar-ID?<br />

• Hur länge ska dörren vara<br />

öppen?<br />

• Hur många Tidplan försök får vt man? 2013<br />

• Hur ger vi återkoppling på PINkodsterminalen?<br />

• Hur ofta får streckkodsavläsning<br />

misslyckas?<br />

• Ska vi logga alla försök?<br />

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ö<br />

12 Student Ö0a F1 Ö0b Ö1a Ö0c Ö<strong>1b</strong><br />

Projekt 1,0 L1<br />

Kravspec 1,0 2,0 1,0 1,0 1,0 0,5<br />

Handledare -> fb0<br />

15 Student F2 Ö2<br />

Projekt L2<br />

Kravspec 1,0 3,0 1,0 G1 •<br />

Projektplan<br />

Handledare fb1 |- - - -> fb2<br />

16 Student F3 Ö3<br />

Projekt<br />

Kravspec • • • • •> L3<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1 15<br />

Projektplan<br />

Testplan<br />

Design<br />

Handledare |- - - - - - - - - - - - -> fb3<br />

17 Student F4 Ö4<br />

Projekt<br />

Kravspec G2 • • • • • • • •> L4<br />

Inför vecka 2<br />

Projektplan L4<br />

Testplan G3 • •<br />

Design G4 •<br />

Code<br />

Handledare |- - - -> fb4<br />

18 Fredag Student kl 24: L1 i wikin: Användarfallet + Funktionlla Ö5 krav + kvalitetskrav<br />

Projekt<br />

V2 Kravspec – efter påsk<br />

Projektplan<br />

Tisdag kl 8 återkoppling från oss på L1<br />

Testplan • •> L5<br />

Design • •> L5<br />

Tidag kl 13 förläsning i E:A<br />

Code<br />

Test<br />

Onsdag kl 12 L2 kravspecifikation – sanity check<br />

Handledare |- - - - - - - - -> fb5<br />

19 Student F5<br />

Torsdag kl 8 återkoppling från oss på sanity check<br />

Projekt<br />

Kravspec<br />

ETSA01: Fredag Ingenjörsprocessen kl 16? metodik Projektintern Projektgrupp: granskning efter omarbete???<br />

Projektplan<br />

VT2013<br />

Testplan<br />

Design<br />

Projektgrupp:<br />

måndag tisdag onsdag torsdag fredag<br />

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ö<br />

12 Test Student Ö0a F1 Ö0b Ö1a Ö0c Ö<strong>1b</strong><br />

Startman. Projekt 1,0 L1<br />

Kravspec<br />

Handledare<br />

1,0 2,0 1,0 1,0 1,0 0,5<br />

Handledare<br />

20 Student F6<br />

-> fb0<br />

15 Projekt<br />

Student F2 Ö2<br />

Kravspec<br />

Projekt L2<br />

L6<br />

Projektplan<br />

Kravspec 1,0 3,0 1,0 G1<br />

L6<br />

•<br />

Projektplan<br />

Testplan L6<br />

Handledare fb1 |- - - -> fb2<br />

Tidplan vt 2013<br />

måndag tisdag onsdag torsdag fredag<br />

Design L6<br />

16 Code Student F3 Ö3<br />

L6<br />

Test Projekt<br />

L6<br />

Lund University | Computer Science | ETSA01 Ingenjörsprocessen - Metodik VT13 | <strong>Exercise</strong> 1 16<br />

Startman Kravspec • • • • •> L3<br />

L6<br />

Projektplan<br />

Handledare |-><br />

F<br />

Testplan<br />

Schemalagd föreläsning<br />

Design<br />

Ö Schemalagd övning L Leverabel från projektet G Granskningsmöte? fb Återkoppling T Tentamen 1,0 Timmar per projektmedlem

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!