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

Like dokumenter
Use Case-modellering. INF1050: Gjennomgang, uke 04

UKE 11 UML modellering og use case. Gruppetime INF1055

Fra krav til objekter. INF1050: Gjennomgang, uke 05

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

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

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

GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML

GJENNOMGANG OBLIGATORISK OPPGAVE 1

Løsningsforslag: Oblig 1. INF1050: Gjennomgang, uke 12

UNIVERSITETET I OSLO

Objektorientering og UML. INF1050: Gjennomgang, uke 06

Spesifikasjon av Lag emne

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Kravhåndtering. INF1050: Gjennomgang, uke 03

Forside Eksamen INF1055 V17

Eksamen INF1050: Gjennomgang, uke 15

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

Oppgave 1: Multiple choice (20 %)

Systemutvikling. Universitetet i Oslo, Institutt for informatikk Vår 2017

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

UNIVERSITETET I OSLO

Prøveeksamen INF1050: Gjennomgang, uke 15

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

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

Mer$om$objektorientering$og$UML

IN2001: Kravhåndtering, modellering, design

Obligatorisk oppgave 1 INF1050 Foranalyse og kravhåndtering. av Andreas Johansen Alexander Storheill Martin Dørum Nygaard Tobias Langø Aasmoe

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

Eksamen 2013 Løsningsforslag

Kravspesifikasjon med UML use case modellering. Erik Arisholm

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

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

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

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

UML-Unified Modeling Language

Meeting Reservation System

Obligatorisk oppgave 5: Modellering av krav

GJENNOMGANG UKESOPPGAVER 13 KONTRAKTER

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

INF 5120 Modellering med objekter

Gjennomgang av prøveeksamen. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

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

UNIVERSITETET I OSLO

Use case drevet design med UML

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

Fra krav til modellering av objekter

Obligatorisk oppgave 3. INF1050: Gjennomgang, uke 16

Løsningsforslag Sluttprøve 2015

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

Mer om objektorientering og UML

GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING

Løsningsforslag til Case. (Analysen)

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

GJENNOMGANG UKESOPPGAVER 9 TESTING

Kravspesifikasjon med. Erik Arisholm

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

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

Tom Røise IMT2243 : Systemutvikling 1. IMT2243 Systemutvikling 26. februar Klassediagrammet. Klasse

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

UKE 9 Prosesser og prosessmodeller inkludert smidige metoder. Gruppetime INF1055

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

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

Gjennomgang av eksamen IN1030 Gruppe 4

Mer om objektorientering og UML

Kontrakter. INF1050: Gjennomgang, uke 12

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

Prøveksamen 2004 INF1010 Operasystemet med GUI + Ordkryss (modifiserte løsninger etter innspill fra forelesningen) Arne Maus Inst for informatikk

Bakgrunn. Kurset krever ingen spesielle forkunnskaper om modellering.

Lykke til! Eksamen i fag TDT4140 Systemutvikling NTNU Norges teknisk-naturvitenskapelige universitet

Eksamen INF

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

UML 1. Use case drevet analyse og design Kirsten Ribu

Entobutikk 3.TESTRAPPORT VÅR 2011

Gjennomgang av eksamen IN1030 Gruppe 4

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

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

Forskningsmetoder. INF1050: Gjennomgang, uke 13

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

Oppgave 1 Multiple Choice

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

Tom Røise 2/28/2007. IMT2243 : Systemutvikling 1. Forelesning IMT mars Tema : Litteratur : Strukturert analyse. Strukturert analyse

Produktrapport Gruppe 9

Del - leveranse Del 2. Inf 2120 fredag Gruppe 1 Knut Johannes Dahle

Utvikling fra skallet og inn

University of Oslo Department of Informatics. INF Modellering med objekter Oblig 2, V2004. Skrevet av:

AP221 Use Case - TUL - Utarbeid prosessflytmal og komponenter

Prosjektledelse, planlegging og teamarbeid. INF1050: Gjennomgang, uke 10

Prosessmodeller og smidig programvareutvikling. INF1050: Gjennomgang, uke 02

Korttidsleie: Status for utvikling av ny og forbedret modul

INNFØRING I PRINSIPPER FOR OBJEKTORIENTERT PROGRAMMERING EMILIE HALLGREN OG KRISTIN BRÆNDEN

Korttidsleiemodulen: Presentasjon av ny og forbedret modul. Bjørn Davidsen, Uni Pluss AS

