IT i organisationer och databasteknik

Storlek: px
Starta visningen från sidan:

Download "IT i organisationer och databasteknik"

Transkript

1 IT i organtioner och databasteknik Kontoutdelning EFTER dagens föreläsning (WinXP/FC/Daisy/Unix) Programvaror på kursen: DB2 v7.2 MS Access 2003 Rational Rose IT i organtioner och databasteknik Föreläsning 2 Från verklighet till system Konceptuell modellering Modelleringsmönster Schemaintegration

2 IS Development, Acquisition, and Support Business and Requirements Mod. Analysis and Design Project Management Maintenance People and Organtion Business and IT Alignment Process Improvement Change Management Ethical Aspects of IS/IT IS Investment and Evaluation Created by Information for Knowledge Work, Customer Satisfaction, and Business performance Use of Information in Organtions Knowledge Management Decision Support Process Support Organtional Interoperability empowers Information and Communication Technology Databases Software Hardware Telecommunication automates and leverages provides Operations and Network Management Production and Operations Service and Help Desk Security and Control Infrastructure Management Från verklighet till system Verklighet Urval Modell Informationssystem Produkt Order Kund 2

3 Arkitektur hos ett informationssystem Presentation Användargränssnitt via en browser Applikationslogik Data Java servlets som exekverar på en server Data från en databashanterare Relationsdatabaser KUND Namn Gatuadress Postnummer Postadress Telefon Kontokort Giltighetstid Pia Eriksson Storg Torget /0 Ulf Eriksson Storg Torget /00 Ola Hansson Lillg Landet /0 Bo Eriksson Storg Torget /0 Bo Johnsson Eriksg Torget /0 My Hansson Lillg Landet /0 3

4 Frågespråk Hur kommer applikationsprogrammen åt data i databasen? Genom ett frågespråk. SELECT Namn FROM PRODUKT WHERE Typ = Stol Presentation Gränssnittet ger möjlighet att nå applikationsprogrammen och därmed data i databasen. 4

5 MODELLER Modell: Struktur som avbildar vissa aspekter av någon del av verkligheten Exempel: Kartor Differentialekvationer Konceptuella modeller Syfte med modeller: Studera verkligheten indirekt genom att studera modellen Underlätta kommunikation Utgöra underlag för vidare implementering Building the right system Universe of Discourse Conceptual Model (CM) Use of CM? = < > ANIMAL belongs_to Weight my_animal MEMBERSHIP Date myflock SPECIES Mean_weight FLOCK Number Contract Database System Education, Reverse Engineering 5

6 MODELLER - problem? Modell: En struktur som avbildar vissa aspekter av någon del av verkligheten Ex på modell - KARTA Modeller förenklar Modeller förvanskar - Grönland, Afrika Modeller fokuserar - topografisk, politisk Modelleringsspråk: Komplexa språk med många symboler versus enklare språk som är lättare att förstå/förklara/validera av lekmän som kan domänen men inte språket Modellering fortsättning Kontroll av data skall ske så tidigt (så nära källan) som möjligt! Systemet skall inte kontrollera att data inte är fel, utan undanröja möjligheterna till att det blir fel Lättare sagt än gjort: Man måste modellera RÄTT (inte bara på rätt sätt), modelleringsspråket måste vara rikt nog för att kunna representera alla sakförhållanden. 6

7 Samma ord - olika begrepp (homonymer) På vilka sätt används ordet bok i meningarna nedan? Jules Verne skrev många böcker Biblioteket i Vällingby har många böcker Nazi Tyskland förbjöd många böcker Bokhandlaren i Jönköping sålde många böcker Samma begrepp - olika ord (synonymer) Avskeda - Friställa Arbetsgivare Arbetsköpare Städerska - Lokalvårdare 7

8 Ogdens triangel TERM EXTENSION INTENSION Konceptuell modellering En konceptuell modell beskriver data och datasamband på ett representationsoberoende sätt. Vad modellen sen ska implementeras som/i får inte påverka modellens utformning! Vanliga sätt att beskriva konceptuella scheman: via UML klasschema Via ER-scheman, etc. 8

9 Grafiskt språk för konceptuella modeller: ER-scheman (Entity-Relationship schemas) Entitet Relation Entitet APA ÄTER BANAN Annat notation: APA 0 äter BANAN Namn: Sträng Grafisk notation för konceptuella scheman: UML-klassschema Vi kommer att använda UML-klasscheman som ER-scheman Klass association (relation) APA Namn : Sträng 0.. äter..* BANAN attribut Avbildningsregel (för associationen, attributet) 9

10 Avbildningsregler för associationer i UML BIL Regno : Sträng ägs_av PERSON Namn: Sträng En association ( pil ) har avbildningsregler (kardinalitetsregler). Man kan sas läsa pilen i två riktningar och för varje riktning måste vi avgöra vilka avbildningsregler som gäller. Vi använder oss av en Minimum..Maximum -notation (alternativ finns...). I minimum-posistionen kan vi skriva värdet 0 eller. I maximimum -positionen kan vi skriva värdet eller *, där * står för många. Det ger oss fyra möjliga avbildningsregler: 0..,, och..*. I praktiken brukar man förkorta till. För att förstå vad de olika max..min-värdena står för kan vi börja med att betrakta relations-pilen från BIL:ens synvinkel. Om en BIL kan ägas av HÖGST EN PERSON så skriver vi en :a i max-positionen (annars *). Om en BIL måste ägas av NÅGON PERSON sätter vi en :a i min-positionen (annars 0). I just detta fall fattades beslutet att en BIL kan ägas av högst en person och att alla bilar ägas av någon. Dvs avbildningsregeln blev, vilket vi förkortade till. Om en PERSON kan äga HÖGST EN BIl skriv en :a i max-position (annars *). Om en PERSON måste äga minst en BIL, skriv en :a i min-position (annars 0). Här tyckte vi att en PERSON kan äga många BIL:ar men inte nödvändigvis måste äga någon BIL,! Associationer i UML forts. Navigabilitet vs konceptuell riktning BIL Regno: String ägs_av PERSON Pnr: String Envärd? Om en bil kan ägas av högst en person så ja, annars nej. Total? Om en bil måste ägas av minst en person så ja, annars nej. Injektiv? Om en person kan äga högst en bil så ja, annars nej. Surjektiv? Om en person måste äga minst en bil så ja, annars nej. Vad betyder associationen? Namngivning i funktionell riktning? Namngivning av både associationen och båda rollerna? 0

