Hva vi i alle fall bør huske fra INF1050

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Begynne med side:

Download "Hva vi i alle fall bør huske fra INF1050"

Transkript

1 Hva vi i alle fall bør huske fra INF1050 Gerhard Skagestein 25. januar januar 2006 INF2120 Prosjekt i modellering 1

2 Figur 1-3. Et systems livssyklus Idé Krav og ønsker Utforming Realisering Ny idé t... Systemet settes i drift Initiell utvikling og realisering Vedlikehold 25. januar 2006 INF2120 Prosjekt i modellering 2

3 Modellenes to formål Interesseområdet (UoD) Beskrivelse Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem Brukere 25. januar 2006 INF2120 Prosjekt i modellering 3

4 Figur 3-8. En trelags-arkitektur for et informasjonssystem Brukergrensesnitt! inn ut Utviklingsverktøy Systemutvikler Applikasjon Virkelighetsmodell Bruker Plattform (programvare) Plattform (maskinvare) 25. januar 2006 INF2120 Prosjekt i modellering 4

5 Beskrivelser og beskrivelsesspråk I begynnelsen av systemutviklingsprosessen er uformelle beskrivelser det beste! Formelle beskrivelser drar oppmerksomheten mot formalitetene, og vekk fra problemstillingene! UML dekker ikke alt, til tross for at UML er meget omfattende! Hvor høy skal detaljeringsgraden være? Styres av formålet med beskrivelsen Beskrivelse av interesseområdet? Foreskrivelse av informasjonssystemet? 25. januar 2006 INF2120 Prosjekt i modellering 5

6 Hva oraklet skal kunne vite uttrykkes i ORM, dataorientert UMLklassediagram eller som tabelldatabasestruktur Fra kjernen og ut registrering Interesseområdet påvirkning Fra kjernen og ut : Dataorientert klassediagram -> Relasjonsdatabase -> Spørringer Jeg svarer på alle spørsmål (nesten, da) Oppfatningen av interesseområdet Orakel Informasjonssystem Organisasjonen Brukere 25. januar 2006 INF2120 Prosjekt i modellering 6

7 De funksjonelle krav uttrykkes i UML-bruksmønstre Fra skallet og inn Interesseområdet Fra skallet og inn: Bruksmønster -> Sekvensdiagram -> Klassediagram registrering påvirkning Jeg gjør det du forventer at jeg skal gjøre Oppfatningen av interesseområdet Informasjonssystem Organisasjonen Brukere 25. januar 2006 INF2120 Prosjekt i modellering 7

8 Dataorientert vs. objektorientert utforming Program SQL Informasjonssystem CREATE TABLE INSERT INSERT Dataorientert klasse (entitet) metodekall create/new create/new klasse Informasjonssystem Objektorientert 25. januar 2006 INF2120 Prosjekt i modellering 8

9 Dataorientert vs. objektorientert utforming Både dataorienterte og objektorienterte informasjonssystemer inneholder data. Forskjellen er at i dataorienterte systemer er alle data samlet i en sentral ressurs databasen, mens i objektorienterte systemer er dataene fordelt på objektene ut fra det generelle prinsipp at det objektet som har bruk for data selv tar vare på dem. I objektorienterte systemer får dataene evig liv ved å gjøre objektene persistente. Dette kan realiseres på flere måter for eksempel ved hjelp av en OO-database januar 2006 INF2120 Prosjekt i modellering 9

10 Spesielt for OO-databaser I OO har vi som collection ikke bare mengde, men også bag, list og array > krav om entydighetsskranke faller bort > forekomstene kan ordnes I OO kan strukturer som set, bag, list og array, samt generelle objekter, brukes som verdier > uendelige mange muligheter for hvordan data struktureres I OO er dataene innkapslet i objektene > dataenes struktur er ukjent for omverdenen - de kan bare fås tak i gjennom spørremeldinger i OO har objekter sin egen innebygde identifikator (OID) > concepter behøver ikke alltid ha en representasjon Ah, hvilken frihet - men vi betaler vel noe for dette? 25. januar 2006 INF2120 Prosjekt i modellering 10

11 Statiske og dynamiske virkelighetsmodeller Interesseområdet t registrering påvirkning Oppfatningen av interesseområdet t t Informasjonssystem Brukere 25. januar 2006 INF2120 Prosjekt i modellering 11

12 Dataorientert (statisk) virkelighetsmodell Virkelighetsmodellen omfatter interesseområdets tilstander og deres representasjoner regler for lovlige/ulovlige tilstander og tilstandsoverganger Virkelighetsmodellen omfatter ikke transformasjoner fra en tilstand til den neste Informasjonssystemet får istedenfor en melding om at virkeligheten har endret seg, og virkelighetsmodellen oppdateres ved hjelp av funksjoner i applikasjonslaget. Virkelighetsmodellen deles av alle funksjoner Vi har i INF1050 brukt dataorienterte klassediagrammer (ugrupperte og grupperte) for å beskrive modellene 25. januar 2006 INF2120 Prosjekt i modellering

13 Objektorientert (dynamisk) virkelighetsmodell Virkelighetsmodellen gjenspeiler konkrete og/eller tenkte (mentale) objekter, med hver sin tilstand og hver sin oppførsel Virkelighetsmodellens objekter kan selv sørge for transformasjoner fra en tilstand til den neste Informasjonssystemet må i tillegg ha funksjoner (ofte implementert ved hjelp av objekter) for (resten av) forretningslogikken brukergrensesnittet 25. januar 2006 INF2120 Prosjekt i modellering

14 Det dataorienterte vs. det objektorienterte perspektiv I det dataorienterte perspektivet interesserer vi oss for faktaopplysninger av statisk natur om interesseområdet, og skranker som forhindrer registrering av åpenbart uriktige fakta I det objektorienterte perspektivet interesserer vi oss for virkelige og tenkte objekter i interesseområdet, og hvordan disse objektene gjennom samarbeide kan gi en hensiktsmessig modell Javel, men har ikke da disse perspektivene svært lite til felles? 25. januar 2006 INF2120 Prosjekt i modellering 14

15 Utviklingsretninger og utforminger Fra kjernen og ut Fra skallet og inn Dataorientert utforming? Objektorientert utforming? Er rutene med? interessante? 25. januar 2006 INF2120 Prosjekt i modellering 15

16 Jakten på de elementære utsagn «concept» Materiale materialnavn {id} gjenvunnet_ materiale * «concept» Avfallsselskap selskapsnavn {id} * avfallsinnsamler Materialgjenvinning * område «concept» Kommune kommunenavn {id} 25. januar 2006 INF2120 Prosjekt i modellering 16

