Title: Use case modellering i analysefasen
1Use case modelleringi analysefasen
- Metode for å identifisere og beskrive de
funksjonelle kravene til et system - Kapittel 9 i UML Distilled
- Kirsten Ribu
2Use case modellen
- beskriver kravene til systemet (hva skal det
gjøre og hvem som skal bruke det) - beskriver systemet sett fra brukerens perspektiv,
- beskriver hva som skjer, ikke hvordan det
skjer - beskriver interaksjonen mellom brukeren og
systemet (på en måte som brukeren kan forstå) - dokumenterer omfanget til systemet (slik at man
kan beregne størrelsen og hvor lang tid det tar å
lage systemet)
3Use Case modellen
- har blitt en de facto standard for håndtering
av - krav i systemutviklingsprosjekter.
- Kostnader ved feilhåndtering av krav er høye
- Det er viktig med en god metode for utforming av
krav - er starten på analysefasen.
- Use case modellen benyttes videre i
prosjektplanlegging, objekt-orientert analyse og
design og i testing.
4Use case modellen
- Use case modell Use case diagram Use case
beskrivelser - Use case diagram gir en enkel
- oversikt over systemet, men er ikke komplett.
- Use case beskrivelser strukturerte
- tekstlige beskrivelser, ingen standard.
5Eksempel Use case diagram
Timebestillingssystem
Aktør
Use case
Grensesnitt
6Use case beskrivelse bestill time
- Systemet viser et skjema med dato og klokkeslett
- Bruker velger tidspunkt
- Systemet ber om bekreftelse på at dataene er
korrekte - Brukeren bekrefter
- Systemet spør om brukeren vil ha kvittering på
sms eller e-mail - (Brukeren foretar et valg)
- Systemet lagrer opplysninger og sender kvittering
7Use case modell
- Systemet viser et skjema med dato og klokkeslett
- Bruker velger tidspunkt
- Systemet ber om bekreftelse på at dataene er
korrekte - Brukeren bekrefter
- Systemet spør om brukeren vil ha kvittering på
sms eller e-mail - (Brukeren foretar et valg)
- Systemet lagrer opplysninger og sender kvittering
Timebestillingssystem
8Hva er et Use case?
- Opprinnelse Ivar Jacobsen i Objectory senere
Rational nå IBM - Traffic cases -gtuse cases
- Definisjon Et use case er en oppgave (task) som
brukeren vil utføre ved hjelp av systemet
(eksempel bestill time, vis cder) - Et use case beskriver hendelser i systemet
- Et use case kan være enkelt eller komplekst
9Finn systemets omgivelser og omfang - Viktige
spørsmål
- Hvilken funksjonalitet må systemet inkludere og
hvilken kan ekskluderes? - Hvem skal bruke dette systemet?
- Hvilke produkter og/eller resultater skal
systemet tilby? - Hvorfor trenger brukerne den funksjonaliteten
- som dette systemet tilbyr?
- (Spørsmål som skal besvares i prosjektrapporten)
10Aktører
Aktører har MÅL med bruken av systemet. De vil
oppnå noe.
11Aktører
- tegnes som fyrstikkmennesker med et navn
- er rollene som mennesker og andre systemer har
når de kommuniserer med ett eller flere use case - Er ikke det samme som titler eller personer,
- mennesker med en jobbtittel kan spille rollen til
- mange ulike aktører
- en aktør kan representere flere jobbtitler
- En aktør kan delta i mer enn et use case
12Hva er en Aktør?
- En bruker av systemet i en bestemt rolle
- Kan også være et eksternt system
- Aktøren er ekstern i forhold til systemet
- Aktøren interagerer med systemet
- Aktøren har krav til systemet
13oppgave
- Finn aktører for dette systemet
- Et brannvarslingssystem overvåker en serie
brannsensorer for å oppdage tegn på brann. Når
tegn på brann oppdages, ringer en alarm,
overrislingsanlegget settes i gang, og
brannvesenet varsles.
14Use case modellering
- Use case modellen består av diagram og tekstlige
beskrivelser som viser stegene i use caset - Hvert use case steg beskriver en enkelthandling
(transaksjon) mellom bruker og systemet - Et komplett use case består av flere ulike
hendelsesforløp (flyt, scenarier)
15Stegene i use case modellering
- Identifiser aktører
- Identifiser use case ut fra aktørenes mål.
- Identifiser sekundære aktører, dvs. aktører som
ikke har - Tegn use case diagram. Dette gir et overblikk
over aktører og use cases og dermed over
funksjonaliteten til systemet. - Lag tekstlige beskrivelser av use casene. Disse
viser hvordan aktører når mål ved bruk av
systemet.
16Identifiser Personen
17Eksempel Spørreskjemagenerator
- Problemdefinisjon (Kravspesifikasjon)
- Et meningsmålingsinstitutt ønsker å få laget et
system der spørreskjema er på Internett/Web.
Systemet skal være slik at det skal være enkelt å
legge et spørreskjema ut på Web, enkelt for andre
å fylle ut skjemaene på Web og at svarene lagres
på et format som kan eksporteres til andre
verktøy (f eks "strukturert tekst" som kan
importeres til et regneark). Deltakerne skal
kunne lagre svarene underveis og fortsette
utfyllingen av skjemaet senere. Til noen av
spørsmålene er det nødvendig å lese en del tekst.
Meningsmålingsinstituttet ønsker å ha en enkel
oversikt over svarene som er kommet inn, f eks
hvor mange som har svart på de ulike spørsmålene.
Det som skal lages er altså ikke et enkelt
spørreskjema på Web, men en spørreskjema-generato
r" for Web.
18Hvordan skrive use case
- Beskriv hva som gjøres, ikke hvordan det gjøres
- Skriv hendelsesflyten som en nummerert liste på
formen - 1. ltAnsattgt ltber omgt at ltspørreskjemagtlt blir
lagretgt - 2.ltSystemetgtltlagrergtltskjemaetgt
- Finn riktig detaljeringsnivå
- Beskriv bare 1 hendelse per steg
- Ikke beskriv detaljer om brukergrensesnitt.
- Eksempel Ikke Aktør trykker på Send-knappen
19Identifiser Personen
20Verb handlinger gtUse cases
- Et meningsmålingsinstitutt ønsker å få laget et
system der spørreskjema er på Internett/Web. - Systemet skal være slik at det skal være enkelt
å legge et spørreskjema ut på Web, - enkelt for andre å fylle ut skjemaene på Web og
at svarene lagres på et format som kan
eksporteres til andre verktøy (f eks "strukturert
tekst" som kan importeres til et regneark).
21Forts
- Deltakerne skal kunne lagre svarene underveis og
fortsette utfyllingen av skjemaet senere. - Til noen av spørsmålene er det nødvendig å lese
en del tekst. - Meningsmålingsinstituttet ønsker å ha en enkel
oversikt over svarene som er kommet inn, f eks
hvor mange som har svart på de ulike spørsmålene.
- Det som skal lages er altså ikke et enkelt
spørreskjema på Web, men en spørreskjema-generato
r" for Web.
22Aktører og målbeskrivelse
Aktør Mål 1 Mål 2 Mål 3
Ansatt Generer spørreskjema Publiser spørreskjema Vis statistikk
Deltager Velg spørreskjema Svar på spørreskjema
Web-browser Lagre spørreskjema
23Overordnet use case modell
24Main success scenario for Generer Spørreskjema
- Systemet ber om overskrift, innledning og antall
spørsmål - Ansatt skriver inn nødvendig informasjon
- Systemet sjekker at alle felt er utfylt
- Systemet viser et spørreskjema der tekst til
spørsmål skal fylles inn - Ansatt skriver inn tekst og svaralternativ
- Systemet sjekker at riktig antall spørsmål har
fått tekst - Ansatt ber om at spørreskjemaet blir lagret
- Systemet lagrer spørreskjemaet
25Pre- og postbetingelser, triggere
- Prebetingelse Må være sant før use caset starter
(testbart). - F.eks Bruker er logget inn, bruker er registrert
i systemet - Postbetingelse Testbar tilstand når use caset er
ferdig. - F.eks Bruker har mottatt en e-post, eller
Skjema er opprettet. - Trigger En hendelse som setter i gang use caset.
- F.eks Kunde ønsker å bestille time
26Use case Svar på spørreskjema
- Aktør Deltaker
- Trigger Deltaker velger å svare på undersøkelsen
- Systemet viser spørreskjemaet
- Deltaker svarer på spørsmålene
- Systemet sjekker om alle spørsmålene er besvart
- Deltaker bekrefter svarene
- Systemet sender skjemaet og genererer en
kvittering - Variasjoner
- 3a. Alle spørsmål er ikke besvart
- 1. Systemet ber deltaker fylle ut resten av
spørsmålene - 2. Extend use case Fortsett senere
27Use case Fortsett senere
- Aktør Deltaker
- Trigger Alle spørsmål er ikke besvart
- Systemet gir beskjed om at ikke alle spørsmål er
besvart - Deltakeren velger å fortsette senere
- Systemet lagrer svarene
28Komplett use case beskrivelse av Generer
spørreskjema
Extension point
29Use case modell med include og extend use cases
30Hvorfor use case modellering?
- De funksjonelle kravene, dvs. hva systemet skal
gjøre, må beskrives - Metoden oppmuntrer til å stille riktige spørsmål
- Metoden er systematisk
- Utviklere og kunder kan sjekke at use case
modellen inneholder det som er nødvendig - Det er enkelt å navigere i modellen
- Man får raskt overblikk over funksjonaliteten
- Man kan studere detaljer når det er nødvendig
31Utfordringer
- Kravene blir til mens de beskrives
- Kravene til systemet endres underveis
- Use case modellen må oppdateres
- Kravene kan bli beskrevet med ujevn
- detaljeringsgrad
- Dette motvirkes ved å detaljere ut i iterasjoner.
32Ikke-funksjonelle krav
- Eksempler på ikke-funksjonelle krav er krav til
- sikkerhet, ytelse, responstid, kostnader
- detaljer rundt hvilke hardware eller software
komponenter som skal brukes - Ikke-funksjonelle krav som gjelder et spesielt
use case kan skrives i det use caset - Ikke-funksjonelle krav som gjelder flere use case
eller hele systemet beskrives i et eget dokument.
33Oppsummering
- Use casene beskriver kravene tilsystemet
- En aktør er en bruker av systemet kan også være
et annet system - Use cases beskriver oppgaver som utføres av
aktøren - Use case uttrykkes gjennom diagrammer og tekst
(scenarier)
34Scenario
- Et scenario er en hendelsesflyt en sekvens av
hendelser - En komplett use case beskrivelse inneholder
- Trigger, Prebetingelser Postbetingelser Main
success scenario Variasjoner, Feilsituasjoner
35Prosjektet
- Gruppene må nå finne en bedrift eller
organisasjon å gjøre prosjektet i - Prosjektet går ut på
- å studere bruken av et datasystem i
organisasjonen - Beskrive organisasjonen og lage organisasjonskart
- Intervjue brukere om hvordan de bruker systemet,
og om hvordan de opplever det - Modellere systemet og beskrive det
36Neste gang
- Use case drevet analyse og design
- Kapittel 3 og 4 i UML Distilled
- Klassediagrammet
- Sekvensdiagrammer