Tom Røise 18. Februar 2009

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

Eksamen i fag TDT4140 Systemutvikling. 27. mai, 2011 kl

UNIVERSITETET I OSLO

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

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

Use Case-modell. Vurdering av oppdragsgivers krav

Transkript:

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

TEMAER SÅ LANGT I KURSET Forelesning 1: Systemutvikling og systemutviklingsprosesser Forelesning 2: Prosessmodeller og smidig utvikling Forelesning 3: Kravhåndtering

UKENE FREMOVER: MODELLERING Det finnes to hovedtyper modeller: - Modeller som beskriver struktur - Klassediagram - Modeller som beskriver adferd/oppførsel - Use case diagram - Aktivitetsdiagram - Tilstandsdiagram - Sekvensdiagram

DAGENS TEMA: USE CASE MODELLERING Use case = brukstilfelle/bruksmønster Et use case diagram viser: - Systemets funksjonalitet - Samspillet mellom systemet og omgivelsene (brukere, andre systemer, komponenter) Modellering av funksjonelle krav

FUNKSJONELLE KRAV Funksjonelle krav definerer hva systemet skal gjøre Hvilke tjenester (funksjoner) systemet skal tilby Hvordan det skal reagere på ulike typer input Kan også si hva systemet ikke skal gjøre

1 HVA ER ET USE CASE, OG HVORFOR ER DET NYTTIG Å LAGE USE CASES?

LØSNINGSFORSLAG OPPGAVE 1 Hva er et use case? Et use case er en beskrivelse av hvordan systemet oppnår et mål av verdi for en aktør Hvorfor er det nyttig å modellere use cases? Kommuniserer klart: - hva de forskjellige målene til systemet er - hvem som bruker systemet til hva - hvilke andre aktører systemet går via

3 HVA ER EN AKTØR I ET USE CASE DIAGRAM, OG HVA ER FORSKJELLEN PÅ EN PRIMÆR OG SEKUNDÆRAKTØR?

LØSNINGSFORSLAG OPPGAVE 3 Aktør: Begrepet aktør er en samlebetegnelse som benyttes for å angi alle grupper av personer som anvender systemet, eller systemer som blir anvendt av systemet. Vi skiller mellom to typer aktører: Primære aktører - Har mål av verdi i systemet Sekundære aktører - Hjelper primære aktører med å oppnå sine mål

LØSNINGSFORSLAG OPPGAVE 3 Eksempel: Skatteetatens system: for å se personopplysninger er man avhengig av folkeregisteret som informasjonen hentes fra

2 HVA SKILLER AKTØRER FRA INTERESSENTER?

LØSNINGSFORSLAG OPPGAVE 2 Interessent: Begrepet interessent benyttes for å angi en mengde personer, grupper eller organer som har interesse av systemet, dvs. blir påvirket av eller påvirker systemets utvikling eller bruk, enten direkte eller indirekte. De påvirker eller blir påvirket av kravspesifikasjonen til systemet. Eksempler: kunden, sluttbruker, myndigheter og utviklere

LØSNINGSFORSLAG OPPGAVE 2 Hva skiller aktører fra interessenter? En aktør må være: bruker av systemet eller et annet system som brukes av/bruker systemet En interessent kan også være en bruker av systemet, men inkluderer alle som påvirker eller blir påvirket av kravspesifikasjonen.

4 HVA ER EN DOMENEMODELL, OG HVORFOR ER DET NYTTIG Å LAGE EN DOMENEMODELL FOR ET GITT SYSTEM?

LØSNINGSFORSLAG OPPGAVE 4 En domenemodell er en representasjon av de ulike objektene et system består av. Et klassediagram uten metoder. Viser relasjoner mellom objektene. Det er nyttig å benytte domenemodeller for å: Kartlegge hvilke objekter som man bør ta hensyn til Kommunisere at man har forstått domenet

Eksempel på domenemodell