17 Hva er et elementært utsagn? Et elementært utsagn er et utsagn som ikke kan deles opp uten at meningsinnholdet går tapt Et utsagn er et antall begreper som er knyttet sammen med assosiasjoner Elementære utsagn er som oftest binære (assosiasjon mellom to begreper) 25. januar 2006 INF2120 Prosjekt i modellering 17

18 Hvorfor elementære utsagn? Modeller basert på elementære utsagn er nøytrale overfor realiseringsplattformen En grundig analyse av høyere ordens assosiasjoner kan avsløre de riktige assosiasjonene Utsetter avgjørelsen om mindre viktige begreper skal realiseres som tabeller eller objekter, eller om de skal degenerere til attributter Synliggjør at samme begrep kan spille flere roller. Viktig f. eks. for å finne fram til datatyper i SQL 1999 Synliggjør hvilke roller som kan sammenliknes, legges sammen og trekkes fra nemlig de som spilles av det samme begrepet Kan leses som en setning på vanlig norsk fordelaktig for at modellen skal kunne kontrolleres av ikkeeksperter Bevisstgjør konseptualiseringen jf. Ogdens trekant 25. januar 2006 INF2120 Prosjekt i modellering 18

19 Tolkning av en assosiasjon som en tabell «concept» Kommune kommunenr {id} 0..* ligger_i 1..1 omfatter fylkenr {id} «concept» Fylke ligger_i omfatter januar 2006 INF2120 Prosjekt i modellering 19

20 Figur 6-1. En tabell-linje kan leses som en setning med «concept» Kommune kommunenr {id} 0..* 1..1 ligger_i omfatter med fylkenr {id} «concept» Fylke ligger_i omfatter Kommune med kommunenr 0101 ligger_i fylke med fylkenr januar 2006 INF2120 Prosjekt i modellering 20

21 Eksempel på elementært utsagn «concept» Materiale materialnavn {id} gjenvunnet_ materiale * «concept» Avfallsselskap selskapsnavn {id} * avfallsinnsamler Materialgjenvinning * område «concept» Kommune kommunenavn {id} Jf. Systemutvikling kjernen/skallet figur 6-4 avfallsinnsamler gjenvunnet_ materiale område Gjenvinning glass Halden Returpapir glass Moss Returpapir papir Halden 25. januar 2006 INF2120 Prosjekt i modellering 21

22 Figur 6-6. Oppløsning av en høyere ordens assosiasjon «concept» Materiale materialnavn {id} «concept» Avfallsselskap selskapsnavn {id} 1 «identifying» * «concept» «identifying» 1 Materialgjenvinning * område «identifying» avfallsinnsamler gjenvunnet_ materiale * 1 «concept» Kommune kommunenavn {id} 25. januar 2006 INF2120 Prosjekt i modellering 22

23 Figur 6-8. Forretningsregelen fjerner behovet for en høyere ordens assosiasjon «concept» Materiale materialnavn {id} * * gjenvunnet_ materiale område «concept» Kommune kommunenavn {id} «concept» Avfallsselskap selskapsnavn {id} avfallsinnsamler 1 * «concept» Gjenvinningsoppdrag avfallsinnsamler gjenvunnet_ materiale område Gjenvinning glass Halden Returpapir glass Moss Returpapir glass Halden 25. januar 2006 INF2120 Prosjekt i modellering 23

24 Jakten på de elementære utsagn Modellér med binære utsagn så langt råd er Begrepsdannelse: Rollekombinasjoner som er gjenstand for entydighetsskranke, kan oppfattes som et nytt begrep (I UML: En concept-stereotypiet assosiasjonsklasse) Bruk N 1-regelen: Relasjoner der kun én rolle er utenfor entydighetsskranken, er elementære Normaliser til Boyce-Codd: Alle determinanter (venstresider i funksjonelle avhengigheter) skal være gjenstand for entydighetsskranke Normalisering til 4NF: Flerverdiavhengigheter erstattes med relasjoner med heldekkende entydighetsskranke 25. januar 2006 INF2120 Prosjekt i modellering 24

25 Dataorientert klassediagram (ugruppert) «concept» År årstall {id} «concept» Kommune kommunenr {id} * «identifying» 1 1 «identifying» * * «concept» Materialgjenvinning «identifying» * 1 gjenvunnet_ * materiale «concept» Materiale materialnavn {id} 1 «concept» Kommunenavn 0:1 gjenvunnet mengde «concept» Mengde # tonn {id} kommunenavn {id} 25. januar 2006 INF2120 Prosjekt i modellering 25

26 Dataorientert klassediagram (gruppert) År årstall {id} Kommune kommunenr {id} kommunenavn {fk} * 1 Kommunenavn «identi- 1fying» 1 «identifying» * Materialgjenvinning kommunenr {id}{fk} «identifying» 1 * årstall {id}{fk} * materialnavn {id}{fk} gjenvunnet_ mengde {fk} materiale * 0:1 gjenvunnet mengde Materiale materialnavn {id} Mengde # tonn {id} kommunenavn {id} 25. januar 2006 INF2120 Prosjekt i modellering 26

27 Undertrykke klasser før generering av relasjonsdatabase År årstall {id} Kommune kommunenr {id} kommunenavn * 1 Kommunenavn «identifying» 1 1 «identifying» * Materialgjenvinning kommunenr {id}{fk} «identifying» 1 * årstall {id} * materialnavn {id} gjenvunnet_ mengde materiale * 0:1 gjenvunnet mengde Materiale materialnavn {id} Mengde # tonn {id} kommunenavn {id} 25. januar 2006 INF2120 Prosjekt i modellering 27

28 Er OO-klasser lik dataorienterte klasser med metoder? Ser vi de samme fenomener i virkeligheten, uavhengig av om perspektivet er dataorientert eller objektorientert? Merk at: I OO står vi mye friere med hensyn til strukturering av data Objekter har ansvar og oppførsel Med andre ord - får vi et objektorientert klassediagram bare ved å føye til metoder? 25. januar 2006 INF2120 Prosjekt i modellering 28

29 Figur Sekvensdiagram for avfallsstatistikk-system Kontrollobjekt Forretningsobjekter :Brukergrensesnitt :Statstikkinteressert person Be om statistikk create( ) lagstatistikk(args) :Statistikkprodusent hentdata(args) :HeleLandet loop Halden: Kommune Moss: Kommune mengde:=gjenvunnetmengde (periode,materiale) loop Halden1998: Gjenvinning mengde :=gjenvunnetmengde(materiale) mengde := gjenvunnetmengde(materiale) mengde :=gjenvunnetmengde (periode,materiale) loop Halden2001: Gjenvinning mengde := gjenvunnetmengde(materiale) Moss1998: Gjenvinning gjenta for alle aktuelle år Fjern objektet det trengs ikke lenger gjenta for alle kommuner 25. januar 2006 INF2120 Prosjekt i modellering 29

