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



Like dokumenter
GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML

Systemutvikling med UML. Øyvind Stavdahl Institutt for teknisk kybernetikk, NTNU Oktober 2004

Objektorientering og UML. INF1050: Gjennomgang, uke 06

19. januar 2012 Noen punkter fra i går

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

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

Fra krav til modellering av objekter

Plan for dagen. Kræsj-kurs i sanntidsprogrammering. Måter å tenke på. Programmering intro. Tråder & synkronisering

Spesifikasjon av Lag emne

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

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

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

UKE 11 UML modellering og use case. Gruppetime INF1055

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

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

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

Bakgrunn. Kurset krever ingen spesielle forkunnskaper om modellering.

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

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

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

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

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

Oppgave 1: Multiple choice (20 %)

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

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

Forelesning 7. Tilstandsmaskin

Fra krav til objektdesign

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

UML 1. Use case drevet analyse og design Kirsten Ribu

EKSAMEN I FAG SIF MMI OG GRAFIKK Onsdag 14. mai 2003 Tid: kl

Hva er en algoritme? Har allerede sett på mange algoritmer til nå i IT1101. Forholdet mellom en algoritme og et program. Algoritme program prosess

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

Kapittel 3: Litt om representasjon av tall

UNIVERSITETET I OSLO

Invarianter, +lstander og li1 mer seman+kk

Prøveeksamen INF1050: Gjennomgang, uke 15

Kap3: Klassemodellering

Tittel Objektorientert systemutvikling 2

UNIVERSITETET I OSLO

Forelesning IMT Mars 2011

Hvorfor objektorientert programmering? Objektorientert programmering i Python: Introduksjon. Læringsmål uke 7. Undervisning og pensum IN1000

Hvorfor objektorientert programmering?

SIE 4005, 8/10 (3. Forelesn.)

Utvikling fra skallet og inn

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

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

ITPE2400/DATS2400: Datamaskinarkitektur

Distributed object architecture

1. Modellering av objektorienterte systemer

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

Klasser, objekter, pekere og UML. INF gruppe 13

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form

NB! Endring i undervisningsplanen

UNIVERSITETET I OSLO

INF1000: Forelesning 7

Hva er syntaks? En overskrift i en norsk avis: Dagens tema Grundig repetisjon og utdyping:

INF1400. Tilstandsmaskin

UNIVERSITETET I OSLO

INF1050 Systemutvikling

=Systemutviklingsprosjekt - WATCH - Gruppe 208=

TDT4140. Systemutvikling. Øving 1. gruppe 215. Kristoffer Hagen. Sondre Løberg Sæter. Håvard Geithus. Bjørnar Valle. Henrik Knutsen.

Dagens tema Grundig repetisjon og utdyping: Syntaks kontra semantikk

Markedsføring av Sjømat «hva er viktigst?» Sjømatkonferansen 2012

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

UNIVERSITETET I OSLO

INF Obligatorisk prosjektarbeid

Dagens tema. Den redundansfri datamodellen. Modellenes to formål. Den grunnleggende konstruksjonen det elementære utsagnet

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

The regulation requires that everyone at NTNU shall have fire drills and fire prevention courses.

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

INF1000: Forelesning 7. Konstruktører Static

Tilstandsmaskiner med UML og Java

MAT1030 Forelesning 30

Beskjed fra Skagestein

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

LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012.

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

Oppgave 1 (Flanke- og nivåstyrte vipper)

UNIVERSITETET I OSLO

Relasjonsdatabasedesign

Øving 7: Løsningsforslag (frivillig)

INF2080 Logikk og beregninger

Systemutvikling - oppsummering. Alexander Nossum blog.eksplisitt.net 22. mai 2006

INF1400. Tilstandsmaskin

Dagens tema: Regulære språk og uttrykk

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

SIE 4005, 9/10 (4. Forelesn.)

Kombinatorikk. MAT1030 Diskret Matematikk. Oppsummering av regneprinsipper

MAT1030 Diskret Matematikk

Vårt system kan kjøres ved å skrive. STUD1 konto fredo 37 (holdeplass)

Velkommen til INF Kompilatorteknikk

Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006

Conference Centre Portal (CCP)

Planlegging og dokumentasjon

Eksamen i fag SIF8018 Systemutvikling. Fredag 25. mai 2001 kl

Obligatorisk oppgave 3. INF1050: Gjennomgang, uke 16

Digiality VC-CI 104 og 204

Transkript:

Motivasjon: Hvorfor modellere? Systemutvikling med UML Del 2 (forelesning 4-6) Øyvind Stavdahl Institutt for teknisk kybernetikk, NTNU Oktober 2004 Avmystifisere systemets kompleksitet Skaffe oversikt Systematisere, dele opp i Rutinearbeid Arbeid som krever nytenkning/kreativitet Husk: du betales for å få ting til å virke KISS Keep It Simple and Stupid! Repetisjon: Egenskapsrommet Funksjonsrommet (hva systemet skal gjøre) Egenskapsrommet Forslag til ny dekomposisjon, tilpasset en objektorientert begrepsverden 1 hvordan delsystemene skal utveksle informasjon (samarbeide) Informasjonsrommet (hva systemet må huske) Tilstandsrommet (hvordan systemet skal reagere) Komposisjonsrommet hva systemet må kunne huske og kunne gjøre, samt hvordan Informasjon og funksjoner er gruppert i delsystemer) Oppførselsrommet hvordan delsystemene skal reagere 1 Inndelingen er hentet fra Nina Strand, En tilpasing av UML for Real-Time Systemer. Institutt for informatikk, Universitetet i Oslo, 2004 1

Egenskapsrommet Hvilke UML-modeller tilsvarer dette? Klassediagram Oppførselsrommet Komposisjonsrommet Kommunikasjonsdiagram Tilstands diagram 1. Intro til UML SA/SD vs. UML 2. Funksjonskrav: Use case-diagram 3. Komposisjonsrommet : Klassediagram Innhold 4. Oppførselsrommet : Tilstandsmaskin 5. : Kommunikasjonsdiagram Andre UML-diagrammer 6. Et lite eksempel Oppsummering Oppførselsrommet Tilstandsdiagram = Tilstandsmaskin Tilstandstransisjonsdiagram State chart Petri-nett Tilstandsrommet Informasjonsrommet Tilstands diagram Kjært barn mange navn og notasjoner 2

Et tilstandsdiagram viser oppførselen til......det du trenger å modellere oppførselen til! Tilstandsdiagrammet Eksempel: Safe med hemmelig lås Systemet Et delsystem Spesifikasjon/oppførselsmodell, fjernt fra koden transisjon Initiell Pseudotilstand Wait Safe closed Candle moved [door closed] / reveal lock open Key turned [candle in] / open safe Lock Instanser av en gitt klasse Kode-nært Key turned [candle out] / release killer rabbit tilstand Slutt-tilstand Transisjoner - syntaks Hvis denne hendelsen inntreffer......og denne betingenlsen er oppfylt...... foretar systemet denne aktiviteten og skifter tilstand. Transisjoner i praksis I et typisk hendelsesdrevet system: Innkommende melding Status for et_eller_annet Ett eller flere prosedyrekall trigger_signature [guard] / activity byte sendt [flere i kø] / send neste byte 3

Ulike tilstander ulike reaksjoner på hendelser Interne aktiviteter På middagsbesøk Elg i sikte / ta bilde På besøk i zoologisk hage Elg i sikte [uten rød topplue] / skyt På jakt entry / hils pent på vertskapet exit / si pent farvel tilbud om mat [plass til mer] / takk ja tilbud om mat [stappmett] / takk nei tilbud om dessert / takk ja Interne aktiviteter vs. selvtransisjoner Interne aktiviteter trigger ikke entry- og exit-aksjoner! tilbud om dessert / takk ja Aktivitetstilstander og do-activities Tilstander der systemet (objektet) er i kontinuerlig aktivitet: På middagsbesøk entry / hils pent på vertskapet exit / si pent farvel do / Spis maten din tilbud om mat [plass til mer] / takk ja tilbud om mat [stappmett] / takk nei 4

Aktivitetstilstander og do-activities Aktivitetenes varighet Do-aktiviteter er pr.def. preemptive! Do-aktiviteter tar tid Når/hvis aktiviteten er ferdig, skjer pr.def. transisjonen uten trigger do / Spis maten din Må rope på elgen / rop på elgen [maten var god] / Takk for maten do / Spis maten din Må rope på elgen / rop på elgen [maten var god] / Takk for maten Vanlige aktiviteter er momentane (derfor ikke preemptive). Nøstede tilstander Innhold Hvis flere tilstander har samme transisjoner og interne aktiviteter: sulten middag dessert-tid dessert stappmett 1. Intro til UML SA/SD vs. UML 2. Funksjonskrav: Use case-diagram 3. Komposisjonsrommet : Klassediagram 4. Oppførselsrommet : Tilstandsmaskin 5. : Kommunikasjonsdiagram Andre UML-diagrammer Må rope på elgen / rop på elgen Ikke mer dessert igjen 6. Et lite eksempel Oppsummering 5

Oppførselsrommet met Tilstandsrommet Informasjonsrommet Tilstands diagram Viser sekvenser av aktiviteter arbeidsgangen i systemets virkemåte Egner seg best på overordnet nivå større deler av systemet større deler av systemets funksjonalitet Derfor: Mer relevant for analyse enn for konstruksjon. mets elementer Partisjoner i aktivitetsdiagrammet 6