5 Systemet skal støtte bordreservasjoner og bordplassering i en restaurant. Kunder kontakter restauranten for å bestille eller avbestille bord. En resepsjonist mottar samtalene. Bestillinger legges inn for et bestemt bord sammen med antall personer. For hver bestilling registreres en kontaktperson med navn og telefonnummer. Når gjester ankommer, blir de plassert ved sitt bord av hovmesteren, og deres bestilling markeres med ankommet. Hvis gjestene plasseres ved et annet bord enn det som var registrert med bestillingen, så registreres bordbyttet i bestillingen. Tidspunktet da et gitt bord må være ledig igjen kan også registreres. Kunder kan endre bestilling eller avbestille bord på forhånd. Det er selvfølgelig mulig å spise uten å ha bestilt på forhånd hvis det er ledige bord. Når gjester får bord uten å ha bestilt dette, markeres det i systemet med tidspunkt, bord og antall, men uten navn og telefonnummer. Når nye bestillinger registreres i systemet, eller eksisterende bestillinger endres, skal skjermbildet umiddelbart oppdateres, slik at de ansatte på restauranten alltid har oppdatert informasjon tilgjengelig.

5 A) FINN AKTØRER FOR SYSTEMET

LØSNINGSFORSLAG OPPGAVE 5A Må stille følgende spørsmål: Hvem skal bruke systemet? Ble det nevnt noen andre systemer som restaurantens system må kommunisere med?

LØSNINGSFORSLAG OPPGAVE 5A I teksten nevnes: Resepsjonist Hovmester Disse kan igjen generaliseres til: Ansatt

5 B) FINN USE CASES FOR SYSTEMET

LØSNINGSFORSLAG OPPGAVE 5B Må stille spørsmålet: Hva ønsker aktørene å bruke systemet til?

LØSNINGSFORSLAG OPPGAVE 5B Use cases nevnt i teksten: - Reserver bord - Avbestill bord - Endre bestilling - Registrer bordbytte - Registrer ankomst - Registrer drop-in - Vis bestillinger

5 C) LAG ET USE CASE DIAGRAM FOR SYSTEMET

LØSNINGS- FORSLAG OPPGAVE 5C

5 D) ANTA AT EN KUNDE KAN BESTILLE BORD PÅ NETT I TILEGG TIL OVER TELEFON. GJØR EVENTUELLE MODIFIKASJONER I 5A, B OG C

LØSNINGSFORSLAG OPPGAVE 5D Endringer i oppgave a: - Får vi noen flere brukere av systemet? - Ja: Kunde

LØSNINGSFORSLAG OPPGAVE 5D Endringer i oppgave b: - Får vi noen flere use cases? - Ja: Bestille bord på nett

LØSNINGS- FORSLAG OPPGAVE 5D

5 E) LAG EN ENKEL DOMENEMODELL FOR SYSTEMET

LØSNINGSFORSLAG OPPGAVE 5E

6 A) HVA ER EN TEKSTLIG BESKRIVELSE AV ET USE CASE?

LØSNINGSFORSLAG OPPGAVE 6A En tekstlig beskrivelse av et use case tar for seg interaksjonen som foregår mellom systemet og bruker. Denne beskrives steg for steg. En tekstlig beskrivelse inneholder følgende: Navn på use caset Aktør(er) Prebetingelse(r) Postbetingelse(r) Hovedflyt Eventuell alternativ flyt

6 B) LAG EN TEKSTLIG BESKRIVELSE AV ETT AV USE CASENE DU FANT I OPPGAVE 5B

LØSNINGSFORSLAG OPPGAVE 6B Navn: Bestill bord. Aktør(er): Resepsjonist. Prebetingelse(r): Ingen. Postbetingelse(r): Bord er reservert på kunde. Hovedflyt: 1. Kundebehandler ber systemet om å finne et ledig bord til en gitt tid og dato. 2. Systemet finner ledig bord. 3. Kundebehandler registrerer kundens navn, adresse og telefonnummer. 4. Systemet lagrer kundens navn, adresse og telefonnummer. 5. Systemet ber om bekreftelse på reservasjon av bord. 6. Kundebehandler bekrefter reservasjon av bord. 7. Systemet registrerer reservering av bord på kunde. Alternativ flyt 2.1: Systemet finner ingen ledige bord. 2.2: Returnerer til hovedflyt, steg 1.

USE CASE DIAGRAM VS USE CASE TEKSTLIG BESKRIVELSE Diagram: Hva du vil bruke systemet til og hvilke andre systemer eller personer du er avhengig av for å få det til - alle use casene i systemet Tekstlig beskrivelse: Detaljert beskrivelse av ett use case

TAKK FOR OSS! Spørsmål? Informasjonen er hovedsaklig basert på forelesningsfoilene, samt fjorårets presentasjon laget av Kristin Brænden og Emilie Hallgren