11 Avbildningsregler Avbildningsregler för ATTRIBUT i UML... BIL Regno : Sträng ägs_av PERSON Namn: Sträng Även attribut (som t ex Regno och Namn) behöver få sina avbildningsregler bestämda. Detta kan i vissa notationer vs grafiskt i det konceptuella schemat (vilket har många fördelar). Ett sätt är att explicit rita ut relationen (via en pil) mellan entiteten i fråga och attributet: Regno BIL 0.. Ska utläsas varje BIL har högst ett registreringsnummer, Ett givet värde i mängden av text-strängar (t ex ABC23 ) kan vara relaterad till högst en BIL via attributet Regno. En BIL måste ha ett registreringnummer och, slutligen, det finns text-strängar (t ex Maria Bergholtz ) som inte utgör registreringsnummer. Som synes används samma princip som för avbildningsregler Sträng för relationer mellan entiteter. BIL Regno: Sträng UNIK Ett alternativ är att använda notationen ovan, den har nästan samma informationskapacitet som notationen till vänster ( en BIL kan ha högst ett värde på registreringsnummer, och minst ett värde på registreringsnummer (dvs Regno är totalt ). Med UNIK avses att ingen annan kan använda ett Regno som en viss BIL använder). Däremot vr inte notationen ovan om det finns sträng-värden som inte utgör reg.nummer. Multiplicitet - regler i systemet vs common sense BIL Regno: Sträng ägs_av PERSON Pnr: Sträng

12 Multiplicitet - en övning PERSON har_mor Envärd? Total? Injektiv? Surjektiv? Så hur gör man då? I en verklig situation intervjuas användare, manualer läses, eventuella existerande system studeras, verksamheten studeras, etc Ibland har man bara tillgång till textuella beskrivningar av det system man ska modellera Hur angripa dessa? Verb, substantiv, adjektiv? Modelleringsmönster, så kallade data-abstractions, tumregler, med mera... 2

13 Att göra urvalet Ett företag önskar sälja sina produkter, som är möbler, genom en webbutik. Kunderna skall kunna lägga beställningar på möblerna med hjälp av webbutiken. Produkterna levereras sedan med lastbil till kunderna. För att kunderna skall få en bra bild av möblerna så behöver de veta deras vikt, typ, storlek och det material de är tillverkade av; det behövs också foton på möblerna. Utöver kostnaderna för de enskilda möblerna måste kunden också betala för fraktkostnaden som baseras på den sammanlagda vikten. Kunden kan begära att få leverans inte bara till sin egen adress utan också till andra adresser. Kunden kan önska en tid då leveransen skall ske - det inträffar dock ibland att den verkliga leveranstiden avviker från den önskade. För att kunden skall veta om en leverans gått iväg eller inte behövs information om avgångstider för leveranser. Företaget eftersträvar att samtidigt skicka iväg alla de produkter som ingår i en beställning men man lyckas inte alltid med det, och då kan det behövas flera leveranser för en beställning. Kunden betalar med kontokort. PRODUKT Namn Typ Höjd Bredd Djup Material Vikt Pris Bild-liten Bild-stor BESTÄLLNINGS- RAD Antal..* 0.. LEVERANS Leveransbil Avtalatdatum Avtaladtid Avgångsdatum Avgångstid Leveransdatum Leveranstid..* KUND Namn Gatuadress Postnummer Postadress Telefon Kontokort Giltighetstid BESTÄLLNING Best-nummer Gatuadress Postnummer Postadress Datum Fraktkostnad 3

14 Avbildningsregler som mått på en modells kvalitet? Tumregel: Alla attribut i en klass bör vara totala (= ha minvärde ) Ett stort antal attribut med partiella attribut (attribut med minvärde = 0) betyder att inte alla instanser (objekt) av klassen har något värde på attributen/egenskaperena ifråga vilket tyder på att man blandat flera fenomen i en och samma klass. DJUR Namn: Skatt_betald: 0.. Adress: 0.. Vikt: Medelvikt: 0.. Utbredningsområde: 0.. DJUR Namn: Adress: Vikt: ART Utbredningsområde Medelvikt HUND Skatt_betald: Tumregel: Associationer bör vara åtminstone totala eller surjektiva! BIL Regno: Sträng ägs_av PERSON Pnr: Sträng Modelleringsmönster- Analysmönster - Data abstractions Modelleringsmönster: Arv Arv Vilken verklighet man än vill avbilda så förekommer hierarkiska strukturer. Det betyder att vi måste fånga dessa strukturer i vår modell av samma verklighet. Däggdjur Djur Fåglar Gräsätare Rovdjur Pingvin Hovdjur Gnagare Tax Gnu Kanin 4

