Kursregistrering bruksmønstermodell
|
|
- Åshild Jorunn Hetland
- 7 år siden
- Visninger:
Transkript
1 Dagens forelesning o Kort repetisjon Objektorientert modellering Notasjon: UML klassediagram og objektdiagram Metode: Fra sekvensdiagram til klassediagram o Design av persistens Relasjonsdatabaser (tabelldatabaser) Object-Relational (O-R) Mapping Datamodellering med UML Structured Query Language (SQL) Eksempel: Hibernate Objektorienterte databaser Eksempel: ObjectStore Metode for ansvarsdrevet OO med UML Inf050 metoden (Iterativ): Analyse av krav () Identifiser aktører og deres mål (2) Lag et høynivå bruksmønsterdiagram (3) Spesifiser hvert bruksmønster tekstlig med hovedflyt og alternativ flyt Objektdesign For hvert bruksmønster: (4) Identifiser objekter og fordel ansvar mellom dem (CRC) (5) Lag sekvensdiagram for hovedflyt og viktige variasjoner (6) Lag klassediagram som tilsvarer sekvensdiagrammene (7) Lag til slutt klassediagram på systemnivå Detaljert design (arkitektur, persistens, brukergrensesnitt) INF050-persistens- INF050-persistens-2 registrering bruksmønstermodell Meld på kurs Lag Tekstlig spesifikasjon av Meld på kurs Navn: Meld på kurs Aktør: Meld av kurs Lag administrator Prebetingelse: har betalt semesteravgift Betal semesteravgift Registrer eksamensresultat Postbetingelse: er meldt på kurset eller er satt på venteliste Hovedflyt: Skiller mellom "" (f.eks. Inf050) og "" i emnet (Inf050 v08) Variasjon for "Lag ": Opprett nytt emne Variasjon for "Lag ": Opprett nytt kurs Variasjoner for "Meld på kurs": et forutsetter andre emner: en må ha bestått kurs for emnene Dersom et kurs er fullt: en kan bli satt på venteliste Variasjon for "Meld av kurs": Dersom kurset var fullt: Første student på venteliste blir meldt på kurset. en velger emne 2. Systemet sjekker at studenten er kvalifisert til å ta emnet 3. Systemet finner kurs for emnet 4. Systemet sjekker om det er ledig plass på kurset 5. Systemet registrerer studenten på kurset INF050-persistens-3 INF050-persistens-4
2 Meld på kurs (forts.) Alternativ flyt, steg : t finnes ikke: A.. Bruksmønsteret avsluttes Alternativ flyt, steg 2: t forutsetter andre emner: A.2. Systemet sjekker at studenten har bestått kurs for emner som forutsettes Alternativ flyt, steg A.2.: en har bestått kurs for emner som forutsettes: A.2... Bruksmønsteret fortsetter fra steg 3 Alternativ flyt, steg A.2.: en har ikke bestått kurs for emner som forutsettes: A Bruksmønsteret avsluttes Alternativ flyt, steg 3: Det holdes ikke kurs i emnet dette semesteret: A.3. Bruksmønsteret avsluttes Alternativ flyt, steg 4: et er fullt: A.4. Systemet spør om studenten ønsker å bli satt på venteliste Alternativ flyt, steg A.4.: en ønsker å bli satt på venteliste: A.4... Systemet setter studenten på venteliste. A.4.2 Bruksmønsteret avsluttes <<boundary>> Kommuniserer med aktøren og kontrollobjektet MeldPaa <<control>> Kontrollerer hendelsesforløpet i bruksmønsteret Meld på kurs CRC-kort for bruksmønsteret Meld på kurs MeldPaa <<entity>> Oppslagsobjekt som vet hvilke emner og studenter som finnes i systemet <<entity>> Vet min studentid Vet hvilke kurs jeg har tatt Vet hvilke kurs jeg er meldt opp til Vet hvilke kurs jeg står på venteliste på <<entity>> Vet min emnekode Vet hvilke emner som forutsettes Vet hvordan man finner kurs i emnet <<entity>> Vet semesteret som (et kurs i) et bestemt emne holdes Vet antall plasser Vet hvilke studenter som er påmeldt Vet hvilke studenter som står på venteliste INF050-persistens-5 INF050-persistens-6 Normal hendelsesflyt for Meld på kurs Klasser involvert i hovedflyt kantobjektet: ok:=meldpaa(studentid, emnekode, semester) universitetet: emnet: kurset: studenten: <<create>> meldpaa: MeldPaa ok:=meldpaa(studentid, emnekode, semester) studenten:=finn(studentid) MeldPaa emnet:=finn(emnekode) forutsetter:=forutsetterr() kurset:=finn(semester) erledigplass:=ledigplass() paameldingok:=meldpaa(studenten) ermeldtpaa(kurset) ) Inkluder klassene du finner i sekvensdiagrammet INF050-persistens-7 INF050-persistens-8
3 Metoder og attributter for hovedflyt Komplett klassediagram for hovedflyt MeldPaa - emnekode: String - antallrforutsettes; int +finn: + forutsetterr: boolean + finn: + finn: MeldPaa - emnekode: String - antallrforutsettes: int +finn: + forutsetterr: boolean + finn: + finn: + meldpaa:boolean + meldpaa:boolean + meldpaa:boolean + meldpaa:boolean - antallplasser: int - antallpaameldt: int - semester: String + ledigplass: boolean + meldpaa: boolean - studentid: String + ermeldtpaa: void - antallplasser: int - antallpaameldt: int - semester: String + ledigplass: boolean + meldpaa: boolean kursdeltaker - studentid: String + ermeldtpaa: void 2) Inkluder metodene som ble brukt i sekvensdiagrammet 3) Inkluder attributter som metodene trenger INF050-persistens-9 4) Inkluder assosiasjoner som metodene trenger (bruker eller oppretter) 5) Inkluder avhengighetspiler mellom klassene som utveksler meldinger INF050-persistens-0 Persistens Eksempel trelagsarkitektur Forretningsobjektene i vår applikasjon må lagres på en eller annen måte o Utenfor applikasjonens minne, på et permanent lagringsmedium Til dette formålet bruker vi en database Nettleser eller annen klientapplikasjon Applikasjon (kant-, kontroll- og forretningsobjekter) Databasehåndteringssystem (DBMS) Database (forretningsobjekter) o typisk er databasen implementert i et dedikert databasehåndteringssystem (Data Base Management System - DBMS) bruker o Men for svært enkle systemer holder det noen ganger med hjemmesnekrede løsninger, som for eksempel at hvert objekt lagres og hentes direkte som filer av vår applikasjon (dvs, vi bruker operativsystemets filhåndteringssystem) Forretningsobjektene i vår applikasjon lagres i databasen, og hentes derfra når applikasjonen trenger dem Klienter Web/Applikasjonstjener(e) o I eksempelet vårt:,,, databasetjenere INF050-persistens- INF050-persistens-2
4 Hva er et databasehånderingssystem? To hovedtyper av databaser Tilbyr grensesnitt for applikasjoner o API for programmerere (for eksempel JDBC mot relasjonsdatabaser) (har ofte også egne brukergrensesnitt for å gjøre direkte spørringer mot databasen) Utfører (og optimaliserer) spørringer og oppdateringer o brukerdata o metadata (data om brukerdata) Håndhever skranker/integritetsregler o Eks : må være assosiert med nøyaktig ett emne. o Eks 2: Et emne kan ikke slettes hvis det holdes kurs i emnet (dvs, kursenemåslettesførst) Håndterer flere brukere samtidig (gjelder ikke enbruker-dbms) Gjennomfører oppdateringer av data som transaksjoner (mer senere!) Utøver tilgangskontroll Sikrer data Relasjonsdatabaser (tabelldatabaser) o Data lagres som tabeller (relasjoner) med forekomster o Hvis vi skal bruke en relasjonsdatabase som lagringsmedie må forretningsobjekter og assosiasjoner mellom disse oversettes (mappes) til/fra relasjoner (Object-Relational Mapping O/RM) Objektorienterte databaser o Lagrer og henter objekter som brukes i en applikasjon uten at du trenger å bry deg om hvordan (stort sett) o Forstår objektorienterte konstruksjoner (assosiasjoner som for eksempel er implementert som en HashMap, arv, osv) Det finnes også hybridløsninger (object-relational) INF050-persistens-3 INF050-persistens-4 Relasjoner og relasjonsdatabaser Relasjon (litt forenklet) o Et matematisk begrep som kan tolkes som en tabell med verdier der alle linjer i tabellen er forskjellige fra hverandre: Relasjonen har et entydig navn Relasjonen består av en rekke attributter Attributter har et entydig navn innen relasjonen Attributtenes rekkefølge skal være uten betydning Attributtene er atomiske (ikke sammensatte strukturer) Relasjonsdatabase o En samling relasjoner E. F. Codd: A Relational Model for Large Shared Data Banks, Communications of the ACM, Vol 3, Number 6 (June 970) Relasjonsdatabasen En relasjonsdatabase består av tabeller (relasjoner). Hver linje representerer en gitt entitet (forekomst), og har en unik identitet definert ved en primærnøkkel (primary key). Hver celle i tabellen inneholder verdien til et av attributtene til entiteten Tabellene assosieres med hverandre via fremmednøkler (foreign keys) INF050-persistens-5 INF050-persistens-6
5 Eksempel på tabeller Primærnøkler og fremmednøkler Ansatt ansattid {pk} navn pid {fk}{null} Per 2 Kari 2 3 Ola 4 Parkeringsplass pid {pk} beliggenhet P4 2 P3 3 P3 4 P Hver tabell må ha en primærnøkkel (primary key), som unikt identifiserer hver enkelt forekomst i tabellen En tabell kan ha en eller flere fremmednøkler (foreign keys). En verdi i en fremmednøkkel har en tilsvarende verdi i en primærnøkkel i en annen tabell. o Dvs, en fremmednøkkel relaterer en gitt forekomst med forekomster i andre tabeller. o UML assosiasjoner realiseres som fremmednøkler i en relasjonsdatabase INF050-persistens-7 INF050-persistens-8 Object-relational mapping: fra objekter til relasjoner For hver objektorienterte forretningsklasse (entity objects) o lag en tilsvarende relasjon (tabell) som inneholder attributtene fra klassen samt en primærnøkkel dersom en passende identifikator ikke allerede er definert i klassen For en-til-en assosiasjoner o Inkluder en fremmednøkkel i en av klassene (valgfritt hvilken) som tilsvarer den andre klassens primærnøkkel For en-til-mange assosiasjoner o Inkluder en fremmednøkkel i klassen på mange-siden av assosiasjonen som tilsvarer en-sidens primærnøkkel For mange-til-mange assosiasjoner o Opphøyes til å bli en egen relasjon (tabell): Lag en ny tabell som inneholder to fremmednøkler, en for hver primærnøkkel i de to klassene i assosiasjonen UML klassediagrammer kan brukes til å definere en datamodell En datamodell (relasjonsmodell) inneholder ikke metoder, men inneholder primærnøkler og evt. fremmednøkler (som realiserer assosiasjoner) Nøkkelordet {fk} definerer at attributtet er en fremmednøkkel Nøkkelordet {pk} definerer at et attributt er en (del av en) primærnøkkel Nøkkelordet {null} definerer at et attributt kan være tomt, ellers antas {not null} INF050-persistens-9 INF050-persistens-20
6 En-til-en assosiasjon Objekter og tilsvarende forekomster : Parkeringsplass : Ansatt pid = Ansatt - ansattid -navn 0.. er tildelt 0.. Parkeringsplass -pid - beliggenhet ansattid = navn = 'Per' 2 : Ansatt ansattid = 2 navn = 'Kari' beliggenhet = 'P4' 2 : Parkeringsplass pid = 2 beliggenhet = 'P3' 3 : Parkeringsplass pid = 3 Objektorientert modell Relasjonsmodell 3 : Ansatt ansattid = 3 navn = 'Ola' beliggenhet = 'P3' 4 : Parkeringsplass pid = 4 beliggenhet = 'P' Ansatt ansattid {pk} navn pid {fk}{null} 0.. er tildelt 0.. Parkeringsplass pid {pk} beliggenhet NB! Objektidentifikatorene er her satt til samme verdier som primærnøklene for å tydeliggjøre sammenhengen. Ansatt ansattid {pk} navn pid {fk}{null} Per Parkeringsplass pid {pk} beliggenhet P4 2 Kari 2 2 P3 3 Ola 4 3 P3 4 P INF050-persistens-2 INF050-persistens-22 Objektorientert modell Relasjonsmodell En-til-mange assosiasjon - emnekode: String - antallrforutsettes: int + finn: + forutsetterr: boolean emnekode {pk} antallrforutsettes undervises i undervises i - antallplasser: int - antallpaameldt: int - semester: String + ledigplass: boolean + meldpaa: boolean Multiplisitetene i klassediagrammet forteller oss at vi kan ha emner uten kurs, men ikke kurs uten emne kursid {pk} antallplasser antallpaameldt semester emnekode {fk} Nye attributter emnekode {pk} Objekter og tilsvarende forekomster Inf000 : emnekode = 'Inf000' antallrforutsettes = 0 Inf050 : emnekode = 'Inf050' antallrforutsettes = 0 Inf900 : emnekode = 'Inf900' antallrforutsettes = 40 antallr Forutsettes Inf000 0 Inf050 0 Inf : antallplasser = 400 antallpaameldt = 3 semester = 'h07' 2 : antallplasser = 300 antallpaameldt = 278 semester = 'v07' 3 : antallplasser = 300 antallpaameldt = 299 semester = 'v08' kursid {pk} antallplasser antallpaameldt semester emnekode {fk} h07 Inf v07 Inf v08 Inf050 INF050-persistens-23 INF050-persistens-24
7 - antallplasser: int - antallpaameldt: int - semester: String +ledigplass: boolean +meldpaa: boolean Relasjonsmodell Mange-til-mange assosiasjoner Objektorientert modell er meldt på - studentid: String + ermeldtpaa:void Objekter og tilsvarende forekomster : antallpaameldt = 2 antallplasser = 400 semester = 'h07' 2 : antallpaameldt = antallplasser = 300 semester = 'v07' 3 : antallpaameldt = 2 antallplasser = 300 semester = 'v08' 000 : studentid = : studentid = : studentid = : studentid = kursid {pk} antallplasser antallpaameldt semester Paamelding kursid {pk}{fk} studentid {pk}{fk2} studentid {pk} Assosiasjonen opphøyes til en egen entitet i en datamodell kursid {pk} antallplasser antallpaameldt semester h v v08 Paamelding studentid kursid{pk}{fk} {pk}{fk} studentid {pk} INF050-persistens-25 INF050-persistens-26 Structured Query Language (SQL) SQL er et standard programmeringsspråk for å håndtere tabelldatabaser. Eksempel på SELECT SELECT <attributene som skal være med> For forekomstmanipulering (DML Data Manipulation Language ): o SELECT o INSERT o UPDATE o DELETE For skjemamanipulering (DDL Data Definition Language ) o CREATE o ALTER o DROP For transaksjons- og tilgangskontroll (DCL Data Control Language ) o COMMIT o ROLLBACK o GRANT o REVOKE kursid, semester, antallplasser FROM <tabellen(e) som inneholder dataene> WHERE <utvalgskriterier> emnekode = Inf050 AND semester = v08 INF050-persistens-27 INF050-persistens-28
8 INSERT INTO Eksempel på INSERT (kursid, emnekode, semester, antallplasser, antallpaameldt) VALUES (4, Inf050, v09, 300, 0) Eksempel på UPDATE Alt ) UPDATE SET antallpaameldt = WHERE kursid = 4 - Antall påmeldte til kurset settes lik Alt 2) UPDATE SET antallpaameldt = antallpaameldt + WHERE emnekode = inf050 AND semester = v09 - Antall påmeldte til kurset økes med INF050-persistens-29 INF050-persistens-30 Eksempel på DELETE Transaksjoner DELETE FROM WHERE kursid = 4 eller DELETE FROM WHERE emnekode = inf050 AND semester = v09 - Fjerner kurset for Inf050 v09. DELETE FROM WHERE emnekode = Inf050 - Fjerner alle kurs for Inf050! En transaksjon grupperer SQL-kommandoer inn i et udelelig stykke arbeid slik at enten alle eller ingen av endringene blir permanente. ROLLBACK: Reverserer alle SQL-kommandoer som er utført så langt, slik at databasen ser ut som ved forrige COMMIT o Kalles typisk når feilsituasjoner oppstår i løpet av en transaksjon COMMIT: Endringene som et resultat av SQLkommandoene siden forrige COMMIT blir gjort permanente. INF050-persistens-3 INF050-persistens-32
9 Arkitektur med Hibernate for persistens vha relasjonsdatabaser O-R mapping med Hibernate Støtter oversetting (mapping) fra objektorienterte klassemodeller til relasjonsdatabaser. Du kan selv skrive XML mapping-filer eller bruke automatiske verktøy (for eks. XDoclet). bruker Nettleser eller annen klientapplikasjon - og kontrollobjekter Applikasjon forretningsobjekter XML map Hibernate (mediator og resourceobjekter) config Databasehåndteringssystem (DBMS) Database (forretningsobjekter) o Har endel regler for hvordan assosiasjoner bør mappes slik at navigering over assosiasjonene blir effektivt o Kan generere relasjonsdatabaseskjemaet fra XML mapping-filene (XML = Extensible Markup Language, brukes til å beskrive data og data om data, dvs metadata) Transparent å opprette, finne, oppdatere og slette objekter i databasen o Hibernate bruker en XML mapping-fil sammen med reflection for å finne ut hvordan dette skal gjøres o Støtter transaksjoner, lazy load og dirty checking (se RASD, kap 8.4) Persistens ved transitivitet (via assosiasjoner) o Støtter standard Java Collections: Hibernate vet om du endrer noe i et av objektene i en Collection og vil automatisk gjøre SQL Update eller SQL Insert Kan bruke både SQL og Hibernate Query Language (HQL) Klienter Web/Applikasjonstjener(e) o Men det ALLER meste av SQL genereres automatisk For detaljer, se databasetjenere INF050-persistens-33 INF050-persistens Message id: Long text: String settext(txt: String) setnextmessage(nextmsg: Message) 0.. XML-mapping for Message nextmessage MESSAGES MESSAGE_ID {pk} MESSAGE_TEXT NEXT_MESSAGE_ID {fk}{null} <hibernate-mapping> <class name="hello.message" table="messages"> <id name="id" column="message_id"> <generator class="increment"/> </id> <property name="text" column="message_text"/> <many-to-one name="nextmessage" cascade="all" column="next_message_id" foreign-key="fk_next_message"/> </class> </hibernate-mapping> MESSAGE_ID {pk} message: Message id = text = 'blah' MESSAGE_TEXT blah Vårt scenario FØR Forretningsobjekter i applikasjonen Forekomster (i tabellen MESSAGES) NEXT_MESSAGE_ID {fk}{null} ETTER message: Message id = text = 'Greetings Earthling' message2: Message id = 2 text = 'Take me to your leader' MESSAGE_ID {pk} MESSAGE_TEXT NEXT_MESSAGE_ID {fk}{null} Greetings Earthling 2 2 Take me to your leader INF050-persistens-35 INF050-persistens-36
10 Eksempel på persistens med Hibernate Hibernate vil da utføre følgende SQL-kommandoer : Kontrollklasse mysession: Session doit() mytransaction = begintransaction() <<create>> message = get(message.class, ) settext( "Greetings Earthling" ) <<create>> settext( "Take me to your leader" ) setnextmessage(message2 ) commit() mytransaction: Transaction message: Message message2: Message select MESSAGE_ID, MESSAGE_TEXT, NEXT_MESSAGE_ID from MESSAGES where MESSAGE_ID = insert into MESSAGES (MESSAGE_ID, MESSAGE_TEXT, NEXT_MESSAGE_ID) values (2, 'Take me to your leader', null) update MESSAGES set MESSAGE_TEXT = 'Greetings Earthling', NEXT_MESSAGE_ID = 2 where MESSAGE_ID = INF050-persistens-37 INF050-persistens-38 ObjectStore: eksempel på OO database ObjectStore er en objektorientert database som gir en helt sømløs (transparent) måte å lagre forretningsobjektene på. Objectstore vs Hibernate: o ObjectStore: Ingen O-R mapping (eller SQL) er nødvendig, fordi objektene lagres som de er. o ObjectStore konverterer klassene til noe de kaller persistence capable og persistence aware. Man må også bruke egne collection klasser (for eksempel: OSHashMap istedet for standard HashMap) o For å få tilgang til persistente objekter bruker man et eller flere rotobjekter, og fra disse kan man få tilgang til de andre objektene ved å følge pekere (assosiasjoner). Registrering: ville vært et bra rotobjekt o Bortsett fra det er en applikasjon som bruker Objectstore ganske lik med en som bruker Hibernate Tilsvarende funksjonalitet for transaksjonshåndtering, støtter automatisk lazy load, dirty checking, transitiv persistens, osv. Hvorfor brukes objektorienterte databaser så lite? Data blir applikasjonsspesifikke o Data varer evig, mens applikasjoner kommer og går Ytelse? Portabilitet o Lettere å bytte relasjonsdatabase enn å bytte ut en objektorientert database (?) Lite marked => større risiko Support o Relasjonsdatabaser har masse gratis programvare Hibernate gjør omtrent det samme! o Og du har i tillegg muligheten til å bruke mer avanserte funksjoner som tilbys av relasjonsdatabaser INF050-persistens-39 INF050-persistens-40
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
DetaljerDagens 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
DetaljerMetode 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
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
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
DetaljerDagens 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
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
DetaljerMetode 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
Detaljero 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
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
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
DetaljerUML 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
DetaljerSpesifikasjon 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
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
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
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,
DetaljerSamling av trådene. Persistens. Dagens forelesning. Normal hendelsesflyt for Meld på kurs. Erik Arisholm. o Kort repetisjon. o Design av persistens
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
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
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
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
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
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 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
DetaljerErfaringer 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),
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
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
DetaljerErfaringer 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
DetaljerIntroduksjon 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
DetaljerDatabasesystemer, 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).
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
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
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
Detaljer1. 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
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,
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
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
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
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
DetaljerDatamodellering 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
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
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
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
DetaljerUML-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
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
DetaljerUML-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
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
DetaljerApplikasjonsutvikling 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
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
DetaljerOO 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
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
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
DetaljerOptimalJ-kurs UIO Oppsummering av kurset. De ulike modellene egenskaper og formål
OptimalJ-kurs UIO 2004 Agenda Time 1: Oppsummering av kurset Time 2: De ulike modellene egenskaper og formål Team Development med OptimalJ Domain Patterns Egenutviklede transformasjoner (krever Architect
DetaljerKunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser
Kunnskapsorganisasjon og gjenfinning 1 Relasjonsmodellen og -databaser Tine L. Frost Relasjonsmodellen 17.09.2014 Dagens forelesning Pensum Berget, G. (2010). Relasjonsdatabaser og datamodellering (3.
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
DetaljerUse 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
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)
DetaljerINF 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.
DetaljerDatamodellering 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
DetaljerUML 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
DetaljerSikkerhet 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
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
DetaljerEKSAMEN 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
DetaljerI 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
DetaljerUse Case-modellering. INF1050: Gjennomgang, uke 04
Use Case-modellering INF1050: Gjennomgang, uke 04 Kompetansemål Modellering av krav Kunne modellere ulike typer krav UML-diagrammer Innføring i grunnleggende UML-modellering Bruksmønster (use case) Sekvensdiagram
DetaljerEtter 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)
DetaljerTransaksjoner 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
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
DetaljerTilkobling 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
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
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
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
DetaljerInnhold. INF1000 Høst Unified Modeling Language (UML) Unified Modeling Language (UML)
Innhold Unified Modelling Language UML INF1000 Høst 2015 Uke 8: Mer objektorientert programmering Siri Moe Jensen En ny type for-løkke Organisering av mengder av objekter HashMap Valg av representasjon
Detaljer1. 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
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
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
DetaljerSQL og Mengdelære. Oracle, MySQL, Access, bruker forskjellige syntaks.
SQL og Mengdelære Oracle, MySQL, Access, bruker forskjellige syntaks. Kan vi beskrive, hva SQL er og hva man kan gjøre med SQL, uavhengig av konkret syntaks!!! Hvilke universale formelle språk har vi til
DetaljerDatamodellering 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
DetaljerTransaksjoner 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
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
DetaljerDatamodellering 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
DetaljerFra krav til objekter. INF1050: Gjennomgang, uke 05
Fra krav til objekter INF1050: Gjennomgang, uke 05 Kompetansemål Systemmodellering og systemperspektiv Utvikle abstrakte modeller av et system Ulike modeller representerer ulike perspektiver av systemet
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
Detaljer1. Designe ER-modeller med MS Visio
Kjell Toft Hansen 01.07.2009 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1- databaser 1. I dette notatet skal vi se på hvordan vi kan lage ER-modeller ved å bruke
DetaljerINF1300 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
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
DetaljerOversikt 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
DetaljerDatamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller
LC238D http://www.aitel.hist.no/fag/_dmdb/ Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller ER-modellen, intro.
DetaljerGJENNOMGANG UKESOPPGAVER 7 REPETISJON
GJENNOMGANG UKESOPPGAVER 7 REPETISJON INF1050 V16 KRISTIN BRÆNDEN DAGENS TEMA Oppgaver hentet fra tidligere eksamensoppgaver om temaene vi har gått gjennom til nå DAGENS PLAN Gjennomgang av oppgaver Repetisjon
DetaljerUtvikling fra skallet og inn
Utvikling fra skallet og inn Kravspesifikasjon Brukergrensesnitt! inn ut Erik Arisholm Simula Research Laboratory Utviklingsretning Applikasjon Virkelighetsmodell Bruker Oppfatning av interesseområdet
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
DetaljerSQL: Systemaspekter. Evgenij Thorstensen V18. Evgenij Thorstensen SQL: Systemaspekter V18 1 / 21
SQL: Systemaspekter Evgenij Thorstensen V18 Evgenij Thorstensen SQL: Systemaspekter V18 1 / 21 Oversikt Hvordan et DBMS er organisert (med psql som eksempel) Trelagsarkitektur og impedance mismatch Databasetilgangsmåter
DetaljerEn 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]
DetaljerModellering av krav. INF1050: Systemutvikling 11. februar 2015. Universitetslektor Yngve Lindsjørn
INF1050: Systemutvikling 11. februar 2015 Modellering av krav Universitetslektor Yngve Lindsjørn INF1050 ->Systemutvikling-> Modellering av krav / Yngve Lindsjørn 1 Temaer i dagens forelesning Modellering
DetaljerDBMS Database Management System (repetisjon) Programmeringsgrensesnitt. Serialiserbarhet
DBMS Database Management System (repetisjon) Spesialisert SW Karakteristika: Persistens Transaksjonshåndtering A tomicity C onsistency I solation D urability Programmeringsgrensesnitt INF212 v2003 1 Serialiserbarhet
DetaljerOppgave 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å
DetaljerModellering av krav. INF1050: Systemutvikling 07. februar Førstelektor Yngve Lindsjørn
INF1050: Systemutvikling 07. februar 2017 Modellering av krav Førstelektor Yngve Lindsjørn INF1050 ->Systemutvikling-> Modellering av krav / Yngve Lindsjørn 1 Temaer i dagens forelesning Modellering av
DetaljerUse case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?
1/15/2004 1 Use case modellen Use case modellering i analysefasen Metode for å identifisere og beskrive de funksjonelle kravene til et system Kapittel 3 i UML Distilled Kapittel 8 i Gurholt og Hasle Kirsten
DetaljerUNIVERSITETET 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
DetaljerITGK - 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