Samling av trådene. Persistens. Dagens forelesning. Normal hendelsesflyt for Meld på kurs. Erik Arisholm. o Kort repetisjon. o Design av persistens

Størrelse: px
Begynne med side:

Download "Samling av trådene. Persistens. Dagens forelesning. Normal hendelsesflyt for Meld på kurs. Erik Arisholm. o Kort repetisjon. o Design av persistens"

Transkript

1 Samling av trådene Systemutvikling sm helhet Persistens Erik Arishlm 1. Systemutvikling: mtivasjn... J Hannay, Simula & Ifi 2. Systemutviklingsprsessen... Rune Steinberg, Visma Sftware AS 3. Prsjektledelse g prsjektarbeid... Rune Steinberg, Visma Sftware AS Kunde/leverandør/bruker-frhldx 4. Kravhåndtering. Erik Arishlm, Simula & Ifi 5. Avtaler & kntrakter... Jørgen Petersen, Prmis AS 6. Estimering Stein Grimstad, Simula 7. Jus & etikk Dag W. Schartum, Senter fr Rettsinfrmatikk Systemets struktur g design 8. Mdellering av krav med use cases Erik Arishlm, Simula & Ifi 9. Objektrientert analyse (2 frel.)... Erik Arishlm, Simula & Ifi 10. Persistens g databaser Erik Arishlm, Simula & Ifi 11. Arkitektur.... Dag Lrås, Visma Sftware AS Kding, validering g vedlikehld 12. Mdellbasert utvikling med Genva Esit AS 13. Validering g verifisering (2 frel.)... Linel Briand, Simula & Ifi 14. Knfigurasjnsstyring.. Hans Christian Benestad, Simula INF1050-persistens-1 INF1050-persistens-2 Krt repetisjn Dagens frelesning Objektrientert mdellering (blig 2) Ntasjn: UML klassediagram g bjektdiagram Metde: Fra sekvensdiagram til klassediagram Design av persistens Relasjnsdatabaser (tabelldatabaser) Datamdellering med UML Object-Relatinal (O-R) Mapping Structured Query Language (SQL) Eksempel: Hibernate Objektrienterte databaser Eksempel: ObjectStre Nrmal hendelsesflyt fr Meld på kurs kantbjektet: Kant k:=meldpaa(studentid, emnekde, semester) <<create>> meldpaa: MeldPaa universitetet: Ui Universitet itt k:=meldpaa(studentid, emnekde, semester) studenten:=finn(studentid) emnet:=finn(emnekde) frutsetter:=frutsetterr() kurset:=finn(semester) erledigplass:=ledigplass() paameldingok:=meldpaa(studenten) ermeldtpaa(kurset) emnet: kurset: studenten: INF1050-persistens-3 INF1050-persistens-4

2 Klasser invlvert i hvedflyt Metder g attributter fr hvedflyt Kant MeldPaa Universitet Kant + meldpaa:blean MeldPaa + meldpaa:blean - emnekde: String - antallrfrutsettes; int +finn: + frutsetterr: blean Universitet + finn: + finn: - antallplasser: int - antallpaameldt: int - semester: String + ledigplass: blean + meldpaa: blean - studentid: String + ermeldtpaa: vid 1) Inkluder klassene du finner i sekvensdiagrammet 2) Inkluder metdene sm ble brukt i sekvensdiagrammet 3) Inkluder attributter sm metdene trenger INF1050-persistens-5 INF1050-persistens-6 Kmplett klassediagram fr hvedflyt Metde fr ansvarsdrevet OO med UML Inf1050 metden (Iterativ): Analyse av krav Kant + meldpaa:blean MeldPaa + meldpaa:blean - emnekde: String - antallrfrutsettes: int +finn: + frutsetterr: blean 1 0..* 1 Universitet + finn: + finn: 1 (1) Identifiser aktører g deres mål (2) Lag et høynivå bruksmønsterdiagram (3) Spesifiser hvert bruksmønster tekstlig med hvedflyt g alternativ flyt Objektdesign 0..* - antallplasser: int - antallpaameldt: int - semester: String + ldi ledigplass: l blean + meldpaa: blean 0..* 0..* 0..* kursdeltaker - studentid: String + ermeldtpaa: vid Fr hvert bruksmønster: (4) Identifiser bjekter g frdel ansvar mellm dem (CRC) (5) Lag sekvensdiagram fr hvedflyt g viktige variasjner (6) Lag klassediagram sm tilsvarer sekvensdiagrammene (7) Lag til slutt klassediagram på systemnivå 4) Inkluder asssiasjner sm metdene trenger (bruker eller ppretter) 5) Inkluder avhengighetspiler mellm klassene sm utveksler meldinger INF1050-persistens-7 Detaljert design (persistens, arkitektur, brukergrensesnitt, spesifisere tester) INF1050-persistens-8

