INF 5120 Modellering med objekter



Like dokumenter
Conference Centre Portal (CCP)

Use Case-modellering. INF1050: Gjennomgang, uke 04

IN-MMO Arne-Jørgen Berre Telecom and Informatics UML notasjon Oppførselsmodellering Telecom and Informatics

IN-MMO UML notasjon Oppførselsmodellering IN-MMO. UML Behavioral Modelling. Sequence diagram - in Use case. Interaction Diagrams

Spesifikasjon av Lag emne

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

UKE 11 UML modellering og use case. Gruppetime INF1055

Produktrapport Gruppe 9

UML-Unified Modeling Language

UNIVERSITETET I OSLO

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

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

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

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

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

GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML

Meeting Reservation System

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

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. Prosess-oversikt. Use case realisering

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

Use case drevet design med UML

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

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

Fra krav til objektdesign

Fra krav til objekter. INF1050: Gjennomgang, uke 05

Brukermanual Hess Smartcoin rullveksler

Objektorientering og UML. INF1050: Gjennomgang, uke 06

UML 1. Use case drevet analyse og design Kirsten Ribu

BRUKERVEILEDNING -for betaling av strøm på land

Lykke til! Eksamen i fag SIF8018 Systemutvikling. 20 mai, 2003 kl Fakultet for fysikk, informatikk og matematikk

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

LIF Café Sleivspark, : Bruk av det nye kassa-apparatet:

UNIVERSITETET I OSLO

INF 5120 Obligatorisk oppgave Nr 2

Acer Euro Case. Utviklet i 2000 av European branch of Acer Corp.

VI ELSKER GOD KAFFE OG GODE LØSNINGER

Øverst på siden har man denne menylinjen, merk at handlekurven er tom siden det ikke er noe symbol for antall varer ved den.

Oppgave 1: Multiple choice (20 %)

Use case modellering. Use case modellen. Metode for systembeskrivelse og Nettsted-design

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

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

Obligatorisk oppgave 5: Modellering av krav

Vannvarmere og melkevarmere

Varetelling i PCKasse.

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

(MVC - Model, View, Control)

Brukermanual Weboffice Sharp START for Android. Versjon 2.0

RENGJØRINGS- MANUAL CHAQWA BEAN-TO-CUP CINO GRANDE. Kundeservice : Teknisk Service: RENGJØRINGSFOLDER

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

AP221 Use Case TUL Administrer brukere, grupper og rettigheter

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

Kravspesifikasjon. 14. oktober 2002

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

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

TEKNISK MANUAL FOR TRIPLE WINNER. Versjon 1.05

AP221 Use Case - SBL - Start tjeneste

PAYPAL/JETSHOP AKTIVERINGSVEILEDNING. Slik aktiverer du PayPal i nettbutikken din

Elektronisk faktura. Rutinebeskrivelse for bruk av BIM35/BIM35P. VISMA RETAIL AS Wirgenes vei 1, 3157 Barkåker, Telefon:

Etter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering

case forts. Alternativ 1 Alternativer Sammensetning Objekt-interaktor med valg

Elektronisk gavekort lade og sjekke saldo

UNIVERSITETET I OSLO

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

Modellering IT konferanse

IN2001: Kravhåndtering, modellering, design

GJENNOMGANG OBLIGATORISK OPPGAVE 1

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

Mer om objektorientering og UML

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

Bruk av myweblog i Borg Flyklubb

1. Opprett betalinger uten bruk av mappe 2. Opprett betalinger med bruk av mappe

INF1400. Tilstandsmaskin

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

minipos minipos Innhold

Brukerveiledning for klubb

Kom godt i gang med norlønn

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

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

LIVET HAR MANGE SMAKER

1 Introduksjon til designmodellen - del B 2

Rask, smidig og pålitelig kaffeløsning for selvbetjening.

Nedlastning og installasjon av Visma Lønn Gå til Visma Community og logg inn:

Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004

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

Innsending av timelister. Timeliste. Innsending

LC191D/LO191D Videregående programmering mai 2010

Brukermanual Fakturering WebTakst - AfterPay

Gå til Nedlastninger på menylinjen for Visma Skolelisens og velg Visma Lønn versjon 9.5.

Likestillings- og diskrimineringsombudet

BUFFET RLX-serien Smaken av kvalitet over hele verden Smaken av kvalitet over hele verden

GJENNOMGANG UKESOPPGAVER 9 TESTING

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

INNKJØP AV KAFFEMASKIN

INF1010 MVC i tekstbaserte programmer

BRUKSANVISNING (Touchscreen)

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

Enkle generiske klasser i Java

NYHETER OG FORBEDRINGER. Versjon

Transkript:

INF 5120 Modellering med objekter Obligatorisk oppgave nr. 1 Gruppe 4 Problem: Det skal designes en kaffemaskin til bruk blant de ansatte hos en bedrift. Eieren av bedriften ønsker en enkel og billig maskin. Maskinen skal tilby kaffe med eller uten fløte/sukker til kr. 5,-. Etter en enkel samtale blir det bestemt at kaffemaskinen skal ha en myntslot, returveksel skuff, myntreturknapp og fire andre knapper: 1) svart, 2) med fløte, 3) med sukker og 4) med fløte og sukker. 1

