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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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æ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

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

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

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

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

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

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

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

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

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

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

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

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

Kap. 10 Systemutvikling System Engineering

Kap. 10 Systemutvikling System Engineering Kap. 10 Systemutvikling System Engineering - Utvikling og integrering av både maskin- og programvare. - Hvordan oppstår behov for programvare? - Hvordan inngår programvare i en sammenheng med andre (del)systemer,

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

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

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

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

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

Krav som bør stilles til leverandørens verifikasjon og test

Krav som bør stilles til leverandørens verifikasjon og test Krav som bør stilles til leverandørens verifikasjon og test Av Hans Schaefer Versjon 1.2, 14.9.2005 Dette dokument beskriver krav en bør stille til verifikasjon under utviklingen og test hos en seriøs

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

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

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

MUS2830 - Interaktiv Musikk

MUS2830 - Interaktiv Musikk MUS2830 - Interaktiv Musikk Oppsummering 13 november 2014 Hvorfor studere interaktiv musikk? Oppdage nye musikalske uttrykk (F.eks. har flere laptop- og mobilorkestre oppstått de siste årene) Gjøre musisering

Detaljer

Læringsmål og pensum. Utvikling av informasjonssystemer. Oversikt. Systemutvikling Systemutvikling i seks faser Femstegs prosedyre for programmering

Læringsmål og pensum. Utvikling av informasjonssystemer. Oversikt. Systemutvikling Systemutvikling i seks faser Femstegs prosedyre for programmering 1 2 Læringsmål og pensum TDT4110 Informasjonsteknologi grunnkurs: Uke 38 Utvikling av informasjonssystemer Læringsmål Kunne seks faser for systemanalyse og design Kunne femstegs prosedyre for programmering

Detaljer

Eksamen i Internetteknologi Fagkode: IVA1379

Eksamen i Internetteknologi Fagkode: IVA1379 Høgskolen i Narvik Side 1 av 5 Eksamen i Internetteknologi Fagkode: IVA1379 Tid: Mandag, 07.06.04, 9:00-12:00 Tillatte hjelpemidler: Alle trykte og skrevne hjelpemidler tillatt. Eksamen består av 4 oppgaver

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

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

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

Use case drevet design med UML

Use case drevet design med UML Use case drevet design med UML Bente Anda 26.09.2005 23.09.04 INF3120 1 I dag Domenemodeller System sekvensdiagrammer Operasjonskontrakter GRASP patterns Designmodeller med sekvens- og klassediagram 26.09.05

Detaljer

Databaser & objektorientering.

Databaser & objektorientering. Databaser & objektorientering. Noen grunnbegreper innen objektorientering. Klasser og forekomster klasser beskriver strukturen for noe. Beskrivelsen inneholder: et navn attributter /egenskaper / tilstander

Detaljer

Objektorientert programmering av vassdragselement. Jostein Orvedal Sognekraft AS

Objektorientert programmering av vassdragselement. Jostein Orvedal Sognekraft AS Objektorientert programmering av vassdragselement Jostein Orvedal Sognekraft AS Kven er Jostein? Arbeidar som produksjonsingeniør i Sognekraft AS Bakgrunn: Ingeniør elektronikk Meir enn 25 års erfaring

Detaljer

Emnekode: LV121A Dato: 03.03.2005. Alle skrevne og trykte hjelpemidler

Emnekode: LV121A Dato: 03.03.2005. Alle skrevne og trykte hjelpemidler II ~ høgskolen i oslo Emne: Programmering i C++ Gruppe(r): EksamensoppgavenAntall sider (inkl. består av: forsiden):5 Emnekode: LV121A Dato: 03.03.2005 Antall oppgaver:3 Faglig veileder: Simen Hagen Eksamenstid:

Detaljer

TDT4100 Objektorientert programmering

TDT4100 Objektorientert programmering Eksamensoppgave i TDT4100 Objektorientert programmering Lørdag 22. mai 2010, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikrer Trond Aalberg. Kontaktperson under

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

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

Lykke til! Eksamen i fag SIF8018 Systemutvikling. 20 mai, 2003 kl 0900-1400. Fakultet for fysikk, informatikk og matematikk NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for fysikk, informatikk og matematikk Institutt for datateknikk og informasjonsvitenskap Sensurfrist: XX Eksamen i fag SIF8018 Systemutvikling

Detaljer

EKSAMENSOPPGAVE. : INF-1400 Objektorientert programmering. Oppgavesettet er på 5 sider inklusiv forside

EKSAMENSOPPGAVE. : INF-1400 Objektorientert programmering. Oppgavesettet er på 5 sider inklusiv forside FAKULTET FOR NATURVITENSKAP OG TEKNOLOGI! EKSAMENSOPPGAVE Eksamen i : INF-1400 Objektorientert programmering Dato : Mandag 27. mai 2013 Tid : 0900 1300 Sted : Åsgårdvegen 9 Tillatte hjelpemidler : Ingen

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

TDT4102 - Prosedyre- og objektorientert programmering

TDT4102 - Prosedyre- og objektorientert programmering Eksamensoppgave i TDT4102 - Prosedyre- og objektorientert programmering Lørdag 6. juni 2009 Kontaktperson under eksamen: Trond Aalberg (97631088) Eksamensoppgaven er utarbeidet av Trond Aalberg og kvalitetssikret

Detaljer

BRUKERMANUAL. Telsys Online Backup

BRUKERMANUAL. Telsys Online Backup BRUKERMANUAL Telsys Online Backup TELSYS AS - 06.08.2009 Innhold Generelt... 3 Kom i gang... 4 Installasjon av Telsys Online Backup Proff/Standard... 4 Start opp klienten for første gang!... 10 Logg inn...

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

Arkitektur. Kirsten Ribu Høgskolen i Oslo 10.02.04 10.02.2004 1

Arkitektur. Kirsten Ribu Høgskolen i Oslo 10.02.04 10.02.2004 1 Arkitektur Kirsten Ribu Høgskolen i Oslo 10.02.04 10.02.2004 1 I dag Generelt om arkitektur N-lags arkitektur MVC Model View Controller mønsteret 10.02.2004 2 Hva er arkitektur? Oppdelingen av et system

Detaljer

Kap. 12 Analysemodellering (Analysis Modeling)

Kap. 12 Analysemodellering (Analysis Modeling) Kap. 12 Analysemodellering (Analysis Modeling) Strukturert analyse er en av de mest brukte brukte modelleringsmetoder i analysen. Den andre er objektorientert analyse. 12.1 Kort historikk Strukturert analyse

Detaljer

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise 30.04.2007. IMT2243 : Systemutvikling 1

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise 30.04.2007. IMT2243 : Systemutvikling 1 Oppsummering : IMT2243 Systemutvikling Målformuleringen i emnebeskrivelsens : Studentene skal ha forståelse for grunnleggende administrative og teknologiske aspekter ved spesifisering, utvikling, innføring

Detaljer

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

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

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

Trådløs kommunikasjonsenhet IRF-W

Trådløs kommunikasjonsenhet IRF-W Trådløs kommunikasjonsenhet Beskrivelse: kan programmeres som sender eller mottager. Det betyr at 2 stk kan overføre et signal fra en relèutgang til en inngang. Maks 100 meter. På Icas systemer bruker

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

En kravspesifikasjon skal være så konkret og detaljert at det er mulig å teste det ferdige produkt/system opp mot store deler av denne.

En kravspesifikasjon skal være så konkret og detaljert at det er mulig å teste det ferdige produkt/system opp mot store deler av denne. A KRAVSPESIFIKASJON Dette notat er en generell beskrivelse av en kravspesifikasjon for et (teknisk) datasystem. Den er basert på «The STARTS Purchasers Handbook» kap.4 og Appendix B, oversatt til norsk

Detaljer

Jobbkø. Innhold. Versjon 1.0 Copyright Aditro Side 1 av 18

Jobbkø. Innhold. Versjon 1.0 Copyright Aditro Side 1 av 18 Innhold Jobbkø / Varsling... 2 Jobbkø... 2 Generelt om jobbkø... 2 Hovedfunksjoner... 2 Jobbkø Bestilling og Status... 2 Bestilling... 3 Faste jobber... 5 Status... 6 Jobb... 7 Administrasjon... 8 Konsern...

Detaljer

TDT4102 - Prosedyre- og objektorientert programmering

TDT4102 - Prosedyre- og objektorientert programmering Konteringseksamen i TDT4102 - Prosedyre- og objektorientert programmering Lørdag 8. august 2009 Kontaktperson under eksamen: Hallvard Trætteberg Eksamensoppgaven er utarbeidet av Trond Aalberg Språkform:

Detaljer

Utvikling fra kjernen og ut

Utvikling fra kjernen og ut Utvikling fra kjernen og ut Informasjonssystem bygd på et databasehåndteringssystem Brukergrensesnitt! inn ut Oppfatning av interesseområdet Flere samtidige brukere gir databasehåndteringssystemet store

Detaljer

Eksamen 2012 INF1050 Lars- Martin Hejll Universitetet i OSLO

Eksamen 2012 INF1050 Lars- Martin Hejll Universitetet i OSLO Eksamen 2012 INF1050 Lars- Martin Hejll Universitetet i OSLO Høgskolen i Telemark 2 Lars- Martin Hejll Høgskolen I Telemark Oppgave 1 Spørsmål fra pensum (20%) 1. Nødvendige aktiviteter i systemutvikling:

Detaljer

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise 29.04.2009. IMT2243 : Systemutvikling 1

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise 29.04.2009. IMT2243 : Systemutvikling 1 Oppsummering : IMT2243 Systemutvikling Målformuleringen i emnebeskrivelsens : Studentene skal ha forståelse for grunnleggende administrative og teknologiske aspekter ved spesifisering, utvikling, innføring

Detaljer

Falck 6709 Bevegelsesdetektor

Falck 6709 Bevegelsesdetektor Brukerveiledning Falck 6709 Bevegelsesdetektor Varenr: 320 068 Innholdsfortegnelse Innholdsfortegnelse... 2 Beskrivelse av Falck 6709 Bevegelsesdetektor... 2 Levering... 3 Koding til varsler... 3 Slette

Detaljer

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

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? 1/15/2004 1 Use case modellen Use case modellering i analysefasen Metode for å identifisere og beskrive de funksjonelle kravene til et system Kapittel 3 i UML Distilled Kapittel 8 i Gurholt og Hasle Kirsten

Detaljer

Funksjonskravene er delt opp i to deler, krav til spillsekvens og generelle funksjonskrav.

Funksjonskravene er delt opp i to deler, krav til spillsekvens og generelle funksjonskrav. Kravspesifikasjon I dette kapittelet foreligger kravspesifikasjonen som ble utformet tidlig i prosjektprosessen. Dette er den opprinnelige kravspesifikasjonen. Det har igjennom prosjektprosessen vært naturlig

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

TDT4165 PROGRAMMING LANGUAGES. Exercise 02 Togvogn-skifting

TDT4165 PROGRAMMING LANGUAGES. Exercise 02 Togvogn-skifting TDT4165 PROGRAMMING LANGUAGES Fall 2012 Exercise 02 Togvogn-skifting Problembeskrivelse Du er sjef for å skifte vognene til et tog. Vi antar at hver vogn selv har en motor og at toget ikke har noe lokomotiv.

Detaljer

Livsløpstesting av IT-systemer

Livsløpstesting av IT-systemer Livsløpstesting av IT-systemer Testing, validering og evaluering Teste Undersøke ved hjelp av tester om systemet fungerer slik det er beskrevet Validere Bekrefte hvordan systemet virkelig fungerer, om

Detaljer

Drosjesentralen. I-120: Obligatorisk oppgave 2, 2000

Drosjesentralen. I-120: Obligatorisk oppgave 2, 2000 Drosjesentralen I-120: Obligatorisk oppgave 2, 2000 Frist Mandag 20. November 2000 kl.10:00, i skuff merket I120 på UA. Krav Se seksjon 4 for kravene til innlevering. Merk krav om generisk løsning for

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

Forslag til nasjonalt utvekslingsformat for bibliografiske data

Forslag til nasjonalt utvekslingsformat for bibliografiske data Forslag til nasjonalt utvekslingsformat for bibliografiske data Jan Erik Kofoed, BIBSYS Nina Berve, Nasjonalbiblioteket Frank Berg Haugen, nasjonalbiblioteket Versjon 0.4 2009-03-01 1. Mål Finne et utvekslingsformat

Detaljer

Tom Røise. IMT 2243 : Systemutvikling 1. Forelesning IMT2243 25. Januar 2007. Offshore Software Development. Offshore Software Development

Tom Røise. IMT 2243 : Systemutvikling 1. Forelesning IMT2243 25. Januar 2007. Offshore Software Development. Offshore Software Development Forelesning IMT2243 25. Januar 2007 Tema : Offshore Software Development Prosjektstyring i systemutviklingsprosjekter Risikoanalyse i systemutviklingsprosjekter Prosjektplanlegging (inkl. mal for Forprosjektrapport)

Detaljer

Debugging. Tore Berg Hansen, TISIP

Debugging. Tore Berg Hansen, TISIP Debugging Tore Berg Hansen, TISIP Innhold Innledning... 1 Å kompilere og bygge et program for debugging... 1 Når debugger er i gang... 2 Symbolene i verktøylinjen... 3 Start på nytt... 3 Stopp debugging...

Detaljer

Akseptansetest av mottak Rekvirering av medisinske tjenester Medisinsk biokjemi

Akseptansetest av mottak Rekvirering av medisinske tjenester Medisinsk biokjemi Akseptansetest av mottak Rekvirering av medisinske tjenester Meldingsversjon: versjon 1.4, datert 20.05.2005 2 Akseptansetest av mottak Rekvirering av medisinske tjenester Innholdsfortegnelse 1. Revisjonshistorikk...

Detaljer

Brukermanual TYPO3. (tillegg for FAQ og brukeradministrasjon, statistikk) Versjon 1 2.1.2008. Utarbeidet av: Erik Svendsen

Brukermanual TYPO3. (tillegg for FAQ og brukeradministrasjon, statistikk) Versjon 1 2.1.2008. Utarbeidet av: Erik Svendsen Brukermanual TYPO3 (tillegg for FAQ og brukeradministrasjon, statistikk) Versjon 1 2.1.2008 Utarbeidet av: Erik Svendsen TYPO3 Brukermanual 2 TYPO3 Brukermanual 3 Innholdsfortegnelse Generell bruk av FAQ

Detaljer

Navngivning av XML elementer

Navngivning av XML elementer Navngivning av XML elementer Versjon 1.0 En anbefaling fra Norsk EDIPRO August 2002 Norsk EDIPRO Tel. 22 12 83 90 Postboks 2526 Soll Fax. 22 12 83 97 0202 Oslo Internet: www.edipro.no Forord Språket XML,

Detaljer

STE6221 Sanntidssystemer Løsningsforslag

STE6221 Sanntidssystemer Løsningsforslag HØGSKOLEN I NARVIK Avdeling for teknologi MSc.-studiet EL/RT Side 1 av 3 STE6221 Sanntidssystemer Løsningsforslag Tid: Fredag 02.03.2007, kl: 09:00-12:00 Tillatte hjelpemidler: Godkjent programmerbar kalkulator,

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign UNIVERSITETET I OSLO Relasjonsdatabasedesign Normalformer Institutt for Informatikk INF3100-25.1.2016 Ellen Munthe-Kaas 1 Normalformer Normalformer er et uttrykk for hvor godt vi har lykkes i en dekomposisjon

Detaljer

Databank for DATSY/NATBLES/TSP. Brukerveiledning. Ola Jacobsen - INNHOLD

Databank for DATSY/NATBLES/TSP. Brukerveiledning. Ola Jacobsen - INNHOLD IO 75/36 27. oktober 1975 Databank for DATSY/NATBLES/TSP Brukerveiledning av 411 Ola Jacobsen - INNHOLD 1. Innledning............ 1 2. Begrensninger for databanken 1 2.1. DATSY.......... 2 2.2. NATBLES

Detaljer

Hva prosektledere bør vite om programmerere Presentasjon NUUG 2007-10-09

Hva prosektledere bør vite om programmerere Presentasjon NUUG 2007-10-09 Hva prosektledere bør vite om programmerere Presentasjon NUUG 2007-10-09 1 Prosjekter går over tid og DNV-sertifisert budsjett Gartners forslag til hvorfor det går galt (Etter digi.no): Kunne kanskje sagt

Detaljer

Oppgave 1.1 Kjør rett fram Programmere roboten til å kjøre rett fram ved å bruke begge motorer. Deretter rygge tilbake.

Oppgave 1.1 Kjør rett fram Programmere roboten til å kjøre rett fram ved å bruke begge motorer. Deretter rygge tilbake. Lego Mindstorms EV3 Del 1 Generell programmering med blokker for å kjøre rett fram og svinge, samt bruk av løkker for å gjenta en bevegelse. Roboten skal være satt opp med standardoppsett. Oppgave 1.1

Detaljer

Kravspesifikasjon med UML use case modellering. Erik Arisholm 25.02.2009

Kravspesifikasjon med UML use case modellering. Erik Arisholm 25.02.2009 Kravspesifikasjon med UML use case modellering Erik Arisholm 25.02.2009 Unified Modeling Language (UML) Notasjon som støtter opp under modellbasert systemutvikling objektorientert analyse ( hva systemet

Detaljer