3 Persistens Eksempel trelagsarkitektur Frretningsbjektene i vår applikasjn må lagres på en eller annen måte Utenfr applikasjnens minne, på et permanent lagringsmedium Til dette frmålet bruker vi en database Nettleser eller annen klientapplikasjn Applikasjn (kant-, kntrll- g frretningsbjekter) Databasehåndteringssystem (DBMS) Database (frretningsbjekter) typisk er databasen implementert i et dedikert databasehåndteringssystem (Data Base Management System - DBMS) bruker Men fr svært enkle systemer hlder det nen ganger med hjemmesnekrede løsninger, sm fr eksempel at hvert bjekt lagres g hentes direkte sm filer av vår applikasjn (dvs, vi bruker perativsystemets filhåndteringssystem) Frretningsbjektene i vår applikasjn lagres i databasen, g hentes derfra når applikasjnen trenger dem I eksempelet vårt:,, Universitet, Klienter (Internet Explrer, Firefx, Opera, Safari, ) Web/Applikasjnstjenere (JBss, WebSphere, WebLgic, GlassFish, Fusin, Tmcat...) Databasetjenere (Oracle, MySQL, Infrmix, PstgreSQL, SQL Server, ObjectStre, Pet,...) INF1050-persistens-9 INF1050-persistens-10 Hva er et databasehånderingssystem? T hvedtyper av databaser Tilbyr grensesnitt fr applikasjner API fr prgrammerere (fr eksempel JDBC mt relasjnsdatabaser) (har fte gså egne brukergrensesnitt fr å gjøre direkte spørringer mt databasen) Utfører (g ptimaliserer) spørringer g ppdateringer brukerdata metadata (data m brukerdata) Håndhever skranker/integritetsregler Eks 1: må være asssiert med nøyaktig ett emne. Eks 2: Et emne kan ikke slettes hvis det hldes kurs i emnet (dvs, kursene må slettes først) Håndterer flere brukere samtidig (gjelder ikke enbruker-dbms) Gjennmfører ppdateringer av data sm transaksjner Utøver tilgangskntrll Sikrer data Relasjnsdatabaser (tabelldatabaser) Data lagres sm tabeller (relasjner) med frekmster Hvis vi skal bruke en relasjnsdatabase sm lagringsmedie må frretningsbjekter g asssiasjner mellm disse versettes (mappes) til/fra relasjner (Object-Relatinal Mapping O/RM) Objektrienterte databaser Lagrer g henter bjekter sm brukes i en applikasjn uten at du trenger å bry deg m hvrdan (strt sett) Frstår bjektrienterte knstruksjner (asssiasjner sm fr eksempel er implementert sm en HashMap, arv, sv) Det finnes gså hybridløsninger (bject-relatinal) INF1050-persistens-11 INF1050-persistens-12

4 Relasjner g relasjnsdatabaser Relasjn (litt frenklet) Et matematisk begrep sm kan tlkes sm en tabell med verdier der alle linjer i tabellen er frskjellige fra hverandre: Relasjnen har et entydig navn Relasjnen består av en rekke attributter Attributter har et entydig navn innen relasjnen Attributtenes rekkefølge skal være uten betydning Attributtene er atmiske (ikke sammensatte strukturer) Relasjnsdatabase En samling relasjner E. F. Cdd: A Relatinal Mdel fr Large Shared Data Banks, Cmmunicatins f the ACM, Vl 13, Number 6 (June 1970) Relasjnsdatabasen En relasjnsdatabase består av tabeller (relasjner). Hver linje representerer en gitt entitet (frekmst), g har en unik identitet definert ved en primærnøkkel (primary key). Hver celle i tabellen innehlder verdien til et av attributtene til entiteten Tabellene asssieres med hverandre via fremmednøkler (freign keys) INF1050-persistens-13 INF1050-persistens-14 Eksempel på tabeller Primærnøkler g fremmednøkler Ansatt ansattid {pk} navn pid {fk}{null} 1 Per 2 Kari 2 3 Ola 4 Parkeringsplass pid {pk} beliggenhet 1 P4 2 P3 3 P3 4 P1 Hver tabell må ha en primærnøkkel (primary key), sm unikt identifiserer hver enkelt frekmst i tabellen Er vanligvis ett attributt, men kan gså være sammensatt av flere enn ett attributt (sm til sammen blir en primærnøkkel) En tabell kan ha null, en eller flere fremmednøkler (freign keys). En verdi i en fremmednøkkel har en tilsvarende verdi i en primærnøkkel i en annen tabell. Dvs, en fremmednøkkel relaterer en gitt frekmst med frekmster i andre tabeller. UML asssiasjner realiseres sm fremmednøkler i en relasjnsdatabase INF1050-persistens-15 INF1050-persistens-16