30 Klassediagram for avfallsstatistikk-system HeleLandet struct hentdata(args) Kommune 1 * kommunenr {id} 1 * kommunenavn int gjenvunnetmengde (periode, materiale) Materialgjenvinning årstall {id} papirmengde glassmengde plastmengde int gjenvunnetmengde (materiale) Objektorientert klassediagram jf. Systemutvikling kjernen/skallet figur Dataorientert klassediagram Kommune kommunenr {id} kommunenavn «identifying» 1 * Materialgjenvinning kommunenr {id} årstall {id} materialnavn {id} mengde 25. januar 2006 INF2120 Prosjekt i modellering 30

31 Realisering av et klassediagram Fylke fylkenr {id} fylkenavn {unique} relasjonsdatabase «identifying» 1 * Kommune fylkenr {id} {fk} komnr2s {id} kommunenavn fylkenr {subset} fylkenavn 01 Østfold Østfold:Fylke 01 Østfold evt. metoder objekter :Kommune 0101 Halden evt. metoder fylkenr komnr2s kommunenavn Halden Moss realiseres ved hjelp av OIDs eller relationships :Kommune 0104 Moss evt. metoder 25. januar 2006 INF2120 Prosjekt i modellering 31

32 Forholdet mellom det generelle og det spesielle (klasser og objekter) Det generelle, eksisterer det egentlig, eller er det noe vi har funnet på for å beskrive/snakke om verden på en enklere måte? Eks: kråker, mennesker Eksisterer slike fellesbegreper, eller er det bare vår egen begrepsdannelse? Hvis de eksisterer, er de av fysisk eller åndelig natur? Eksisterer det generelle evt. fritt fra de enkelte individene, eller bare som del av disse? Debatt fra tallet, interessant for systemutviklere 25. januar 2006 INF2120 Prosjekt i modellering 32

33 Fra datamodell til relasjonsdatabase Fylke fylkenr {id}. omfatter 1:1 primærnøkkel referanseintegritet (fra implisitt delmengdeskranke) Fylke fylkenr ligger-i * Kommune komnr2s {id}. «identifying» fremmednøkkel null / not null plassering av fremmednøkkel primærnøkkel {subset} Kommune NOT NULL fylkenr komnr2s januar 2006 INF2120 Prosjekt i modellering 33

34 Nominalist eller Realist Nominalist Det som eksisterer er bare enkeltindividene. Generelle fellesbegreper er skapt av menneskene, bl.a. for bedre å forstå/beskrive verden (eks. Wilhelm av Occam og Charles Darwin) Realist Generelle fellesbegreper som kråke, menneske har en egen eksistens, og enkeltindividene er dannet etter disse (eks: Platon og Thomas av Aquinas) 25. januar 2006 INF2120 Prosjekt i modellering 34

35 Klasser eller objekter først? Dataorientert utforming: Begreper og klasser, deretter forekomster Men: Homogenitetsregelen Objektorientert utforming: Objekter, deretter klasser Hvorfor forskjellen i praktisk fremgangsmåte? 25. januar 2006 INF2120 Prosjekt i modellering 35

36 Eksempel - Hanois tårn Oppgave: Flytt alle ringene fra en pinne til en annen. Du skal bare flytte en ring ad gangen, og det er ikke lov til å legge en større ring oppå en mindre 25. januar 2006 INF2120 Prosjekt i modellering 36

37 Hanois tårn datadrevet utforming Ring ringnr er på Pinne pinnenr eller (i verste fall) Ring ringnr pinnenr så føyer vi til metoden: Ring ringnr pinnenr flytt( ) Metode Flytt: Spør VENSTRE pinne: Har du ringer? NEI ---> Si til merket FLYTT-TIL pinnen til HØYRE Flytt til pinnen til VENSTRE Si til "gamlepinnen" FLYTTET JA ---> Spør pinnen om størrelsen på topp-ringen : STØRRE enn deg ---> Si til merket FLYTT-TIL pinne til HØYRE Flytt til pinnen til VENSTRE Si til "gamlepinnen" FLYTTET MINDRE enn deg ---> Spør HØYRE pinne: Har du ringer? NEI ---> Si til merket FLYTT-TIL pinnen til VENSTRE Flytt til pinnen til HØYRE Si til "gamlepinnen" FLYTTET JA ---> Spør pinnen om størrelsen på topp-ringen : STØRRE enn deg ---> Si til merket FLYTT-TIL pinnen til VENSTRE Flytt til pinnen til HØYRE Si til "gamlepinnen" FLYTTET MINDRE enn deg ---> Si til "gamlepinnen" KAN-IKKE 25. januar 2006 INF2120 Prosjekt i modellering

38 Sekvensdiagram for Hanois tårn Kontrollobjekt Forretningsobjekter :Spiller Startpinne Pinne2 Pinne3 Ring1 Ring2 Ring3 Ring4 «create» :Spillkontroll spill! flyttringer flytt taimotmeg flyttringer flytt taimotmeg flyttringer flytt taimotmeg flyttringer flytt ferdig! ferdig! flyttringer Fjern objektet det trengs ikke lenger 25. januar 2006 INF2120 Prosjekt i modellering 38

39 Hanois tårn - klassediagram Ring ringnr 0:4 {ordered} 1 venstre 1 høyre Pinne pinnenr flyttringer( ) taimotmeg( ) Ring1 Ring2og4 Ring3 Startpinne toerunder flytt( ) flytt( ) flytt( ) flyttringer( ) 25. januar 2006 INF2120 Prosjekt i modellering 39

40 Hanois tårn - klassebeskrivelser Klassen Pinne: Metode: taimotmeg Legg ring på topp Metode: flyttringer Har du ringer ---> JA: Si til toppringen flytt ; NEI: Si til Høyre pinne flyttringer ; Klassen StartPinne: Metode: taimotmeg Legg ring på topp Metode : flyttringer Har du ringer ---> JA: Si til toppringen flytt NEI: Ferdig! Klassebeskrivelsene er utarbeidet av Else Nordhagen Klassen Ring1: Boolean toerunder = true; Metode: flytt Si til Høyre pinne taimotmeg ; toerunder := not toerunder; if toerunder then Si til Høyre pinne flyttringer ; else Si til Venstre pinne flyttringer ; Klassen Ring2og4: Metode: flytt Si til Venstre pinne taimotmeg ; Si til Venstre pinne flyttringer ; Klassen Ring3: Metode: flytt Si til Høyre pinne taimotmeg ; Si til Høyre pinne flytt Ringer ; 25. januar 2006 INF2120 Prosjekt i modellering 40

41 Hanois tårn - Hvorfor forskjellen? Det datadrevne perspektivet overser at ringene har forskjellig oppførsel Det datadrevne perspektivet ser for unyansert på hva ringer og pinner må vite tar med alt for sikkerhets skyld vi må jo være forberedt på adhoc queries! 25. januar 2006 INF2120 Prosjekt i modellering