15 Konceptuell modell av en hierarkisk struktur: DJUR DÄGG- DJUR FÅGLAR HOVDJUR GRÄS- ÄTARE GNAGARE ROV- DJUR TAX PINGVIN GNU HARE Arv MAN Militärtjänstort: String: PERSON Namn: String UNIK KVINNA Arv HUND Skatt: Integer DJUR Namn: String UNIK KATT MAN och KVINNA är ömsesidigt uteslutande och uttömmande map PERSON HUND och KATT är ömsesidigt uteslutande men inte uttömmande map DJUR En arvs-hierarki består av sub- och supertyper. Subtyperna utgör en delmängd av supertypen. Om subtyperna täcker upp hela supertypen säger man att de är uttömmande (eng. exhaustive). Om en och samma instans inte kan tillhöra till flera subtyper säger man att subtyperna är ömsesidigt uteslutande (eng. mutually independent). 5

16 Arv forts. En objekttyp kan ärva en annan objekttyp En objekttyp som ärver kallas subtyp Den objekttyp som ärvs från kallas supertyp Subtypen har samma attribut och samband som supertypen Subtypen kan ha ytterligare attribut och samband En supertyp kan vara abstrakt, dvs den kan inte instansieras Arv Kund Kontohavare Konto..* Kundnr: Integer Kontonr: Integer UNIK UNIK Namn : String Företag Börsnoterad: String Person..* Arbetar_hos Bankbok Saldo: Integer Lån Lånesumma : Integer Hur hade schemat blivit om -relationer inte använts? 6

17 arbetar_hos 0.. Person Kundnr: Integer UNIK Namn : String Börsnoterad: String 0.. Kontohavare..* Konto Kontonr: Integer Saldo: Integer 0.. Lånesumma: Integer 0.. Annat sätt? Arv forts. Om subtyper har alla attribut och relationer gemensamma: Överväg att kombinera dem till en subtyp. Lägg ev. till ett extra attribut i entiteten som tjänas som typ-beteckning. Om en subtyp är uttömmande map supertypen: Låt subtypen uppgå i supertypen. Om flera subtyper inte har några egna attribut eller relationer: Överväg att göra dem till en subtyp. 7

18 Reifiering Reifiering SJUKDOM..* botar blir: botas SJUKDOM BOT Procent: Float BEHANDLING..* botmedel BEHAND- LING Relationen botar är M:M. Om man vill lagra information som berör relationen botar måste relationen reifieras, dvs göras till ett objekt. Övriga M:M kan lämnas som de är på modelleringsnivå, men måste brytas upp när man skapar en relationsdatabas! Övning reifiering PERSON Namn: Sträng UNIK, TOTAL är_medlem_i 0 KLUBB Klubb_namn: Sträng UNIK, TOTAL Uttöka det konceptuella schemat ovan så att det klarar av att representera att en viss person gick in i en viss klubb vid ett visst tillfälle! 8

19 Består-av-ingår-i (rekursiva strukturer) ingår i Komponent består av Komponent består av (ingår i) Komponent består av ingår i Delkomponent Rekursiva strukturer ARTIKEL består_av Som synes egentligen ett specialfall av reifiering! blir: SPECIFIKATION Procent : Float del_i ARTIKEL består_ av 9

20 Template-Copy strukturer (power types) Template-Copy strukturer (power types) Vissa objekt kan ses som mallar för andra objekt, kopior. En mall beskriver de generella dragen hos kopiorna som i sin tur kan innehålla ett antal idividuella drag. Mallar är ofta abstrakta objekt medan kopior är konkreta objekt. Kopior kan ses som materialiseringar av mallar. BOK är ett typiskt exempel på en mall, boken som ett litterärt verk. BOK:en har en titel, en författare osv. De individuella kopiorna är de fysiska exemplaren av det litterära verket som kan ha egenskaper som vikt, antal sidor etc. Observera att KOPIA inte utgör en delmängd av BOK. Template- Copies är inte samma sak som supertyp-subtyp. BOK titel Författare: String UNIK Titel: String av_typ KOPIA Vikt: String Antal_sidor Samma ord - olika begrepp På vilka sätt används ordet bok i meningarna nedan? Jules Verne skrev många böcker Biblioteket i Vällingby har många böcker Nazi Tyskland förbjöd många böcker Bokhandlaren i Jönköping sålde många böcker Kurskod Kursnamn Startdatum Antal poäng Kursansvarig KURS Kurskod Kursnamn Antal_poäng tillhör KURSTILL- FÄLLE Startdatum Kursansvarig 20

21 Analysmönster: Resurs allokering [Fowler97] RESOURCE TYPE RESOURCE ALLOCATION Quantity CONSUMABLE TYPE ASSET TYPE SPECIAL RA GENERALRA Price_per_unit Price_per_hour HOLDING TEMPORAL RESOURCE CONSUMABLE ASSET Number_of_units From Id..* To AKTIVITETS- TILLFÄLLE..* AKTIVITET Kombination av mönster och abstraktioner RESURSTYP Type_Name : String available_resource RESURS ALLOKERING Quantity : Integer FÖRBRUKNINGS- RESURSTYP Price_per_ unit : Real of_type FÖRBRUKN. RESURS Number_of_ : Integer units consumes PATIENT Företagsnamn: Sträng Adress: Sträng FAST RESURSTYP Price_per_hour : Integer of_type 0..* TIDSBOKNING FAST RESURS..* From : Time uses Name: String To : Time BOKNING.. BEHANDLINGS TILLFÄLLE From : Time used_by To : Time FÖRBRUKNING RESURS BEHOV required_for of _type BEHANDLINGSTYP Name_of_type : String RESULTAT Fakturerad summa: Heltal 2