Problem Vi blir bedt om å gjøre følgende forandring på kaffemaskinen: De ansatte skal kunne bruke sine magnetkort for å trekke kaffekjøpet direkte på lønnen. Vi legger til en kortleser. Maskinen skal håndtere en ukens drikk. Det skal være mulig å legge til nye drikker (f.eks. buljong og sjokolade) og forandre priser på en enkel måte. Gjør de nødvendige endringer og oppdater designet. Presenter et klassediagram (struktur) og et sekvensdiagram (oppførsel) som beskriver de viktigste aspektene ved designet. Forutsetninger Vi har tatt følgende forutsetninger: Vi har tatt utgangspunkt i et generisk design, og ikke tatt stilling til type input (knapper/ nummertastatur osv.) Det er mulig å ha ulik pris på de ulike drikkene. Kaffemaskinen har et display Kaffemaskinen har koppdispenser Kaffemaskinen har kun varme drikker Nivåfølere finnes i dispenserene Rutiner rundt påfylling er ikke tatt med 2

Forutsetninger Kaffemaskinen er ikke online med lønnsystemet. Hvordan brukt beløp for kort lagres og hvordan lønningskontoret henter opplysningene er ikke tatt med Når kort dras, sjekkes ingen saldo Feilhåndtering er ikke tatt med (knapp virker ikke, bruker trykker feil kombinasjon av knapper, display viser feil...) Overordnet UC-diagram Kjøpe drikk Operatør Oppdatere maskin Kunde returnkopp() Utføre vedlikehold 3

Use Case Kjøp drikke Primær aktør: Kunde Mål: Kunde kjøper og får en drikk Omfang: Kaffemaskin Nivå: Kunde mål Start betingelse: Minst en drikk og kopp må være tilgjengelig Use Case Kjøp drikke - hovedflyt 1. Kunde: Velger en drikk 2. System: Display viser pris 3. Kunde: Betaler med kort 4. System: Betalingsinformasjon lagres 5. System: Kopp blir levert 6. System: Nødvendige ingredienser mixes 7. System: Vann helles på 8. Kunde: Tar koppen med drikke Slutt betingelse: Drikk mottatt, kortbetaling lagret 4

Use Case Kjøp drikke Alternativ flyt 1: 3A. Kunde: betaler med kort, men kort aksepteres ikke 4A. System: Kaffemaskin resettes Slutt betingelse: Operasjon avbrutt, maskin resatt Alternativ flyt 2: 3B. Kunde: putter på penger, display viser beløp fortløpende 4B. System: Betaling akseptert Slutt betingelse: Drikke mottatt, betaling mottatt Use Case realisering for "Kjøpe drikke" : Kunde : FrontPanel : Display : CashBox : CardReader : CardInfo : Mixer : CupDispenser : CoffeeDispenser : WaterDispenser 1 velgdrikk() finnpris() 2 vis ValgOg Pris() aktiver(double) aktiver(double) 3,4 3a En av dissesekvens ene utføres avhengig av hva brukeren velger å gjøre leskort() visbetalingsinfo() betalingok() registrerkortinfo( ) reset() Hvis, betaling ikke er OK, resettes maskinen og scenariet kjører fra begynnelsen mottapenger() 3b 4b Repeteres til ønsket beløp er nådd visbetalingsinfo() beregnveksel() return veksel betalingok() reset() Egentlig ikke nødvendig ettersom objektet ikke er aktivt igjen før neste gang scenariet kjøres 5 6 reset() lagdrikk(string) miksingferdig() hentkopp() hentpulver() hentvann( ) 7 returnkopp( ) 8 Her er det en switch-case, etter hvilken drikkinfo som kommer inn 5

Use Case Oppdater kaffemaskin Primær aktør: Mål: Omfang: Nivå: Administrator Endre priser og drikk Kaffe maskin Start betingelse: Kaffemaskinen skal endre tilbud Use Case Oppdater kaffemaskin Hovedflyt: 1. Admin: Velg enhet som skal endres 2. Admin: Sett navn 3. Admin: Sett pris 4. Admin: Resett kaffemaskin 5. System: Alle opplysninger lagres Sluttbetingelse: Kaffemaskin er oppdatert og ferdig til bruk 6

: FrontPanel : Mixer : Operatør aktiverendring(endringsenhet ) settpris( ) settnavn() settdrikkinfo() CardReader les Kort()() aktiver() reset()() Display vis ValgOg Pris()() visbetalingsinfo()() CashBox mottapenger()() beregnveksel()() aktiver() reset()() FrontPanel CardInfo registrerkortinfo() velgdrikk()() finnpris()() visbetalingsinfo()() betalingok()() settnavn()() miksingferdig()() reset() aktiverendring() settpris() OK() Mixer lagdrikk() settdrikkinfo()() SugarDispenser CupDis penser hentkopp()() CoffeeDispenser hentpulver()() W aterdis penser hentvann() CreamDispenser Dispenser 7

designkommentarer CardReader/Display og KontrollPanel må vite om hverandre, ikke så bra. Mulig løsning: La KontrollPanel sende med referanse til displayet i metoden aktiver, da blir det bare en avhengighet. UI-kontroller bør kontrollere flyten mellom cashbox, kortleser og kontrollpanel Dårlig lagdeling, løses bl.a. Med UI-kontroller. KonrollPanel har dårlig kohesjon, bør derfor deles opp. 8