42 Figur 7-1. Skrankene skal gjenspeile virkelighetens regler Forretningsregler Virkeligheten (interesseområdet) registrering påvirkning Skranker Oppfatningen av virkeligheten Skranker/ Integritetsregler Informasjonssystem Virksomheten Brukere 25. januar 2006 INF2120 Prosjekt i modellering 42

43 Figur 7-2. Notasjon for skranker i UML-klassediagrammer {skrankebeskrivelse i OCL e.l} {skrankebeskrivelse i OCL e.l} 25. januar 2006 INF2120 Prosjekt i modellering 43

44 Figur Delmengdeskranken papirgjenvinner gjenvunnet_ papirmengde * «concept» Avfallsselskap selskapsnavn {id} * metallgjenvinner {subset} * 0..1 glassgjenvinner gjenvunnet_ glassmengde «concept» Mengde #tonn {id} gjenvunnet_ metallmengde januar 2006 INF2120 Prosjekt i modellering 44

45 Figur Delmengdeskranken papirgjenvinner gjenvunnet_ papirmengde Returpapir 2000 {subset} Gjenvinning 5000 glassgjenvinner gjenvunnet_ glassmengde Gjenvinning 1000 metallgjenvinner gjenvunnet_ metallmengde Returpapir 1500 Gjenvinning 2500 Glasshytta januar 2006 INF2120 Prosjekt i modellering 45

46 Figur Delmengdeskranke etter gruppering {gjenvunnet_papirmengde = nil implies gjenvunnet_glassmengde = nil} selskapsnavn gjenvunnet_ papirmengde Returpapir 2000 Gjenvinning 5000 gjenvunnet_ glassmengde 1000 NOT NULL gjenvunnet_ metallmengde nil Glasshytta nil nil januar 2006 INF2120 Prosjekt i modellering 46

47 Implisitt delmengdeskranke i gruppert modell Fylke fylkenr {id} fylkenavn {unique} «identifying» 1 * Kommune fylkenr {id} {fk} komnr2s {id} kommunenavn {subset} fylkenr fylkenavn 01 Østfold fylkenr komnr2s kommunenavn Halden Moss 25. januar 2006 INF2120 Prosjekt i modellering 47

48 Realisering av delmengdeskranke i SQL Delmengdeskranken realiseres vanligvis ved hjelp av referanseintegritet. Denne deklareres som regel i en separat ALTER TABLE av kontrollert tabell: ALTER TABLE navn_på_kontrollert_tabell ADD CONSTRAINT navn_på_regel FOREIGN KEY(fremmednøkkelattributt1, fremmednøkkelattributt2) REFERENCES navn_på_kontrollerende_tabell (attr1, attr2); Eksempel Fylke Kommune fylkenr {subset} fylkenavn kan utelates da antas primærnøkkelen NOT NULL NOT NULL fylkenr kommunenr2s kommunenavn avfallsmengde innbyggertall ALTER TABLE Kommune ADD CONSTRAINT fylkenr_fk FOREIGN KEY(fylkenr) REFERENCES Fylke; 25. januar 2006 INF2120 Prosjekt i modellering 48

49 Handlingsmønster ved overtredelse av referanseintegritet ALTER TABLE navn på kontrollert tabell ADD CONSTRAINT navn på regel FOREIGN KEY(fremmednøkkelattributt) REFERENCES navn_på_kontrollerende_tabell ON DELETE referential_action ; eller UPDATE NO ACTION (gi feilmelding) CASCADE (fjern også kontrollerte linjer) SET NULL (sett fremmednøkkel til NULL) SET DEFAULT (sett fremmednøkkel til default -verdi) I Oracle: bare ON DELETE CASCADE 25. januar 2006 INF2120 Prosjekt i modellering 49

50 Figur 7-3. Hva skrankene brukes til Skranker Strukturering av databasen Deklarative integritetsregler Virkelighetsmodell Brukergrensesnitt Applikasjon Programmerbare integritetsregler - i databasen (triggere) - i applikasjonsprogrammene - i brukergrensesnittene Systemutvikler 25. januar 2006 INF2120 Prosjekt i modellering 50

51 Skranker Hvorfor er skranker så viktige i dataorientert utforming, og lite omtalt i objektorientert utforming? En relasjonsdatabase har ingen egen bevissthet, og trenger et regelverk og en vaktbikkje til å beskytte seg Objekter har oppførsel, og vi antar at de følger Kardemommeloven: Du skal ikke plage andre, du skal være grei og snill og for øvrig kan du gjøre hva du vil Antagelsen holder ikke nødvendigvis alltid stikk (programmeringsfeil!) derfor er skranker på vei inn også i objektorienterte systemer jfr OCL (Object Constraint Language) 25. januar 2006 INF2120 Prosjekt i modellering 51

52 Oppsummering Modeller kan brukes både deskriptivt og preskriptivt Dataorienterte klassediagrammer brukes for å gi en statisk beskrivelse av interesseområdet, og har derfor ingen metoder Elementære utsagn er et grunnfjell som er uavhengig av realiseringsplattform Gruppering av ugrupperte klassediagrammer kan gjøres etter ulike kriterier intuitivt relasjonsdatabaseorientert ansvarsdrevet Vær forsiktig med å tenke klasser før objekter Skranker er viktig! 25. januar 2006 INF2120 Prosjekt i modellering 52

Skranker og avledninger

Skranker og avledninger Skranker og avledninger jfr. Fra kjernen og ut, fra skallet og inn kapittel 7 dmskranker&repr-1 Figur 7-1. Skrankene skal gjenspeile virkelighetens regler Forretningsregler Virkeligheten (interesseområdet)

Detaljer

Utvikling fra kjernen og ut

Utvikling fra kjernen og ut Utvikling fra kjernen og ut PHP-arkitektur Brukergrensesnitt! inn ut Dynamisk web-side bygges opp på grunnlag av spørring mot databasen Utviklingsretning Applikasjon Virkelighetsmodell Plattform Bruker

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

Dataorientert modellering

Dataorientert modellering INF2120 Dataorientert modellering Ragnar Normann 9. mars 2005 INF2120 Prosjekt i modellering 1 Dataorientering og UML UML har som utgangspunkt et objektorientert syn på tilværelsen hvor oppførsel og samspill

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Sensorveiledning INF050/INF02 vår2005 Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF 050 Systemutvikling INF02 Utvikling av datasystemer Eksamensdag: Onsdag 5. juni

Detaljer

Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner

Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner Institutt for informatikk

Detaljer

INF3100 Databasesystemer

INF3100 Databasesystemer INF3100 Databasesystemer Forelesere: Obligsjef: Naci Akkök, Ragnar Normann Norun Sanderson Mål: Kjennskap til databasesystemer Oppgaver og moduler Virkemåte Implementasjon Teoretiske og praktiske problemer

