GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML

Like dokumenter
Objektorientering og UML. INF1050: Gjennomgang, uke 06

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

UKE 11 UML modellering og use case. Gruppetime INF1055

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

Mer om objektorientering og UML

Mer om objektorientering og UML

Fra krav til objekter. INF1050: Gjennomgang, uke 05

Use Case-modellering. INF1050: Gjennomgang, uke 04

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

Mer$om$objektorientering$og$UML

Spesifikasjon av Lag emne

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

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

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

Fra krav til modellering av objekter

UNIVERSITETET I OSLO

Prøveeksamen INF1050: Gjennomgang, uke 15

UNIVERSITETET I OSLO

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

Motivasjon: Hvorfor modellere? Systemutvikling med UML Del 2 (forelesning 4-6) Repetisjon: Egenskapsrommet. Egenskapsrommet

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

UNIVERSITETET I OSLO

Løsningsforslag til Case. (Analysen)

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

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

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

UML-Unified Modeling Language

Oppgave 1: Multiple choice (20 %)

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

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

UML- Use case drevet analyse og design. Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller

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

Metode for ansvarsdrevet OO med UML. Dagens forelesning. Hovedflyt for Meld på kurs. Delegering av ansvar i en trelagsarkitektur

UML 1. Use case drevet analyse og design Kirsten Ribu

Use case drevet design med UML

Obligatorisk oppgave 3. INF1050: Gjennomgang, uke 16

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

GJENNOMGANG UKESOPPGAVER 9 TESTING

Obligatorisk oppgave 5: Modellering av krav

Bakgrunn. Kurset krever ingen spesielle forkunnskaper om modellering.

Metode for ansvarsdrevet OO med UML. Dagens forelesning. Hovedflyt for Meld på kurs. Delegering g av ansvar i en trelagsarkitektur

o UML klassediagrammer

God objektorientert design Flere UML diagrammer UML Distilled kap. 7,8, 9 Using UML, kap. 11, 12, 14 Kirsten Ribu

INF 5120 Modellering med objekter

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

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

Kravspesifikasjon med UML use case modellering. Erik Arisholm

Conference Centre Portal (CCP)

Dagens forelesning. o Litt mer om design med UML sekvensdiagrammer. Sentralisert og delegert kontrollstil

UML klassediagrammer

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

Eksamen INF1050: Gjennomgang, uke 15

IN2001: Kravhåndtering, modellering, design

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

UNIVERSITETET I OSLO

Fra krav til objektdesign

Navn: Alder: Kjønn: M. Navn på den som blir intervjuet:

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

Forside Eksamen INF1055 V17

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

UNIVERSITETET I OSLO

Ti egenskaper for å evaluere nettsteders brukskvalitet. Den opplevde kvaliteten til nettstedet

MAT1030 Diskret matematikk. Kompleksitetsteori. Forelesning 29: Kompleksitetsteori. Dag Normann KAPITTEL 13: Kompleksitetsteori. 7.

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

Eksamen 2013 Løsningsforslag

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

BlackBox, WhiteBox og andre testmetoder. Etter ønske fra studentene 26. november 2009

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

VEILEDNING BRUK AV NY LØSNING FOR PERIODISERING AV BUDSJETTER I MACONOMY

Rapport skole: Hersleb

UNIVERSITETET I OSLO

GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING

ExtraWeb Brukerveiledning for søker til ExtraExpress

Meeting Reservation System

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

Eksamen INF

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

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

BIBSYS Brage Administrasjon

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

Ask barnehage. Forventninger fra foreldre til barnehage, fra barnehage til foreldre. Et barn. er laget av hundre. Barnet har.

NB! Endring i undervisningsplanen

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

Løsningsforslag F-oppgaver i boka Kapittel 2

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

1. Modellering av objektorienterte systemer

Forelesning IMT Mars 2011

Hjelp til tjenesten Betaling for oppdrag

Beskjed fra Skagestein

Prosjektgruppen: Gjermund Gartmann Tommy Jansson Margrethe Store. Prosjektledelse: Margrethe Store Kvalitetssikring: Tommy Jansson

SKOLEEKSAMEN I. SOS4010 Kvalitativ metode. 19. oktober timer

DISTRIBUERT UTVIKLING AV NETTTJENESTER ( BARE UTDRAG)

Kunnskapsbehov. Torleif Husebø PTIL/PSA

INF 2120 Innlevering 1. Gruppe 4. Kravspesifikasjoner til trafikanten +

Hva gjøres i design? 19. september 2002, Tore Berg Hansen, TISIP

Veiledende tiltaksplaner basert på ICNP

Løsningsforslag til F-oppgavene i kapittel 2

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

Energiskolen Veiledningshefte

Transkript:

GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML INF1050 V16 KRISTIN BRÆNDEN

DAGENS TEMA Klassediagram Aktivitetsdiagram Tilstandsdiagram Sekvensdiagram

1 Ta utgangspunkt i følgende klasser: En skriver til en PC. Du kan anta at det er en blekkskriver, og at den ikke sta r i nettverk En bankkonto En bok som tilhører et bibliotek a) Definer attributter og metoder for disse klassene b) Finn andre klasser disse klassene kan assosieres med

LØSNINGSFORSLAG OPPGAVE 1A

LØSNINGSFORSLAG OPPGAVE 1B Eksempler