5 Object-relatinal mapping: fra bjekter til relasjner Fr hver bjektrienterte frretningsklasse (entity bjects) lag en tilsvarende relasjn (tabell) sm innehlder attributtene fra klassen samt en ny primærnøkkel dersm en passende identifikatr ikke allerede er definert i klassen Fr en-til-en asssiasjner Inkluder en fremmednøkkel i en av klassene (valgfritt hvilken) sm tilsvarer den andre klassens primærnøkkel Fr en-til-mange asssiasjner Inkluder en fremmednøkkel i klassen på mange-siden av asssiasjnen sm tilsvarer en-sidens primærnøkkel Fr mange-til-mange asssiasjner Opphøyes til å bli en egen relasjn (tabell): Lag en ny tabell sm innehlder t fremmednøkler, en fr hver primærnøkkel lid de t klassene i asssiasjnen UML klassediagrammer kan brukes til å definere en datamdell En datamdell (relasjnsmdell) innehlder ikke metder, men innehlder primærnøkler g evt. fremmednøkler (sm realiserer asssiasjner) Nøkkelrdet {fk} definerer at attributtet er en fremmednøkkel Nøkkelrdet {pk} definerer at et attributt er en (del av en) )primærnøkkel Nøkkelrdet {null} definerer at et attributt kan være tmt, ellers antas {nt null} INF1050-persistens-17 INF1050-persistens-18 En-til-en asssiasjn Objekter g tilsvarende frekmster 1 : Parkeringsplass Ansatt - ansattid -navn Objektrientert mdell Relasjnsmdell 0..1 er tildelt 0..1 Parkeringsplass -pid - beliggenhet ansattid = 1 navn ='Per' ansattid = 2 navn = 'Kari' ansattid = 3 navn = 'Ola' 1 : Ansatt 2 : Ansatt 3:Ansatt pid = 1 beliggenhet = 'P4' 2:Parkeringsplass pid = 2 beliggenhet = 'P3' pid = 3 3 : Parkeringsplass beliggenhet = 'P3' pid = 4 4 : Parkeringsplass beliggenhet = 'P1' Ansatt ansattid {pk} navn pid {fk}{null} 0..1 er tildelt 0..1 Parkeringsplass pid {pk} beliggenhet NB! Objektidentifikatrene tifik t er her satt til samme verdier sm primærnøklene fr å tydeliggjøre sammenhengen. Ansatt Parkeringsplass ansattid {pk} navn pid {fk}{null} pid {pk} beliggenhet 1 Per 1 P4 2 Kari 2 2 P3 3 Ola 4 3 P3 4 P1 INF1050-persistens-19 INF1050-persistens-20

6 En-til-mange asssiasjn - emnekde: String - antallrfrutsettes: int + finn: + frutsetterr: blean Objektrientert mdell Relasjnsmdell emnekde {pk} antallrfrutsettes 1 1 undervises i undervises i - antallplasser: int - antallpaameldt: int 0..* - semester: String + ledigplass: blean + meldpaa: blean kursid {pk} 0..* antallplasser antallpaameldt semester emnekde {fk} Multiplisitetene li it t i klassediagrammet frteller ss at vi kan ha emner uten kurs, men ikke kurs uten emne Nye attributter emnekde {pk} Objekter g tilsvarende frekmster Inf1000 : emnekde = 'Inf1000' antallrfrutsettes = 0 Inf1050 : emnekde = 'Inf1050' antallrfrutsettes = 0 Inf9001 : emnekde = 'Inf9001' antallrfrutsettes = 40 antallr Frutsettes Inf Inf Inf : antallplasser = 400 antallpaameldt = 311 semester = 'h07' 2 : antallplasser = 300 antallpaameldt = 278 semester = 'v07' 3 : antallplasser = 300 antallpaameldt = 299 semester = 'v08' kursid {pk} antallplasser antallpaameldt semester emnekde {fk} h07 Inf v07 Inf v08 Inf1050 INF1050-persistens-21 INF1050-persistens * - antallplasser: int - antallpaameldt: int - semester: String +ledigplass: blean +meldpaa: blean Objektrientert mdell Relasjnsmdell Mange-til-mange asssiasjner er meldt på 0..* - studentid: String + ermeldtpaa:vid Objekter g tilsvarende frekmster 1 : antallpaameldt = 2 antallplasser = 400 semester = 'h07' 2 : antallpaameldt = 1 antallplasser = 300 semester = 'v07' 3 : antallpaameldt = 2 antallplasser = 300 semester = 'v08' : studentid = : studentid = : studentid = : studentid = kursid {pk} antallplasser antallpaameldt semester 1 1 Paamelding studentid td tid{ {pk} 0..* kursid {pk}{fk1} 0..* studentid {pk}{fk2} Asssiasjnen pphøyes til en egen entitet i en datamdell kursid {pk} antallplasser antallpaameldt semester h v v08 Paamelding kursid{pk}{fk1} } studentid {pk}{fk} studentid {pk} INF1050-persistens-23 INF1050-persistens-24

7 Structured Query Language (SQL) SQL er et standard prgrammeringsspråk fr å håndtere tabelldatabaser. Eksempel på SELECT SELECT <attributene sm skal være med> Fr frekmstmanipulering (DML Data Manipulatin Language ): SELECT INSERT UPDATE DELETE Fr skjemamanipulering (DDL Data Definitin Language ) CREATE ALTER DROP Fr transaksjns- g tilgangskntrll (DCL Data Cntrl Language ) COMMIT ROLLBACK GRANT REVOKE kursid, semester, antallplasser FROM <tabellen(e) sm innehlder dataene> WHERE <utvalgskriterier> emnekde = Inf1050 AND semester = v08 INF1050-persistens-25 INF1050-persistens-26 Eksempel på INSERT Eksempel på UPDATE INSERT INTO Alt 1) UPDATE SET antallpaameldt = 1 (kursid, emnekde, semester, antallplasser, antallpaameldt) VALUES (4, Inf1050, v09, 300, 0) WHERE kursid = 4 - Antall påmeldte til kurset settes lik 1 Alt 2) UPDATE SET antallpaameldt = antallpaameldt + 1 WHERE emnekde = inf1050 AND semester = v09 - Antall påmeldte til kurset økes med 1 INF1050-persistens-27 INF1050-persistens-28

