IN& &april&2019. Modellering*av*krav. Yngve&Lindsjørn. IN1030&'>Systemutvikling'>&Modellering&av&krav 1

Like dokumenter
IN2000:&Kravhåndtering,&modellering,&design

Modellering av krav. INF1050: Systemutvikling 07. februar Førstelektor Yngve Lindsjørn

Modellering av krav. INF1050: Systemutvikling 11. februar Universitetslektor Yngve Lindsjørn

IN2001: Kravhåndtering, modellering, design

Kravspesifikasjon med. UML diagrammer. systemutvikling. Dokumentasjon av systemets krav, arkitektur, design og implementasjon

Kravspesifikasjon med. Erik Arisholm

Unified Modeling Language (UML) Kravspesifikasjon med UML use case modellering. UML diagrammer. Notasjon som støtter opp under modellbasert

Kravspesifikasjon med UML use case modellering. Erik Arisholm

Use Case-modellering. INF1050: Gjennomgang, uke 04

UKE 11 UML modellering og use case. Gruppetime INF1055

Mer$om$objektorientering$og$UML

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel

GJENNOMGANG UKESOPPGAVER 4 USE CASE MODELLERING HELGA NYRUD & KRISTIN BRÆNDEN

Eksamen INF1050: Gjennomgang, uke 15

UNIVERSITETET I OSLO

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

Gruppenavn. Prosjektnavn Kravdokument For Navn på systemet. Versjon <1.0>

Fra krav til objekter. INF1050: Gjennomgang, uke 05

Spesifikasjon av Lag emne

Fra krav til modellering av objekter

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Kravspesifikasjon. Dagens forelesning. Mal for kravspesifikasjon. Hvordan finne fram til kravene? Kravspesifikasjon og objektorientert analyse

GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell. Dagens forelesning. Fra krav til objekter

UML-Unified Modeling Language

Kravspesifikasjon. Kravspesifikasjon. Mal for kravspesifikasjon. Hvordan finne fram til kravene? Hva skal systemet gjøre? Hvem og hva påvirker krav?

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

Meeting Reservation System

UML-Unified Modeling Language. Prosess-oversikt. Use case realisering

Spesifikasjon av Lag emne. Kursregistrering g bruksmønstermodell. Dagens forelesning. Fra krav til objekter

Kravspesifikasjon. Erik Arisholm. Simula Research Laboratory. Institutt for Informatikk. INF1050-krav-1

Utvikling fra skallet og inn

UNIVERSITETET I OSLO

Krav analyse og objektorientert

SPV SLIK LOGGER DU INN OG BETALER REGNINGER I NETTBANKEN

Obligatorisk oppgave 5: Modellering av krav

Gruppenavn. Prosjektnavn Beskrivelse av design For Navn på systemet. Versjon <1.0>

Leveranse 2. September 27, 2002

SPV SLIK LOGGER DU INN OG BETALER REGNINGER I NETTBANKEN

SRD GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie

Mer om objektorientering og UML

GJENNOMGANG OBLIGATORISK OPPGAVE 1

Produktrapport Gruppe 9

INF Oblig 2. Hour Registration System (HRS)

Objektorientering og UML. INF1050: Gjennomgang, uke 06

1. Hvilke type krav angår sikkerhet og pålitelighet?

Universitetet i Oslo Institutt for informatikk. Eskild Busch. UML hefte

Forside. Eksamen i IN1030 for Våren Ingen hjelpemidler tillatt.

Kravspesifikasjon. 14. oktober 2002

Prosjektrettet systemarbeid

Forfattere: Daníelsdóttir, Drífa Meland, Maiken Mijalkovic, Biljana Svendsen, Simen H. Gruppelærer: Zarei, Amir Hossein. 5.

Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu

Ulike typer prosessmodeller. Systemutvikling. Utviklingsmodeller. Prosessmodell - faser

S Y S T E M U T V I K L I N G ( L O A )

Mer om objektorientering og UML

Kapittel 7 & 8. Kravspesifikasjoner & Data design. Thomas Tjøstheim og Thomas Edvinsen. 20 September Kapittel 7 & 8 p.1/20

