20.1 Det objektorienterte paradigme (mønster)

Størrelse: px
Begynne med side:

Download "20.1 Det objektorienterte paradigme (mønster)"

Transkript

1 Kap. 20 Objektorienterte begreper og prinsipper Kap. 20 Objektorienterte begreper og prinsipper OOP - objektorientert programmering Opprinnelig fra norske SIMULA (67) Objektorientert utvikling kom i bruk for fullt i løpet av 90- tallet. OOA - Objektorientert Analyse ble et begrep i løpet av 80- tallet. Metodene er avhengig av gode objektorienterte språk. Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 1 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 2 Kap. 20 Objektorienterte begreper og prinsipper Fordeler med objektorientering: Gjenbruk Raskere utvikling Høy kvalitet Lettere vedlikehold (p.g.a. lav kopling mellom moduler) Færre sideeffekter av endringer Lettere å tilpasse og skalere (til nye problemer) 20.1 Det objektorienterte paradigme (mønster) Objektorienterte språk: Simula Ada 95 C++ Eiffel Smalltalk Java Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 3 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper Det objektorienterte paradigme (mønster) Ved objektorientert utvikling bør en velge en evolusjonær utviklingsmodell som gir muligheter til sammensetning av gjenbrukte moduler. Fig viser en utviklingsmodell som er tilpasset OO utvikling. OO prosessmodell (spiralmodellen) Brukerkommunikasjon Innsamling av krav Planlegging Risikoanalyse Ja Hent klasse i bibliotek Identifiser kandidatklasse Er klassen i bibliotek? Nei Lag ny klasse Legg ny klasse i bibliotek Evaluering av bruker Testing Implementering Engineering, Construction & Release Konstruer n-te versjon av systemet Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 5 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 6 1

2 20.2 OO Begreper Fig viser eksempel på objekter av klassen møbler Stol er medlem (member, instance -tilfelle, eksempel, instans) av en mye større klasse av objekter som kalles møbler. Et sett generelle (generiske) attributter (egenskaper) kan assosieres med (knyttes til) alle objekter i klassen møbler. Alle møbler har pris, dimensjon, vekt, plassering, farge, osv.. Disse attributtene gjelder for alle typer møbler (stoler, bord, sofa, etc.) Arv: Siden stol er medlem av klassen møbler, arver stol alle attributter som er definert for møbelklassen. Klasse: Møbler Dimmensjon Objekt: Stol Dimmensjon Fig. 2 Arv fra klasse til objekt Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 7 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper OO Begreper - 2 Operasjoner (tjenester, services, metoder) : I tillegg til atributter må vi definere operasjoner på objektene. En operasjon endrer vanligvis verdien av en attributt. F.eks: (location) = bygning + etasje + rom Operasjon flytt (move) vil endre en eller flere av datafeltene i plassering. Andre operasjoner på møbelklassen er: kjøpe selge veie osv.. Fig viser at operasjonene arves fra møbelklassen til alle forekomster av klassen. Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 9 OO Begreper - 2 F.eks: = bygning + etasje + rom Operasjon flytt vil endre en eller flere av datafeltene i plassering. Andre operasjoner på møbelklassen er kjøpe, selge, veie osv.. Fig. 3 viser at operasjonene arves fra møbelklassen til alle forekomster av objektet. Objekt: Stol Dimensjon Kjøp Selg Veie Flytt Klasse: Møbler Dimensjon Kjøp Selg Veie Flytt Objekt: Bord Dimensjon Kjøp Selg Veie Flytt Systemutvikling Kap.20 Objektorienterte begreper og prinsipper OO Begreper Klasser og objekter Innkapsling (encapsulation) betyr at all informasjon er pakket inn under et navn, og kan gjenbrukes (reused) som en spesifikasjon eller programkomponent. En mer formell definisjon (Coad, Yourdon): Objektorientert = objekt + klassifisering + arv + kommunikasjon Objektet stol (fig 20.3) innkapsler data (attributter) og operasjoner og eventuelt andre objekter (sammensatte (composed) objekter og konstanter) Fig viser sammenheng mellom klasse, attributter og operasjoner. En klasse innkapsler data og prosedyrer (operasjoner, metoder og tjenester). En klasse er en generalisert beskrivelse (mønster) som beskriver en samling av like objekter. Alle objekter i klassen arver attributtene og operasjonene i klassen. En superklasse (metaklasse) er en samling av klasser. En subklasse er et tilfelle av en klasse. Ut fra dette kan vi definere et hierarki av klasser slik fig viser. Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 11 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 12 2

3 Klassenavn Attributter Møbler (superklasse) Attributter Operasjoner Operasjoner Attributter Bord Stol Disk Attributter er egenskaper til objektene (definert i klassen) Attributtene får verdier definert fra et domene (verdiområde). For eksempel kan attributten farge (på en bil) ha verdier fra domenet: {hvit, svart, sølv, grå, blå, rød, gul, grønn...}. Subklasser av møbler Fig. 4 Alternativ representasjon av klasse Fig. 5 Et hierarki av klasser Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 13 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper Operajoner, metoder og tjenester Operasjoner, metoder eller tjenester er innkapslet i klassene, og de tilsvarer moduler i andre utviklingsmetoder. Enkle metoder er for eksempel en som henter ut data fra modulen: GetColor. Mer kompliserte metoder kan involvere andre objekter ved at det sendes meldinger (også kalt stimuli) til andre objekter som returnerer informasjon til det første objektet Meldinger Objekter kommuniserer (interact) ved å utveksle meldinger: destination.operation(parametre) destination - objekt som skal utføre operasjonen operation - operasjon som skal motta meldinga parameters argument (data,parametre) Fig og 20.7 viser bruk av meldinger. Objektene A, B, C og D (i 20.7) sender meldinger til hverandre. Obj. B vil ha utført operasjon Op10 i obj. D: D.op10(data) Under utførelse av op10 må obj. D sende melding til obj. C: C.op08(data) Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 15 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 16 Sender objekt sender.operasjon(parametre) A Op1 Op2 B Op3 Op4 Op5 Melding Returverdi D.op10(data) Mottaker.operasjon(parametre) Mottaker objekt C Op6 Op7 Op8 Op9 C.op08(data) Op10 Op11 D Fig. 6 Meldingsutveksling mellom objekter Fig. 7 Meldingsutveksling Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 17 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 18 3