22 Modelleringsarbete är ett SAMARBETE mellan verksamhetskunniga och systemkonstruktörer! Arbetet innefattar: analys skapande förhandling och beslut Arbetet kräver: erfarenhet fantasi/kreativitet kommunikationsförmåga Inför projektarbetet: - sammansmältning av flera överlappande modeller av samma typ 22

23 HomonymsExEx Scaledifere HomonymsExEx Scaledifere Skillnader i terminologi Synonymer, tex: köpa, inhandla Homonymer, tex: artikel Skillnader i skala eller måttenhet, tex: kilo, gram, Euro, Dollar FENOMEN Namn: Textsträng MÄTETAL Precision: Heltal Kvantitet: Float ENHETSTYP Namn: Textsträng 23

24 Skillnader i struktur Kvinna gift_med Man Person Kön: Boolean Kvinna Man Person maka Äktenskap make Man Kvinna Skillnader i abstraktionsnivå Template-Copy strukturer (power types) Vissa objekt kan ses som mallar för andra objekt, kopior. En mall beskriver de generella dragen hos kopiorna som i sin tur kan innehålla ett antal idividuella drag. Mallar är ofta abstrakta objekt medan kopior är konkreta objekt. Kopior kan ses som materialiseringar av mallar. BOK är ett typiskt exempel på en mall, boken som ett litterärt verk. BOK:en har en titel, en författare osv. De individuella kopiorna är de fysiska exemplaren av det litterära verket som kan ha egenskaper som vikt, antal sidor etc. Observera att KOPIA inte utgör en delmängd av BOK. Template- Copies är inte samma sak som supertyp-subtyp. BOK titel Författare: String UNIK Titel: String KOPIA av_typ Vikt: String Antal_sidor 24

Konceptuell modellering

Konceptuell modellering Konceptuell modellering En konceptuell modell beskriver data och datasamband på ett representationsoberoende sätt. Vad modellen sen ska implementeras som/i får inte påverka modellens utformning! Grundbegrepp:

Läs mer

Introduktion till informationssystem Från verklighet till relationsdatabas Konceptuell modellering och databasmodellering Modelleringsmönster

Introduktion till informationssystem Från verklighet till relationsdatabas Konceptuell modellering och databasmodellering Modelleringsmönster Databasteknik, 2I-1075 Introduktion till informationssystem Från verklighet till relationsdatabas Konceptuell modellering och databasmodellering Modelleringsmönster Kursens mål Momentet ger grundläggande

Läs mer

Kontoutdelning EFTER dagens föreläsning (WinXP/FC/Daisy/Unix) Programvaror på kursen: MySQL MS Access 2003 Rational Rose

Kontoutdelning EFTER dagens föreläsning (WinXP/FC/Daisy/Unix) Programvaror på kursen: MySQL MS Access 2003 Rational Rose Konceptuell modellering och Databasmodellering Kontoutdelning EFTER dagens föreläsning (WinXP/FC/Daisy/Unix) Programvaror på kursen: MySQL MS Access 2003 Rational Rose 2006-10-25 1 Konceptuell modellering

Läs mer

Relationsdatabasdesign, 2I-4067

Relationsdatabasdesign, 2I-4067 Relationsdatabasdesign 2I-4067 Relationsdatabasdesign, 2I-4067 Lärare Maria Bergholtz, rum 4636, telefon 6658, e-mail maria@dsv.su.se Nikos Dimitrakas, e-mail nikos-di@dsv.su.se Michael Persson, rum 2675,

Läs mer

Informationssystem och databasteknik, 2I-1100. Från verklighet till system

Informationssystem och databasteknik, 2I-1100. Från verklighet till system Informationssystem och databasteknik, 2I-1100 System Modeller Processer Från verklighet till system Verklighet Urval Modell Produkt Order Kund Informationssystem 1 Att göra urvalet Företaget önskar sälja

Läs mer

Informationssystem och databasteknik, 2I-1100

Informationssystem och databasteknik, 2I-1100 Informationssystem och databasteknik, 2I-1100 Introduktion till informationssystem - användning, teknik och utveckling Vad är ett informationssystem? Informationssystem: datoriserat system som stödjer

Läs mer

Informationssystem och Databasteknik

Informationssystem och Databasteknik Informationssystem och Databasteknik Föreläsning 4 Relationsmodellen Från konceptuell modell till relationsdatabasschema Inför projektarbetet: - sammansmältning av flera överlappande modeller av samma

Läs mer

(Data)Modellering. nikos dimitrakas rum 2423

(Data)Modellering. nikos dimitrakas rum 2423 (Data)Modellering nikosd@kth.se 08-161295 rum 2423 Connolly/Begg (3rd edition) Kapitel 11, 12 och 14 (4th edition) Kapitel 11, 12 och 15 (5th edition) Kapitel 12, 13 och 16 (6th edition) Kapitel 12, 13

Läs mer

IT i organisationer och databaser, 2I Introduktion till informationssystem - användning, teknik och utveckling

IT i organisationer och databaser, 2I Introduktion till informationssystem - användning, teknik och utveckling IT i organisationer och databaser, 2I-1033 Introduktion till informationssystem - användning, teknik och utveckling Vad är ett informationssystem? Informationssystem: datoriserat system som stödjer en

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

Konceptuell modellering. Formalisering, automatisering och effektivisering