UNIVERSITETET I OSLO

Nettbedrift

SRD. Software Requirements and Design GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie

SRD GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie

Kravdokument Innholdsfortegnelse 1 Innledning 2 Bakgrunn og oversikt 3 Detaljerte krav 4 Systemsekvensdiagram

Modellering av brukstilfeller og forretningsprosesser. Kurs i standarder, Oslo, 12. juni 2018

Løsningsforslag til Case. (Analysen)

GJENNOMGANG UKESOPPGAVER 9 TESTING

Slik tar du i bruk nettbanken

Innholdsfortegnelse INNHOLDSFORTEGNELSE... 2 REVISJONSOVERSIKT...4 INTRODUKSJON MED FORUTSETNINGER... 5

Slik tar du i bruk nettbanken

Oblig2 i INF5120 Modellering med objekter UiO V04, Timelisteføringssystem Ver

Fra krav til objektdesign

Use case drevet design med UML

Conference Centre Portal (CCP)

1. Hvilke type krav angår sikkerhet og pålitelighet?

Bakgrunn. Kurset krever ingen spesielle forkunnskaper om modellering.

UML 1. Use case drevet analyse og design Kirsten Ribu

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign

Straksbetaling på 5 sekunder

Eksamen INF

AP221 Use Case TUL Administrer brukere, grupper og rettigheter

Kom i gang med InfoWeb. - Styr unna dårlige betalere!

Slik tar du i bruk nettbanken