4 Innkapsling, arv og polymorfi Når en ny klasse skal lages kan en velge mellom følgende muligheter: Klassen konstrueres og bygges fra grunnen. Vi finner en foreldreklasse i biblioteket som inneholder de fleste attributter og operasjoner. Den nye klassen arver fra foreldreklassen, og nye attributter og operasjoner legges til. Klassehierarkiet restruktureres slik at nødvendige attributter og operasjoner kan arves av den nye klassen. Karakteristikker (attributter og operasjoner) til en eksisterende klasse kan overstyres ved at private versjoner av attributter og operasjoner lages for den nye klassen. Fig. 20.8a og b viser eksempel på restrukturering. Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 19 Fig. 8 X1 + Char6() X3 Char6() X2 Opprinnelig klassehierarki + + X4 Char7() + Char7() + Char6() X3 Restrukturert klassehierarki + X2a Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 20 X1 + X2 + Char7() X4 Char7() X2b Char8() + Char8() Innkapsling, arv og polymorfi Multiarv er arv fra flere klasser (fra forskjellige klassehierarki). Dette bør ikke brukes, da det fører til kompliserte strukturer. (Det er heller ikke tillatt i alle OO språk) Innkapsling, arv og polymorfi Polymorfi vil si at samme operasjon defineres forskjellig ut fra de spesielle egenskapene til hver klasse. Eks. For forskjellige figurer (linjer, trekanter, rektangler osv.) vil alle ha behov for en operasjon som tegner figuren (draw). Operasjonen må implementeres forskjellig for hver figurtype. Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 21 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper Identifisering av elementer i en objektmodell I denne seksjonen vises hvordan en kan gå frem for å identifisere klasser, objekter, attributter, operasjoner og meldinger i et gitt problem Identifisering av klasser og objekter Vi identifiserer (definerer) klasser der objektene er instanser (forekomster). Når vi isolerer objekter, definerer vi også klasser. En måte å identifisere objekter på, er å utføre en grammatikalsk analyse av prosessbeskrivelsen av systemet: Vi identifiserer alle substantiver (nouns) og setter de i en tabell (marker også synonymer). Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 23 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 24 4

5 Identifisering av klasser og objekter -2 Forskjellige eksempel på objekter: Eksterne system (andre systemer, enheter, folk) som produserer eller konsumerer informasjon som brukes i systemet. Ting (gjentander, rapporter, display, brev, signaler) som er en del av informasjonsdomenet for problemet. Forekomster av hendelser (f.eks. overføring av egenskaper eller fullføring av en serie av robotbevegelser) som forekommer i sammenheng med systemoperasjoner. Roller (f.eks. leder, ingeniør, salgsrepresentant) som personer har eller spiller når de bruker systemet. Organisasjonsenheter (avdeling, gruppe, team) som er relevant for en applikasjon. Steder (plasser, posisjoner, f.eks. fabrikkgolv, lasterampe) som representerer sammenhengen (konteksten) til problemet og den totale funksjonen til systemet. Strukturer (sensorer, firehjulsbil, datamaskin) som definerer en klasse av objekter eller i det ytterste (ekstreme) relaterte klasser av objekter. NB: Vær også oppmerksom på hva som ikke er objekter! Fig Forskjellige eksempel på objekter: Forekomster Ting Eksterne enheter Klassenavn Attributter Operasjoner Op1 Op2 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 25 Roller Org.enheter Steder Strukturer Identifisering av klasser og objekter -3 Eks. s viser prosessbeskrivelse for Safe Home og tabell over substantiver og klassifisering av disse som mulige objekter. Systemutvikling Kap.20 Objektorienterte begreper og prinsipper Identifisering av klasser og objekter Identifisering av klasser og objekter -5 Coad og Yourdon gir 6 kriterier for utvelgelse av objekter: 1. Bevare informasjon. Det potensielle objektet vil være nyttig under analysen bare hvis informasjonen om det må huskes (lagres) for at systemet kan fungere. 2. Nødvendige tjenester. De potensielle objektene må ha et sett identifiserbare operasjoner som kan endre verdien av attributtene. 3. Sammensatte (multiple) attributter. I analysen fokuserer vi på hovedinformasjonen. 4. Felles attributter. Attributter som anvendes på alle forekomster av objektet. 5. Felles operasjoner. Operasjoner som kan defineres for alle forekomster av objektet. 6. Essensielle krav. Eksterne entiteter i problemrommet som produserer eller konsumerer informasjon som er sentral (essensiell) for virkemåten til enhver løsning for systemet vil nesten alltid defineres som objekter i kravmodellen. Et objekt som skal være med i modellen må tilfredsstille de fleste karakteristikkene (kravene). Første steg i objektorientert analyse (OOA) er å definere objektene. Eks. viser anvendelsene av karakteristikkene på Safe Home Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 27 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper Spesifisering av attributter Attributtene beskriver et objekt som er med i analysemodellen. Det er attributtene som definerer objektet som klargjør hva som menes med objektet i sammenheng med problemrommet. For å bestemme et egnet sett attributter til et objekt, kan vi (analytikerne) igjen studere prosessbeskrivelsen for problemet, og velge de ting som naturlig tilhører objektet. I tillegg må vi stille følgende spørsmål: Hvilke data (items, felt, sammensatte og/eller elementære) definerer dette objektet fullstendig i forbindelse med det aktuelle problemet. Eks. s. 542: sensor informasjon = sensor type + sensor nr. + alarmgrense Hvert felt kan videre deles opp i elementære felt. Fig viser systemobjekt for Safe Home Definering av operasjoner En operasjon endrer objektet på en eller annen måte ved å endre en eller flere attributtverdier. Operasjonene kan deles i tre grupper: 1. Operasjoner som manipulerer data (legge til, slette, reformatere, utvalg) 2. Beregningsoperasjoner 3. Operasjoner som overvåker et objekt for forekomster av en kontrollhendelse. Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 29 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 30 5