8 Eksempel på DELETE DELETE FROM WHERE kursid = 4 eller DELETE FROM WHERE emnekde = inf1050 AND semester = v09 -Fjerner kurset fr Inf1050 v09. DELETE FROM WHERE emnekde = Inf Fjerner alle kurs fr Inf1050! Transaksjner En transaksjn grupperer SQL-kmmander inn i et udelelig stykke arbeid slik at enten alle eller ingen av endringene blir permanente. ROLLBACK: Reverserer alle SQL-kmmander sm er utført så langt, slik at databasen ser ut sm ved frrige COMMIT Kalles typisk når feilsituasjner ppstår i løpet av en transaksjn COMMIT: Endringene sm et resultat av SQLkmmandene siden frrige COMMIT blir gjrt permanente. INF1050-persistens-29 INF1050-persistens-30 Arkitektur med Hibernate fr persistens vha relasjnsdatabaser O-R mapping med Hibernate Støtter versetting (mapping) fra bjektrienterte klassemdeller til relasjnsdatabaser. Du kan selv skrive XML mapping-filer eller bruke autmatiske verktøy (fr eks. XDclet). bruker Nettleser eller annen klientapplikasjn Kant- g kntrllbjekter Applikasjn ekter frretningsbje XML map Hibernate (mediatr g resurcebjekter) cnfig Databasehåndteringssystem (DBMS) Database (frretningsbjekter) Har endel regler fr hvrdan asssiasjner bør mappes slik at navigering ver asssiasjnene blir effektive Kan generere relasjnsdatabaseskjemaet j fra XML mapping-filene (XML = Extensible Markup Language, brukes til å beskrive data g data m data, dvs metadata) Transparent å pprette, finne, ppdatere g slette bjekter i databasen Hibernate bruker en XML mapping-fil sammen med reflectin fr å finne ut hvrdan dette skal gjøres Støtter transaksjner, lazy lad g dirty checking (se RASD, kap 8.4) Persistens ved transitivitet (via asssiasjner) Støtter standard Java Cllectins: Hibernate vet m du endrer ne i et av bjektene i en Cllectin g vil autmatisk gjøre SQL Update eller SQL Insert Kan bruke både SQL g bjektrientert Hibernate Query Language (HQL) Klienter Web/Applikasjnstjener(e) Men det ALLER meste av SQL genereres autmatisk Fr detaljer, se databasetjenere INF1050-persistens-31 INF1050-persistens-32

9 0..1 XML-mapping fr Message nextmessage Message id: Lng text: String settext(txt: t(t t String) 0..* setnextmessage(nextmsg: Message) 0..1 MESSAGES MESSAGE_ID {pk} MESSAGE_TEXT NEXT_MESSAGE_ID {fk}{null} 0..* <hibernate-mapping> <class name="hell.message" table="messages"> <id name="id" clumn="message_id"> <generatr class="increment"/> </id> <prperty name="text" clumn="message MESSAGE_TEXT TEXT"/> <many-t-ne name="nextmessage" cascade="all" clumn="next NEXT_MESSAGE_ID ID" freign-key="fk_next_message"/> </class> </hibernate-mapping> message1: Message id = 1 text = 'blah' Vårt scenari FØR Frretningsbjekter i applikasjnen Frekmster (i tabellen MESSAGES) MESSAGE_ID {pk} MESSAGE_TEXT 1 blah NEXT_MESSAGE_ID {fk}{null} ETTER MESSAGE_ID {pk} message1: Message id = 1 text = 'Greetings Earthling' message2: Message id = 2 text = 'Take me t yur leader' MESSAGE_TEXT NEXT_MESSAGE_ID {fk}{null} } 1 Greetings Earthling 2 2 Take me t yur leader INF1050-persistens-33 INF1050-persistens-34 Eksempel på persistens med Hibernate Hibernate vil da utføre følgende SQL-kmmander dit() : Kntrllklasse mysessin: Sessin mytransactin = begintransactin() <<create>> message1 = get(message.class, 1) settext( "Greetings Earthling" ) <<create>> settext( "Take me t yur leader" ) setnextmessage(message2 g ) cmmit() mytransactin: Transactin message1: Message message2: Message select MESSAGE_ID, MESSAGE_TEXT, NEXT_MESSAGE_ID frm MESSAGES where MESSAGE_ID = 1 insert int MESSAGES (MESSAGE_ID, MESSAGE_TEXT, NEXT_MESSAGE_ID) values (2, 'Take me t yur leader', null) update MESSAGES set MESSAGE_TEXT = 'Greetings Earthling', NEXT_MESSAGE_ID = 2 where MESSAGE_ID = 1 INF1050-persistens-35 INF1050-persistens-36

10 ObjectStre: eksempel på OO database ObjectStre er en bjektrientert database sm gir en helt sømløs (transparent) måte å lagre frretningsbjektene på. Objectstre vs Hibernate: ObjectStre: Ingen O-R mapping (eller SQL) er nødvendig, frdi bjektene lagres sm de er. ObjectStre knverterer klassene til ne de kaller persistence capable g persistence aware. Man må gså bruke egne cllectin klasser (fr eksempel: OSHashMap istedet fr standard HashMap) Fr å få tilgang til persistente bjekter bruker man et eller flere rtbjekter, g fra disse kan man få tilgang til de andre bjektene ved å følge pekere (asssiasjner). Registrering: Universitet ville vært et bra rtbjekt Brtsett fra det er en applikasjn sm bruker Objectstre ganske lik med en sm bruker Hibernate Tilsvarende funksjnalitet fr transaksjnshåndtering, støtter autmatisk lazy lad, dirty checking, transitiv persistens, sv. Hvrfr brukes bjektrienterte databaser så lite? Data blir applikasjnsspesifikke Data varer evig, mens applikasjner kmmer g går Ytelse? Prtabilitet Lettere å bytte relasjnsdatabase enn å bytte ut en bjektrientert database (?) Lite marked => større risik Supprt Relasjnsdatabaser har masse gratis prgramvare Hibernate gjør mtrent det samme! Og du har i tillegg muligheten til å bruke mer avanserte funksjner sm tilbys av relasjnsdatabaser INF1050-persistens-37 INF1050-persistens-38

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

Kursregistrering bruksmønstermodell

Kursregistrering bruksmønstermodell Dagens forelesning o Kort repetisjon Objektorientert modellering Notasjon: UML klassediagram og objektdiagram Metode: Fra sekvensdiagram til klassediagram o Design av persistens Relasjonsdatabaser (tabelldatabaser)

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

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

OO Design, del 2. Oversikt over forelesningene. Metode for ansvarsdrevet OO Hva er et objekt. Uke 12: Fra sekvensdiagram til klasser

OO Design, del 2. Oversikt over forelesningene. Metode for ansvarsdrevet OO Hva er et objekt. Uke 12: Fra sekvensdiagram til klasser Uke 2: Oversikt ver frelesningene OO Design, del 2 Fra sekvensdiagram til klasser Onsdag 9/3: OO design med klassediagrammer Ntasjn: Objektdiagram g klassediagram m/tilbehør Metde: Fra sekvensdiagram til

Detaljer

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

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

Detaljer

Beskjed fra Skagestein

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

Detaljer

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

Oversikt over forelesningene. Fra analyse til objektdesign. Utfordringen i å lage OO-modeller. Metode for ansvarsdrevet OO. Uke 12: Ansvarsdrevet OO:

Oversikt over forelesningene. Fra analyse til objektdesign. Utfordringen i å lage OO-modeller. Metode for ansvarsdrevet OO. Uke 12: Ansvarsdrevet OO: Uke 12: Oversikt ver frelesningene Fra analyse til bjektdesign Onsdag 12/3: Kravspesifikasjn g bjektrientert analyse Hva skal systemet gjøre? Hva er krav? Hvem g hva påvirker krav? Ansvarsdrevet OO: CRC

Detaljer

NB! Endring i undervisningsplanen

NB! 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

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

Fra krav til objektdesign

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

Detaljer

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

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

Detaljer

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

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

Detaljer

Dagens forelesning. o Litt mer om design med UML sekvensdiagrammer. Sentralisert og delegert kontrollstil

Dagens forelesning. o Litt mer om design med UML sekvensdiagrammer. Sentralisert og delegert kontrollstil Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram

Detaljer

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

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

Detaljer

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

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

Detaljer

Dagens forelesning. o Litt mer om design med UML sekvensdiagrammer. Sentralisert og delegert kontrollstil

Dagens forelesning. o Litt mer om design med UML sekvensdiagrammer. Sentralisert og delegert kontrollstil Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram

Detaljer

UML klassediagrammer

UML klassediagrammer UML klassediagrammer Erik Arisholm INF1050-klasser-1 INF1050-klasser-2 INF1050-klasser-3 Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater

Detaljer

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

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

Detaljer

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

o UML klassediagrammer

o UML klassediagrammer UML klassediagrammer Erik Arisholm INF050-klasser- INF050-klasser-2 Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment

Detaljer

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell. Dagens forelesning. Fra krav til objekter

Spesifikasjon 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

Detaljer

Spesifikasjon av Lag emne. Kursregistrering g bruksmønstermodell. Dagens forelesning. Fra krav til objekter

Spesifikasjon av Lag emne. Kursregistrering g 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

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

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

Instituttets krav om autentisitet og regler for obligatoriske oppgaver gjelder.

Instituttets krav om autentisitet og regler for obligatoriske oppgaver gjelder. Systemutvikling - Institutt fr infrmatikk vår 2017 - Obligatrisk ppgave 2 Mdellering av krav Innleveringsfrist: Fredag 7. april, kl. 23:59:00 Levering: Fullstendig besvarelse leveres i egen innleveringsmappe

Detaljer

SQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data

SQL 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

Detaljer

Utvikling fra kjernen og ut

Utvikling 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

Detaljer

Instituttets krav om autentisitet og regler for obligatoriske oppgaver gjelder.

Instituttets krav om autentisitet og regler for obligatoriske oppgaver gjelder. SKK Mdul B - Institutt fr infrmatikk vår 2017 - Obligatrisk ppgave 5 Mdellering av krav Innleveringsfrist: Mandag 15. mai, kl. 23:59:00 Levering: Fullstendig besvarelse leveres i egen innleveringsmappe

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

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

AP221 Use Case SBL Benytt meldingstjeneste

AP221 Use Case SBL Benytt meldingstjeneste AP221 Use Case SBL Benytt meldingstjeneste Benytt meldingstjeneste.dc Benytt meldingstjeneste Meldinger kan sendes fra tjenesteeiere til brukere spesifisert av tjenesteeier. Dette Use Case beskriver et

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

1. Innføring i bruk av MySQL Query Browser