Detaljer

Databaser. Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen

Databaser. Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen Databaser Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen Tema for dagen Relasjonsmodellen Hvorfor relasjoner? Fra ER diagram til relasjoner 22.09.2008

Detaljer

Persistens. Erik Arisholm. Institutt for informatikk Erik Arisholm 18.03.2009. INF1050-persistens-1

Persistens. Erik Arisholm. Institutt for informatikk Erik Arisholm 18.03.2009. INF1050-persistens-1 Persistens Erik Arisholm INF1050-persistens-1 Samling av trådene Systemutvikling som helhet 1. Systemutvikling: motivasjon... Jo Hannay, Simula & Ifi 2. Systemutviklingsprosessen... Rune Steinberg, Visma

Detaljer

Oppgaver Oppgave a: Sett opp mulige relasjoner

Oppgaver Oppgave a: Sett opp mulige relasjoner Løsningsforslag til øving 4: Relasjonsmodellen Kjell Toft Hansen 18.09.2008 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1: databaser Oppgaver Oppgave a: Sett opp

Detaljer

1. SQL datadefinisjon og manipulering

1. SQL datadefinisjon og manipulering Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL datadefinisjon og manipulering Tore Mallaug 7.10.2008 Lærestoffet er utviklet for faget Databaser 1. SQL datadefinisjon og manipulering

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

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

Ordliste for Systemutvikling fra kjernen og ut, fra skallet og inn

Ordliste for Systemutvikling fra kjernen og ut, fra skallet og inn Ordliste for Systemutvikling fra kjernen og ut, fra skallet og inn Understrekede ord er definert et annet sted i ordlisten. absorpsjon I forbindelse med gruppering rundt super- og underbegrep: Vi slår

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

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

Arne Maus, Ifi. delvis lån av gamle foiler

Arne Maus, Ifi. delvis lån av gamle foiler Typer av systemer, Arkitektur og Databaser Arne Maus, Ifi med takk til Dag Lorås(Visma) og Ian Sommerville for delvis lån av gamle foiler INF 1050 Systemutvikling v2010 1 Dagens forelesning 1. Ulike typer

Detaljer

Løsningsforslag matoppskrifter modellering

Løsningsforslag matoppskrifter modellering Løsningsforslag matoppskrifter modellering Oppgave 1 Det beste er å ha et felles løpenummer på alle oppskrifter, uavhengig av hvor de stammer fra, og heller ha ekstraopplysninger som avhenger av om oppskriften

Detaljer

Satsvise, interaktive, sanntids/innbakte systemer. Arne Maus, Ifi. Oppdeling av både program og data på flere maskiner

Satsvise, interaktive, sanntids/innbakte systemer. Arne Maus, Ifi. Oppdeling av både program og data på flere maskiner Typer av systemer, Arkitektur og Databaser Arne Maus, Ifi med takk til Dag Lorås(Visma) og Ian Sommerville for delvis lån av gamle foiler Dagens forelesning. Ulike typer systemer Satsvise, interaktive,

Detaljer

Oppgave 1 1. Spørring: Resultattabell: 2. Spørring: Resultattabell: 3. Spørring:

Oppgave 1 1. Spørring: Resultattabell: 2. Spørring: Resultattabell: 3. Spørring: Kjell Toft Hansen 02.10.2008 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1: databaser Oppgave 1 1. Spørring: SELECT oh.*, delnr, kvantum FROM ordrehode oh, ordredetalj

Detaljer

Datamodellering 101 En tenkt høgskoledatabase

Datamodellering 101 En tenkt høgskoledatabase Datamodellering 101 En tenkt høgskoledatabase Spesifikasjoner for databasen vi skal modellere: Oversikt over studenter med: Fullt navn Klasse Studium Avdeling Brukernavn Fødselsdag Adresse Telefonnummer

Detaljer

Høgskolen i Telemark EKSAMEN 6102 DATABASER 10.12.2015. Tid: 10-14. Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1

Høgskolen i Telemark EKSAMEN 6102 DATABASER 10.12.2015. Tid: 10-14. Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1 Høgskolen i Telemark EKSAMEN 6102 DATABASER 10.12.2015 Tid: 10-14 Målform: Sidetall: Hjelpemidler: Merknader: Bokmål/nynorsk 13 med forside Ingen Ingen Vedlegg: Eksempeldata til oppgave 1 Eksamensresultater

Detaljer

Metaspråket for å beskrive grammatikk

Metaspråket for å beskrive grammatikk 1 SQL-syntaks Korrekt språkbruk bygger på et sett av regler. Eksempler: En SQL utvalgsspørring inneholder alltid ordene SELECT og FROM, mens WHERE og tilhørende betingelse er valgfri. Etter SELECT kan

Detaljer

FORORD...III KAPITTELOVERSIKT... VI INNHOLDSFORTEGNELSE...VII DEL I SQL OG RELASJONSDATABASER...1 1 INTRODUKSJON...

FORORD...III KAPITTELOVERSIKT... VI INNHOLDSFORTEGNELSE...VII DEL I SQL OG RELASJONSDATABASER...1 1 INTRODUKSJON... FORORD...III KAPITTELOVERSIKT... VI INNHOLDSFORTEGNELSE...VII DEL I SQL OG RELASJONSDATABASER...1 1 INTRODUKSJON... 3 1.1 DATABASESYSTEMER...3 1.1.1 Anvendelser...3 1.1.2 Oppgaver og arkitektur...4 1.1.3

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

SQL 3: Opprette tabeller, datainnsetting og utsnitt

SQL 3: Opprette tabeller, datainnsetting og utsnitt SQL 3: Opprette tabeller, datainnsetting og utsnitt Læreboka kap. 4 03.11.2008 Kjell Toft Hansen 1 Datainnsetting Legg til en ny leverandor i tabellen leverandor INSERT INTO leverandor (lev_nr, lev_navn,

Detaljer

FORORD... III KAPITTELOVERSIKT... VI INNHOLDSFORTEGNELSE... VII DEL I SQL OG RELASJONSDATABASER... 1 11 INTRODUKSJON...

FORORD... III KAPITTELOVERSIKT... VI INNHOLDSFORTEGNELSE... VII DEL I SQL OG RELASJONSDATABASER... 1 11 INTRODUKSJON... Innholdsfortegnelse FORORD... III KAPITTELOVERSIKT... VI INNHOLDSFORTEGNELSE... VII DEL I SQL OG RELASJONSDATABASER... 1 1 INTRODUKSJON... 3 1.1 DATABASESYSTEMER... 3 1.1.1 Anvendelser... 3 1.1.2 Oppgaver

Detaljer

Miniverden og ER- modell

Miniverden og ER- modell TDT4145 Datamodellering og databasesystemer SQL- oppgave 1 Miniverden og ER- modell Vi tar utgangspunkt i en enkel modell for en pizza- restaurant, der følgende ER- diagram beskriver databasen: Relasjonsdatabase-

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

Kart og andre umodne objekter

Kart og andre umodne objekter Figur 5-. Ogdens trekant Kart og andre umodne objekter Thoughts of Reference Begreper Person Bil Døgn Gerhard Skagestein David Skogan Fozia Jabeen Arif Shomaila Kausar 8765487 DF 45 9. febr. --9 Symbol

Detaljer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 99539963 Roger Midtstraum: 99572420

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

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

Detaljer

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker Underbegreper og underbegrepsskranker Kombinerte totale roller

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker Underbegreper og underbegrepsskranker Kombinerte totale roller UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker Underbegreper og underbegrepsskranker Kombinerte totale roller

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

1. Relasjonsmodellen. 1.1. Kommentarer til læreboka

1. Relasjonsmodellen. 1.1. Kommentarer til læreboka Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Relasjonsmodellen Tore Mallaug 2.9.2013 Lærestoffet er utviklet for faget Databaser 1. Relasjonsmodellen Resymé: Denne leksjonen gir en kort

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Grunnbegrepene i ORM Sammenheng mellom ORM og vanlig språk Elementære setninger (fakta) Faktatyper og broer Entydighetsskranker og totale

Detaljer

INF1300. Grunnbegrepene i ORM: fakta, begreper, roller, faktatyper, broer, entydighetsskranker, totale roller, funksjonelle avhengigheter

INF1300. Grunnbegrepene i ORM: fakta, begreper, roller, faktatyper, broer, entydighetsskranker, totale roller, funksjonelle avhengigheter INF1300 Grunnbegrepene i ORM: fakta, begreper, roller, faktatyper, broer, entydighetsskranker, totale roller, funksjonelle avhengigheter Ogdens trekant begrep representasjon fenomen i UoD michael@ifi.uio.no

Detaljer

Datamodellering og databaser http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2

Datamodellering og databaser http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2 http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2 Eksempelbase side 2 Virtuelle tabeller (views) side 3-6 NULL-verdier side 7-14 UPDATE-setningen side 15-16 INSERT-setningen side 17 DELETE-setningen side

Detaljer

INF130: Datahåndtering og analyse

INF130: Datahåndtering og analyse INF130: Datahåndtering og analyse Modellering 1.1 Temaer Kapittel 7 Modellering 2 Datamodellering med E/R Fasene i systemutvikling og databasedesign E/R (Entity/Relationship) Entitet Attributt Identifikator

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 6.desember 2010 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasse(r): LC238D Datamodellering og databaser HING2009HA

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

Obbligatorisk oppgave 2 Slektsdatabase

Obbligatorisk oppgave 2 Slektsdatabase Obbligatorisk oppgave 2 Slektsdatabase 5602 Databaser Gruppenavn LEK Lars- Martin Hejll Eirik Simensen Krister Moen 113495 113452 113055 H2011 Oppgave 1 Begrepsmessig datamodell (E/R- diagram) E/R- Diagram

Detaljer

>>12 Arbeide med MySQL

>>12 Arbeide med MySQL 106 Snarveien til MySQL og Dreamweaver CS5 >>12 Arbeide med MySQL I dette kapittelet vil du lære hvordan du installerer MySQL Workbench å opprette prosjekter å lage tabeller hvordan du ser på innholdet

Detaljer

De aktuelle er altså databasene 1 til 3. I praksis brukes mest 2 og 3. Vi skal likevel se på OODBMS også, siden det må antas å være kommende.

De aktuelle er altså databasene 1 til 3. I praksis brukes mest 2 og 3. Vi skal likevel se på OODBMS også, siden det må antas å være kommende. OO & DBMS Innledning Når man deklarerer en kunde Private Kunde kunde = new Kund(); så legges objektet i RAM. Scope er begrenset til referansens (variabelens) scope og levetiden til sesjonen. Objektet blir

Detaljer

Introduksjon til fagfeltet

Introduksjon til fagfeltet LC238D http://www.aitel.hist.no/fag/_dmdb/ Introduksjon til fagfeltet Datafiler side 2 Databasesystemer side 3-5 Databasearkitektur ANSI/SPARC side 6-7 Datamodeller side 8 Flerbruker databasesystem side

Detaljer

EKSAMEN. Emnekode: ITF10306. Emne: Databaser. Dato: 13.05.13 Eksamenstid: 09.00-13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven)

EKSAMEN. Emnekode: ITF10306. Emne: Databaser. Dato: 13.05.13 Eksamenstid: 09.00-13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven) EKSAMEN Emnekode: ITF10306 Emne: Databaser Dato: 13.05.13 Eksamenstid: 09.00-13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven) Faglærer: Edgar Bostrøm Oppgavesettet består av 4 sider inklusiv denne

Detaljer

Oppgave 3 - normalisering

Oppgave 3 - normalisering Oppgave 3 - normalisering Løsningsforslag Oppgave 3 - løsning 22.10.2014 Øvelsesoppgave 3 1. Normaliser logisk skjema fra oppgave 1 og 2 (Læringssenter) 2. Normaliser logisk skjema fra seminarøvelsen (Nøsteelskere)

Detaljer

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models LC238D Datamodellering og databaser http://www.aitel.hist.no/fag/_dmdb/ Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models Oppsummering: Å oversette fra ER- til relasjonsmodell

Detaljer

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

God objektorientert design Flere UML diagrammer UML Distilled kap. 7,8, 9 Using UML, kap. 11, 12, 14 Kirsten Ribu 17.03.04 Mer om UML God objektorientert design Flere UML diagrammer UML Distilled kap. 7,8, 9 Using UML, kap. 11, 12, 14 Kirsten Ribu 17.03.04 1 I dag Litt repetisjon GRASP mønstre og OO design Prosjektoppgaven:

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

MATOPPSKRIFTER Obligatorisk oppgave nr. 2 i INF1300 høsten 2010

MATOPPSKRIFTER Obligatorisk oppgave nr. 2 i INF1300 høsten 2010 MATOPPSKRIFTER Obligatorisk oppgave nr. 2 i INF1300 høsten 2010 Oppgaven skal løses og leveres individuelt (men det er lov å snakke og diskutere med medstudenter om løsningen). Skriv ditt fulle navn, kursnummeret

Detaljer

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

Modellering av krav. INF1050: Systemutvikling 11. februar 2015. Universitetslektor Yngve Lindsjørn INF1050: Systemutvikling 11. februar 2015 Modellering av krav Universitetslektor Yngve Lindsjørn INF1050 ->Systemutvikling-> Modellering av krav / Yngve Lindsjørn 1 Temaer i dagens forelesning Modellering

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