6 Definering av operasjoner -2 Vi kan igjen bruke prosessbeskrivelsen. Verb isoleres (velges). Eks. assign (for sensorer), programmere (på systemet), aktiver, deaktiver (alarm). Program kan dekomponeres i subprogram for å programmere systemet: spesifiserer telefonnr, lage sensortabeller, sette alarmnivå, passord osv. I tillegg til grammatikalsk analyse kan vi få innsikt i andre operasjoner ved å se på kommunikasjonen (meldingsutveksling) mellom objektene Avslutning av objektdefinisjonen I tillegg til operasjoner som er plukket ut utfra grammatisk analyse, kan andre operasjoner plukkes ut ved å studere den generelle livshistoria til objektet, og meldingene som utveksles mellom objektene som definerer systemene. Generisk (generell) livshistorie inkluderer: Oppretting (create) Modifisering Manipulering Lese Sletting Fig viser systemobjektet i Safe Home med attributter og operasjoner. Tilsvarende må gjøres for de andre objektene. Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 31 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper Administrasjon av OO systemutviklingsprosjekt. De samme aktivitetene som brukes i tradisjonell utvikling brukes også i objektorientert utvikling, men de må tilpasses: 1. Etabler et felles rammeverk for prosjektprosessen. 2. Bruk rammeverket og historiske målinger til å lage innsats- og tidsestimater. 3. Spesifiser produkter og milepeler slik at fremdriften kan måles. 4. Definer sjekkpunkt for kvalitetssikring og -kontroll. 5. Administrere endringer som skjer under utviklingen. 6. Etterspor, overvåk og kontroller fremdriften Felles prosessrammeverk for OO. Et felles prosessrammeverk (A common process framework (CPF) definerer en organisasjons fremgangsmåte for systemutvikling og vedlikehold. Fra fig ser vi at OO utvikling følger en iterativ modell, også kalt rekursiv/parallell modell som brukes på følgende måte: Utfør tilstrekkelig analyse slik at hovedproblemklasser og forbindelser isoleres. Utfør nok konstruksjon slik at det kan avgjøres om klassene og forbindelsene kan implementeres på en praktisk måte. Lag en prototype av gjenbrukbare klasser fra biblioteket. Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 33 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper Felles prosessrammeverk for OO Objektorientert prosjektmåling og estimering Test prototypen slik at feil rettes. Få kundens vurdering og tilbakemelding på prototypen. Gjør endringer i analysemodellen ut fra erfaringene med prototypen, fra konstruksjon, og fra tilbakemelding fra brukerne. Forbedre konstruksjonen slik at endringene (i analysemodellen) blir imøtekommet. Implementer spesielle klasser (objekter) som ikke finnes i biblioteket. Sett sammen en ny prototype med objekter fra biblioteket og nye objekter. Test den nye prototypen. Få tilbakemelding fra brukere. Dette fortsetter til prototypen er utviklet til et ferdig system! Følgende forslag til prosjektmålinger foreslås for OO rekursiv/parallell utvikling: Antall scenarie skript (detaljerte sekvenser av steg som beskriver interaksjon mellom bruker og applikasjon). Hvert skript organiseres i tripletter på formen: [initiator, action, participant] - initiator er objektet som ber om en tjeneste - action er resultatet av forespørselen - participant (deltager) er tjenerobjektet som utfører tjenesten Antall nøkkelklasser (uavhengige komponenter som defineres tidlig i OOA). Antall støtteklasser som er nødvendig for å implementere systemet (brukergrensesnitt, db-aksess, kommunikasjon) Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 35 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 36 6

7 Objektorientert prosjektmåling og estimering-2 Gjennomsnittlig antall støtteklasser for hver nøkkelklasse. Antall subsystemer. Et subsystem er en samling klasser som utfører en funksjon som er synlig i det endelige system (sluttbrukersystem). Arbeid på subsystemene kan fordeles på prosjektdeltagerne, og utføres parallelt OO estimering og planlegging Estimering bør utføres ved hjelp av flere forskjellige teknikker. Erfaringer fra tradisjonell utvikling kan brukes. Det foreslås en 6-punkts metode spesielt for OO utvikling Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 37 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper OO estimering og planlegging Planlegging av OO prosjekter er komplisert p.g.a. den iterative fremgangsmåten. Det foreslås et sett målinger som kan være til hjelp i planleggingen: Antall hovediterasjoner. (en hovediterasjon er en runde (360 grader) i spiralen. Antall fullførte kontrakter. En kontrakt er en gruppe funksjoner som tilbys fra subsystem og klasser til klienten. Dette er ofte passende milepæler for å påvise fremdrift i prosjektet Oppfølging av fremdrift i et OO prosjekt Parallelliteten i OO utvikling gjør oppfølgingen vanskelig. Følgende milepeler kan anses som oppfylt (nådd) når de angitte kriteriene er nådd: Teknisk milepel: OO analyse er fullført når: Alle klassene og klassehierarkiet er definert og kontrollert. Attributtene og operasjonene for en klasse er definert og kontrollert. Klasserelasjoner er etablert og kontrollert. En modell for virkemåten er laget og kontrollert. Gjenbrukbare klasser er registrert. Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 39 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper Oppfølging av fremdrift i et OO prosjekt Teknisk milepæl: OO konstruksjon er fullført når: Mengden av subsystem er definert og kontrollert. Klasser er tilordnet subsystem og kontrollert. Oppgavetildeling er etablert og kontrollert. Ansvarsforhold og samarbeid er identifisert. Attributtene og operasjonene er konstruert og kontrollert. Meldingsmodellen er laget og kontrollert Oppfølging av fremdrift i et OO prosjekt Teknisk milepæl: OO programmering er fullført når: Hver ny klasse er implementert (i kode) fra konstruksjonsmodellen. Utvalgte klasser fra biblioteket er integrert. En prototype eller et inkrement (ny versjon) er bygd. Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 41 Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 42 7

8 Oppfølging av fremdrift i et OO prosjekt Teknisk milepæl: OO testing er fullført når: Det er kontrollert at OO analyse og konstruksjon er korrekt og komplett. Et klasse ansvars- og samarbeidsnettverk er utviklet og kontrollert. Testtilfeller er konstruert og klassenivå-tester er utført og kontrollert. Testtilfeller er konstruert og kluster-tester er utført, og klassene integrert. Systemnivå tester er fullført. Systemutvikling Kap.20 Objektorienterte begreper og prinsipper. 43 8

21. Objektorientert Analyse (OOA) Kap. 21 Objektorientert Analyse (OOA)

21. Objektorientert Analyse (OOA) Kap. 21 Objektorientert Analyse (OOA) 21. Objektorientert Analyse (OOA) Kap. 21 Objektorientert Analyse (OOA) Når vi skal lage en OO analysemodell, bruker vi 5 hovedprinsipper: 1. Lag en modell av informasjonsdomenet. 2. Beskriv modul-funksjonene

Detaljer

Kap. 2 Prosessen. Utviklingsmodeller -2. Utviklingsmodeller. Utviklingsmodeller -4. Utviklingsmodeller - 3. Software Engineering - definisjoner

Kap. 2 Prosessen. Utviklingsmodeller -2. Utviklingsmodeller. Utviklingsmodeller -4. Utviklingsmodeller - 3. Software Engineering - definisjoner Software Engineering - definisjoner Kap. 2 Prosessen Utviklingsprosessen Modeller for utvikling Bauer: Etablering og bruk av gode ingeniørmessige prinsipper for å fremskaffe økonomisk programvare som er

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

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

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

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

Distribuerte objekter og objekt-basert mellomvare

Distribuerte objekter og objekt-basert mellomvare Distribuerte objekter og objekt-basert mellomvare INF 5040 H2004 foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Hvorfor objekt-basert distribuert mellomvare?! Innkapsling " naturlig tilnærming

Detaljer

Distribuerte objekter og objekt-basert mellomvare

Distribuerte objekter og objekt-basert mellomvare Distribuerte objekter og objekt-basert mellomvare INF 5040 H2006 foreleser: Frank Eliassen INF5040 Frank Eliassen 1 Hvorfor objekt-basert distribuert mellomvare? Innkapsling naturlig tilnærming til utvikling

Detaljer

Distribuerte objekter og objekt-basert mellomvare

Distribuerte objekter og objekt-basert mellomvare Distribuerte objekter og objekt-basert mellomvare INF5040 foreleser: Olav Lysne Frank Eliassen, SRL & Ifi/UiO 1 Hvorfor objekt-basert distribuert mellomvare? Innkapsling naturlig tilnærming til utvikling

Detaljer

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

INNFØRING I PRINSIPPER FOR OBJEKTORIENTERT PROGRAMMERING EMILIE HALLGREN OG KRISTIN BRÆNDEN INNFØRING I PRINSIPPER FOR OBJEKTORIENTERT PROGRAMMERING AGENDA Bakgrunn Hva er objektorientert programmering? Pseudokode Datatyper Attributter Metoder Returverdier Lister Relasjoner Spørsmål BAKGRUNN

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

subsystem respons ibilities des ign mes s age des ign arkitekturkonstruksjon clas s and object des ign s ubs ys tem des ign

subsystem respons ibilities des ign mes s age des ign arkitekturkonstruksjon clas s and object des ign s ubs ys tem des ign Kap. 22 Objektorientert konstruksjon (OO, OOD) 22. Objektorientert Design (OOD) OO konstruksjon () overfører OO analysemodellen til en OODmodell. OOD har modularitet på flere nivå: Hovedkomponenter i systemet

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

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs BOKMÅL Side 1 av 7 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTINUASJONSEKSAMEN

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF2810 Eksamensdag: Fredag 5. juni 2015 Tid for eksamen: 14:30 (4 timer) Oppgavesettet er på 4 sider (ikke medregnet denne siden)

Detaljer

Transaksjonsstandard for virkesomsetningen i Norge. Transportoppdrag. Versjon 2.0. Desember 2007 SKOG-DATA AS

Transaksjonsstandard for virkesomsetningen i Norge. Transportoppdrag. Versjon 2.0. Desember 2007 SKOG-DATA AS Transaksjonsstandard for virkesomsetningen i Norge Versjon 2.0 Desember 2007 SKOG-DATA AS Innhold 1 Innledning 3 2 Dokumentasjon av 3 2.1 Oversikt 3 2.1.1 Meldinger 3 2.1.2 forretningsregler 3 2.1.3 Samhandling

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

Læringsmål for forelesningen

Læringsmål for forelesningen Læringsmål for forelesningen Objektorientering Abstrakte klasser og grensesnitt, redefinering av metoder Java-programmering Arv og bruk av abstrakte klasser Eclipse Undersøke instanser i Eclipse 1 Dagens

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

INF2810: Funksjonell Programmering. Tilstand og verditilordning

INF2810: Funksjonell Programmering. Tilstand og verditilordning INF2810: Funksjonell Programmering Tilstand og verditilordning Stephan Oepen Universitetet i Oslo 2. mars 2017 Forrige gang 2 I dag 3 Vi blar om til kapittel 3 i SICP. Tilstand og verditilordning. Destruktive

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Tirsdag 12. juni 2012 Tid for eksamen: 9:00 15:00 Oppgavesettet er

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

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning Systemutviklingsarbeidet et overblikk DRI2001 forelesning 21. sept. 05 Informasjonssystem og datasystem Hva er systemutvikling (SU) Et enkelt eksempel å bygge et hus Rammer og perspektiver for SU-arbeidet

Detaljer

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG INF1050 V16 HVA ER EN SYSTEMUTVIKLINGSPROSESS? De aktivitetene som utføres for å utvikle et IT-system Eksempler på aktiviteter:

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

TDT4100 Objektorientert programmering

TDT4100 Objektorientert programmering Eksamensoppgave i TDT4100 Objektorientert programmering Tirsdag 2. juni 2009, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikrer Trond Aalberg. Kontaktperson under

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

Oppsummering. Thomas Lohne Aanes Thomas Amble

Oppsummering. Thomas Lohne Aanes Thomas Amble Oppsummering Thomas Lohne Aanes Thomas Amble 14.11.04 Kapittel 2: Data Modell Mål: Data som skal brukes av applikasjonen blir spesifisert på en formell og likevel intuitiv måte. Resultat: Vi får et konseptuelt

Detaljer

DRI2001 forelesning

DRI2001 forelesning Systemutviklingsarbeidet et overblikk DRI2001 forelesning 6.10.04 Hva er systemutvikling (SU) Et enkelt eksempel å bygge et hus Rammer for SU-arbeidet Ulike SU-metoder Perspektiver i SU-arbeidet SU er

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Bokmål Kandidat nummer: UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1050 Eksamensdag: 31. Mai, 2011 Tid for eksamen: 09:00-13:00 Oppgavesettet er på 6 sider Vedlegg:

Detaljer

TransportoppdragBekreftelse

TransportoppdragBekreftelse Transaksjonsstandard for virkesomsetningen i Norge Versjon 2.0 Desember 2007 SKOG-DATA AS Innhold 1 Innledning 3 2 Dokumentasjon av 3 2.1 Oversikt 3 2.1.1 Meldingstyper 3 2.1.2 Transportoppdrag forretningsregler

Detaljer

Læreplan i informasjonsteknologi - programfag i studiespesialiserende utdanningsprogram

Læreplan i informasjonsteknologi - programfag i studiespesialiserende utdanningsprogram Læreplan i informasjonsteknologi - programfag i studiespesialiserende utdanningsprogram Fastsatt som forskrift av Utdanningsdirektoratet 3. april 2006 etter delegasjon i brev 26. september 2005 fra Utdannings-

Detaljer

INF2810: Funksjonell Programmering. Tilstand og verditilordning

INF2810: Funksjonell Programmering. Tilstand og verditilordning INF2810: Funksjonell Programmering Tilstand og verditilordning Stephan Oepen Universitetet i Oslo 8. mars 2016 Forrige gang 2 I dag 3 Vi blar om til kapittel 3 i SICP. Tilstand og verditilordning. Destruktive

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

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

INF2810: Funksjonell Programmering. Tilstand og verditilordning

INF2810: Funksjonell Programmering. Tilstand og verditilordning INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Tilstand og verditilordning Erik Velldal Universitetet i Oslo 26. februar 2015 Forrige gang 2 I dag Vi blar om til kapittel 3 i SICP.

Detaljer

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning Systemutviklingsarbeidet et overblikk DRI2001 forelesning 12. sept. 06 Forholdet mellom informasjonssystemet og virkeligheten Hva innebærer utvikling av et IS (systemutvikling: SU) Å utvikle et IS det

Detaljer

Tittel Objektorientert systemutvikling 3

Tittel Objektorientert systemutvikling 3 EKSAMENSFORSIDE Fagnr. OBJ310 Tittel Objektorientert systemutvikling 3 Ansvarlig faglærer Viggo Holmstedt Klasse(r) Dato IS 3 20.05.2011 Eksamensoppgaven Ant. sider inkl. består av følgende: forside og

Detaljer

DRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO

DRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO DRI 2001 13.9 : Introduksjon til systemutvikling. Introduksjon til systemutvikling Systemutvikling og nettstedsutvikling Om ulike typer offentlige nettsteder Kvalitetskrav til offentlige nettsteder Litt

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

Innhold. Innledning... 15. Del 1 En vei mot målet

Innhold. Innledning... 15. Del 1 En vei mot målet Innledning.............................................. 15 Del 1 En vei mot målet Kapittel 1 Utviklingsarbeidet.............................. 22 1.1 Systemutviklerens arbeid...............................

Detaljer

Objektorientering i VB en introduksjon

Objektorientering i VB en introduksjon Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Objektorientering i VB en introduksjon Oppdatert av Atle Nes Objektorientering i VB en introduksjon Resymé: Visual Basic.NET er et objektorientert

Detaljer

Forprosjekt bachelor-oppgave 2012

Forprosjekt bachelor-oppgave 2012 Forprosjekt bachelor-oppgave 2012 Oppgave nr. 4.- Styring av instrumenter. Skrevet av Jan Ingar Sethre. 1 Innhold 1. Mål og rammer... 3 1.1 Bakgrunn... 3 1.2 Mål for prosjektet... 3 1.3 Rammer og forutsetninger...

Detaljer

Akseptansetesten. Siste sjanse for godkjenning Etter Hans Schaefer

Akseptansetesten. Siste sjanse for godkjenning Etter Hans Schaefer Akseptansetesten Siste sjanse for godkjenning Etter Hans Schaefer Akseptansetesting Formell testing med hensyn til brukerbehov, krav, og forretningsprosesser som utføres for å avklare om et system oppfyller

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

Transaksjonsstandard for virkesomsetningen i Norge. Transportert virke. Versjon 2.0. Desember 2007 SKOG-DATA AS

Transaksjonsstandard for virkesomsetningen i Norge. Transportert virke. Versjon 2.0. Desember 2007 SKOG-DATA AS Transaksjonsstandard for virkesomsetningen i Norge Transportert virke Versjon 2.0 Desember 2007 SKOG-DATA AS Innhold 1 INNLEDNING 3 2 DOKUMENTASJON AV MELDING OM TRANSPORTERT VIRKE 3 2.1 Oversikt 3 2.1.1

Detaljer

AlgDat 12. Forelesning 2. Gunnar Misund

AlgDat 12. Forelesning 2. Gunnar Misund AlgDat 12 Forelesning 2 Forrige forelesning Følg med på hiof.no/algdat, ikke minst beskjedsida! Algdat: Fundamentalt, klassisk, morsomt,...krevende :) Pensum: Forelesningene, oppgavene (pluss deler av

Detaljer

Enkle generiske klasser i Java

Enkle generiske klasser i Java Enkle generiske klasser i Java Oslo, 7/1-13 Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Del 1: Enkle pekere Før vi tar fatt på det som er nytt i dette notatet, skal vi repetere litt

Detaljer

Innholdsfortegnelse: Resymé: Denne leksjon gir en kort og enkelt oversikt over hvilke oppgaver som skal utføres i design- og programmeringsfasen.

Innholdsfortegnelse: Resymé: Denne leksjon gir en kort og enkelt oversikt over hvilke oppgaver som skal utføres i design- og programmeringsfasen. Kort innføring i design og programmeringsfasen Jarle Larsen/Tore Berg Hansen 2.11.04 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO314 Prosjektrettet systemarbeid Resymé:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 219 Store programsystemer Eksamensdag : Lørdag 13. desember 1997 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 3 sider

Detaljer

Brukerveiledning. Koblingsur. Varenr: 320 061

Brukerveiledning. Koblingsur. Varenr: 320 061 Brukerveiledning Koblingsur Varenr: 320 061 Innhold Hva er koblingsur... 3 Programmering... 3 Dato og klokkeslett:... 3 Innkoblingstid og utkoblingstid:... 4 Kontroll av innlagte program... 5 Slette et

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00

Detaljer

Kravhåndtering. INF1050: Gjennomgang, uke 03

Kravhåndtering. INF1050: Gjennomgang, uke 03 Kravhåndtering INF1050: Gjennomgang, uke 03 Kompetansemål Kravhåndtering Anvende metoder og teknikker for å Innhente / Analysere / Spesifisere krav Ulike typer krav Funksjonelle krav Ikke-funksjonelle

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

Kapittel 8: Programutvikling

Kapittel 8: Programutvikling Kapittel 8: Programutvikling 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

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 13. juni 2006 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 5

Detaljer

Presentasjon 1, Requirement engineering process

Presentasjon 1, Requirement engineering process Presentasjon 1, Requirement ing process Prosessodeller Hvorfor bruke prosessmodeller? En prosessmodell er en forenklet beskrivelse av en prosess En prosessmodell er vanligvis lagd ut fra et bestemt perspektiv

Detaljer

OptimalJ-kurs UIO Oppsummering av kurset. De ulike modellene egenskaper og formål

OptimalJ-kurs UIO Oppsummering av kurset. De ulike modellene egenskaper og formål OptimalJ-kurs UIO 2004 Agenda Time 1: Oppsummering av kurset Time 2: De ulike modellene egenskaper og formål Team Development med OptimalJ Domain Patterns Egenutviklede transformasjoner (krever Architect

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF2810 Eksamensdag: 5. juni, 2014 Tid for eksamen: 14:30 (4 timer) Oppgavesettet er på 4 sider. Vedlegg: Ingen Tillatte hjelpemidler:

Detaljer

Transaksjonsstandard for virkesomsetningen i Norge. Business Acknowledge. Versjon 2.0. Desember 2007 SKOG-DATA AS

Transaksjonsstandard for virkesomsetningen i Norge. Business Acknowledge. Versjon 2.0. Desember 2007 SKOG-DATA AS Transaksjonsstandard for virkesomsetningen i Norge Versjon 2.0 Desember 2007 SKOG-DATA AS Innhold 1 Innledning 3 2 Dokumentasjon av 3 2.1 Oversikt 3 2.1.1 Meldingstyper/funksjoner 3 2.1.2 BusinessAcknowledge

Detaljer

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Erik Velldal Universitetet i Oslo 9. februar 2017 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens prosedyrer

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

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

GJENNOMGANG UKESOPPGAVER 7 REPETISJON GJENNOMGANG UKESOPPGAVER 7 REPETISJON INF1050 V16 KRISTIN BRÆNDEN DAGENS TEMA Oppgaver hentet fra tidligere eksamensoppgaver om temaene vi har gått gjennom til nå DAGENS PLAN Gjennomgang av oppgaver Repetisjon

Detaljer

BOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl. 09.00 13.

BOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl. 09.00 13. BOKMÅL Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTERINGSEKSAMEN

Detaljer

Kirsten Ribu - Høgskolen i Oslo 05.05.04

Kirsten Ribu - Høgskolen i Oslo 05.05.04 Prosessmodellering Strukturert analyse og design et overblikk Gurholt & Hasle, kapittel 10 Kirsten Ribu - Høgskolen i Oslo 05.05.04 1 Perspektiver på modellering Datamodellering var lenge den mest brukte

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

Systemutviklingen er ferdig når et system er operativt. Med operativt menes når systemet blir brukt av brukerne på et faktisk arbeidssted.

Systemutviklingen er ferdig når et system er operativt. Med operativt menes når systemet blir brukt av brukerne på et faktisk arbeidssted. Presentasjon nummer 5 The changing system and the nature of maintenance Silde 1 Gruppen introduseres Slide 2 The changing system and the nature of maintenance The Changing system Systemutviklingen er ferdig

Detaljer

GJENNOMGANG UKESOPPGAVER 9 TESTING

GJENNOMGANG UKESOPPGAVER 9 TESTING GJENNOMGANG UKESOPPGAVER 9 TESTING INF1050 V16 KRISTIN BRÆNDEN 1 A) Testing viser feil som du oppdager under kjøring av testen. Forklar hvorfor testing ikke kan vise at det ikke er flere gjenstående feil.

Detaljer

HiOA TDK. Ingeniørfag data. DATS1600 Programutvikling. Eva Hadler Vihovde. Prosjektoppgaven 2015. - Prosessdokumentasjon - Alternativ 1

HiOA TDK. Ingeniørfag data. DATS1600 Programutvikling. Eva Hadler Vihovde. Prosjektoppgaven 2015. - Prosessdokumentasjon - Alternativ 1 HiOA TDK Ingeniørfag data DATS1600 Programutvikling Eva Hadler Vihovde Prosjektoppgaven 2015 - Prosessdokumentasjon - Alternativ 1 - Forsikring - Gruppe #14 Studentnavn Marius Alexander Skjolden Hans Christian

Detaljer

DRI2001 h04 - Forelesning Systemutvikling og nettsteder

DRI2001 h04 - Forelesning Systemutvikling og nettsteder Systemutvikling utvikling av offentlig nettsteder DRI2001 forelesning 20.10 Litt om eksperimentell systemutvikling og prototyping Systemutviklingsprosessene og utvikling av [offentlige] nettsteder Fasene

Detaljer

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

UML-Unified Modeling Language. Prosess-oversikt. Use case realisering Use case realisering Designmodellering 31.01.2005 Kirsten Ribu UML-Unified Modeling Language Use Case diagram Klassediagram Oppførselsdiagrammer Sekvensdiagram Kollaborasjonsdiagram Tilstandsdiagram Aktivitetsdiagram

Detaljer

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Stephan Oepen Universitetet i Oslo 9. februar 2015 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens

Detaljer

Velkommen til. INF våren 2016

Velkommen til. INF våren 2016 Velkommen til INF1010 - våren 2016 Denne uken (onsdag og torsdag): Om INF1010 Java datastrukturer Klasser med parametre i Java Stein Gjessing Institutt for informatikk Universitetet i Oslo 1 1 INF1010

Detaljer

Alg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing. Børge Rødsjø rodsjo@stud.ntnu.no

Alg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing. Børge Rødsjø rodsjo@stud.ntnu.no Alg. Dat Øvingsforelesning 3 Grafer, BFS, DFS og hashing Børge Rødsjø rodsjo@stud.ntnu.no Dagens tema Grafer Terminologi Representasjon av grafer Bredde først søk (BFS) Dybde først søk (DFS) Hashing Hashfunksjoner,

Detaljer

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy Kapittel 13 Advanced Hypertext Implementation Martin Lie Ole Kristian Heggøy 08.11.04 Forbedring av arkitektur Problem med alt i ett -løsning: Spredning av forretningslogikk. Avhengighet mellom presentasjonssider

Detaljer

Objective-C. Ina Carine Aarvig

Objective-C. Ina Carine Aarvig Objective-C Ina Carine Aarvig 16.10.2011 Innhold 1 Objective-Cs historie 4 1.1 NeXT og Steve Jobs........................ 4 1.2 Apple................................ 4 2 Xcode 5 3 Objective-C 6 3.1 Objekter,

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

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

INF1510: Obligatorisk oppgave 2: prosjektforslag

INF1510: Obligatorisk oppgave 2: prosjektforslag INF1510: Obligatorisk oppgave 2: prosjektforslag Prosjektgruppe: G0Gr33n! Vi er fire jenter og to gutter som har forskjellig bakgrunn i forhold til erfaring og kunnskap. Vi forventer å lære mer om brukerorientert

Detaljer

Training module on. Grant Contract 517846-LLP-1-2011-1-DK-LEONARDO-LMP

Training module on. Grant Contract 517846-LLP-1-2011-1-DK-LEONARDO-LMP Training module on 2Fish project: Inclusion of secondary service professions within fishery to the normal VET system Grant Contract 517846-LLP-1-2011-1-DK-LEONARDO-LMP Kurs tittel: Kurs Type: Kvalifiserings

Detaljer

Lynkurs 10. Januar 2012

Lynkurs 10. Januar 2012 Lynkurs 10. Januar 2012 Mål : Dagens lynkurs skal gi dere noen holdepunkter for å komme i gang med arbeidet med bacheloroppgaven på en systematisk og strukturert måte. Fokus er rettet mot arbeidet knyttet

Detaljer

Agenda. TDT4140: Kravinnhenting. Kravprosessen Forståelsesproblemet Teknikker for innhenting av krav. Den organisatoriske dimensjonen

Agenda. TDT4140: Kravinnhenting. Kravprosessen Forståelsesproblemet Teknikker for innhenting av krav. Den organisatoriske dimensjonen TDT4140: Kravinnhenting Torbjørn Skramstad IDI / NTNU Introduksjon til objektorientert design Agenda Kravprosessen Forståelsesproblemet Teknikker for innhenting av krav Intervju Scenarier Etnografi Eksempel

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2 INF2810: Funksjonell programmering INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme, del 2 Erik Velldal Universitetet i Oslo 7. mai 2015 Tema Forrige uke SICP 4.1. Structure and interpretation

Detaljer

INF Innleveringsoppgave 6

INF Innleveringsoppgave 6 INF1010 - Innleveringsoppgave 6 Frist: Onsdag 16. mars, 10:00 Maks 6 poeng Om obligatorisk oppgave 4, 6 og 7 i INF1010, våren 2016: "Leger og resepter" Du skal jobbe med en problemstilling omkring leger

Detaljer

Brukerveiledning. Koblingsur. Art.nr RevB NO

Brukerveiledning. Koblingsur. Art.nr RevB NO Brukerveiledning Koblingsur Art.nr 320061 RevB NO Innhold Hva er et koblingsur... 3 Programmering... 3 Dato og klokkeslett... 4 Innkoblingstid og utkoblingstid... 4 Kontroll av innlagte program... 5 Slette

Detaljer

Basis interoperabilitetstest - ebxml

Basis interoperabilitetstest - ebxml Basis interoperabilitetstest - ebxml Testversjon: 1.0 2 Basis interoperabilitetstest - ebxml Innholdsfortegnelse 1. Revisjonshistorikk... 3 2. Basis interoperabilitetstest - ebxml... 4 Hvordan gjennomføre

Detaljer

2. HVA ER EN KOMPONENT?

2. HVA ER EN KOMPONENT? Innholdsfortegnelse 1. INTRODUKSJON 3 2. HVA ER EN KOMPONENT? 3 2.1. Litt av historien 3 2.2. UML og komponenter 5 2.3. Noen definisjoner 5 REFERANSER 7 1. Introduksjon Komponenter og komponentbasert systemutvikling

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

Dokument 1 - Sammendrag

Dokument 1 - Sammendrag Dokument 1 - Sammendrag Automatnett - Nytt CMS-verktøy for Uno-X Automat Fakultet for teknologi, kunst og design Høgskolen i Oslo og Akershus, 2013 Innholdsfortegnelse Sammendrag 1 1. Innledning 1 2. Om

Detaljer

Prøv å skrive alle svar på alle spørsmål i det tomme rom i disse sidene. Hvis du trenger mer plass, bruk ekstra sider.

Prøv å skrive alle svar på alle spørsmål i det tomme rom i disse sidene. Hvis du trenger mer plass, bruk ekstra sider. 1 For hver del, alle sub deler teller likt. Prøv å skrive alle svar på alle spørsmål i det tomme rom i disse sidene. Hvis du trenger mer plass, bruk ekstra sider. For hvert spørsmål, hvis du trenger å

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

Hva er programmering og hva vil det si å lære det?

Hva er programmering og hva vil det si å lære det? Hva er programmering og hva vil det si å lære det? Begreper i programmeringsspråk Programmeringsprosess Pedagogisk opplegg Jens Kaasbøll, Institutt for informatikk, Universitetet i Oslo 1 Programmering

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

Jernbaneverket OVERBYGNING Kap.: 2 Hovedkontoret Regler for prosjektering Utgitt:

Jernbaneverket OVERBYGNING Kap.: 2 Hovedkontoret Regler for prosjektering Utgitt: Generelle bestemmelser Side: 1 av 8 1 HENSIKT OG OMFANG...2 1.1 Regelverkets enkelte deler...2 2 GYLDIGHET...3 2.1 Unntak...3 3 NORMGIVENDE REFERANSER...4 4 KRAV TIL KOMPETANSE...5 5 DOKUMENTHÅNDTERING...6

Detaljer

Factory Patterns Interface Deklarerer at klassen skal bruke et interface (implements i Java) Definerer implementasjoner for alle metodene i interfacet

Factory Patterns Interface Deklarerer at klassen skal bruke et interface (implements i Java) Definerer implementasjoner for alle metodene i interfacet Factory Patterns Interface Deklarerer at klassen skal bruke et interface (implements i Java) Definerer implementasjoner for alle metodene i interfacet Slide 2 v Factory Method Pattern Class creational

Detaljer

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling Innledning Læringsmål Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling 21.1.2009 Forstå hvorfor systemutviklingsprosessen er viktig Forstå de viktigste prinsippene for ulike prosesser

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

Oblig 2, SLI250 Et kortfattet analyse og designdokument for skifteregister på nett

Oblig 2, SLI250 Et kortfattet analyse og designdokument for skifteregister på nett Oblig 2, SLI250 Et kortfattet analyse og designdokument for register på nett Harald Askestad haraldas@uio-pop.uio.no 2. oktober 2000 Innhold Innledning 2 2 Systemdefinisjon 2 3 Objektmodell 2 4 Funksjoner

Detaljer

Ulike typer prosessmodeller. Systemutvikling. Utviklingsmodeller. Prosessmodell - faser

Ulike typer prosessmodeller. Systemutvikling. Utviklingsmodeller. Prosessmodell - faser 1 Ulike typer prosessmodeller Systemutvikling Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu 19.05.2004 De røde er viktige i kurset: Evolusjonær (prototyping) Inkrementell (RUP) XP fossefall

Detaljer