1. Innføring i bruk av MySQL Query Browser Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Innføring i bruk av MySQL Query Browser Kjell Toft Hansen 28.02.2007 Lærestoffet er utviklet for faget LV338D Databaseadministrasjon 1. Innføring

Detaljer

Databaser: Relasjonsmodellen, del I

Databaser: 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

Detaljer

Krav til pilot Magasinmodul. MUSIT Ny IT-arkitektur, planleggingsfasen

Krav til pilot Magasinmodul. MUSIT Ny IT-arkitektur, planleggingsfasen Krav til pilt Magasinmdul MUSIT Ny IT-arkitektur, planleggingsfasen Krav til magasinmdul arbeidsdkument fr referansegruppen MagasinMdul (pilt) Figurer hentet fra kntekstdiagram fr magasin. Merk at magasinmdulen

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

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

Applikasjonsutvikling med databaser

Applikasjonsutvikling med databaser Applikasjonsutvikling med databaser Lars Vidar Magnusson October 12, 2011 Lars Vidar Magnusson () Forelesning i DAS 10.10.2011 October 12, 2011 1 / 24 Applikasjonsutvikling med databaser Databaser tilbyr

Detaljer

En lett innføring i foreninger (JOINs) i SQL

En lett innføring i foreninger (JOINs) i SQL En lett innføring i foreninger (JOINs) i SQL Noen ord om forening (JOIN)! 2 JOINs til gjennomgang! 3 1. INNER JOIN! 3 Eksempel på [INNER] JOIN! 4 NATURAL JOIN! 5 Eksempel på NATURAL JOIN! 5 2. LEFT [OUTER]

Detaljer

Databasesystemer, oversikt

Databasesystemer, oversikt Databasesystemer, oversikt Evgenij Thorstensen V18 Evgenij Thorstensen Databasesystemer, oversikt V18 1 / 23 Kurset Databasesystemer og databaser. Databaser er abstrakte objekter (datastrukturer, spørrespråk).

Detaljer

Oppgave 1 (Opprett en database og en tabell)

Oppgave 1 (Opprett en database og en tabell) Oppgave 1 (Opprett en database og en tabell) 1) I «Object Explorer» (i «SQL Server Management Studio»), høyreklikk over Databases : 1 2 2) Skriv så databasenavnet og klikk OK: 3) Plasser så kursoren på

Detaljer

Repetisjon: Normalformer og SQL

Repetisjon: 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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,

Detaljer

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

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

Detaljer

Brukermanual. www.serviceassistent.com. Oppgavebasert versjon, for montører. Gjennomgår de vanligste gjøremålene for en montør!

Brukermanual. www.serviceassistent.com. Oppgavebasert versjon, for montører. Gjennomgår de vanligste gjøremålene for en montør! www.serviceassistenten.cm Oppgavebasert brukermanual fr mntør, v.1.0 Brukermanual www.serviceassistent.cm Oppgavebasert versjn, fr mntører. Gjennmgår de vanligste gjøremålene fr en mntør! Fr en annen,

Detaljer

UML-Unified Modeling Language

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

Detaljer

Sikkerhets- og samhandlingsarkitektur ved intern samhandling

Sikkerhets- og samhandlingsarkitektur ved intern samhandling Utgitt med støtte av: Nrm fr infrmasjnssikkerhet www.nrmen.n Sikkerhets- g samhandlingsarkitektur ved intern samhandling Støttedkument Faktaark nr 20b Versjn: 3.0 Dat: 14.10.2015 Frmål Virksmheten skal

Detaljer

UNIVERSITETET l OSLO Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET l OSLO Det matematisk-naturvitenskapelige fakultet UNIVERSITETET l OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 105 - Grunnkurs i prgrammering Eksamensdag: Onsdag 7. juni 1995 Tid fr eksamen: 9.00-15.00 Oppgavesettet er på 6 sider. Vedlegg:

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

Databaser kort intro. Tom Heine Nätt

Databaser kort intro. Tom Heine Nätt Databaser kort intro Tom Heine Nätt Agenda Hva er en database? Hva er SQL? Hente ut data fra en database SELECT Behandle data i en database (kort) CREATE TABLE, INSERT, UPDATE, DELETE Databaser med flere

Detaljer

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

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

Detaljer

EKSAMEN 6102 / 6102N DATABASER

EKSAMEN 6102 / 6102N DATABASER EKSAMEN 6102 / 6102N DATABASER 06.12.2016 Tid: 4 timer (10-14) Målform: Sidetall: Hjelpemidler: Merknader: Vedlegg: Bokmål / nynorsk 13 (inkludert denne) Ingen Ingen Eksempeltabeller Sensuren finner du

Detaljer

Skolekorpset. Løsningsforslag til oppgave gitt i forelesning om normalisering LC238D Datamodellering og databaser: Normalisering