Konceptuell modellering. Formalisering, automatisering och effektivisering Konceptuell modellering. Formalisering, automatisering och effektivisering LUSP. HT2012. Föreläsning 7. Övning 7 Erik Perjons perjons@dsv.su.se Modeller och modellering 1 Verksamheten två nivåer Människor

Läs mer

Databasdesign. E-R-modellen

Databasdesign. E-R-modellen Databasdesign Kapitel 6 Databasdesign E-R-modellen sid Modellering och design av databaser 1 E-R-modellen 3 Grundläggande begrepp 4 Begränsningar 10 E-R-diagram 14 E-R-design 16 Svaga entitetsmängder 19

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program.

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Föreläsning 2 Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Vår process Kravbeskrivning (3 dagar). Enkel form av användningsfall (use cases). Analys

Läs mer

Objektorientering. Grunderna i OO

Objektorientering. Grunderna i OO Objektorientering Grunderna i OO 1 Systemutveckling Tre systemnivåer: Verksamhet Informationssystem Datasystem Huvuduppgifterna i ett systemutvecklingsarbete: Verksamhetsanalys Informationsbehovsanalys

Läs mer

IT i organisationer och databasteknik

IT i organisationer och databasteknik IT i organisationer och databasteknik Föreläsning 5 Analytisk databasdesign Arkitektur hos ett informationssystem Presentation Användargränssnitt via en browser Applikationslogik Data Java servlets som

Läs mer

Lite om databasdesign och modellering

Lite om databasdesign och modellering Lite om databasdesign och modellering Konceptuell databasdesign Med konceptuell databasdesign avses processen att konstruera en datamodell för en verksamhet, oberoende av fysiska villkor. Modelleringen

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem 24 Augusti 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje

Läs mer

Föreläsning 15: Repetition DVGA02

Föreläsning 15: Repetition DVGA02 Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras

Läs mer

IT i organisationer och databasteknik

IT i organisationer och databasteknik IT i organisationer och databasteknik Föreläsning 4 Relationsmodellen Från konceptuell modell till relationsdatabasschema Regler i ER-scheman eller UMLklass diagram? I Som klasser: RABATT KlassArabatt:

Läs mer

Abstraktion. Objektorientering. Kartor. Kartor. Hus. Generalisering

Abstraktion. Objektorientering. Kartor. Kartor. Hus. Generalisering Abstraktion Objektorientering Process som bygger på att känna igen och fokusera på viktiga karakteristika hos objekt eller i en situation. Förmågan att kunna filtrera bort eller bortse från oviktiga detaljer.

Läs mer

Databaser och databasdesign. Den relationella modellen, normalisering och modellering (2)

Databaser och databasdesign. Den relationella modellen, normalisering och modellering (2) Databaser och databasdesign Den relationella modellen, normalisering och modellering (2) Varför databaser (DB)? Vi vill och måste kunna lagra data på sätt som motsvarar olika verksamheters behov Vad är

Läs mer

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Objektorienterad analys och design 1 Dagens föreläsning Första delen, innan rasten: Motivation och bakgrund Analys Funktioner Andra delen, efter rasten: Objektorienterade

Läs mer

Tentamen EIT:DB Databastmetodik 11/1 2013 kl. 13 17 + Lösningsförslag

Tentamen EIT:DB Databastmetodik 11/1 2013 kl. 13 17 + Lösningsförslag Tentamen EIT:DB Databastmetodik 11/1 2013 kl. 13 17 + Lösningsförslag Inga hjälpmedel är tillåtna (annat än ordbok). Kort syntaxsamling för delar av SQL samt lista med symboler för relationsalgebraiska

Läs mer

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta

Läs mer

Databaser design och programmering. Design processen ER- modellering

Databaser design och programmering. Design processen ER- modellering Databaser design och programmering Design processen ER- modellering 2 Programutveckling Förstudie, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign Databasdesign

Läs mer

Informationssystem och databasteknik

Informationssystem och databasteknik Informationssystem och databasteknik Föreläsning 5 Analytisk databasdesign F5! Funktionellt beroende: Pnr Namn Funktion (i vanlig mat. betydelse): 610321 11111 22222 33333 Maria Eva Sture Olle För varje

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem 10 April 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje

Läs mer

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ Föreläsning 7 OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram - Kravspecifikationer, användningsfall, systemarkitektur - Analysfas vad är analys?

Läs mer

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 2003-01-20 DAV B04 - Databasteknik 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 26 Relationsmodellen En formell teori som baserar sig på (främst) mängdlära predikatlogik Föreslogs av E.F Codd 1970 i

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem 16 Januari 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje

Läs mer

Databaser. Vad du ska lära dig: Ordlista

Databaser. Vad du ska lära dig: Ordlista Databaser Vad du ska lära dig: Ordlista Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda en

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1, föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion.

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion. Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Programdesign, databasdesign Databasdesign Konceptuell design Förstudie, behovsanalys

Läs mer

Relationsmodellen och syntetisk databasdesign

Relationsmodellen och syntetisk databasdesign Relationsmodellen och syntetisk databasdesign Den teoretiska grunden för relationsdatabaser Från konceptuellt schema till databas Relationsmodellen Bil Ägare En relationsdatabas är en databas som uppfattas

Läs mer

Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem?

Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem? Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem? En mängd program som tillåter användaren att skapa och underhålla

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2 729G75: Programmering och algoritmiskt tänkande Tema 3, föreläsning 2 Översikt Vanliga mönster när man designar en klass Klass-diagram Exempel Arv i Python Egna klasser använd som egna datatyper, men även

