19. januar 2012 Noen punkter fra i går

Størrelse: px
Begynne med side:

Download "19. januar 2012 Noen punkter fra i går"

Transkript

1 1 19. januar 2012 Noen punkter fra i går Godkjente øvinger og prosjekt er obligatorisk for å få gå opp til eksamen Noen myter om systemutvikling Ariane 5 ulykken 2 Noen myter om systemutvikling Myte 1: Systemet må tilpasse seg datamaskinens krav (bruke få ressurser, være tilpasset fysisk arkitektur) Informasjonssystemet skal være tilpasset bruker og deres krav! Nøkkelord: Evolusjonær utvikling, evaluering av prototyper, brukergrensesnittdesign Myte 2: De beste datasystemer er de du selv bygger opp fra grunnen ( Not Invented Here -syndromet) Studier viser at det er overraskende lite gjenbruk av funksjonalitet eller kode mellom prosjekter! Undersøk først om det finnes standardprogrammer (eller et sett med standardkomponenter) som allerede dekker (deler av) behovene, eller som enkelt kan tilpasses til å dekke behovene Nøkkelord: komponentbasert utvikling 1

2 3 Myte 3: datasystemet skal automatisere gamle rutiner Systemutvikling dreier seg også om å identifisere forbedringsmuligheter og finne nye løsninger for å oppnå bestemte mål. Ofte vil innføring av nye datasystemer omlegge rutinene i en bedrift totalt Nøkkelord: Målanalyse, BPR Eksempler: Bank, bestille flybillett 4 En myte til Myte 4: Programvare er så fleksibel at den alltid kan endres senere 2

3 5 Noen flere myter Myte 5: Løsningen ligger i å bruke riktige verktøy A fool with a tool is still a fool Myte 6: Ansett flere programmerere hvis prosjektet er forsinket Brook s Mythical Man-Month: adding people to a late software project makes it later : Opplæring Antall kommunikasjonskanaler = n(n-1)/2 6 Faren ved gjenbruk: the Ariane 5 accident, 1996 Single root cause failure! The bug : attitude deviation stored as 2-byte integer (max value 65,535) in stead of 4-byte (max value 4,294,967,295) SW module was reused from Ariane 4 Insufficient V&V of detailed requriements: larger attitude deviation tolerated in Ariane 5 than in Ariane 4 Ariane 5 production cost 10 years and $7 billion; luckily no victims because it was unmanned. 65,535 = ,536 =

4 7 Introduksjon til objektorientert analyse og design 8 Mål med forelesningen Formål Introdusere objektorientert design med UML Foreløpig innføring i klassediagram Opplæringsmål Grunnleggende om programvaredesign Hva er et design Hva er funksjonen til et design Når i utviklingsprosessen lager vi design Grunnleggende om klassediagram i UML Klasser med attributter og operasjoner Assosiasjoner mellom klasser og multiplisitet Generalisering og abstrakte klasser 4

5 9 Agenda Hva er et design? Fra kode til diagram: Et praktisk eksempel Design forklart Funksjonen til et design Utarbeidelse av klassediagram Kort om klassediagram Praktisk eksempel Avhengigheter og multiplisitet Generalisering og abstrakte klasser Praktiske råd om objektorientert design 10 OOAD i livsløpsperspektiv Krav Design Konstruksjon Testing Vedlikehold Her er vi i nå 5