Skolekorpset. Løsningsforslag til oppgave gitt i forelesning om normalisering LC238D Datamodellering og databaser: Normalisering Løsningsfrslag til ppgave gitt i frelesning m nrmalisering LC238D Datamdellering g databaser: Nrmalisering Sklekrpset Relasjnene i ppgaveteksten ser slik ut: instrument (,,,,,, pststed, nteark (,,, kmpnist,

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

Oppsummering INF1050. Hovedtemaene i INF1050. Utviklingsverktøy og plattformer. Produksjon av informasjonssystemer

Oppsummering INF1050. Hovedtemaene i INF1050. Utviklingsverktøy og plattformer. Produksjon av informasjonssystemer Oppsummering INF050 Hvedtemaene i INF050 Prduksjn av infrmasjnssystemer Styring av prduksjn av infrmasjnssystemer Rammer fr utvikling av infrmasjnssystemer Thedr Kittelsen: Og i det fjerne, langt, langt

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

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

INF 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 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)

Detaljer

Datamodellering og databaser SQL, del 2

Datamodellering og databaser  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

Datamodellering og databaser SQL, del 2

Datamodellering og databaser  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

INTEGRASJON MOT KOMTEK RENOVASJON FOR EKSTERNE SYSTEMER - OVERORDNET

INTEGRASJON MOT KOMTEK RENOVASJON FOR EKSTERNE SYSTEMER - OVERORDNET INTEGRASJON MOT KOMTEK RENOVASJON FOR EKSTERNE SYSTEMER - OVERORDNET Side 1 av 6 Gjelder fra januar 2011, versjn 1.0 INNHOLD VIEWS FOR INTEGRASJON MOT KOMTEK 3 FORUTSETNINGER FOR INSTALLASJON AV VIEWS

Detaljer

Integritetsregler i SQL. Primærnøkler

Integritetsregler 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

Detaljer

Sikkerhet og tilgangskontroll i RDBMS-er

Sikkerhet og tilgangskontroll i RDBMS-er Sikkerhet og tilgangskontroll i RDBMS-er IN2090 14. nov 2018 Mathias Stang 1 Agenda Modeller for tilgangskontroll Brukere og roller i RDBMS-er GRANT og REVOKE SQL Injections 2 Hovedmål med databasesikkerhet

Detaljer

Transaksjoner og flerbrukerproblematikk. Transaksjoner

Transaksjoner og flerbrukerproblematikk. Transaksjoner LC238D http://www.aitel.hist.no/fag/_dmdb/ Transaksjoner og flerbrukerproblematikk Transaksjoner side 2-4 Låseteknikker side 5 Isolasjonsnivåer side 6-7 Flerbrukerproblemer i fbm utførelse av transaksjoner

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

Integritetsregler i SQL

Integritetsregler 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

Detaljer

Universitetet i Oslo Institutt for statsvitenskap

Universitetet i Oslo Institutt for statsvitenskap Universitetet i Osl Institutt fr statsvitenskap Referat fra prgramrådsmøtet fr Offentlig administrasjn g ledelse - 3. juni 2015 Til stede: Jan Erling Klausen, Karine Nybrg, Haldr Byrkjeflt, Malin Haglund,

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

ITGK - H2010, Matlab. Dagens tema : Teori - Databaser

ITGK - H2010, Matlab. Dagens tema : Teori - Databaser 1 ITGK - H2010, Matlab Dagens tema : Teori - Databaser 2 I dag Teori: Databaser Bok: 8.1 8.2 (8.1-8.4 i gamle bøker) Læringsmål Lære det grunnleggende om databaser Lære det grunnleggende om databasedesign

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

Transaksjoner og flerbrukerproblematikk. Transaksjoner

Transaksjoner og flerbrukerproblematikk. Transaksjoner LC238D http://www.aitel.hist.no/fag/_dmdb/ Transaksjoner og flerbrukerproblematikk Transaksjoner side 2-4 Låseteknikker side 5 Isolasjonsnivåer side 6-7 Flerbrukerproblemer i fbm utførelse av transaksjoner

Detaljer

1 GENERELL INFORMASJON 3 2 MODULER 5 3 HOVEDMENY 6 4 WORK WITH DOCUMENT LOG 7 5 UPDATE PARTNER INFORMATION 9 6 UPDATE COMPANY PARAMETERS 18

1 GENERELL INFORMASJON 3 2 MODULER 5 3 HOVEDMENY 6 4 WORK WITH DOCUMENT LOG 7 5 UPDATE PARTNER INFORMATION 9 6 UPDATE COMPANY PARAMETERS 18 beskrivelse/brukerdkumentasjn ECP sftware ECP supprt 1 f 39 1 GENERELL INFORMASJON 3 1.1 DEFINISJONER BRUKT I DETTE DOKUMENT 3 1.2 FORKORTELSER 3 1.3 SYSTEMPARAMETER 3 1.4 PARTNERINFORMASJON 3 1.5 UTVEKSLINGSLOGG

Detaljer

Personvernsreglene. Bruk og beskyttelse av personopplysninger. Vår Policy om Personvern

Personvernsreglene. Bruk og beskyttelse av personopplysninger. Vår Policy om Personvern Persnvernsreglene Persnvern er viktig fr ss i Genwrth Financial. Vi verdsetter den tillitt du har til ss, g ønsker med dette å hjelpe deg til å frstå hvrdan vi samler inn, beskytter g bruker persnlige

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET 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

Detaljer

Erfaringer fra v2010 Oppsummering: Hvordan utvikles et informasjonssystem? Noen eksamenstips, og litt teknikk Hvordan er eksamensoppgaven?

Erfaringer fra v2010 Oppsummering: Hvordan utvikles et informasjonssystem? Noen eksamenstips, og litt teknikk Hvordan er eksamensoppgaven? Oppsummering INF1050 v2010 + noen eksamenstips Forelesning 15 - INF1050 Systemutvikling 1. feb.2010 Arne Maus, Ifi med takk til Erik Arisholm, Gerhard Skagstein(Ifi), Rune Steinberg, (Visma), Jo Hannay

Detaljer

Utvikling med Genova. Agenda. Hvem er vi? Kursets struktur og forelesere. Modelldrevet utvikling av brukergrensesnitt og tjenester med Genova

Utvikling med Genova. Agenda. Hvem er vi? Kursets struktur og forelesere. Modelldrevet utvikling av brukergrensesnitt og tjenester med Genova Kursets struktur og forelesere Systemutvikling som helhet Utvikling med Genova Modelldrevet utvikling av brukergrensesnitt og tjenester med Genova 1. Systemutvikling: motivasjon... Jo Hannay, Simula &

Detaljer

Utvikling med Genova. Modelldrevet utvikling av brukergrensesnitt og tjenester med Genova

Utvikling med Genova. Modelldrevet utvikling av brukergrensesnitt og tjenester med Genova Utvikling med Genova Modelldrevet utvikling av brukergrensesnitt og tjenester med Genova 1 Kursets struktur og forelesere Systemutvikling som helhet 1. Systemutvikling: motivasjon... Jo Hannay, Simula

Detaljer

Produktrapport Gruppe 9

Produktrapport Gruppe 9 Forord Dette dokumentet er ment for personer som skal vedlikeholde, endre eller utvikle systemet. Produktdokument innholder informasjoner om programmets funksjoner og hvordan de fungerer. Før bruk av dette

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

Å bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter

Å bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter Sortering og søking i Java-API-et Tabeller og Arraylister Comaparable Comparator equals() LC9D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc9d.php Høgskolen i Sør-Trøndelag,

Detaljer

EKSAMEN DATABASER

EKSAMEN DATABASER EKSAMEN 6102 DATABASER 30.05.2016 Tid: 4 timer (9-13) Målform: Sidetall: Hjelpemidler: Merknader: Vedlegg: Bokmål 7 (inkludert denne) Ingen Ingen Eksempeldata Sensuren finner du på StudentWeb. Vekting

Detaljer

t Institutt for informatikk Erik Arisholm 13. mai 2009 INF1050-oppsummering-1

t 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

Detaljer

INF Industriell systemutvikling (Utvikling av store programsystemer) Software engineering

INF Industriell systemutvikling (Utvikling av store programsystemer) Software engineering INF 3120 Industriell systemutvikling (Utvikling av stre prgramsystemer) Sftware engineering Kursansvarlige: Bente Anda, Hans Gallis, Magne Jørgensen, Dag Sjøberg, Gruppe fr Industriell Systemutvikling

Detaljer

INF1300 SQL Structured Query Language del 1. Stoff som blir/ble forelest i oktober 2013

INF1300 SQL Structured Query Language del 1. Stoff som blir/ble forelest i oktober 2013 INF1300 SQL Structured Query Language del 1 Stoff som blir/ble forelest i oktober 2013 Dagens tema SQLs definisjonsspråk SQLs spørrespråk select-from-where distinct order by SQLs manipulasjonsspråk Indekser

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

IN2090 Databaser og datamodellering 07 Datamanipulering

IN2090 Databaser og datamodellering 07 Datamanipulering IN2090 Databaser og datamodellering 07 Datamanipulering Leif Harald Karlsen leifhka@ifi.uio.no Universitetet i Oslo 1 / 43 Komplisert eksempel Finn kundenavn og productnavn på alle kunder som har bestilt

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

UNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ragnar Normann 1

UNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ragnar Normann 1 UNIVERSITETET I OSLO SQL Structured Query Language (forts.) Institutt for Informatikk INF3100 7.2.2005 Ragnar Normann 1 null Resultatet av å evaluere et uttrykk som produserer en skalar verdi, kan være

Detaljer

INF1000: Forelesning 7. Konstruktører Static

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

Detaljer

INF1000: Forelesning 7

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

Detaljer

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

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

Detaljer

Datamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML

Datamodellering 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

Detaljer

Software Faults and Failure Testing Issues 8.1 / 8.2

Software Faults and Failure Testing Issues 8.1 / 8.2 Sftware Faults and Failure Testing Issues 8.1 / 8.2 Når du har kdet prgramkmpnenter må du e dem. Det er mange måter å e dem på. Vi er de ulike kmpnentene fr å finne faults (feil) g failure (svikt) slik

Detaljer

Løsningsforslag eksamen 4MX230UM2-K 5.desember 2013

Løsningsforslag eksamen 4MX230UM2-K 5.desember 2013 Løsningsfrslag eksamen 4MX230UM2-K 5.desember 2013 Løsningsfrslag eksamen 4MX230UM2-K 5.desember 2013 Oppgave 1 a) Løs andregradslikningen med fullstendige kvadraters metde. En gutt står på en brygge.

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

Erfaringer fra våren Oppsummering: Hvordan utvikles et informasjonssystem? Noen eksamenstips, og litt teknikk Hvordan er eksamensoppgaven?

Erfaringer fra våren Oppsummering: Hvordan utvikles et informasjonssystem? Noen eksamenstips, og litt teknikk Hvordan er eksamensoppgaven? INF1050 i dag Oppsummering INF1050 v2010 + noen eksamenstips Forelesning 15 - INF1050 Systemutvikling 1. feb.2010 Arne Maus, Ifi med takk til Erik Arisholm, Gerhard Skagstein(Ifi), Rune Steinberg, (Visma),

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