INF Modellering med objekter (Oblig 2) **TimeregistreringSystem** (Designet av Alen Cemer

Prøveeksamen INF1050: Gjennomgang, uke 15

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

UNIVERSITETET I OSLO

Requirements & Design Document

Slik tar du nettbanken i bruk

UKE 16 Kontrakter. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

Kravspesifisering (4): Use Cases. Hvorfor passer use cases til krav? Tema / læremål. Gjettekonkurranse: Hva er det mest fundamentale.

AP221 Use Case TUL Utarbeid designdokumenter

Eksamen i fag TDT4140 Systemutvikling. 6. juni, 2006 kl

1 Introduksjon til designmodellen - del B 2

Eksamen i fag TDT4140 Systemutvikling. 22. mai, 2008 kl

INF 5120 Modellering med objekter

Betalinger i realtid, et kraftfullt verktøy fra finansnæringen

MARE NOSTRUM. Del 2 Kravspesifikasjon

Oversikt over forelesningen. DFD sentrale konsepter. Intro til Dataflytdiagrammer (DFD) Marakas, kap. 5

Gruppenavn. Beskrivelse av arkitektur For Navn på systemet. Versjon <1.0>

Transkript:

IN&1030 04.&april&2019 Modellering*av*krav Yngve&Lindsjørn ynglin@ifi.uio.no IN1030&'>Systemutvikling'>&Modellering&av&krav 1

Temaer i$dagens$forelesning Modellering&av&krav UML&diagrammer Use$Case$(Bruksmønster) Domenemodell Sekvensdiagram Aktivitetsdiagram IN1030&'>Systemutvikling'>&Modellering&av&krav 2

Gode%beskrivelser%av%krav er&viktig&for kontrakt&oppdragsgiver& leverandør planlegging&og&oppfølging&& arkitektur,&design&og&test å&støtte&videreutvikling&og&vedlikehold IN1030&'>Systemutvikling'>&Modellering&av&krav 3

Kravene bør være forståelige (alle&interessenter/stakeholders&må&kunne& forstå&kravspesifikasjonen), testbare (vi&må&kunne&avgjøre&om&det&ferdige&systemet& gjør&det&det&skal),&og sporbare (vi&må&vite&hvilken&del&av&koden&som&skal&endres& når&det&kommer&nye&krav). IN1030&'>Systemutvikling'>&Modellering&av&krav 4

Utfordringer+i+kravhåndtering Kommunikasjon& Felles&forståelse! bl.a.&av&når&et&krav&er&realisert? Sammenhengen&fag'IT! Hvis&fagsiden&dominerer,&kan& funksjonalitet&bli&besluttet&uten& tilstrekkelig&innsikt&i&hva&som&kan& realiseres&i&systemet! Hvis&IT&dominerer,&kan&den& tekniske&sjargongen&bli& dominerende&og&dermed&blir&det& vanskelig&å&få&kravene&riktige! Sporbarhet&fra&krav&til arkitektur,& design&og&kode&er&viktig IN1030&'>Systemutvikling'>&Modellering&av&krav 5

Eksempel() E)resept ) Hentet(fra(detaljert(funksjonell(kravspesifikasjon FEST=&Forskrivnings' og&ekspedisjonsstøtte VRS=&Vareregisteret HELFO=&Helseøkonomiforvaltningen IN1030&'>Systemutvikling'>&Modellering&av&krav 6

Funksjonelle*krav Hva&(ikke&hvordan) Forretningskrav& Hva&organisasjonen&ønsker Brukerkrav& Hva&brukerne&ønsker&å&kunne&gjøre& Systemkrav& Mer&detaljert&definisjon&av&hva&som& skal&implementeres&sett&fra&brukernes& perspektiv IN1030&'>Systemutvikling'>&Modellering&av&krav 7

Beskrive(krav Tekst Strukturert&tekst User story&(brukerhistorie) Use&case&(brukstilfelle) Modeller UML&(Unified Modeling Language) BPMN&(Business&Process Model&and& Notation) IN1030&'>Systemutvikling'>&Modellering&av&krav 8

UML$% diagrammer Kilde:'http://en.wikipedia.org/wiki/Unified_Modeling_Language#Structure_diagrams' IN1030&'>Systemutvikling'>&Modellering&av&krav 9

Diagrammer(i(UML((Unified Modeling Language) Use&case&diagrammer&viser&systemets&funksjonalitet&og&samspillet& mellom&systemet&og&omgivelsene&(brukere,&andre&systemer,& komponenter) Sekvensdiagrammer viser&samspill&mellom&system&og&omgivelser& og&mellom&de&forskjellige&delene&av&systemet&(mer&detaljert&enn& use&case&diagrammene) Klassediagrammer viser&objektklassene&i&systemet&og& assosiasjonene&mellom&disse&klassene Aktivitetsdiagrammer viser&forretningsprosesser&og&' arbeidsprosesser& Det&er&disse&fire&diagramtypene&dere&skal&lære&i&IN1030 IN1030&'>Systemutvikling'>&Modellering&av&krav 10

Interessenter'(Stakeholders)'og'aktører Interessenter Oppdragsgivere&(kunder) Brukere Utviklere&og&vedlikeholdere Systemeiere&og&forvaltere Andre&interessenter&(fagforeninger,&lovgivere,&andre&systemer) Se&også&hva&er&en&interessent&definert&av&Difi (direktoratet&for&forvaltning& og&ikt). En&aktør for&et&system&representerer&en&rolle&som&et&menneske&eller&et& annet&system&som&har&et&mål&med&systemet. Det&er&ofte&flere&interessenter&enn&aktører,&og&en&aktør&er&som&også&en& interessent. IN1030&'>Systemutvikling'>&Modellering&av&krav 11

Use$case$modellering Identifiser$aktører En&aktør&representerer&en&rolle&som&et&menneske&eller&et& annet&system&når&det&kommuniserer&med&dette&systemet& En&aktør&kommuniserer&med&systemet&via&ett&eller&flere& use&case En&aktør&er&ofte&også&en&interessent&(stakeholder),&men& det&finnes&også&en&del&interessenter&som&ikke&er&aktører IN1030&'>Systemutvikling'>&Modellering&av&krav 12

Interessenter Oppgave:& Finn&interessenter&for&et&system&for&registrering&og& behandling&av&lånesøknader IN1030&'>Systemutvikling'>&Modellering&av&krav 13

Use-case-modellering Identifiser-brukere-! aktører Oppgave:& Finn&aktører&for&et&system&for&registrering&og& behandling&av&lånesøknader,&både&primære aktører& (har&et&eget&mål),&og&sekundære aktører&(trengs&for&å& oppfylle&de&primære&aktørenes&mål) IN1030&'>Systemutvikling'>&Modellering&av&krav 14

Use$case$modellering Identifiser$brukere$! aktører Eksempel:& Aktører&for&et&system&for&registrering&og&behandling&av& lånesøknader Søker Lånekonsulent Kredittbyrå Bank IN1030&'>Systemutvikling'>&Modellering&av&krav 15

Use$case$modellering Identifiser$primære$aktører Primære&aktører&har&egne&mål,&dvs.&de&initierer& use&case&(en&eller&flere)&som&oppfyller&deres&mål. Primære aktører Søker Lånekonsulent Kredittbyrå Bank IN1030&'>Systemutvikling'>&Modellering&av&krav 16

Use$case$modellering Identifiser$sekundære$aktører Sekundære&aktører&har&ikke&egne&mål,&men& er&nødvendige&for&å&realisere&målene&til&de& primære&aktørene Sekundære aktører Søker Lånekonsulent Kredittbyrå Bank IN1030&'>Systemutvikling'>&Modellering&av&krav 17

Finne%aktører I&workshop Brainstorming Fra&tekstlige&krav Blant&prosjektets&interessenter Spørsmål Hvem&skal&bruke&systemet?& Hvem&skal&administrere&systemet? Hvem& tilbyr&informasjon&til bruker&informasjon&fra,&eller& fjerner&informasjon&fra&systemet?& Hvilke&eksterne&ressurser&skal&systemet&bruke? Hvilke&andre&systemer&skal&kommunisere&med&dette&systemet? IN1030&'>Systemutvikling'>&Modellering&av&krav 18

Use$case$modellering: Identifiser$aktørenes$mål$" Use$case Et&use&case&beskriver&hvordan&systemet&oppnår&et&mål&av&verdi&for&en& aktør! En&historie! Et&komplett&use&case&består&av&flere&ulike&hendelsesforløp&(flyt) Et use case beskriver en komplett funksjonell enhet! One person one place one time Et use case er testbart Eksempel:&Use&cases&for&lånesystemet Registrer lånesøknad Vurder lånesøknad Se&status Lag&låneavtale Registrer nytt lån IN1030&'>Systemutvikling'>&Modellering&av&krav 19

Kan&bruke&de&samme&metodene&som&brukes&for&å&finne&aktører F.eks.&gjennomføre&workshops,&gjerne&i&flere&runder Fra&prosessmodeller&over&forretnings' og&arbeidsprosesser Spørsmål& For&hver&aktør: Finne%use%case Hvilke&mål&ønsker&aktøren&å&oppnå&med&bruk&av&systemet? Hvilke&resultater&vil&aktøren&oppnå&med&bruk&av&systemet? Hva&er&de&viktigste&oppgavene&som&aktøren&ønsker&at&systemet&skal& kunne&utføre? Vil&aktøren&skape,&lagre,&endre,&lese&eller&slette&data&i&systemet? Vil&aktøren&ha&behov&for&å&informere&systemet&om&eksterne& endringer? Har&aktøren&behov&for&å&bli&informert&om&hendelser&i&systemet? IN1030&'>Systemutvikling'>&Modellering&av&krav 20

Use$case$modellering:$ Tegn use$case$diagram$ Registrer lånesøknad Søker Se&status Kredittbyrå Vurder lånesøknad Lånekonsulent Lag&låneavtale Registrer nytt lån Bank IN1030&'>Systemutvikling'>&Modellering&av&krav 21

Eksempel& eksamensoppgave&inf1050&' 2012 Oppgave'2' 'Modellering'av'en'nettbank'(40'%)' Du skal lage en modell for et program som skal implementeres for en nettbank. I bankens system skal en kunde først logge seg inn i nettbanken med brukernavn og passord. Følgende tabell beskriver funksjoner som skal være tilgjengelige etter vellykket innlogging: #" Funksjonelle"krav" 1" 2" 3" 4" 5" 6" Systemet må kunne gi en oversikt over alle kontoene kunden har i nettbanken. I oversikten skal det gis saldo for hver konto som er tilgjengelig i nettbanken. Ved å trykke på et kontonavn eller kontonummer skal det gis en oversikt over alle transaksjonene siste måned for denne kontoen. Detaljene i en transaksjon viser dato for transaksjonen, en forklarende tekst, beløp og saldo på kontoen etter transaksjonen. Systemet må kunne gi en oversikt over alle transaksjonene for en gitt konto for et gitt tidsintervall (for eksempel siste år). Systemet må kunne betale en regning fra en gitt konto ved bruk av KIDnummer. Systemet må kunne legge inn en ny betalingsmottaker som fast mottaker for en gitt konto. Systemet må kunne gi en oversikt over alle faste betalingsmottakere for en gitt konto, samt endre eller slette informasjon om en betalingsmottaker. a)! Lag et bruksmønster-diagram (use-case diagram) der du inkluderer alle bruksmønstrene som er nødvendige for å implementere kravene i tabellen over. IN1030&'>Systemutvikling'>&Modellering&av&krav 22

Detaljert(beskrivelse(av(hovedflyt(3 Registrer( lånesøknad( 1. Søkeren&fyller&ut&en&lånesøknad 2. Systemet&validerer&informasjonen&i&lånesøknaden 3. Systemet&henter&søkerens&kontohistorie&med&banken 4. Systemet&innhenter&kredittrapport&for&søkeren&fra&et& kredittbyrå 5. Systemet&beregner&søkerens&kreditt&score&basert&på& kredittrapport&og&kontohistorie 6. Systemet&informerer&søkeren&om&at&søknaden&er& mottatt&og&blir&vurdert 7. Systemet&setter&status&på&lånesøknaden&til& Initiell kredittsjekk&ferdig 8. Systemet&legger&lånesøknaden&i&oppgavelisten&til&en& lånekonsulent IN1030&'>Systemutvikling'>&Modellering&av&krav 23

Tilleggsinformasjon Input Lånesøker&må&oppgi:&Navn,&adresse,&telefon,& fødselsdato,&arbeidsgiver,&årslønn&og&samlet&gjeld Forretningsregler Eksempel:&Lån&gis&bare&til&personer&med&fast&jobb Ikke'funksjonelle&krav Brukervennlighet Ny&bruker&skal&kunne&registrere&søknad&på&mindre& enn&10&min.& Mindre&enn&1&av&10&brukeres&skal&avslutte& registreringen&uten&å&fullføre. Ytelse Systemet&skal&håndtere&inntil&100&samtidige&brukere IN1030&'>Systemutvikling'>&Modellering&av&krav 24

Alternativ*flyt Use&casene&kan&oppnå&sitt&mål& på&flere&måter,&og&kan&feile&på& flere&måter,&så&detaljerte&use& case&har&også&alternative&flyt. Alternative&flyt&(blant&annet& feilsituasjoner)&er&viktige&da&det& ofte&er&mer& uenighet &blant& prosjektets&interessenter&om& hva&som&skjer&i&de&tilfellene&enn& for&hovedløpet. Ethvert&steg&i&hovedløpet&kan& være&utgangspunkt&for&et& alternativ&flyt. Hovedløp: -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- Alternativ flyt: -------------------- -------------------- -------------------- -------------------- Alternativ&flyt: '''''''''''''''''''' '''''''''''''''''''' '''''''''''''''''''' '''''''''''''''''''' Alternativ flyt: -------------------- -------------------- -------------------- -------------------- IN1030&'>Systemutvikling'>&Modellering&av&krav 25

Hovedløp: Use0case0 Registrer0lånesøknad? Alternative0flyt 1. Søker&fyller&ut&en&online&lånesøknad 2. Systemet&validerer&informasjonen&i&lånesøknaden 3. Systemet&henter&søkerens&kontohistorie&med&banken&fra&kontosystemet 4. Systemet&innhenter&kredittrapport&for&søkeren&fra&et&eksternt&kredittbyrå 5. Systemet&beregner&søkerens&kreditt&score&basert&på&kredittrapport&og&kontohistorie 6. Systemet&informerer&søkeren&om&at&søknaden&er&mottatt&og&blir&vurdert 7. Systemet&setter&status&på&lånesøknaden&til& Initiell kredittsjekk&ferdig 8. Systemet&legger&lånesøknaden&i&oppgavelisten&til&en&lånekonsulent Alternativ0flyt01,0steg02: Informasjonen&i&lånesøknaden&er&ikke&komplett&og&korrekt A1.1.&Systemet&returnerer&lånesøknaden&til&søker&for&ytterligere&utfylling. A1.2.&Systemet&setter&lånesøknadens&status&til& Avventer. Alternativ0flyt02,0steg03:&Det&er&ikke&tilstrekkelig&kredittinformasjon&om&søkeren& (kredittrapport&er&ikke&tilgjengelig&eller&er&for&dårlig) A2.1.&Systemet&sender&beskjed&til&søker&om&at&søknaden&er&avslått A2.2.&Systemet&setter&lånesøknadens&status&til& Avslått. IN1030&'>Systemutvikling'>&Modellering&av&krav 26

Pre. og-postbetingelser Use&case& Vurder&lånesøknad : Prebetingelse:& Lånesøknaden&har&status& Initiell kredittsjekk&ferdig Postbetingelser:& Lånesøknaden&har&status& Godkjent, Lånesøknaden&har&status& Informasjon&mangler,&eller Lånesøknaden&har&status& Avslått &og&søker&har&fått&beskjed&om&at& søknaden&er&avslått Mer&presist&v.h.a.&domeneobjekter: Prebetingelse:- Lånesøknad.status =& Initiell kredittsjekk&ferdig Postbetingelser:- Lånesøknad.status =& Godkjent &or Lånesøknad.status =& Informasjon&mangler &or& (Lånesøknad.status =& Avslått &and&kunde.beskjed =& Sendt ) Pre' og&postbetingelser&er&bl.a.&nyttige&i&funksjonell&test IN1030&'>Systemutvikling'>&Modellering&av&krav 27

Relasjoner*mellom*og*use*case* Extend og*include relasjonen Include'relasjonen: Et&use&case&kan& være&en&del&av&ett&flere&andre&use&&& case. Extend'relasjonen: Et&use&case&som& beskriver&tilleggsoppførsel&som&utføres& under&gitte&omstendigheter IN1030&'>Systemutvikling'>&Modellering&av&krav 28

Include(relasjonen. To5eller5flere5use5cases5kan5ha5 en5felles5del5(noen5like5steg).5 Denne5delen5kan5da5legges5ut5i5 et5eget5use5case5som5disse5 use5casene5kan5inkludere.! Include kan5også5brukes5 for5å5forenkle5store5use5 case5med5mange5steg5! Include kan5også5brukes5 for5å5håndtere5steg5som5 kan5forekomme5når5som5 helst5i5utførelsen5av5use5 caset Søker * * Kunde Registrer lånesøknad Basis use case * * <<include>> Tilby2kreditt <<include>> Utfør2kredittsjekk Basis5use5caset vet5hvilke5use5 case5det5inkluderer IN1030&>Systemutvikling&>5Modellering5av5krav 29

Extend'relasjonen Alternativ&oppførsel&som&utføres&i& noen&tilfeller&kan&skrives&som&eget& use&case&som&utvider&(extends)&et& annet Extend use&case&beskriver&hvordan& oppnå&et&&tilleggsresultat Basis&use&caset er&fullstendig& definert&uten&extensions,&disse& utvider&funksjonaliteten Basis&use&caset kjenner&sine& extend use&cases Lånekonsulent Bruk&av&alternativ&flyt&vs.&bruk&av& extend use&&case:! Alternativ&flyt&beskriver&hva&som& skjer&ved&avvik&i&normal&flyt,&mens! Extend use&case&beskriver&hvordan& oppnå&tilleggsresultat.& * * Vurder.lånesøknad <<extend>> Basis use case <<extend>> Godkjenn.lånesøknad med.betingelser Extend use case Be.om.ytterligere kredittinformasjon IN1030&'>Systemutvikling'>&Modellering&av&krav 30

Use$case$vs.$smidig$utvikling I&smidig&utvikling&jobber&produkteier&sammen&med&utviklere&i&samme&team Det&er&mindre behov&for&detaljerte&beskrivelser&av&krav&og&ofte&brukes&user stories (en& lett &versjon&av&use case) Eks: Som lånekonsulent& ønsker$jeg$å&kunne&vurdere&lånesøknader& slik$at$jeg$kan&gi&en&riktig&og&rask&vurdering Krav&utvikles&underveis&og&beskrives& on demand &! Først&tilstrekkelig&for&prioritering&i&produktkøen! Så&tilstrekkelig&for&prioritering&i&sprint&backloggen IN1030&'>Systemutvikling'>&Modellering&av&krav 31

Use$case$vs.$user stories Likheter.&Begge&viser Hvem&som&skal&bruke&systemet Hva&de&skal&gjøre&med&det Hvorfor&de&skal&gjøre&det& Forskjeller Omfang,&kompletthet,&livslengde,&hensikt User&stories&er&godt&egnet&for&å&finne&krav&og&bruke&disse&i&smidig&utvikling&i& samarbeid&med&produkteier/kunde Use&case&er&mer&detaljert,&har&flere&bruksområder&videre&i&prosjektet&og&er&mer& egnet&som&dokumentasjon Men,&det&er&en&flytende&overgang&mellom&dem.& IN1030&'>Systemutvikling'>&Modellering&av&krav 32

Use$case$i$prosjektplanlegging Planlegg&hvilke&use&case&som&skal&implementeres&i& hvilke&iterasjoner&av&prosjektet: Implementer&use&casene&i&henhold&til&hvor&viktige&de& er&og/eller&hvor&vanskelige&de&antas&å&være&å& implementere. Hovedflyt&implementeres&først,&deretter&alternativene. Estimer&hvor&mange&use&case&(eller&hendelsesflyt&og& alternative&flyt)&som&kan&implementeres&i&en&iterasjon. IN1030&'>Systemutvikling'>&Modellering&av&krav 33

Use$case$i$design Hendelsesflyt&i&use&casene& detaljeres&ut&i& sekvensdiagram Domenemodellen&utvides&til& klassediagram&med& systemklasser IN1030&'>Systemutvikling'>&Modellering&av&krav 34

Use$case$i$funksjonelle$tester Use&case&kan&være& utgangspunkt&for& testprosedyrer&(manuelle&eller& automatiserte) Dette&gir& Effektiv&utforming&av&tester Fokus&på&test&av&egenskaper& som&er&viktig&for&bruker Et testcase for hver vei Gjennom use caset Testcase: 1. Prebetingelse 2. Input&data 3. Steg 4. 5... 6. Forventet resultat IN1030&'>Systemutvikling'>&Modellering&av&krav 35

Domenemodell UML&klassediagrammer&uten&metoder Domenemodellen&viser&objekter&i&problemdomenet. Hensikten&med&domenemodellen&er&å&forstå&objektene&og&få&en& oversikt&over&terminologi. Domenemodellen&er&nyttig&i&forbindelse&med&use&case&modellering& fordi: Domenemodellen&viser&informasjonen&om&objekter&i&use& casene. Den&er&et&viktig&verktøy&for&å&sjekke&at&use&casene&er&beskrevet& med&riktig&detaljeringsnivå. IN1030&'>Systemutvikling'>&Modellering&av&krav 36

Domenemodell() eksempel Kunde Navn Persnr Kundenr 1 0..* Lånesøknad Nummer Beløp Kundenr 1 1 1 0..* 1 0..* 0..* 0..* 0..* 0..* Lån Konto Kontohistorikk Kredittbyrå Kredittscore Nummer Saldo Betingelser Navn Saldo Betingelser 1 1 Innskudd Uttakk Navn Score 1 0..* Kredittrapport Kundenr Score IN1030&'>Systemutvikling'>&Modellering&av&krav 37

Sekvensdiagrammer Et&flyt&i&et&use&case&kan&modelleres&med& sekvensdiagrammer. For&hvert&use&case&lages&typisk&sekvensdiagram&for& hovedflyt&og&for&hyppig&forekommende&alternative&flyt. Stegene&(sekvensene& se&tekstlig&beskrivelse)&i&et&use& case&vises&som&meldinger&som&sendes&mellom&objektene& ved&kall&på&objektenes&metoder. IN1030&'>Systemutvikling'>&Modellering&av&krav 38

Sekvensdiagram Registrer lånesøknad hovedflyt Lånesys!:! Lånesyst em!:!søker 1:!fyllUtSøknad() konto!:! Kontosystem kbyrå!:! Kredittbyrå lånekons!:! Lånekonsulent 2:!HentKontoInformasjon(Pnr) 3:! kontoinformas jon 4:!HentKredit trapport(pnr) 5:!KredittRapport 6:!BeregnKredittscore() 7:!LeggiOppgaveliste(søknad) IN1030&'>Systemutvikling'>&Modellering&av&krav 39

Sekvensdiagram Se.pasientinfo P!:!Pasientinfo D!:! MHCPMS7DB A!:!Autorisasjon!:!Medisinsk! saksbehandler 1:!SePasient info!(pid) 2:!Report!(Info,!PID,!UID) 3:! Autorisasjon(Info,!UID) 4:!Autorisasjon Alt Autorisasjon&ok 5:!Pasientinfo Autorisasjon&feilet 6:!Feilmelding!(Ingen!aksess) IN1030&'>Systemutvikling'>&Modellering&av&krav 40

Sekvensdiagram Hent0resept 0 Fra0detaljert0funksjonell0spesifikasjon0 E;resept IN1030&'>Systemutvikling'>&Modellering&av&krav 41

Aktivitetsdiagrammer Et&aktivitetsdiagram&kan&grafisk&representere& hendelsesflyten&i&et&use&case. Stegene&i&use&casene&vises&som&aktiviteter&&&&&&&(rektangel) Beslutninger&underveis&vises&som&&&&(diamant) Aktivitetsdiagrammer&og&sekvensdiagrammer&brukes&noe& overlappende,&men&sekvensdiagrammer&er&typisk&mer& kodenært&mens&aktivitetsdiagrammer&er&mer& forretningsnært. IN1030&'>Systemutvikling'>&Modellering&av&krav 42

Aktivitetsdiagram Registrer lånesøknad Start Fyll&ut& søknad Valider informasjon Info&ok Innhent& konto' historikk Innhent& kreditt' rapport Beregn kreditt' score Kreditt&ok Sendes&til&& låne' konsulent Info ikke&ok Kreditt ikke&ok Søker& endre&info Søker&bes& om&å&endre& søknad Søknad& avslås Slutt Søker&endrer&ikke&info IN1030&'>Systemutvikling'>&Modellering&av&krav 43

IN1030&'>Systemutvikling'>&Modellering&av&krav 44 Registrer lånesøknad Start Fyll&ut& søknad Valider informasjon Søker&bes& om&å&endre& søknad Innhent& konto' historikk Innhent& kreditt' rapport Beregn kredittscore Sendes&til&& låne' konsulent Søknad& avslås Info&ok Søker& endre&info Søker&endrer&ikke&info Info ikke&ok Slutt Kreditt&ok Kreditt ikke&ok!:!søker!:!søker Lånesys!:! Lånesystem Lånesys!:! Lånesystem konto!:! Kontosystem konto!:! Kontosystem kbyrå!:! Kredittbyrå kbyrå!:! Kredittbyrå lånekons!:! Lånekonsulent lånekons!:! Lånekonsulent 1:!fyllUtSøknad() 2:!HentKontoInformasjon(Pnr) 3:!kontoinformas jon 4:!HentKredittrapport(Pnr) 5:!KredittRapport 6:!BeregnKredittscore() 7:!LeggiOppgaveliste(søknad)