2 A) Hva er et aktivitetsdiagram?

LØSNINGSFORSLAG OPPGAVE 2A Et aktivitetsdiagram er en form for flow chart Det er en del av standarden til UML 2.0 Det er en grafisk representasjon av en arbeidsflyt Beskriver hvordan mulige utfall av en aktivitet påvirker flyten Viser hvilke aktiviteter som kan utføres parallelt

LØSNINGSFORSLAG OPPGAVE 2A Starter flyt med: Avslutter flyt med: Lager en aktivitet slik:

LØSNINGSFORSLAG OPPGAVE 2A Valgdiamanter beskriver hvordan handlinger påvirker flyten i systemet:

LØSNINGSFORSLAG OPPGAVE 2A En blokkering (bar) representerer start (split) og slutt (join) for parallelle prosesser.

2 B) Hvorfor er det nyttig å lage aktivitetsdiagrammer?

LØSNINGSFORSLAG OPPGAVE 2B NYTTIG Å LAGE FOR Å: definere flyten for en gitt aktivitetet som kan gjennomføres i systemet finne prosesser som kan kjøre samtidig og er uavhengig av hverandre finne 'deadlocks' i systemet tilfeller der man aldri kommer videre fra en aktivitet til en annen forstå arbeidsrutiner KAN MODELLERE: arbeidsflyten i et system organisasjonelle flyter

3 A) Hva er hendelsesdrevet modellering?

LØSNINGSFORSLAG OPPGAVE 3A Hendelsesdrevet modellering viser: hvordan hendelser driver systemet fremover hvordan tilstander er knyttet til hendelser i et system

3 B) Hva er et tilstandsdiagram?

LØSNINGSFORSLAG OPPGAVE 3B Et tilstandsdiagram representerer en tilstandsmaskin Det er en del av standarden til UML 2.0 Grafisk representasjon av de ulike tilstandene systemet kan være i Beskriver hvilke hendelser som får systemet til å endre tilstand

LØSNINGSFORSLAG OPPGAVE 3B Vi kan definere en tilstand og handlinger som utføres i tilstanden på følgende måte:

LØSNINGSFORSLAG OPPGAVE 3B Et tilstandsdiagram viser tilstander systemet kan være i og hvilke hendelser som får systemet til å gå fra en tilstand til en annen:

3 C) Hvorfor er det nyttig å lage tilstandsdiagrammer?

LØSNINGSFORSLAG OPPGAVE 3C Tilstandsdiagrammer er nyttige å modellere fordi: de viser hvilke tilstander systemet kan være i de viser hvordan vi kommer fra én tilstand til en annen de viser 'deadlocks' i systemet for oss (en tilstand som vi ikke kommer ut av)

4 Ta utgangspunkt i et system for en vaskemaskin der du antar følgende: Det er fire ulike vaskeprogrammer. Vanlig tøy kan vaskes på 30, 40 eller 60 grader. Ullvask er forhåndsinnstilt på 30 grader. Sentrifugering er inkludert i vaskeprogrammene. Det er derfor ikke en egen knapp for dette Når maskinen har startet (bruker har trykket på start-knappen), er det ikke mulig å avbryte programmet før det er ferdig. Lag et tilstandsdiagram for denne vaskemaskinen

5 Ta utgangspunkt i eksemplet med å pante flasker fra forelesningen om objektorientert modellering

5 A) Utvid den tekstlige beskrivelsen av use caset med tilfellet at flere flasker pantes og tilfellet at det er fullt i mottaket av flasker

Pante flasker Navn: Pante flasker Aktør: Kunde Prebetingelse: Panteautomat er klar til å ta imot pant Postbetingelse: Kunde får ut kvittering eller lodd i røde kors trekning Hovedflyt: 1. Kunde setter inn en flaske (eller et panteobjekt) 2. Panteautomaten skanner koden til flasken (panteobjektet) som ble puttet inn 3. Objektet er godkjent, pantebeløpet blir lagt til det totale beløpet 4. Kunde trykker på kvittering 5. Panteautomat skriver ut kvittering Fra forelesningen Alternative flyt 3.1 Objekt ikke godkjent 3.2 Start fra 1 4.1.A1 Kunde trykker på Røde kors lotteri 4.2.A1 Kunde skriver ut Røde kors lodd 4.1.A2 Kunde setter inn ny flaske (panteobjekt) 4.2.A2 Start fra 1

LØSNINGSFORSLAG OPPGAVE 5A Vi velger å legge til en ny alternativ flyt Alternativ flyt: 2.1. Systemet gir feilbeskjed om at det er fullt i mottaket av flasker. 2.2. Systemet gir tilbake flaske. 2.3. Systemet returnerer til steg 5.

5 B) Utvid sekvensdiagrammet med tilfellet at det er fullt i mottaket av flasker

Fra forelesningen

LØSNINGSFORSLAG OPPGAVE 5B

5 C) Utvid aktivitetsdiagrammet med funksjonalitet som legger til pantebeløp på flasker som gir pant

Finnes allerede

5 D) Skisser hvordan du kunne modellert use caset uten å bruke klassen Pantesystem i klassediagrammet og sekvensdiagrammet

TAKK FOR MEG Spørsmål? Eksemplene er delvis laget av André Lincoln Read og Kristian Saksvik Munkvold KRISTIN BRÆNDEN