Läs mer

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen Webprogrammering och databaser Konceptuell datamodellering med ER-modellen 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

Läs mer

Studentsynpunkter? Vad menas med IT i organisationer. Moderna affärsstrategier. Beskriva organisationer ur olika perspektiv.

Studentsynpunkter? Vad menas med IT i organisationer. Moderna affärsstrategier. Beskriva organisationer ur olika perspektiv. Moderna affärsstrategier Beskriva organisationer ur olika perspektiv F2 Vad menas med IT i organisationer IT i organisation Vad är en organisation? Vad menas med perspektivet IT i organisationer? Studentsynpunkter?

Läs mer

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU Databaser Design och programmering, IDA Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp Kursöversikt Teori och praktik Fö och bok lektioner, labbar i projekt (3,5hp=100h)

Läs mer

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem Webprogrammering och databaser! Idag: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Start på ER-modellering! Webprogrammering Kursöversikt! Databasteori och praktik! Fö, le, la + projekt!

Läs mer

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag 729G28 Webprogrammering och Kursansvarig: Eva Ragnemalm, IDA eva.ragnemalm@liu.se Kursassistent: Anders Märak Leffler anders.marak.leffler@liu.se Webprogrammering och Föreläsning 1: Diverse praktiskt om

Läs mer

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen Webprogrammering och databaser Konceptuell datamodellering med ER-modellen 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1. Föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

Objektorienterad programmering, allmänt

Objektorienterad programmering, allmänt Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 juni 2005 1 Vilka egenskaper vill vi att program ska ha? Förslag (en partiell lista): De ska... gå snabbt att skriva vara

Läs mer

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha? Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 mars 2005 1. Korrekthet 2. Robusthet 3. Utökbarhet 4. Återanvändbarhet 5. Kompatibilitet

Läs mer

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18 LiTH, Tekniska högskolan vid Linköpings universitet 1(5) IDA, Institutionen för datavetenskap Juha Takkinen Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18 Lokal T2 och

Läs mer

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information. Vad är en databas? Exempel på databaser: Kortregister på kontor Sjukvårdsjournal Bokregister på bibliotek Medlemsregister i en förening Kundregister på företag Telefonkatalogen Databas = Organiserad samling

Läs mer

Laboration 1: Figurer i hierarki

Laboration 1: Figurer i hierarki Laboration 1: Figurer i hierarki Bakgrund Två grundläggande tekniker i objektorienterad konstruktion är arv och komposition. Mål Laborationen har flera avsikter: 1. Ge kunskaper i hur program kan organiseras

Läs mer

Att fatta rätt beslut vid komplexa tekniska upphandlingar

Att fatta rätt beslut vid komplexa tekniska upphandlingar Att fatta rätt beslut vid komplexa tekniska upphandlingar Upphandlingsdagarna 2015 Stockholm 29 januari 2015 1 Inledning Den här presentation kommer att undersöka de vanligaste fallgroparna vid komplex

Läs mer

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget Idag Varför modellera? Varför modellera? Konceptuell modell sverktyg Objektklasser Sambandsklasser Knepiga attribut sprocessen I all ingenjörsverksamhet där man hanterar komplicerade system behöver man

Läs mer

Programmering = modellering

Programmering = modellering Programmering = modellering Ett datorprogram är en modell av en verklig eller tänkt värld. Ofta är det komplexa system som skall modelleras I objektorienterad programmering består denna värld av ett antal

Läs mer

Databaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema

Databaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Relationsmodellen Introducerades av Edward Codd 970 Mycket vanlig Stödjer kraftfulla

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem 13 Mars 2014 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje blad.

Läs mer

Objektorientering Användning

Objektorientering Användning Objektorientering Användning Samt repetition av klasser Suzana Ramadani 1 Repetition Objektorientering bygger på Abstraktion Hierarkisk strukturering Inkapsling Klassificering Generalisering specialisering

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2 729G75: Programmering och algoritmiskt tänkande Tema 3, föreläsning 2 Översikt Vanliga mönster när man designar en klass Arv i Python UML-diagram Exempel Vanliga mönster när man designar en klass Namngivning

Läs mer

25/11/14. Databasteknik och informationssystem DD1370. Påminnelse inför Lab 1 redovisningen. Repetition: ER modellering (gammalt + nytt)

25/11/14. Databasteknik och informationssystem DD1370. Påminnelse inför Lab 1 redovisningen. Repetition: ER modellering (gammalt + nytt) 25//4 Påminnelse inför Lab redovisningen Databasteknik och informationssystem DD370 Föreläsning 5: ER-modellenà Databas Påminnelse: Kursens mål. Förklara ett databashanteringssystems funktioner och uppbyggnad

Läs mer

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen Idag Modellering Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen DD1370 (Föreläsning 3) Databasteknik och informationssystem

Läs mer

Objektorientering Klasser

Objektorientering Klasser Objektorientering Klasser VSA110 1 OOA I analysen upprättas: Klassdiagram Objektdiagram Tillståndsdiagram Scenario Användningsfall Sekvensdiagram Användardialoger (skärmbilder) 2 Analys - en översikt Vi