svarforslag SLUTTEKSAMEN IBE211 Databaser, våren 2015

svarforslag SLUTTEKSAMEN IBE211 Databaser, våren 2015 svarforslag SLUTTEKSAMEN IBE211 Databaser, våren 2015 Dato: 11/5-2015. Tid: 4 timer, skriftlig, ingen hjelpemidler. Oppgave 1 (80 %) Vi skal lage et sterkt forenklet system for Sjøfartsdirektoratet som

Detaljer

SQL Introduksjonskurs. Oversikt

SQL Introduksjonskurs. Oversikt SQL Introduksjonskurs Oversikt Oversikt 2/7 Introduksjon til datamodellering Normalisering Logisk skjema til Database Strukturelle operasjoner Operasjoner mot data Kontrolloperasjoner Aggregering og indekser

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

>>21 Datamodellering i MySQL Workbench

>>21 Datamodellering i MySQL Workbench 21 MYSQL WORKBENCH 207 >>21 Datamodellering i MySQL Workbench I dette kapittelet vil du lære hvordan man lager datamodeller i MySQL Workbench hvordan man overfører en modell til MySQL I tillegg til å være

Detaljer

1. Datamodellering. 1.1. Kommentarer til læreboka

1. Datamodellering. 1.1. Kommentarer til læreboka Tore Mallaug 20.10.2009 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for fagene LN323D Databaser 1. Datamodellering Resymé: Denne leksjonen viser et par eksempler på ER-modellering

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

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

Detaljer

Innhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem

Innhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem Innhold Forord....................................................... 5 Innledning.................................................... 15 Databaser som basis i grunnopplæringen....................... 15

Detaljer

Del 1: ER-modellering og databaseteori

Del 1: ER-modellering og databaseteori Del 1: ER-modellering og databaseteori (a) ER-modellering Oppgavens del 1a er delt i tre deler. I første del skal det lages et ER-diagram for databasen til firmaet Sjokoladeland. Deretter skal det lages

Detaljer

Formål: I denne oppgaven skal du øve deg i å generere og endre GUI prototyper, samt lage database skjema på grunnlag av en UML modell.

Formål: I denne oppgaven skal du øve deg i å generere og endre GUI prototyper, samt lage database skjema på grunnlag av en UML modell. INF 050 OBLIGATORISK OPPGAVE 3 GUI PROTOTYPING OG DATABASER 9 sider LEVERINGSFRIST: Fredag 4/5 2009, kl. 6:00 Evaluering: Bestått/Ikke bestått. Du må ha bestått denne obligatoriske oppgaven for å gå opp

Detaljer

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen Databaser Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen Tema for dagen Hva er relasjonsalgebra? Seleksjon Projeksjon Produkt Indre forening Ytterforening Settoperasjoner: union, snitt, differanse

Detaljer

Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller

Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller LC238D http://www.aitel.hist.no/fag/_dmdb/ Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller ER-modellen, intro.

Detaljer

INF 1050 BRUK AV MODELLERINGSVERKTØYET RATIONAL ROSE

INF 1050 BRUK AV MODELLERINGSVERKTØYET RATIONAL ROSE INF 1050 BRUK AV MODELLERINGSVERKTØYET RATIONAL ROSE Datamodeller og andre UML diagrammer kan selvsagt tegnes for hånd, men vi kan også bruke alt fra enkle tegneprogrammer til komplette utviklingsmiljøer.

Detaljer

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informasjonsvitenskap Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 995996 Roger Midtstraum:

Detaljer

OM DATABASER DATABASESYSTEMER

OM DATABASER DATABASESYSTEMER OM DATABASER DATABASESYSTEMER Begrepet database brukes på flere måter, og det er ikke uvanlig å bruke det for å angi en total samling av data (i dette tilfellet lagrede opplysninger) uavhengig av hvordan

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 10 Frist: 2014-04-11 Mål for denne øvinga:

Detaljer

INF130 Databehandling og analyse

INF130 Databehandling og analyse 28.01.15 INF130 Databehandling og analyse Introduksjon Knut Kvaal 28.01.15 1.1 Administrasjon Gruppearbeid og øvinger Du skal registere deg for gruppe etc https://docs.google.com/spreadsheets/d/1n4vqedksrkflh6273wk5zqd852me_mtshunh6dfzzma/edit?usp=sharing

Detaljer

KRAVSPESIFIKASJON. Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni.

KRAVSPESIFIKASJON. Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni. KRAVSPESIFIKASJON Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni. Prosjektgruppe: 27 Prosjektmedlem: Ole Almenning Stenhaug Veileder.

Detaljer

SQL SELECT-FROM-WHERE. Skjemadefinisjon og datainnsetting i SQL. Semantikk bak ein-relasjons-spørring

SQL SELECT-FROM-WHERE. Skjemadefinisjon og datainnsetting i SQL. Semantikk bak ein-relasjons-spørring SQL Språk for Skjemadefinisjon Spørringar Database-oppdateringar Svært høgnivå: i prinsippet skriv ein kva ein vil ha som resultat, utan å spesifisere korleis Sterk grad av optimalisering effektivt Skjemadefinisjon

Detaljer

Dette er vår første obligatoriske oppgave i kurset Moderne Databaseteknologi.

Dette er vår første obligatoriske oppgave i kurset Moderne Databaseteknologi. Innledning Dette er vår første obligatoriske oppgave i kurset Moderne Databaseteknologi. Oppgaven går ut på å implementer en database. Vi skal utforske og implementere noen av de mer avanserte mulighetene

Detaljer

1. Introduksjon og bakgrunn

1. Introduksjon og bakgrunn Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Introduksjon til Databaser 2 Tore Mallaug 28.8.2012 Lærestoffet er utviklet for faget Databaser 2 1. Introduksjon og bakgrunn Resymé: I denne

Detaljer

HVA ER XML? extensible Markup Language En standardisert måte å strukturere ulike typer data Åpent format Enkelt:

HVA ER XML? extensible Markup Language En standardisert måte å strukturere ulike typer data Åpent format Enkelt: HVA ER XML? extensible Markup Language En standardisert måte å strukturere ulike typer data Åpent format Enkelt: Tagger/Noder Attributter Mest kjente XML-versjon er XHTML En mengde datakilder er tilgjengelige

Detaljer

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

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

Detaljer

Bakgrunn. Kurset krever ingen spesielle forkunnskaper om modellering.

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

Detaljer

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

1. Hvilke type krav angår sikkerhet og pålitelighet? 1. Hvilke type krav angår sikkerhet og pålitelighet? a) Funksjonelle b) Ikke-funksjonelle Svar: b), IS side 88, lærebok s.96 2. Verdien av etnografi er at den hjelper til å oppdage som reflekterer hvordan

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

19. januar 2012 Noen punkter fra i går