6 11 Hva er et design? public class FlatFile { public Group load(file afile) throws java.io.ioexception, ParseException { Group agroup = new Group(); FileReader afilereader = new FileReader(aFile); BufferedReader areader = new BufferedReader(aFileReader); String line = areader.readline(); while (line!= null) { agroup.addperson(assembleperson(line)); line = areader.readline(); return agroup; private Person assembleperson(string line) throws ParseException { StringTokenizer tokenizer = new StringTokenizer(line, ";"); String name = tokenizer.nexttoken(); String = tokenizer.nexttoken(); Date date = parsedate(tokenizer.nexttoken()); Person aperson = new Person(); aperson.setname(name); aperson.set ( ); aperson.setbirthdate(date); return aperson; 12 Hva er et design? public class FlatFile { public Group load(file afile) throws java.io.ioexception, ParseException { Group agroup = new Group(); FileReader afilereader = new FileReader(aFile); BufferedReader areader = new BufferedReader(aFileReader); String line = areader.readline(); while (line!= null) { agroup.addperson(assembleperson(line)); line = areader.readline(); return agroup; private Person assembleperson(string line) throws ParseException { StringTokenizer tokenizer = new StringTokenizer(line, ";"); String name = tokenizer.nexttoken(); String = tokenizer.nexttoken(); Date date = parsedate(tokenizer.nexttoken()); Person aperson = new Person(); aperson.setname(name); aperson.set ( ); aperson.setbirthdate(date); return aperson; 6

7 13 Hva er et design? public class FlatFile { public Group load(file afile) throws java.io.ioexception, ParseException { Group agroup = new Group(); FileReader afilereader = new FileReader(aFile); BufferedReader areader = new BufferedReader(aFileReader); String line = areader.readline(); while (line!= null) { agroup.addperson(assembleperson(line)); line = areader.readline(); return agroup; private Person assembleperson(string line) throws ParseException { StringTokenizer tokenizer = new StringTokenizer(line, ";"); String name = tokenizer.nexttoken(); String = tokenizer.nexttoken(); Date date = parsedate(tokenizer.nexttoken()); Person aperson = new Person(); aperson.setname(name); aperson.set ( ); aperson.setbirthdate(date); return aperson; 14 Hva er et design? public class FlatFile { public Group load(file afile) throws java.io.ioexception, ParseException { Group agroup = new Group(); FileReader afilereader = new FileReader(aFile); BufferedReader areader = new BufferedReader(aFileReader); String line = areader.readline(); while (line!= null) { agroup.addperson(assembleperson(line)); line = areader.readline(); return agroup; private Person assembleperson(string line) throws ParseException { StringTokenizer tokenizer = new StringTokenizer(line, ";"); String name = tokenizer.nexttoken(); String = tokenizer.nexttoken(); Date date = parsedate(tokenizer.nexttoken()); Person aperson = new Person(); aperson.setname(name); aperson.set ( ); aperson.setbirthdate(date); return aperson; 7

8 15 Hva er et design? 16 Design forklart Design: Strukturen til et programsystem Implisitt design: Strukturen til koden Eksplisitt design: Diagrammer som beskriver strukturen til et programsystem med en spesifikk notasjon Notasjon Språk bestående av grafiske symboler for å beskrive (modellere) programvaresystem Regler for hvordan de grafiske symbolene kan brukes og knyttes sammen UML: Notasjon for objektorientert design 8

9 17 Design forklart Det er dette vi mener med et design i dette kurset Design: Strukturen til et programsystem Implisitt design: Strukturen til koden Eksplisitt design: Diagrammer som beskriver strukturen til et programsystem med en spesifikk notasjon Notasjon Språk bestående av grafiske symboler for å beskrive (modellere) programvaresystem Regler for hvordan de grafiske symbolene kan brukes og knyttes sammen UML: Notasjon for objektorientert design 18 Funksjonen til et design Hvordan lager vi et design? Gjenskape design ('reverse engineering') med utgangspunkt i kode Konstruksjonsplanlegging ('forward engineering') med utgangspunkt i krav Hvorfor lager vi et design? Gjøre et design for å kommunisere designet til andre Gjøre et design for å forstå krav eller kode (for oss selv og andre) Typer design Kladd Konstruksjonsplan (Programmeringsspråk) 9

10 19 Agenda Hva er et design? Fra kode til diagram: Et praktisk eksempel Design forklart Funksjonen til et design Design av klassediagram Kort om klassediagram Praktisk eksempel Avhengigheter og multiplisitet Generalisering og abstrakte klasser Praktiske råd om objektorientert design 20 Klassediagram Hensikten med diagrammet Beskrive klassene i systemet Beskrive hvordan klassene forholder seg til hverandre (relasjoner) Klasse Strukturen på fenomenet (i motsetning til objekt som er instansen av fenomenet) Attributter Operasjoner 10

11 21 Grunnelementene i et klassediagram Argument-liste Retur-type Diagram Operasjons-navn Klassenavn Attributter Operasjoner 22 Praktisk eksempel: Del 1 Meldingsbroen skal motta meldinger fra telefonsvarere og oversette meldingene til kommandoer. Kommandoene skal meldingsbroen sende til kjernesystemet. Meldingsbroen skal oversette responsen fra kjernesystemet til en melding som sendes tilbake til telefonsvareren. Meldingsbroen skal lytte på innkommende oppkoblinger fra telefonsvarerne. En telefonsvarer kan sende flere meldinger før den kobler seg fra meldingsbroen. Telefonsvareren skal sende en avslutningsmelding til meldingsbroen når den er ferdig med å sende meldinger. Meldingsbroen skal selv avslutte en oppkobling dersom det ikke har mottatt en melding fra telefonsvareren på 60 sekunder. Meldingsbroen skal ikke akseptere flere enn 10 oppkoblinger fra telefonsvarerne. 11

12 23 Praktisk eksempel: Del 1 Meldingsbroen skal motta meldinger fra telefonsvarere og oversette meldingene til kommandoer. Kommandoene skal meldingsbroen sende til kjernesystemet. Meldingsbroen skal oversette responsen fra kjernesystemet til en melding som sendes tilbake til telefonsvareren. Meldingsbroen skal lytte på innkommende oppkoblinger fra telefonsvarerne. En telefonsvarer kan sende flere meldinger før den kobler seg fra meldingsbroen. Telefonsvareren skal sende en avslutningsmelding til meldingsbroen når den er ferdig med å sende meldinger. Meldingsbroen skal selv avslutte en oppkobling dersom det ikke har mottatt en melding fra telefonsvareren på 60 sekunder. Meldingsbroen skal ikke akseptere flere enn 10 oppkoblinger fra telefonsvarerne. 24 Praktisk eksempel: Del 1 Meldingsbroen skal motta meldinger fra telefonsvarere og oversette meldingene til kommandoer. Kommandoene skal meldingsbroen sende til kjernesystemet. Meldingsbroen skal oversette responsen fra kjernesystemet til en melding som sendes tilbake til telefonsvareren. Meldingsbroen skal lytte på innkommende oppkoblinger fra telefonsvarerne. En telefonsvarer kan sende flere meldinger før den kobler seg fra meldingsbroen. Telefonsvareren skal sende en avslutningsmelding til meldingsbroen når den er ferdig med å sende meldinger. Meldingsbroen skal selv avslutte en oppkobling dersom det ikke har mottatt en melding fra telefonsvareren på 60 sekunder. Meldingsbroen skal ikke akseptere flere enn 10 oppkoblinger fra telefonsvarerne. 12

13 25 Klassediagram for meldingsbro 26 Klassediagram til kode class Oppkobling { Telefonsvarer telefonsvarer; Kjernesystem kjernesystem; Oppkobling(Telefonsvarer telefonsvarer, Kjernesystem kjernesystem) { this.telefonsvarer = telefonsvarer; this.kjernesystem = kjernesystem; 13

14 27 Klassediagram til kode class Oppkobling { Telefonsvarer telefonsvarer; Kjernesystem kjernesystem; Oppkobling(Telefonsvarer telefonsvarer, Kjernesystem kjernesystem) { this.telefonsvarer = telefonsvarer; this.kjernesystem = kjernesystem; Melding motta() { 28 Klassediagram til kode class Oppkobling { Telefonsvarer telefonsvarer; Kjernesystem kjernesystem; Oppkobling(Telefonsvarer telefonsvarer, Kjernesystem kjernesystem) { this.telefonsvarer = telefonsvarer; this.kjernesystem = kjernesystem; Melding motta() { Respons send(kommando enkommando) { 14

15 29 Klassediagram til kode class Oppkobling { Telefonsvarer telefonsvarer; Kjernesystem kjernesystem; Oppkobling(Telefonsvarer telefonsvarer, Kjernesystem kjernesystem) { this.telefonsvarer = telefonsvarer; this.kjernesystem = kjernesystem; Melding motta() { Respons send(kommando enkommando) { void sendtilbake(melding enmelding { 30 Klassediagram til kode class Oppkobling { Telefonsvarer telefonsvarer; Kjernesystem kjernesystem; Oppkobling(Telefonsvarer telefonsvarer, Kjernesystem kjernesystem) { this.telefonsvarer = telefonsvarer; this.kjernesystem = kjernesystem; Melding motta() { Respons send(kommando enkommando) { void sendtilbake(melding enmelding { void koblefra() { 15

16 31 Assosiasjoner og multiplisitet Assosiasjoner Viser relasjonen til en annen klasse Hel linje mellom to klasser Enveisrelasjon: Linjen er rettet fra kildeklassen til målklassen Toveisrelasjon: Pil i begge ender Multiplisitet Indikasjon på hvor mange objekter som fyller attributtet 1, 0..1, * 32 Klassediagram for meldingsbro 16

17 33 Assosiasjoner for meldingsbro 34 Multiplisitet i meldingsbro 17

18 35 Praktisk eksempel: Del 2 En melding består av et meldingshode og en meldingskropp på dette formatet: #<meldingshode>#<meldingskropp> Meldingshodet er et standard for alle meldingene på følgende format: <3-sifret meldingskode>,<bankid>,<meldingstidspunkt> Meldingen for å overføre penger har meldingskode 503, og med følgende meldingskropp: <fra_konto 11 siffer>,<til konto 11 siffer>,<beløp> Meldingen for å sperre konto har meldingskode 201, og følgende meldingskropp: <konto som skal sperres 11 siffer> 36 Klassediagram meldingsbro 18

19 37 Generalisering og aggregering Generalisering (arv) Superklasse og barneklasse Eks: Hund er en type dyr Aggregeringer ( består av relasjoner) Klasse som beskriver hvordan hvordan noe er satt sammen Eks.: Sykkel består av ramme, hjul, sete, styre osv. Hjul består av felg, slange, dekk, nav, eiker osv. 38 Klassediagram meldingsbro Generalisering 19

20 39 3 enkle triks Ikke bruk all tilgjengelig notasjon. Hold det så enkelt som mulig (KISS keep it simple stupid) Konseptuelle klassediagrammer fokuserer på datamodellen og er nyttige for å forstå et domene. Ikke prøv å modellere alt. Forkuser på de viktigste delene. 40 Hva skal vi modellere? Hva vi tar med i modellen avhenger av hva vi skal lage. Om vi skal modellere en bil kan vi fokusere på: Mekanikk motor, drivverk, vindusheiser, bremser etc. Software kontroll av forgasser, bremser, girkasse 20

21 41 Oppsummering Grunnleggende om programvaredesign Hva et design er Hva funksjonen til et design er Når i utviklingsprosessen lager vi design Grunnleggende om klassediagram i UML Klasser med attributter og operasjoner Assosiasjoner mellom klasser og multiplisitet Generalisering og abstrakte klasser 21

UML 1. Use case drevet analyse og design. 20.01.2004 Kirsten Ribu

UML 1. Use case drevet analyse og design. 20.01.2004 Kirsten Ribu UML 1 Use case drevet analyse og design 20.01.2004 Kirsten Ribu 1 I dag Domenemodell (forløper til klassediagram) Interaksjonsdiagrammer Sekvensdiagram Kollaborasjonsdiagram 2 Domenemodell visualisering

Detaljer

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert. Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen

Detaljer

Kap3: Klassemodellering

Kap3: Klassemodellering Kap3: Klassemodellering I dag: Litt repetisjon fra sist (innledende om klassemodellen) Deretter egentlig litt mer repetisjon, men nå fra intro- Felt-/Instansvariabler og kurset i Java: Klasser og Objekt,

Detaljer

20.01.2012. Brukerkrav og use case diagrammer og -tekst 19. januar 2012. Agenda. Brukerkrav og use case. Diagrammer Tekst.

20.01.2012. Brukerkrav og use case diagrammer og -tekst 19. januar 2012. Agenda. Brukerkrav og use case. Diagrammer Tekst. Brukerkrav og use case diagrammer og -tekst 19. januar 2012 Agenda Brukerkrav og use case Diagrammer Tekst Praktisk eksempel 1 OOAD i livsløpsperspektiv Krav Design Konstruksjon Her er vi i nå Testing

Detaljer

INF1000: Forelesning 7. Konstruktører Static

INF1000: Forelesning 7. Konstruktører Static INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter

Detaljer

Spesifikasjon av Lag emne

Spesifikasjon av Lag emne Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objekter Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use Cases) o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Detaljer

Etter uke 9 skal du. Introduksjon til objektorientert programmering. Innhold. Klasser som abstraksjoner

Etter uke 9 skal du. Introduksjon til objektorientert programmering. Innhold. Klasser som abstraksjoner Etter uke 9 skal du Introduksjon til objektorientert programmering INF1001 Høst 2016 Uke 9 Kunne designe og implementere en programstruktur med flere klasser Kunne etablere og manipulere objekter i (sammensatte)

Detaljer

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer Fra krav til objekter Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050--1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use

Detaljer

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

Lykke til! Eksamen i fag TDT4140 Systemutvikling 28.11.2012 9.00. NTNU Norges teknisk-naturvitenskapelige universitet Side 1 av 10 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Sensurfrist:

Detaljer

Eksamen. Objektorientert Programmering IGR 1372

Eksamen. Objektorientert Programmering IGR 1372 + JVNROHQL1DUYLN $YGHOLQJIRU7HNQRORJL Eksamen i Objektorientert Programmering IGR 1372 7LG'HVHPEHU± 7LOODWWHKMHOSHPLGOHU 6NULYHVDNHU2UGE NHU -DYD6RIWZDUH6ROXWLRQV)RXQGDWLRQVRI3URJUDP 'HVLJQVNUHYHWDY/HZLV

Detaljer

Socket og ServerSocket

Socket og ServerSocket Side 1 av 5, socket og klient-tjener, V. Holmstedt, HiO 2006 Dette dokumentet er revidert den 29.8.2006, kl:12:30. Det er foretatt rettelser i begge versjoner av klassen A_Server. Socket og ServerSocket

Detaljer

INF1000: Forelesning 7

INF1000: Forelesning 7 INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en

Detaljer

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

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen Hensikten med denne delen av kurset Objektorientert systemutvikling Rational Unified Process (RUP) Gurholt og Hasle kap. 6 UML Distilled kap. 2 Å lære modellerings- og designprinsipper og øve opp teknikker

Detaljer

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

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser? UML Use case drevet analyse og design 31.01.2005 Kirsten Ribu I dag Domenemodell (forløper til klassediagram) Interaksjonsdiagrammer Sekvensdiagram Kollaborasjonsdiagram 1 2 Domenemodell visualisering

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1050 Eksamensdag: 2. juni 2014 Tid for eksamen: 09:00-13:00 Oppgavesettet er på 4 sider Vedlegg: Ingen Tillatte hjelpemidler:

Detaljer

Tittel Objektorientert systemutvikling 2

Tittel Objektorientert systemutvikling 2 EKSAMENSFORSIDE Fagnr. OBJ208 Tittel Objektorientert systemutvikling 2 Ansvarlig faglærer Viggo Holmstedt Klasse(r) Dato IS/IN 2 11.06.2009 Eksamensoppgaven Ant. sider inkl. består av følgende: forside

Detaljer

Oppgave 1: Multiple choice (20 %)

Oppgave 1: Multiple choice (20 %) Oppgave 1: Multiple choice (20 %) For alle oppgavene gjelder at det bare er ett riktig svar. No Spørsmål Svar A Svar B Svar C Svar D 1 Kanban er et eksempel på: Prosess Software prosess Prosess modell

Detaljer

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

Universitetet i Oslo Institutt for informatikk. Eskild Busch. UML hefte Universitetet i Oslo Institutt for informatikk Eskild Busch UML hefte 6. desember 2000 Innhold Dette heftet tar for seg deler av UML som er sentralt i kurset IN29. Use case-, sekvens-, tilstand- og klassediagrammer,

Detaljer

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

Tom Røise 26.02.2007. IMT2243 : Systemutvikling 1. IMT2243 Systemutvikling 26. februar 2007. Klassediagrammet. Klasse IMT2243 Systemutvikling 26. februar 2007 Tema : Domenemodellering og Kravspeken - Repetisjon konseptuelle klassediagram - Eksempler - konseptuelle klassediagram (IHID løsningen og OL-Veiviseren) - Maler

Detaljer

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus // class Bygning Oppgave 1 System.out.println( Bolighus ); // class Bolighus Hva blir utskriften fra dette programmet? class Blokk extends Bolighus{ // class Blokk IN105subclassesII-1 Eksekveringsrekkefølgen

Detaljer

Klasser. Webprogrammering høsten 2015. Objekter. Eksempelklasser og -objekter. 2 of 11 14.10.2015 07:56. 1 of 11 14.10.2015 07:56

Klasser. Webprogrammering høsten 2015. Objekter. Eksempelklasser og -objekter. 2 of 11 14.10.2015 07:56. 1 of 11 14.10.2015 07:56 [Kurssidene] [ ABI - fagsider bibin ] Objekter Webprogrammering høsten 2015 Et objekt er en "ting" som representeres i et program. Representasjonen tar for seg attributter og oppførsel Attributter (egenskaper)

Detaljer

Hvordan designe en ER-modell med MS-VISIO

Hvordan designe en ER-modell med MS-VISIO AITeL Databaser Hvordan designe en ER-modell med MS-VISIO Kjell Toft Hansen 19. august 2003 Brukerveiledningen er forfatters eiendom. Som kursdeltaker kan du fritt bruke den til eget personlig bruk. Kursdeltakere

Detaljer

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

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski UKE 13 Mer UML modellering Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski Hva skal vi i dag? Objektorientert design - kapittel 5 og 7 UML modellering Aktivitetsdiagrammer Klassediagram Ukesoppgaver

Detaljer

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

Motivasjon: Hvorfor modellere? Systemutvikling med UML Del 2 (forelesning 4-6) Repetisjon: Egenskapsrommet. Egenskapsrommet 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

Detaljer

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007.

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007. Object interaction Grunnleggende programmering i Java Monica Strand 3. september 2007 1 Innhold Til nå: Hva objekter er og hvordan de implementeres I klassedefinisjonene: klassevariable (fields), konstruktører

Detaljer

Introduksjon til objektorientert programmering

Introduksjon til objektorientert programmering Introduksjon til objektorientert programmering Samt litt mer om strenger og variable INF1000, uke6 Ragnhild Kobro Runde Grunnkurs i objektorientert programmering Strategi: Splitt og hersk Metoder kan brukes

Detaljer

Innhold. INF1000 Høst Unified Modeling Language (UML) Unified Modeling Language (UML)

Innhold. INF1000 Høst Unified Modeling Language (UML) Unified Modeling Language (UML) Innhold Unified Modelling Language UML INF1000 Høst 2015 Uke 8: Mer objektorientert programmering Siri Moe Jensen En ny type for-løkke Organisering av mengder av objekter HashMap Valg av representasjon

Detaljer

Øvingsforelesning TDT4105

Øvingsforelesning TDT4105 Øvingsforelesning TDT4105 Gjennomgang øving 9, intro øving 10. Eksamensoppgaver. Benjamin A. Bjørnseth 10. november 2015 2 Oversikt Praktisk Gjennomgang øving 9 Introduksjon sudoku Oppgave 4 Kont-eksamen

Detaljer

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 INF1000 Metoder Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 Motivasjon Når man begynner å skrive store programmer, vil man fort oppleve at programmene blir uoversiktlige. Det blir vanskeligere

Detaljer

Innhold. Forord Det første programmet Variabler, tilordninger og uttrykk Innlesing og utskrift...49

Innhold. Forord Det første programmet Variabler, tilordninger og uttrykk Innlesing og utskrift...49 Innhold Forord...5 1 Det første programmet...15 1.1 Å kommunisere med en datamaskin 16 1.2 Programmeringsspråk 17 1.3 Et program som skriver på skjermen 18 1.4 Kompilering og kjøring 19 1.5 Kommentarer

Detaljer

UKE 11 UML modellering og use case. Gruppetime INF1055

UKE 11 UML modellering og use case. Gruppetime INF1055 UKE 11 UML modellering og use case Gruppetime INF1055 Hva skal vi i dag? Analyse og design - kapittel 5 og 7 UML modellering Ukesoppgaver 3: Modellering av krav UML UML Kompetansemål Modellering av krav

Detaljer

INF1010 Arv. Marit Nybakken marnybak@ifi.uio.no 2. februar 2004

INF1010 Arv. Marit Nybakken marnybak@ifi.uio.no 2. februar 2004 INF1010 Arv Marit Nybakken marnybak@ifi.uio.no 2. februar 2004 Motivasjon Arv bruker vi så vi skal slippe å skrive oss i hjel. Når vi programmerer, prøver vi gjerne å modellere en del av verden ved hjelp

Detaljer

Tittel Objektorientert systemutvikling 1. Eksamenstid, fra-til 09.00-12.00 Ant. oppgaver 6

Tittel Objektorientert systemutvikling 1. Eksamenstid, fra-til 09.00-12.00 Ant. oppgaver 6 EKSAMENSFORSIDE Fagnr. OBJ208a Tittel Objektorientert systemutvikling 1 Ansvarlig faglærer Viggo Holmstedt Klasse(r) IS 2 og IN 2 Eksamensoppgaven består av følgende: Tillatte hjelpemidler: Dato 17.12.2008

Detaljer

Læringsmål for forelesningen

Læringsmål for forelesningen Læringsmål for forelesningen Objektorientering Delegeringsteknikken Delegering vs. arv 1 Dagens forelesning Introduksjon og motivasjon Hvorfor forelese om standardteknikker, såkalte patterns? Hva slags

Detaljer

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

Gruppenavn. Prosjektnavn Beskrivelse av design For Navn på systemet. Versjon <1.0> Gruppenavn Prosjektnavn Beskrivelse av design For Navn på systemet Versjon Revisjonshistorie Dato Versjon Beskrivelse av endring Forfatter Innhold 1. Innledning

Detaljer

Fra krav til modellering av objekter

Fra krav til modellering av objekter INF1050: Systemutvikling 14. februar 2017 Fra krav til modellering av objekter Førstelektor Yngve Lindsjørn INF1050 -> Systemutvikling -> Fra krav til modellering av objekter 1 Temaer i dagens forelesning

Detaljer

1. Modellering av objektorienterte systemer

1. Modellering av objektorienterte systemer Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Modellering av objektorienterte systemer Tore Berg Hansen Lærestoffet er utviklet for faget IFUD Objektorientert systemutvikling 1. Modellering

Detaljer

Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2

Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2 Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2 11.2 Korteste vei i en graf 11.2.1 Dijkstras metode En graf er et system med noder og kanter mellom noder. Grafen kalles rettet Notasjon Verdien

Detaljer

Fra krav til objekter. INF1050: Gjennomgang, uke 05

Fra krav til objekter. INF1050: Gjennomgang, uke 05 Fra krav til objekter INF1050: Gjennomgang, uke 05 Kompetansemål Systemmodellering og systemperspektiv Utvikle abstrakte modeller av et system Ulike modeller representerer ulike perspektiver av systemet

Detaljer

Eksamen i Internetteknologi Fagkode: ITE1526

Eksamen i Internetteknologi Fagkode: ITE1526 Datateknikk Side 1 av 8 Eksamen i Internetteknologi Fagkode: ITE1526 Tid: Mandag, 23.05.05, 9:00-12:00 Tillatte hjelpemidler: Alle trykte og skrevne hjelpemidler tillatt. Eksamen består av 3 oppgaver og

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 4.mai 2011 Varighet: 0900-1300 Emnekode: Emnenavn: Klasse(r): LO191D / LC191D Campus: LC191D Videregående

Detaljer

TOD063 Datastrukturer og algoritmer

TOD063 Datastrukturer og algoritmer TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage

Detaljer

Fra krav til objektdesign

Fra krav til objektdesign Fra krav til objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050-ansvar-1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller

Detaljer

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

Hvorfor objektorientert programmering? Objektorientert programmering i Python: Introduksjon. Læringsmål uke 7. Undervisning og pensum IN1000 Objektorientert programmering i Python: Introduksjon IN1000 Høst 2019 uke 7 Siri Moe Jensen Læringsmål uke 7 Kjenne til motivasjon og bakgrunn for objektorientert programmering Kunne definere en klasse,

Detaljer

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være

Detaljer

Kapittel 7: Mer om arv

Kapittel 7: Mer om arv Kapittel 7: Mer om arv Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag,

Detaljer

Klasser, objekter, pekere og UML. INF1000 - gruppe 13

Klasser, objekter, pekere og UML. INF1000 - gruppe 13 Klasser, objekter, pekere og UML INF1000 - gruppe 13 Klasse Beskriver ofte ting fra den virkelige verden Veldig ofte et substantiv (Person, Bok, Bil osv.) class Person { String navn; int alder; } class

Detaljer

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

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objektdesign Hva skal systemet gjøre? UML: Bruksmønstermodeller o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Detaljer

EKSAMEN I INF244: OBJEKTORIENTERT PROGRAMVAREUTVIKLING I BACHELORSTUDIET I IT OG INFORMASJONSSYSTEMER BACHELORSTUDIET I IT OG ENTREPRENØRSKAP

EKSAMEN I INF244: OBJEKTORIENTERT PROGRAMVAREUTVIKLING I BACHELORSTUDIET I IT OG INFORMASJONSSYSTEMER BACHELORSTUDIET I IT OG ENTREPRENØRSKAP Høgskolen i Buskerud Avdeling for økonomi og samfunnsvitenskap 3502 Hønefoss EKSAMEN I INF244: OBJEKTORIENTERT PROGRAMVAREUTVIKLING I BACHELORSTUDIET I IT OG INFORMASJONSSYSTEMER BACHELORSTUDIET I IT OG

Detaljer

Hvorfor objektorientert programmering?

Hvorfor objektorientert programmering? Objektorientert programmering i Python: Introduksjon IN1000 Høst 2019 uke 7 Siri Moe Jensen Læringsmål uke 7 Kjenne til motivasjon og bakgrunn for objektorientert programmering Kunne definere en klasse,

Detaljer

(MVC - Model, View, Control)

(MVC - Model, View, Control) INF1010 - våren 2008 Modell - Utsyn - Kontroll (MVC - Model, View, Control) Stein Gjessing Inst. for informatikk Et bankprogram Vi skal lage et program som håndterer kontoene i en bank. En konto eies av

Detaljer

Sensur-veiledning INF1000 h 2013 (fasit) am - 6. des. 2013

Sensur-veiledning INF1000 h 2013 (fasit) am - 6. des. 2013 Sensur-veiledning INF1000 h 2013 (fasit) am - 6. des. 2013 Oppgave 1) Her var det en manglende høyreparentes i 1 b) slik at de som svarer virker ikke eller lignende istedenfor det riktige svaret, skal

Detaljer

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i. Skilpaddeskolen Steg 1: Flere firkanter Nybegynner Python Åpne IDLE-editoren, og åpne en ny fil ved å trykke File > New File, og la oss begynne. Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell'

Detaljer

Use Case-modellering. INF1050: Gjennomgang, uke 04

Use Case-modellering. INF1050: Gjennomgang, uke 04 Use Case-modellering INF1050: Gjennomgang, uke 04 Kompetansemål Modellering av krav Kunne modellere ulike typer krav UML-diagrammer Innføring i grunnleggende UML-modellering Bruksmønster (use case) Sekvensdiagram

Detaljer

Kapittel 1: Datamaskiner og programmeringsspråk

Kapittel 1: Datamaskiner og programmeringsspråk Kapittel 1: Datamaskiner og programmeringsspråk Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen

Detaljer

Objektorientert design av kode. Refaktorering.

Objektorientert design av kode. Refaktorering. Objektorientert design av kode. Refaktorering. DEL 2 INF1010-forelesning 9. mars Ragnhild Kobro Runde Kjennetegn på god design (fra INF1050) En god utforming gjør den jobben den er ment å gjøre. En god

Detaljer

Modellering av data. Magnus Karge, Kartverket

Modellering av data. Magnus Karge, Kartverket Modellering av data Magnus Karge, Kartverket 02.05.2018 Modellering av data Innhold Sentrale elementer i klassediagrammer Sentrale elementer i pakkediagrammer Relevante standarder Internasjonalt: ISO 19103

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Prøveeksamen tirsdag 23. november 2010 Tid for eksamen:

Detaljer

Læringsmål for forelesningen

Læringsmål for forelesningen Læringsmål for forelesningen Objektorientering Håndtering av unntak (eng: exceptions) Java-programmering Håndtering av unntak Exception-objekter og klasser try, catch og finally throw og throws Eclipse

Detaljer

81,9(56,7(7(7,26/2 'HWPDWHPDWLVNQDWXUYLWHQVNDSHOLJHIDNXOWHW

81,9(56,7(7(7,26/2 'HWPDWHPDWLVNQDWXUYLWHQVNDSHOLJHIDNXOWHW 81,9(56,7(7(7,26/2 'HWPDWHPDWLVNQDWXUYLWHQVNDSHOLJHIDNXOWHW (NVDPHQL,1)²*UXQQNXUVLREMHNWRULHQWHUWSURJUDPPHULQJ (NVDPHQVGDJ )UHGDJGHVHPEHU 7LGIRUHNVDPHQ ² 2SSJDYHVHWWHWHUSnVLGHU%RNPnO 9HGOHJJ VWN 7LOODWWHKMHOSHPLGOHU$OOHWU\NWHRJVNUHYQH

Detaljer

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

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram

Detaljer

En oppsummering (og litt som står igjen)

En oppsummering (og litt som står igjen) En oppsummering (og litt som står igjen) Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Eksamen En oppsummering Oppsummering Pensum læreboken til og med kapittel 7 forelesningene de

Detaljer

Kompilering Statiske Syntaksanalyse Feilsjekking Eksempel Oppsummering

Kompilering Statiske Syntaksanalyse Feilsjekking Eksempel Oppsummering Dagens tema Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Statiske metoder og variabler Hvordan oppdage feil? Kildekode Hva er kompilering? Anta at

Detaljer

Skilpaddefraktaler Erfaren Python PDF

Skilpaddefraktaler Erfaren Python PDF Skilpaddefraktaler Erfaren Python PDF Introduksjon Vi vil nå jobbe videre med skilpaddekunsten fra tidligere. Denne gangen skal vi tegne forskjellige figurer som kalles fraktaler. Fraktaler er figurer

Detaljer

INF1010 UML. Marit Nybakken 26. januar 2004

INF1010 UML. Marit Nybakken 26. januar 2004 INF1010 UML Marit Nybakken marnybak@ifi.uio.no 26. januar 2004 Liten tolkning av UML-kapittelet i læreboka. 1 UML-diagrammer Det finnes mange forskjellige typer UML-diagrammer for å dokumentere og planlegge

Detaljer

UML-Unified Modeling Language

UML-Unified Modeling Language UML-Unified Modeling Language Use case realisering Designmodellering 21.01.2004 Kirsten Ribu Use Case diagram Klassediagram Oppførselsdiagrammer: Sekvensdiagram Kollaborasjonsdiagram Tilstandsdiagram Aktivitetsdiagram

Detaljer

Beskjed fra Skagestein

Beskjed fra Skagestein Beskjed fra Skagestein "I forbindelse med prosjektoppgavens delinnlevering 4 vil gruppelærerne sette opp en PHP-orakeltjeneste torsdag 7. april kl 1415-1800 på termstua i Niels Henrik Abels hus." INF1050-klasser-1

Detaljer

Løsningsforslag til Case. (Analysen)

Løsningsforslag til Case. (Analysen) Løsningsforslag til Case (Analysen) Dette er en skisse til løsning av Case et med bussinformasjonssystemet. Jeg kaller det en skisse fordi det på den ene siden ikke er noe fasitsvar og fordi løsningen

Detaljer

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller. Dagens forelesning Java 13 Design av større programmer : fordeling av roller INF 101-13. mars 2003 Flere eksempler på bruk av objekter MVC-prinsippet MVC-prinsippet Flere eksempler på programmer med objekter

Detaljer

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00 Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG

Detaljer

Læringsmål uke 7. Objektorientert programmering i Python: Introduksjon. Innhold uke 7. Lite tilbakeblikk: Programflyt og skop

Læringsmål uke 7. Objektorientert programmering i Python: Introduksjon. Innhold uke 7. Lite tilbakeblikk: Programflyt og skop Læringsmål uke 7 Objektorientert programmering i Python: Introduksjon IN1000 Høst 2018 uke 7 Siri Moe Jensen Kjenne til motivasjon og bakgrunn for objektorientert programmering Kunne definere en klasse,

Detaljer

1. Designe ER-modeller med MS Visio

1. Designe ER-modeller med MS Visio Kjell Toft Hansen 01.07.2009 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1- databaser 1. I dette notatet skal vi se på hvordan vi kan lage ER-modeller ved å bruke

Detaljer

J2EE. CMP Entity Beans, Transaksjoner, JSP

J2EE. CMP Entity Beans, Transaksjoner, JSP J2EE CMP Entity Beans, Transaksjoner, JSP CMP Entity Beans Container Managed Persistence Container sin oppgave å lagre innholdet i EJB til varig lager (typisk DB). Implementasjonsklassen lages abstrakt.

Detaljer

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

Metode for ansvarsdrevet OO med UML. Dagens forelesning. Hovedflyt for Meld på kurs. Delegering av ansvar i en trelagsarkitektur Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram

Detaljer

Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011)

Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011) Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011) HashMap, innstikksortering, javadoc (kap. 9.1-9.11, m.m. i "Rett på Java" 3. utg.) NB! Legg merke til at disse er løsningsforslag. Løsningene

Detaljer

Gjennomgang av eksamen H99

Gjennomgang av eksamen H99 Gjennomgang av eksamen H99 Administrasjon av kurser, studenter og påmeldinger Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for Informatikk Universitetet i Oslo Oppgave 1 (15 %) (Besvares

Detaljer

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER .9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,

Detaljer

EKSAMENSFORSIDE SKRIFTLIG EKSAMEN

EKSAMENSFORSIDE SKRIFTLIG EKSAMEN EKSAMENSFORSIDE SKRIFTLIG EKSAMEN Fag-/kurskode OBJ110 Fag/kurs Objektorientert systemutvikling 1 Ansvarlig faglærer Viggo Holmstedt Ansvarlig fakultet ØS Klasse(r)/gruppe(r) IS2 Dato 13.12.2010 Eksamenstid,

Detaljer

Eksamen Objektorientert Programmering 2013

Eksamen Objektorientert Programmering 2013 Eksamen Objektorientert Programmering 2013 Høgskolen i Østfold 2013-01-07 Emnekode Emne ITF10611 Dato 2013-01-07 Eksamenstid 09:00-13:00 Hjelpemidler Faglærer Objektorientert Programmering To A4-ark (fire

Detaljer

INF1000 Prøveeksamen Oppgave 7 og 9

INF1000 Prøveeksamen Oppgave 7 og 9 INF1000 Prøveeksamen Oppgave 7 og 9 Høst 2015 Siri Moe Jensen 7a) Skriv en klasse Gave med to variabler som forteller hva som er i gaven, og hvor mye den har kostet. Klassen skal ha en konstruktør med

Detaljer

Løsningsforslag Test 2

Løsningsforslag Test 2 Løsningsforslag Test 2 Oppgave 1.1: Interface definerer et grensesnitt som kan implementeres av flere klasser. Dette gir en standardisert måte å kommunisere med objekter av en eller flere relaterte klasser.

Detaljer

EKSAMEN. Objektorientert programmering

EKSAMEN. Objektorientert programmering EKSAMEN Emnekode: ITF 10609 Dato: 13.mai 2009 Emne: Objektorientert programmering Eksamenstid: kl 09.00 til kl 12.00 Hjelpemidler: 2 A4-ark med valgfritt innhold på begge sider. Faglærere: Tom Heine Nätt

Detaljer

Oblig 4Hybelhus litt mer tips enn i oppgaven

Oblig 4Hybelhus litt mer tips enn i oppgaven Oblig 4Hybelhus litt mer tips enn i oppgaven lørdag 19. okt 2013 Arne Maus Obligatorisk oppgave 4 Gulbrand Grås husleiesystem I denne oppgaven skal vi se på hans studenthus Utsyn. Utsyn består av 3 etasjer,

Detaljer

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

Hva er en algoritme? Har allerede sett på mange algoritmer til nå i IT1101. Forholdet mellom en algoritme og et program. Algoritme program prosess IT1101 Informatikk basisfag, dobbeltime 2/10 Hva er en algoritme? Fremgangsmåte for noe Hittil: Datarepresentasjon Datamanipulasjon Datamaskinarkutektur hvordan maskinen jobber Operativsystem Program som

Detaljer

Conference Centre Portal (CCP)

Conference Centre Portal (CCP) IN-MMO Obligatorisk oppgave 1 Brian Elvesæter mmo-oppgaver@ifi.uio.no 1 Conference Centre Portal (CCP) 2 1 Oblig 1: Problem description [1/3] The Conference Center Portal is an Internet portal that organizers

Detaljer

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

Hva gjøres i design? 19. september 2002, Tore Berg Hansen, TISIP Hva gjøres i design? 19. september 2002, Tore Berg Hansen, TISIP Kursleksjonene er forfatters eiendom. Som kursdeltaker kan du fritt bruke leksjonene til eget personlig bruk. Kursdeltakere som ønsker å

Detaljer

Bakgrunn. Kurset krever ingen spesielle forkunnskaper om modellering.

Bakgrunn. Kurset krever ingen spesielle forkunnskaper om modellering. Bakgrunn Modellering har lenge vært et kjent begrep innen systemutvikling. På 80-tallet ble metoder som Yourdon/Demarco og Gane&Sarson brukt for å lage dataflyt-diagrammer. Etter hvert ble disse integrert

Detaljer

INF Forelesning oppsummering forts. Et meget enkelt banksystem. Oppsummering om klasser, objekter, pekere og.

INF Forelesning oppsummering forts. Et meget enkelt banksystem. Oppsummering om klasser, objekter, pekere og. Oppsummering om klasser, objekter, pekere og. INF1000 - Forelesning 7 - Litt repetisjon fra forelesning 6 - Gjennomgang av BankSystem med full kode - Mer om klasser og objekter -UML 1. mars 2010 Christian

Detaljer

Dagens tema. Hva er kompilering? Anta at vi lager dette lille programmet doble.rusc (kalt kildekoden): Hva er kompilering?

Dagens tema. Hva er kompilering? Anta at vi lager dette lille programmet doble.rusc (kalt kildekoden): Hva er kompilering? Dagens tema Dagens tema Kildekode Hva er kompilering? Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Hvordan oppdage feil? Anta at vi lager dette lille

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 17. august 2012 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:

Detaljer

Evaluering av IT-systemer Introduksjon. Monica Kristiansen

Evaluering av IT-systemer Introduksjon. Monica Kristiansen Evaluering av IT-systemer Introduksjon Monica Kristiansen 1 Bruk av programvare i kritiske systemer En spennende verden! 2 Avanserte løfteraketter (Ariane 5) 3 Avanserte flyegenskaper 4 Avanserte flyegenskaper

Detaljer

Objekt med Java. Harald Yndestad Høgskolen i Ålesund

Objekt med Java. Harald Yndestad Høgskolen i Ålesund Objekt med Java Harald Yndestad Høgskolen i Ålesund Dagens tema Objektorientert programmering Abstraksjon Modul-konseptet Arv Livssyklus 26.10.2002 HiÅ/KBS2001/Yndetad/JavaObjekt 2 26.10.2002 HiÅ/KBS2001/Yndetad/JavaObjekt

Detaljer

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

UML- Use case drevet analyse og design. Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller UML- Use case drevet analyse og design Bente Anda 23.09.2004 23.09.04 INF320 I dag Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller 23.09.04 INF320

Detaljer

Diverse eksamensgaver

Diverse eksamensgaver Diverse eksamensgaver Noen har fått den idé å lage et språk hvor klasser kan ha noe tilsvarende byvalue-result -parametere. Klasser har ingen konstruktører, og by-value-result parametere spesifiseres som

Detaljer

Flere design mønstre. 19. september 2002, Tore Berg Hansen, TISIP

Flere design mønstre. 19. september 2002, Tore Berg Hansen, TISIP Flere design mønstre 19. september 2002, Tore Berg Hansen, TISIP Kursleksjonene er forfatters eiendom. Som kursdeltaker kan du fritt bruke leksjonene til eget personlig bruk. Kursdeltakere som ønsker å

Detaljer

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. Hei JavaScript! Introduksjon Web Introduksjon I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. Steg 1: Bruke JS Bin

Detaljer

Objekter. Uke 8 - Objekter, klasser og pekere. Verden består av mange objekter, noen ganske like, noen ulike. Klasser og objekter i verden

Objekter. Uke 8 - Objekter, klasser og pekere. Verden består av mange objekter, noen ganske like, noen ulike. Klasser og objekter i verden Objekter Uke 8 - Objekter, klasser og pekere Hvorfor deler vi verden inn i enheter når vi snakker om den? En blomst, fjorten trær, ti mennesker, en bil, en vei, mange murstein, en bankkonti,... Svar :

Detaljer

Shellscripting I. Innhold

Shellscripting I. Innhold Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Shellscripting I Tor Halsan 19.08.2010 Lærestoffet er utviklet for faget LN199D Scripting av Servere Resymé: Leksjonen er første innføring

Detaljer

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

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram

Detaljer

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

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram

Detaljer