Hva vi i alle fall bør huske fra INF1050
|
|
- Ranveig Simensen
- 6 år siden
- Visninger:
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
Intermesso. Visjonen... samling av trådene. Veivalget. Et bedre bilde av visjonen?
Visjonen... Intermesso samling av trådene jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel INF02-Intermesso- Theodor Kittelsen: Og i det fjerne, langt, langt borte så han noe lyse og
DetaljerSkranker 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)
DetaljerSkranker og avledninger
Figur 7-1. Skrankene skal gjenspeile virkelighetens regler Forretningsregler Virkeligheten (interesseområdet) Skranker og avledninger registrering påvirkning jfr. Fra kjernen og ut, fra skallet og inn
DetaljerDatamodellering med UML
Datamodellering med UML jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 5 (og litt fra kapittel 6 og 7) dmuml-1 Figur 5-1. Datamodellen dokumenterer vår oppfatning av virkeligheten
DetaljerDagens tema. Den redundansfri datamodellen. Modellenes to formål. Den grunnleggende konstruksjonen det elementære utsagnet
Dagens tema Individer i interesseområdet Den redundansfri dataen Redundansfrihet ingen dobbeltlagringer eller avledninger Gruppering, normalisering eller intuisjon? Begrepsdannelse jfr. Systemutvikling
DetaljerDatamodellering med UML (forts.)
Datamodellering med UML (forts.) jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2- Modellenes to formål Interesseområdet
DetaljerDen redundansfri datamodellen
Den redundansfri datamodellen jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri- Dagens tema Individer i
DetaljerDatamodellering med ORM
Figur 5-1. Datamodellen dokumenterer vår oppfatning av virkeligheten Interesset Datamodellering med ORM registrering påvirkning jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Oppfatningen
DetaljerModellenes to formål. Datamodellering med UML (forts.) Fra naturlig språk til datamodell. Figur 5-2. Ogdens trekant
Modellenes to formål Interesseområdet Dataering med UML (forts.) Beskrivelse jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem
DetaljerModellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant
Modellenes to formål Interesseområdet Dataering med UML (forts.) Beskrivelse jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 5 Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem
DetaljerThe Unified Modeling Language - UML
Datamodellering med UML jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 5 Modellenes to formål Interesseområdet Beskrivelse Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem
DetaljerDagens tema. Den redundansfri datamodellen. Modellenes to formål. Individer i interesseområdet
Dagens tema Individer i interesseområdet Den redundansfri datamodellen Redundansfrihet ingen dobbeltlagringer eller avledninger Gruppering, normalisering eller intuisjon? jfr. Systemutvikling fra kjernen
DetaljerDatamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML
Figur 5-. Datamodellen dokumenterer vår oppfatning av virkeligheten Interesseområdet Datamodellering med UML registrering påvirkning jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel
DetaljerDatamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML
Figur 5-. Datamodellen dokumenterer vår oppfatning av virkeligheten Interesseområdet Datamodellering med UML registrering påvirkning jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel
DetaljerModellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant
Modellenes to formål Interesseområdet Dataering med UML (forts.) Beskrivelse jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 5 Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem
DetaljerUtvikling 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
DetaljerUtvikling fra kjernen og ut
Utvikling fra kjernen og ut! inn ut Virkelighetsmodell Brukergrensesnitt Utviklingsretning Applikasjon Bruker Plattform Oppfatning av interesseområdet jfr. Systemutvikling Fra kjernen og ut, fra skallet
DetaljerUtvikling 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
DetaljerLæringsmål. INF1050 dagsorden 14. jan Formålet med prosjektet. Den obligatoriske prosjektoppgaven
INF1050 dagsorden 14. jan 2004 Læringsmål Om kurset o Læringsmål o Gjennomføring o Prosjektoppgaven o Vurderingsform o Undervisningsmateriell Du skal forstå hva det innebærer å utvikle et informasjonssystem
DetaljerUtvikling 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
DetaljerDagsorden. Hovedtemaene i INF102. Fra kjernen og ut. Produksjon av informasjonssystemer. Produksjon av informasjonssystemer
Dagsorden Hovedtemaene i INF02 Jus-forelesningen tas igjen onsdag 4. mai kl 05 hvis interesse Prosjektoppgaven o Kandidatnummerlisten o Anonymisering av prosjektoppgaven o Hvordan levere programkoden Åpen-bok-eksamen
DetaljerUNIVERSITETET I OSLO
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 2005 Tid for
DetaljerUtvikling 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
DetaljerINF1050 Klasseromsoppgave Uke 6
INF1050 Klasseromsoppgave Uke 6 Løsningsforslag Mer avansert datamodellering med UML Oppgave 1 Her følger noen eksempler på opplysninger som brukeren ønsker å kunne trekke ut av informasjonssystemer. Foreslå
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Data, databaser og databasehåndteringssystemer Data versus informasjon Beskrivelse av interesseområdet Begreper og representasjon av
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Data, databaser og databasehånteringssystemer Data versus informasjon Beskrivelse av interesseområdet 100%-prinsippet og det begrepsmessige
DetaljerGerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn.
Gerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn. Oppgaver til kapittel 5 - Datamodellering med UML Oppgave 6. Ugruppert og gruppert modell Et mindre bilutleiefirma ønsker å få
DetaljerDatamodellering. Diskusjonspunkter. Figur 1-1. Informasjonssystemet gjenspeiler «virkeligheten» Figur 1-2. Data krever tolkning
Datamodellering FINF400 28. august 2003. amanuensis Gerhard Skagestein Institutt for informatikk, UiO gerhard@ifi.uio.no To formål en modell? Diskusjonspunkter Realiseringsplattformens innvirkning på modellen
DetaljerSignalgrensesnitt for Trafikanten Pluss
Signalgrensesnitt for Trafikanten Pluss Version 05042 2-Apr-05 INF220 Prosjekt i modellering Trafikanten Plus: Skisse til arkitektur cs TrafficContext Oracle på Ifi users:mobile sm: SM_stat JDBC static:lbase
DetaljerSpråk for dataorientert modellering
Språk for dataorientert modellering Hva forvirrer studentene minst, ORM/NIAM eller UML-stereotyper? (Omkamp mellom «Rundinger» og «Firkanter») Ragnar Normann (med god støtte av Gerhard Skagestein) 1 Bakgrunn
DetaljerDataorientert 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
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Informasjonsbærende referansemåter Resten av realiseringsalgoritmen Sterk realisering Realisering versus modellering INF1300-31.10.2016
DetaljerINF1300 Introduksjon til databaser
INF1300 Introduksjon til databaser Data (transiente, persistente) DBMS databser informasjon interesseområdet informasjonsmodeller informasjonssystemer Transiente og persistente data Når vi programmerer,
DetaljerVelkommen til. INF Systemutvikling. INF1050 dagsorden 16. jan Læringsmål. Læringskomponenter. Om kurset. o Læringsmål.
Velkommen til INF1050 - Systemutvikling INF1050 dagsorden 16. jan. 2006 Om kurset o Læringsmål o Gjennomføring o Prosjektoppgaven o Vurderingsform o Undervisningsmateriell o Undervisningsplan Et systems
DetaljerIntegritetsregler i SQL. Primærnøkler
Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler skranker på attributter og tupler Interrelasjonsskranker assertions Triggere INF212
DetaljerDatabaser: Relasjonsmodellen, del I
LC238D http://www.aitel.hist.no/fag/_dmdb/ Databaser: Relasjonsmodellen, del I En relasjon er en matematisk mengde side 2 Egenskaper ved relasjoner side 3 Entitetsintegritet side 4-5 Referanseintegritet
DetaljerIntegritetsregler i SQL
UNIVERSITETET I OSLO Integritetsregler i SQL INF3100 8.2.2005 Ragnar Normann 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler
DetaljerIN2090 Introduksjon til databaser
UNIVERSITETET I OSLO IN2090 Introduksjon til databaser Dagens tema: Data, databaser og databasehåndteringssystemer Hva er data? Hva er informasjon? Fra idé til informasjonssystem Litt om modellering: Begreper
DetaljerNormalisering. Hva er normalisering?
LC238D http://www.aitel.hist.no/fag/_dmdb/ Normalisering Hva er normalisering? side 2 Normaliseringens plass i utviklingsprosessen side 3 Eksempel side 4 Funksjonell avhengighet side 5-6 Første normalform
DetaljerFra krav til objektdesign
Fra krav til objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050-ansvar-1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller
DetaljerINF1050 Systemutvikling
INF1050 Systemutvikling Krav til innlevering: Innleveringene skal ha: Forside med gruppenummer, dato, leveransenummer, navn på gruppemedlemmer med brukernavn og navn på prosjektet Forklarende overskrifter
DetaljerDataorientert modellering
INF2120 Dataorientert modellering Ragnar Normann 1. mars 2006 INF2120 Prosjekt i modellering 1 Dataorientering og UML UML har som utgangspunkt et objektorientert syn på tilværelsen hvor oppførsel og samspill
DetaljerSpesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign
Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objektdesign Hva skal systemet gjøre? UML: Bruksmønstermodeller o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer
DetaljerINF1050 Systemutvikling
INF1050 Systemutvikling Prosjektoppgave V2004 Innledning Formålet med kurset er å bli i stand til å delta i utviklingen av informasjonssystemer. Dette inkluderer å kjenne til bruken av informasjonssystemer
DetaljerDagens 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
DetaljerProsjektoppgave våren 2007
Prosjektoppgave våren 2007 Innledning Formålet med kurset er å bli i stand til å delta i utviklingen av informasjonssystemer. Dette innebærer: å kjenne til bruken av informasjonssystemer, å kjenne til
DetaljerBeskjed fra Skagestein
Beskjed fra Skagestein "I forbindelse med prosjektoppgavens delinnlevering 4 vil gruppelærerne sette opp en PHP-orakeltjeneste torsdag 7. april kl 1415-1800 på termstua i Niels Henrik Abels hus." INF1050-klasser-1
DetaljerFra uryddig verden til strukturert stoppestedsdatabase
Fra uryddig verden til strukturert stoppestedsdatabase Gerhard Skagestein 6. juni 2005 INF 220 7-Jun-05 INF220 Prosjekt i modellering Vi ser bare rapportene... Rapport Rapport3 Rapport2 INF 220 Informasjonssystem
DetaljerINF212 - Databaseteori. Kursinnhold
INF212 - Databaseteori Forelesere: Naci Akkök Ellen Munthe-Kaas Mål: Kjennskap til databasesystemer Virkemåte Implementasjon Teoretiske og praktiske problemer INF212 v2003 1 Kursinnhold Databasedesign
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Data, databaser og databasehåndteringssystemer Hva er data? Hva er informasjon? Fra idé til informasjonssystem Litt om modellering:
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Informasjonssystemer 100%-prinsippet: Fra virkelighet til informasjonsmodell Forretningsregler, skranker og integritetsregler: Fra modell
DetaljerINF1300 Introduksjon til databaser
INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser databaser data (transiente, persistente) informasjon interesseområdet
DetaljerNormalisering. Hva er normalisering?
LC238D http://www.aitel.hist.no/fag/_dmdb/ Normalisering Hva er normalisering? side 2 Normaliseringens plass i utviklingsprosessen side 3 Eksempel side 4 Funksjonell avhengighet side 5-6 Første normalform
DetaljerMetode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur
Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram
DetaljerUNIVERSITETET 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
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Fra skranker til integritetsregler (restriksjoner) Klassifisering av integritetsregler Forekomstrestriksjoner Realisering av integritetsregler
DetaljerDatabaser. 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
DetaljerINF3100 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
DetaljerGerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn.
Gerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn. Oppgaver til kapittel 5 - Datamodellering med UML Oppgave 2. Begreper og representasjoner a. I en modell finner du begrepene Mann
DetaljerIntegritetsregler i SQL
UNIVERSITETET I OSLO Integritetsregler i SQL Institutt for Informatikk INF3100 13.2.2007 Ellen Munthe-Kaas 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende
DetaljerPersistens. 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
DetaljerUNIVERSITETET I OSLO Institutt for informatikk. Masteroppgave 60 Studiepoeng. Et verktøy for å editere datamodeller i flere views.
UNIVERSITETET I OSLO Institutt for informatikk Et verktøy for å editere datamodeller i flere views Masteroppgave 60 Studiepoeng Asbjørn Eide 1. mai 2007 1 2 Forord Jeg vil takke min veileder Gerhard Skagestein
DetaljerNB! Endring i undervisningsplanen
NB! Endring i undervisningsplanen Forelesningen 24. mars må dessverre avlyses på grunn av Fagkritisk dag Se beskjed som er lagt ut på kursets nettsider og den oppdaterte undervisningsplanen INF1050-klasser-1
DetaljerOppgaver 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
DetaljerSensorveiledning for IN2090 og INF desember :30 18:30 (4 timer)
Sensorveiledning for IN2090 og INF1300 6. desember 2018 14:30 18:30 (4 timer) 1. Eksterne skranker (5%) I modellene nedenfor (ORM2) skal du anta at alle begreper har en unik representasjon. Er plasseringen
DetaljerSQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data
SQL Structured Query Language Definere tabeller Skranker Fylle tabeller med data Lage en tabell med SQL create table R (A 1 D 1 [S 1 ],... A n D n [S n ], [liste av skranker] R er navnet på relasjonen/tabellen
DetaljerRepetisjon: (nesten) alt du trenger å kunne om ORM og realisering
INF1300 Introduksjon til databaser Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering Mathias Stang (mjstang@ifi.uio.no) 21. november 2016 Agenda Hensikten med ORM-modellering Hva er lov
DetaljerDagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen
UNIVERSITETET I OSLO IN2090 Databaser og datamodellering Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen IN2090 05.09.2018 Mathias Stang 1 Opplegget fremover Forelesningene
DetaljerSpesifikasjon 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
DetaljerUNIVERSITETET I OSLO INF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Underbegreper og underbegrepsskranker Kombinerte totale roller Ekvivalente stier og joinskranker Behandling av tid Informasjonsbærende
DetaljerSystemutvikling fra kjernen og ut, fra skallet og inn
Systemutvikling fra kjernen og ut, fra skallet og inn Løsninger til oppgaver i kap A.10 i Appendiks A - SQL Legg merke til at oppgave 22 er blitt noe presisert. 1. Hvor mange innbyggere er det i Norge?
DetaljerDagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen Verdiskranker Mengdeskranker
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen Verdiskranker Mengdeskranker INF1300 29.08.2017 Mathias Stang
Detaljer1. 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
DetaljerRealiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM
IN2090 Databaser og datamodellering Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM Mathias Stang (mjstang@ifi.uio.no) 3. oktober 2018 1 Repetisjon: Relasjoner relasjonsskjema
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Fra skranker til integritetsregler (restriksjoner) Klassifisering av integritetsregler Forekomstrestriksjoner Realisering av integritetsregler
DetaljerAnsvarsdrevet 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
DetaljerInformasjonssystemer, DBMSer og databaser
UNIVERSITETET I OSLO Informasjonssystemer, DBMSer og databaser Institutt for Informatikk INF3100-21.1.2008 Ellen Munthe-Kaas 1 Interesseområdet (UoD = Universe of Discourse) Interesseområdet er en del
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Fra skranker til integritetsregler (restriksjoner) Klassifisering av integritetsregler Forekomstrestriksjoner Realisering av integritetsregler
DetaljerMetode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur
Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram
DetaljerRepetisjon: (nesten) alt du trenger å kunne om ORM og realisering
INF1300 Introduksjon til databaser Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering Mathias Stang (mjstang@ifi.uio.no) 21. november 2017 Agenda Hensikten med ORM-modellering Hva er lov
DetaljerINF3100 Databasesystemer
INF3100 Databasesystemer Forelesere: Naci Akkök Ragnar Normann Mål: Kjennskap til databasesystemer Oppgaver og moduler Virkemåte Implementasjon Teoretiske og praktiske problemer INF3100-19-20.1.2004 -
DetaljerRepetisjon: Normalformer og SQL
IN2090 databaser og datamodellering Repetisjon: Normalformer og SQL Mathias Stang og Stein Michael Storleer 21. november 2018 1 Agenda Normalformer Funksjonelle avhengigheter Nøkler Finne hvilke normalformer
DetaljerUKE 11 UML modellering og use case. Gruppetime INF1055
UKE 11 UML modellering og use case Gruppetime INF1055 Hva skal vi i dag? Analyse og design - kapittel 5 og 7 UML modellering Ukesoppgaver 3: Modellering av krav UML UML Kompetansemål Modellering av krav
DetaljerFlere skranker i ORM Integritetsregler med «CHECK» i SQL
IN2090 Databaser og datamodellering Flere skranker i ORM Integritetsregler med «CHECK» i SQL Mathias Stang (mjstang@ifi.uio.no) 10. oktober 2018 1 Agenda Verdiskranker Mengdeskranker Ekstern påkrevd rolle
DetaljerINF1000: Forelesning 7
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en
DetaljerLøsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember :30 18:30 (4 timer)
Løsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember 2018 14:30 18:30 (4 timer) 1. Eksterne skranker (5%) I modellene nedenfor (ORM2) skal
DetaljerMetode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur
Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram
DetaljerINF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004
INF 329: Web-Teknologier Dataimplementasjon Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004 av: Dag Viggo Lokøen (dagvl@ii.uib.no) Kent Inge F. Simonsen (kentis@ii.uib.no)
Detaljert Institutt for informatikk Erik Arisholm 13. mai 2009 INF1050-oppsummering-1
Oppsummering INF1050 Systemutvikling t INF1050-oppsummering-1 INF1050 dagsorden Erfaringer fra V09 Kort oppsummering: Hvordan utvikles et informasjonssystem? Kanskje noen eksamenstips, og litt teknikk
DetaljerINF1000: Forelesning 7. Konstruktører Static
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter
DetaljerDatabaser & objektorientering.
Databaser & objektorientering. Noen grunnbegreper innen objektorientering. Klasser og forekomster klasser beskriver strukturen for noe. Beskrivelsen inneholder: et navn attributter /egenskaper / tilstander
DetaljerNormalisering. Hva er normalisering?
LC238D http://www.aitel.hist.no/fag/_dmdb/ Normalisering Hva er normalisering? side 2 Normaliseringens plass i utviklingsprosessen side 3 Eksempel side 4 Funksjonell avhengighet side 5-6 Første normalform
DetaljerOrdliste 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
DetaljerArne 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
DetaljerUML- Use case drevet analyse og design. Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller
UML- Use case drevet analyse og design Bente Anda 23.09.2004 23.09.04 INF320 I dag Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller 23.09.04 INF320
DetaljerSpesifikasjon av Lag emne. Kursregistrering bruksmønstermodell. Dagens forelesning. Fra krav til objekter
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
DetaljerINF1300 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
DetaljerSatsvise, 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,
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO Dagens tema: INF1300 Introduksjon til databaser Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Institutt for informatikk INF1300 12.9.2016 1 Relasjonsmodellen
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker INF1300 1.9.2008 Ellen Munthe-Kaas 1 Et eksempel fra virkeligheten
Detaljer