Läs mer

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser? Databaser Design och programmering! Diverse praktiskt! Varför databaser?! Vad är en databas?! Andra viktiga begrepp Kursöversikt! Teori och praktik! Samläsning! Olika projekt! Examination (tenta, labb

Läs mer

Databaser - Design och programmering

Databaser - Design och programmering Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Fö 1; introduktion Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp 2 Kursöversikt

Läs mer

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen Idag Modellering Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen DD1370 (Föreläsning 3) Databasteknik och informationssystem

Läs mer

Bygg bro mellan ITIL v2 och v3 - Bridgekurser - DF Seminarium 2008-09-05

Bygg bro mellan ITIL v2 och v3 - Bridgekurser - DF Seminarium 2008-09-05 Bygg bro mellan ITIL v2 och v3 - Bridgekurser - DF Seminarium 2008-09-05 Innehåll Kursöversikt ITIL v3 Utbildningsschemat Målgrupper & förkunskapskrav Kursuppbyggnad & innehåll V2 V3, Service Lifecycle,

Läs mer

Företagsmodellering i UML

Företagsmodellering i UML Företagsmodellering i UML En kort-kort introduktion av Ambjörn Naeve http://kmr.nada.kth.se Modellering En modell är en förenklad beskrivning av ett komplext område En modell är motiverad av mål (= har

Läs mer

Inkapsling (encapsulation)

Inkapsling (encapsulation) UML UML är en standard för att dokumentera och visualisera sina tankar och beslut under analys och design. Att lära sig allt om UML får inte plats i den här kursen, men vi kommer lära oss vissa delar.

Läs mer

F8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander

F8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander F8 - Arv ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Arv och subklasser Klasser innehåller attribut och beteenden En subklass ärver dessa från föräldern Detta ger: Återanvänd kod

Läs mer

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 en systematisk metod för att gå från problembeskrivning till färdigt

Läs mer

Inför projektuppgiften. Markus Buschle, markusb@ics.kth.se

Inför projektuppgiften. Markus Buschle, markusb@ics.kth.se Inför projektuppgiften Markus Buschle, markusb@ics.kth.se Agenda Möjligheter,ll samarbete Enterprise Architecture för beslutsfa8ande Modell Analys Resultat Projektuppgi? Exempel Möjligheter,ll samarbete

Läs mer

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML Målet Mer OOP Mer om klasser Några exempel UML Modularitet Språkligt modulära enheter Få gränssnitt Små gränssnitt Tydliga gränssnitt Dold information Återanvändbarhet Variation i typer Variation i datastrukturer

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg Allmänna Tips Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut

Läs mer

VAD GÖR DU / VEM ÄR DU?

VAD GÖR DU / VEM ÄR DU? INNEHÅLL Vad blir din roll Databaser vad är och varför Terminologi Datamodellering vad är och varför Utvecklingsprocessen SQL vad är det Data / Information / Kunskap Kapitel 1 delar av. Praktisk Datamodellering

Läs mer

Vad är en databas? Databasutveckling Med MySQL/MariaDB

Vad är en databas? Databasutveckling Med MySQL/MariaDB Databasutveckling Med MySQL/MariaDB Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Vad är en databas? Från Wikipedia En databas (tidigare databank) är en samling information som är organiserad

Läs mer

Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.

Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp. Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Att instansiera en klass Objekt I Man instansierar (skapar

Läs mer

732G16: Databaser - Design och programmering

732G16: Databaser - Design och programmering 732G16: Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Johan Falkenjack, IDA (johan.falkenjack@liu.se) Fö 1 Introduktion 2 Kursöversikt Teori och praktik Kursbok, lektionshäfte,

Läs mer

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv

Läs mer

Föreläsning 4 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Normalisering (Analytisk databasdesign)

Föreläsning 4 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Normalisering (Analytisk databasdesign) Föreläsning 4 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Normalisering (Analytisk databasdesign) 1 Vad är en databas? Logiskt sammanhängande mängd av data,

Läs mer

Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT 2013 1 / 33

Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT 2013 1 / 33 Programmering i C++ EDA623 Objektorienterad programutveckling EDA623 (Föreläsning 5) HT 2013 1 / 33 Objektorienterad programutveckling Innehåll Grundläggande begrepp Relationer mellan objekt Grafisk representation

Läs mer

Analytisk relationsdatabasdesign

Analytisk relationsdatabasdesign Analytisk relationsdatabasdesign Att förbättra kvaliteten i databaser Presenter s Name Organization name www.horton.com Domän-regler och främmande nyckel regler via DDL Datatyp! Datatyp! Maxvärde! Maxvärde!

Läs mer

Hitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet

Hitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet Föreläsning 13 Innehåll Algoritm 1: Sortera Exempel på problem där materialet i kursen används Histogramproblemet Schemaläggning Abstrakta datatyper Datastrukturer Att jämföra objekt Om tentamen Skriftlig

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem Exempeltenta för kursen ht2013 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan

Läs mer

Översättning av modeller uttryckta med STANLIs begreppsmodell till Express

Översättning av modeller uttryckta med STANLIs begreppsmodell till Express STG Allmänna Standiseringsgruppen 1995-10-03 1(17) Översättning av modeller uttryckta med STANLIs begreppsmodell till Express Marianne Janning Clary Sundblad På uppdrag av Allmänna Standardiseringsgruppen

Läs mer

Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram

Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram Analys och design med hjälp av CRC 83 Klassdiagram Objekt Ett objekt är en individuellt identifierbar entitet som kan vara konkret eller abstrakt. Ett objekt har tillstånd, beteende och identitet. Reellt,

Läs mer

Introduktion till databaskursen. Välkomna. till kursen. Databasteknik och informationssystem. DD1370 (kursomgång dbtinf12)

Introduktion till databaskursen. Välkomna. till kursen. Databasteknik och informationssystem. DD1370 (kursomgång dbtinf12) Välkomna Introduktion till databaskursen Välkomna till kursen Databasteknik och informationssystem DD1370 (kursomgång dbtinf12) En kurs om grunderna i databasteknik DD1370 (Föreläsning 1) Databasteknik

Läs mer

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 1 Objekt-orienterad analys och design: Litteratur Skansholm: Kapitel 4 Se även 1. http://www.uml.org/ 2. http://www-306.ibm.com/software/rational/uml/

Läs mer

Relationsdatabasdesign

Relationsdatabasdesign Vad är Relationsdatabasdesign? Relationsdatabasdesign nikosd@kth.se 08-7904460 rum 8522 Connolly/Begg (3rd edition) Kapitel 4., 4.2 och 5 (4th edition) Kapitel 5., 5.2 och 6 (5th edition) Kapitel 6., 6.2

Läs mer

D0004N 2008-11-24 Databaser I. Greenline. Petter Hedlin / epeehi-4 Rikard Stenmark / rikste-8 Markus Almberg / maralm-5

D0004N 2008-11-24 Databaser I. Greenline. Petter Hedlin / epeehi-4 Rikard Stenmark / rikste-8 Markus Almberg / maralm-5 D0004N 2008-11-24 Databaser I Greenline Petter Hedlin / epeehi-4 Rikard Stenmark / rikste-8 Markus Almberg / maralm-5 Inledning Det här är en mindre rapport om datamodellering. Vi blev tilldelade en kravspecifikation

Läs mer

Exempel tentamen. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt, annars rättas inte tentamen Alla hjälpmedel är tillåtna

Exempel tentamen. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt, annars rättas inte tentamen Alla hjälpmedel är tillåtna Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Exempel tentamen 2I-1100 Informationssystem och Databasteknik Tentamen är öppen i så motto att läroböcker, föreläsningsanteckningar,

Läs mer

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem till databaskursen Varför ska man lära sig sånt? till databaskursen till kursen Databasteknik och informationssystem Nästan alla större system idag innehåller eller använder data lagrad i en databas Så

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Instansiering Åtkomst Abstrakt datatyp UML Överlagring

Läs mer

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget Idag Varför modellera? Varför modellera? Konceptuell modell sverktyg Objektklasser Sambandsklasser Knepiga attribut sprocessen I all ingenjörsverksamhet där man hanterar komplicerade system behöver man

Läs mer

Exempel-tentamen 1. + Lösningsförslag. Inga hjälpmedel är tillåtna.

Exempel-tentamen 1. + Lösningsförslag. Inga hjälpmedel är tillåtna. Institutionen för Data- och Systemvetenskap SU/KTH Maria Bergholtz Exempel-tentamen + Lösningsförslag Inga hjälpmedel är tillåtna. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt,

Läs mer

Objektorienterad programmering. Grundläggande begrepp

Objektorienterad programmering. Grundläggande begrepp Objektorienterad programmering Grundläggande begrepp Hur beskriver vi objekt? Vill ha en representationsoberoende beskrivning Abstrakta datatyper! Data Operationer Objekt Representerar en verklig eller

Läs mer

VAD GÖR DU / VEM ÄR DU?

VAD GÖR DU / VEM ÄR DU? INNEHÅLL Vad blir din roll Databaser vad är och varför Terminologi Datamodellering vad är och varför Utvecklingsprocessen SQL vad är det Data / Information / Kunskap Kapitel 1 delar av. Praktisk Datamodellering

Läs mer

Grunderna för relationsmodellen!

Grunderna för relationsmodellen! Grunderna för relationsmodellen! 1 Varför behöver jag lära mig relationsmodellen?! Relationsmodellen är den totalt dominerande datamodellen i moderna databassystem Beskriver databaser som en mängd tabeller

Läs mer

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi 729G28 Webprogrammering och databaser Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi 2 Personal Examinator, Ansvarig databasteori: Eva Ragnemalm, eva.ragnemalm@liu.se

Läs mer

Databaser design och programmering. Fö 2: Design processen, ER-modellering

Databaser design och programmering. Fö 2: Design processen, ER-modellering Databaser design och programmering Fö 2: Design processen, ER-modellering 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

Läs mer

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design RE SD PD I UT IT ST AT Mjukvarudesign System Requirement Specification Inkrementell och iterativ! Konceptuell design (VAD) Systemdesign (OOA) Arkitekturell (grovkornig, UML) Teknisk design (HUR) Programdesign

Läs mer

Tentamen 2I1033, IT i Organisationer och Databasteknik lördag 17/4 2004, kl. 10 15 LÖSNINGSFÖRSLAG

Tentamen 2I1033, IT i Organisationer och Databasteknik lördag 17/4 2004, kl. 10 15 LÖSNINGSFÖRSLAG Institutionen för Data- och Systemvetenskap SU/KTH Maria Bergholtz Tentamen 2I033, IT i Organisationer och Databasteknik lördag 7/4 2004, kl. 0 5 LÖSNINGSFÖRSLAG Inga hjälpmedel tillåtna. Skriv bara på

Läs mer

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem till databaskursen Varför ska man lära sig sånt? till databaskursen till kursen Databasteknik och informationssystem Nästan alla större system idag innehåller eller använder data lagrad i en databas Så

Läs mer

Tentamenskod: Tentamensdatum: Tid: 14:00-19:00. Inga hjälpmedel är tillåtna

Tentamenskod: Tentamensdatum: Tid: 14:00-19:00. Inga hjälpmedel är tillåtna Databasteknik 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Tentamen NDA01G Öppen för alla Tentamenskod: Tentamensdatum: 2017-11-02 Tid: 14:00-19:00 Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer