Use case modellering Kravspesifikasjon 23.01.2008 Kirsten Ribu Kirsten Ribu HiO 2008
I dag Eksempler på datasystemer – med use case modell som kravspesifikasjon Kirsten Ribu HiO 2008
Hva er en modell? Kirsten Ribu HiO 2008
Kirsten Ribu HiO 2008
Diamant Kirsten Ribu HiO 2008
UML - modeller Kirsten Ribu HiO 2008
Datakyndiges ulike roller Utviklere av hardware (maskinorienterte) Installerer og tilpasser programvare, f.eks regnskapssystemer (Programorienterte) Systemutviklere – lager/endrer informasjonssystemer (problemorienterte) Kirsten Ribu HiO 2008
Hva slags datasystemer har vi? Eksempler: Timebestillingsystemer (Brilleland, Sats) Nettbank Bookingsystemer (flyreiser, kino og teaterbilletter etc.) Personalsystemer (Agresso, SAP etc) Store logistikksystemer for butikker (Eks: Hakongruppen, bruk av strekkoder for salg av melk, brød, ost ) Kirsten Ribu HiO 2008
Kirsten Ribu HiO 2008
Postbanken Kirsten Ribu HiO 2008
Kirsten Ribu HiO 2008
Brilleland Kirsten Ribu HiO 2008
Agresso - personalsystem Kirsten Ribu HiO 2008
Use case modell - restaurant Kirsten Ribu HiO 2008
Restaurant-system Kirsten Ribu HiO 2008
Aktivitetsdiagram Kirsten Ribu HiO 2008
Komplekst use case Kirsten Ribu HiO 2008
Rational Rose verktøy Kirsten Ribu HiO 2008
Forberedelse til kravmodellering med use case Finn mulige handlinger – for eksempel ’bestill time’, registrer bruker’ Finn mulige aktører: Kunde, administrator Hvordan: Handlinger = Verb + objekt Aktører = Mennesker eller systemer Kirsten Ribu HiO 2008
Kravspesifikasjon En samling funksjonelle krav til et system i tekstlig form, utdypet med use cases: Hvem skal bruke systemet og til hva? Hvilken funksjonalitet skal det ha? Skal det knyttes opp til andre systemer? Hvilken teknologi (plattform, programmeringsspråk etc.) Robusthet, ytelse etc Kirsten Ribu HiO 2008
Eksempel: Lage spørreskjema/ (prøve) En ansatt/ lærer ønsker å lage en spørreundersøkelse eller prøve på nett ( i Fronter). Det skal være et start-tidspunkt og et slutt-tidspunkt for undersøkelsen /prøven. Læreren skal fritt kunne utforme spørsmål og svaralternativer, bestemme om det skal være radioknapper eller flervalgsspørsmål, og om spørsmålene MÅ besvares før man kan gå videre i svarene. Er det en prøve skal man kunne gi poeng for svarene. Kirsten Ribu HiO 2008
Kirsten Ribu HiO 2008
Spørreskjemaet Læreren vil gjennomføre en undersøkelse, og lage spørsmål i et spørreskjema. Studentene skal fylle ut svar på spørsmålene. Læreren ønsker å ha en enkel oversikt over svarene som er kommet inn, f eks hvor mange som har svart på de ulike spørsmålene. Kirsten Ribu HiO 2008
Forts Finn riktig detaljeringsnivå Beskriv bare 1 hendelse per steg Ikke beskriv detaljer om brukergrensesnitt. Eksempel: Ikke ’Aktør trykker på ’Send’-knappen’ Kirsten Ribu HiO 2008
Aktører og målbeskrivelse Lærer Lag spørreskjema Publiser spørreskjema Vis statistikk Student Svar på spørreskjema Se resultater Kirsten Ribu HiO 2008
Overordnet use case modell lag Lærer Student Kirsten Ribu HiO 2008
Use case: Lag spørreskjema Systemet (Fronter) viser….. Læreren skriver…… Systemet ber om overskrift…… Læreren fyller ut……. Systemet …. Læreren….. Systemet lagrer spørreskjemaet Kirsten Ribu HiO 2008
Eksempel på generell løsning: Spørreskjemagenerator Problemdefinisjon: 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-generator" for Web. Kirsten Ribu HiO 2008
Hvordan skrive use case Beskriv hva som gjøres, ikke hvordan det gjøres Skriv hendelsesflyten som en nummerert liste på formen 1. <Ansatt> <ber om> at <spørreskjema>< blir lagret> 2.<Systemet><lagrer><skjemaet> Finn riktig detaljeringsnivå Beskriv bare 1 hendelse per steg Ikke beskriv detaljer om brukergrensesnitt. Eksempel: Ikke ’Aktør trykker på ’Send’-knappen’ Kirsten Ribu HiO 2008
Verb = handlinger =>Use 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). Kirsten Ribu HiO 2008
Forts… 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-generator" for Web. Kirsten Ribu HiO 2008
Aktører og målbeskrivelse Ansatt Generer spørreskjema Publiser spørreskjema Vis statistikk Deltager Velg spørreskjema Svar på spørreskjema Web-browser Lagre spørreskjema Kirsten Ribu HiO 2008
Overordnet use case modell Kirsten Ribu HiO 2008
Main 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 Kirsten Ribu HiO 2008
Pre- og postbetingelser, triggere Prebetingelse: Må være sant før use caset starter (testbart). F.eks: Kunden er registrert i systemet Postbetingelse: Testbar tilstand når use caset er ferdig. F.eks: Kunden har mottatt en sms med bestillingsnummer Trigger: En hendelse som setter i gang use caset. F.eks: Kunde ønsker å bestille billetter Kirsten Ribu HiO 2008
Use 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’ Kirsten Ribu HiO 2008
Use 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 Kirsten Ribu HiO 2008
Komplett use case beskrivelse av ’Generer spørreskjema’ Extension point Kirsten Ribu HiO 2008
Use case modell med include og extend use cases Kirsten Ribu HiO 2008
Hvorfor 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 Kirsten Ribu HiO 2008
Ikke-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. Kirsten Ribu HiO 2008
Oppsummering Use casene beskriver kravene til systemet 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) Kirsten Ribu HiO 2008
Scenario Et scenario er en hendelsesflyt – en sekvens av hendelser En komplett use case beskrivelse inneholder: Trigger, Prebetingelser’ Postbetingelser ’ Main success scenario, Variasjoner, Feilsituasjoner Kirsten Ribu HiO 2008
Ressurser http://en.wikipedia.org/wiki/Use_case Kirsten Ribu HiO 2008
Neste gang Intervju og spørreundersøkelser. Øvingstimene: øvelser i intervjuteknikk, og trening på å lage gode spørsmål til spørreunderseøkelse. Kirsten Ribu HiO 2008