19. januar 2012 Noen punkter fra i går 1 19. januar 2012 Noen punkter fra i går Godkjente øvinger og prosjekt er obligatorisk for å få gå opp til eksamen Noen myter om systemutvikling Ariane 5 ulykken 2 Noen myter om systemutvikling Myte 1:

Detaljer

OPPGAVE 5b og 8b Java Kode

OPPGAVE 5b og 8b Java Kode OPPGAVE 5b og 8b Java Kode public class Kant boolean behandlereturavbil() BehandleReturAvBil behandler = new BehandleReturAvBil(this); String regnr; int kmstand, tanknivaa; boolean erskadet; // 1: Få verdiene

Detaljer

Tilkobling og Triggere

Tilkobling og Triggere Tilkobling og Triggere Lars Vidar Magnusson October 12, 2011 Lars Vidar Magnusson () Forelesning i DAS 11.10.2011 October 12, 2011 1 / 25 Tilkobling med PHP PHP bruker databasespesifike moduler til å koble

Detaljer

Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1

Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1 Delkapittel 3.1 Grensesnittet Liste Side 1 av 11 Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1 3.1 En beholder 3.1.1 En beholder En pappeske er en beholder En beholder er noe vi kan legge ting

Detaljer

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS Løkker og if-tester Gløer Olav Langslet Sandvika VGS 29.08.2011 Informasjonsteknologi 2 Funksjoner, løkker og iftester Læreplansmål Eleven skal kunne programmere med enkle og indekserte variabler eller

Detaljer

Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet.

Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet. Produktrapport Forord Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet. Dataansvarlig eller supporter trenger informasjon om

Detaljer

Eksamen i emne TDT4165 PROGRAMMERINGSSPRÅK

Eksamen i emne TDT4165 PROGRAMMERINGSSPRÅK side 1 av 7 NTNU, Institutt for Datateknikk og Informasjonsvitenskap Faglig kontakt under eksamen: Ole Edsberg (tlf. 952 81 586) Eksamen i emne TDT4165 PROGRAMMERINGSSPRÅK Fredag 6. august 2004, kl. 0900

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

Rekursiv programmering

Rekursiv programmering Rekursiv programmering Babushka-dukker En russisk Babushkadukke er en sekvens av like dukker inne i hverandre, som kan åpnes Hver gang en dukke åpnes er det en mindre utgave av dukken inni, inntil man

Detaljer

Workshop NGIS API. Lars Eggan, Norconsult Informasjonssystemer desember 2014

Workshop NGIS API. Lars Eggan, Norconsult Informasjonssystemer desember 2014 Workshop NGIS API Lars Eggan, Norconsult Informasjonssystemer desember 2014 1 NGIS i WinMap NGIS-klient Hente datasett fra en NGIS portal Oppdatere portalen med endringer gjort lokalt Spesiallaget funksjonalitet

Detaljer

SOSI-modell i MSAccess (Uferdig notat)

SOSI-modell i MSAccess (Uferdig notat) Erling Onstein 19.febr 1998 SOSI-modell i MSAccess (Uferdig notat) 1. Innledning Access-implementasjonen bygger på logisk modell beskrevet i notat SOSI-forvaltning logisk modell skrevet av David Skogan.

Detaljer

v : T, kan bare ha verdi av typen T. n =0 slyfes alltid parentesene. Typet uttrykkssprak type representerer en verdimengde. variabel, deklarert funksjon, herunder karakteriseres syntaktisk ved a angi navn

Detaljer

Del 3: Noark 5-basert databasestruktur

Del 3: Noark 5-basert databasestruktur Del 3: Noark 5-basert databasestruktur Oppgaven består av en CREATE-del, en INSERT-del og en SELECT-del. CREATEdelen går ut på å lage en databasestruktur etter spesifikasjonene i Noark 5. Strukturen er

Detaljer

Institutt for datateknikk. Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL

Institutt for datateknikk. Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL NTNU Norges teknisk-naturvitenskapelige Universitet Institutt for datateknikk og informasjonsvitenskap Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL Side 1

Detaljer

Database security. Kapittel 14 Building Secure Software. Inf329, Høst 2005 Isabel Maldonado st10900@student.uib.no

Database security. Kapittel 14 Building Secure Software. Inf329, Høst 2005 Isabel Maldonado st10900@student.uib.no Database security Kapittel 14 Building Secure Software Inf329, Høst 2005 Isabel Maldonado st10900@student.uib.no Kort introduksjon Database er en organisert samling av data. SQL(Structured Query Language)

Detaljer

INF3430/4431. VHDL byggeblokker og testbenker

INF3430/4431. VHDL byggeblokker og testbenker INF3430/4431 VHDL byggeblokker og testbenker Entity/architecture Innhold Strukturelle design (nettliste) Generics Configurations Operatorer-Operator prioritet (precedence) Datatyper Bit / IEEE1164 std_ulogic

Detaljer

INF1300 14. september 2011. Relasjonsmodellen funksjonelle avhengigheter og nøkler Realisering: Fra ORM til relasjoner

INF1300 14. september 2011. Relasjonsmodellen funksjonelle avhengigheter og nøkler Realisering: Fra ORM til relasjoner INF1300 14. september 2011 Relasjonsmodellen funksjonelle avhengigheter og nøkler Realisering: Fra ORM til relasjoner Relasjoner og relasjonsdatabaser 10 9 8 12 Iziz Ehab Bjørn Liv 290264 131172 39201

Detaljer

En liten rekap. Spørrespråk. I dag SELECT

En liten rekap. Spørrespråk. I dag SELECT [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hioa.no) 06/11-15 Databaser høsten 2015 En liten rekap ER-diagram - vi modellerer dataene våre til danne best mulig grunnlag for informasjonen

Detaljer

INF5120 - Oblig 2. Hour Registration System (HRS)

INF5120 - Oblig 2. Hour Registration System (HRS) INF5120 - Oblig 2 Hour Registration System (HRS) 1 av 40 1 Innholdsfortegnelse 1 Innholdsfortegnelse... 2 2 Innholdsfortegnelse for figurer... 3 3 Hour Registration System (HRS)... 4 3.1 Introduksjon...

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

SLUTTPRØVE 5602 DATABASER I 5.12.2008. 17 (inkludert vedlegg og denne forsida) Vedlegg: A: Eksempeldata og B: Svarark til oppgave 4

SLUTTPRØVE 5602 DATABASER I 5.12.2008. 17 (inkludert vedlegg og denne forsida) Vedlegg: A: Eksempeldata og B: Svarark til oppgave 4 Høgskolen i Telemark SLUTTPRØVE 5602 DATABASER I 5.12.2008 Tid: 9-14 Målform: Sidetal: Hjelpemiddel: Merknader: Bokmål og nynorsk 17 (inkludert vedlegg og denne forsida) Ingen Ingen Vedlegg: A: Eksempeldata

Detaljer