25
1 2006-10-25 1 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 2 Konceptuell modellering och Databasmodellering Från verklighet till system Konceptuell modellering Modelleringsmönster

Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

1

2006-10-25 1

Konceptuell modellering och Databasmodellering

Kontoutdelning EFTER dagens föreläsning (WinXP/FC/Daisy/Unix)

Programvaror på kursen:MySQLMS Access 2003Rational Rose

2006-10-25 2

Konceptuell modellering och Databasmodellering

Från verklighet till systemKonceptuell modelleringModelleringsmönster

Page 2: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

2

3

Från verklighet till system

Verklighet

Urval

Modell

Informationssystem

ProduktOrder

Kund

4

Arkitektur hos ettinformationssystem

Data

Presentation

Applikationslogik

Användargränssnittvia en browser

Java servlets somexekverar på en server

Data från endatabashanterare

Page 3: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

3

5

Relationsdatabaser

Namn Gatuadress Postnummer Postadress Telefon Kontokort GiltighetstidPia Eriksson Storg. 12 171 55 Torget 88 77 66 155 666 777 11/01Ulf Eriksson Storg. 12 171 55 Torget 88 77 66 234 555 678 11/00Ola Hansson Lillg. 2 218 43 Landet 55 44 11 666 222 111 09/01Bo Eriksson Storg. 12 171 55 Torget 88 77 66 432 654 221 11/01Bo Johnsson Eriksg. 45 171 55 Torget 99 77 21 123 444 321 11/01My Hansson Lillg. 2 218 43 Landet 55 44 11 666 222 111 09/01

KUND

6

Frågespråk

Hur kommer applikationsprogrammen åt data i databasen?Genom ett frågespråk.

SELECT NamnFROM PRODUKTWHERE Typ = ”Stol”

Page 4: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

4

7

Presentation

Hur kommer (slut-) användare åt information i databasen?Gränssnittet ger möjlighet att nåapplikationsprogrammenoch därmed data i databasen.

8

Modeller

Modell:Struktur som avbildar vissa aspekter av någon del av verklighetenExempel:KartorDifferentialekvationerKonceptuella modellerSyfte med modeller:Studera verkligheten indirekt genom att studera modellenUnderlätta kommunikation Utgöra underlag för vidare implementering

Page 5: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

5

9

Building the “right” system

Universe of Discourse Use of CM

Contract

Data-base

“System”

Education,Reverse Engineering

Conceptual Model (CM)

ANIMAL SPECIES

FLOCKMEMBERSHIP

0..*

0..*

0..*

1

belongs_to

1

1

Weight Mean_weight

Date Number

?=<>

myflock

my_animal

10

Grafiska modelleringsspråk

Exempel på grafiska modelleringsspråk: UML, E(A)R diagram, Petri nets, Event-Process Chain (EPC), IDEF0, IDEF3, dataflödesdiagram, Role-activity diagrams (RAD), databasdiagram

Några grafiska modelleringsspråk är mer expressiva (uttrycksfulla) än andra. Ett skäl till det är att vissa innehåller fler modelleringselement (symboler). De kan då representera fler begrepp, det vill säga fler aspekter av verkligheten (systemet). En nackdel är att ett sådant språk har fler modelleringstermer för användaren att lära sig

Page 6: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

6

11

Varför använda grafiska modeller?

- Analysredskap – underlättar analys av en verksamheten

- Designbeskrivningar – ritningar över systemet som ska byggas

eller förändras

- Valideringsinstrument – det vill säga validera systemet mot

användare och uppdragsgivare med hjälp av grafiska modeller

så att systemet får rätt egenskaper innan det byggs klart

- Kontrakt mellan beställare och utförare

12

Modeller: Struktur och beteende

Beteendemodeller / beteendediagram

- specificerar dynamiska (beteendemässiga) aspekter av systemet, det vill säga specificerarsjälva manipuleringen / förändringen av destatiska relationerna och i vilken ordning det sker

Strukturella modeller / strukturdiagram

- specificerar statiska aspekter av systemet, det vill säga statiska relationer / förhållanden mellantermer

Page 7: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

7

13

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!

14

Modeller – problem?

Modell: En struktur som avbildar vissa aspekter av någon del av verkligheten

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änenmen inte språket

Ex på modell - KARTA

Page 8: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

8

15

Modellering fortsättning

Kontroll av data skall ske så tidigt (så nära källan) som möjligt!

Systemet ska 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) och modelleringsspråket måste kunnarepresentera alla typer av sakförhållanden.

16

Ogdens triangel

EXTENSION

TERM

INTENSION

Page 9: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

9

17

Samma ord - olika begrepp (homonymer)

På vilka sätt används ordet ”bok” i meningarna nedan?Jules Verne skrev många böcker, en har boktiteln ’Kapten Grants barn’Biblioteket i Vällingby har många böckerOm ’Kapten Grants barn’ trycks i A4-format blir antalet sidor i en tryckt bok 100.Bokhandlaren i Jönköping sålde många böcker

18

Samma begrepp - olika ord (synonymer)

Avskeda - Friställa

Arbetsgivare – Arbetsköpare

Student – Elev?

Page 10: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

10

19

Modeller och modelleringsspråk

Modell

System

Språk

beskrivs av

är skrivet i ett

20

UML klassdiagram

Klass

Association

Page 11: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

11

21

Klassdiagram – centralt i UML

Klassdiagrammen är i majoritet – har blivit nästan synonymt med UML.

Klassdiagram beskriver klasser som finns i en domän eller ett system, och statiska associationer mellan klasserna.

Klassdiagram visar också klassernas attribut (och operationer).

Studentpersonnrnamnepostadress

registreraFörKurs()

KurskursIDkursnamn

Notera här, att man kan se följande ord användas som synonymer :

• typ och klass,• relation och association,• strukturell och statisk,

22

Klasser – notationsvarianter

Klassnamn

AttributOperationer

Studentpersonnrnamnepostadress

registreraFörKurs()begäraUtökatKonto()

Studentpersonnrnamnepostadress

Student

Page 12: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

12

23

Klassdiagram och objektdiagram

Studentpersonnrnamnbostadsadressepostadress

annaSvan:Studentpersonnr = ”770102-XXXX”namn = ”Anna Cecilia Svan”bostadsadress = ”Ekvägen 10”epostadress = ”[email protected]

nilsHall:Studentpersonnr = ”850302-XXXX”namn = ”Nils Erik Hall”bostadsadress = ”Rågstigen 3”epostadress = ”[email protected]

ObjektdiagramKlassdiagram

Kallas ofta instansdiagram.

Utökad notation för namngivning.

Attribut tilldelas värden.

Alla associationer från klassdiagrammet följer med till objekten.

Kan ses som en stillbild av ett eller fler objekt vid en viss, given tidpunkt. Varför? Attributens värden kan ändras under objektens livscykel.

Klass Objekt (instans)Objekt (instans)

24

Egenskaper har multiplicitet (så kallade avbildningsregler)

Multipliciteten för en egenskap (attribut eller association) indikerar hur många olika objekt (eller värden) som kan uppfylla egenskapen.

Multiplicitet för associationer anges vid de associerade klasserna var för sig.

För fullständighet när vi anger multiplicitet gäller att:- det minsta antalet anges först- det största antalet anges sist- två punkter skrivs ut mellan antalen

Studentpersonnrnamnepostadress

KurskursIDkursnamn

RegistreringregistreringsIDdatum

0..*1..1 0..* 1..11..11..1

1..*

1..11..1

1..10..1

Page 13: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

13

25

Multiplicitet – vanliga kombinationer

1..1 Minst 1 och högst 1. Exempel: En student har ett, och endast ett, värde på attributet personnr.

1..* Minst 1 och obegränsat övre antal. Exempel: En student har alltid en epostadress sig tilldelad, men kan ha hur många som helst fler.

0..* 0 är giltigt och obegränsat övre antal. Exempel: En student behöver inte ha någon registrering på någon kurs, men kan ha registreringar på ett godtyckligt antal.

0..1 0 är giltigt och högst 1 Exempel: En kurs behöver inte ha fått ettkursnamn, och kan ha högst ett.

Studentpersonnrnamnepostadress

KurskursIDkursnamn

RegistreringregistreringsIDdatum

0..*1..1 0..* 1..11..11..1

1..*

1..11..1

1..10..1

26

Avbildningsregler för ATTRIBUT i UML –vad identifierar en klass?

Studentpersonnrnamnepostadress

1..11..1

1..*

Studentpersonnrnamnepostadress

1..1, UNIK1..1

1..*

Page 14: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

14

27

Att namnge associationer

Tre sätt att namnge associationer:

1) med ett verb vid vardera klassen.

Identifiera, eller härled, lämpliga verb ur domänbeskrivningen som uttrycker associationens semantiska betydelse vid var och en av de associerade klasserna.

Exemplet uttyds:

- en bil genomgår noll-till-många bilregistreringar

- en bilregistrering gäller exakt en bil

Bil Bilregistrering1..1

0..* datum 1..1bilmärke 1..1 gäller

genomgår

28

Att namnge associationer, forts.

Tre sätt att namnge associationer:

2) med ett enda verb vid associationsstrecket.

Identifiera, eller härled, ett verb ur domänbeskrivningen som uttrycker associationens semantiska betydelse bäst. Ange vid associationsstrecket.

Markera läsriktningen. Görs med en fylld pilspets.

Exemplet uttyds:

- en bil genomgår noll-till-många bilregistreringar

Bil Bilregistrering1..1

0..* bilregistreringsdatum 1..1bilmärke 1..1 genomgår

Page 15: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

15

29

Att namnge associationer, sista

Tre sätt att namnge associationer:

3) med ett substantiv vid vardera klassen.

Identifiera, eller härled, ur domänbeskrivningen vilken respektive roll de associerade klasserna har i just den aktuella associationen. Rollerna är substantiv. Ange de tvåsubstantiven vid respektive klass.

Exemplet uttyds:

- en student kan, när den är exjobbare, ha en-till-många lärare som handledare

- en lärare kan vara handledare till noll-till-många studenter som är exjobbare

Student Lärare0..*

1..* anstnr 1..1studregnr 1..1 exjobbare

handledare

30

Multiplicitet för associationer

Multiplicitet beskriver hur många olika objekt som kan delta i en association mellan två klasser.

Exempel:

Ett Studentobjekt associeras till noll-till-många Registreringar.

Ett Registreringobjekt associeras till en-till-en, d.v.s. exakt en, Student.

Studentpersonnrnamnepostadress

KurskursIDkursnamn

RegistreringregistreringsIDdatum

0..*1..1 0..* 1..1

Page 16: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

16

31

Multiplicitet - regler i systemet vs ’common sense’

BIL PERSONRegno: Sträng 1..1UNIKMärke Sträng 1..1

Pnr: Sträng 1..1UNIK

ägs_av

32

Multiplicitet - en övning

PERSON

har_mor

Vilka avbildningsregler gäller för associationen ’har_mor’ ?

Page 17: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

17

33

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 textuellabeskrivningar av det system man ska modelleraHur angripa dessa? Verb, substantiv, adjektiv? Modelleringsmönster, så kallade data-abstractions, tumregler, med mera...

34

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.

Page 18: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

18

35

BESTÄLLNING

KUNDPRODUKT

BESTÄLLNINGS-RAD

LEVERANS

1..1

1..*

1..1

0..*1..1

0..*

0..1

1..*

NamnTypHöjdBredd DjupMaterialViktPrisBild-litenBild-stor

NamnGatuadressPostnummerPostadressTelefonKontokortGiltighetstid

Best-nummerGatuadressPostnummerPostadressDatumFraktkostnad

Antal

LeveransbilAvtalatdatumAvtaladtidAvgångsdatumAvgångstidLeveransdatumLeveranstid

36

Multiplicitet som mått på en modells kvalitet?

Tumregel: Alla attribut i en klass bör vara totala (= ha minvärde 1)

Ett stort antal partiella attribut (attribut med minvärde = 0) betyderatt inte alla instanser (objekt) av klassen har något värde på attributen/egenskaperenaifråga vilket tyder på att man blandat flera fenomen i en och samma klass.

DJURNamn: 1..1 Skatt_betald: 0..1Adress: 0..1Vikt: 1..1Medelvikt: 0..1Utbredning-sområde: 0..1

DJURNamn: 1..1Adress: 1..1Vikt: 1..1

ARTUtbrednings-område 1..1Medelvikt 1..1

HUNDSkatt_betald: 1..1

Page 19: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

19

37

Modelleringsmönster- Analysmönster - Data abstractions

Vilken verklighet man än vill avbilda så förekommer hierarkiska stru-kturer. Det betyder att vi måste fånga dessa strukturer i vår modell avsamma verklighet.

Däggdjur

Djur

Fåglar

Gräsätare

Hovdjur Tax

Gnu Kanin

Rovdjur

Gnagare

Pingvin

38

Klasschema med så kallade ’isa’-associationer:

DJUR

ROV-DJUR

DÄGG-DJUR

GNAGARE

GRÄS-ÄTARE

TAX

GNU

PINGVIN

HARE

FÅGLAR

HOVDJUR

isa isa

isaisa

isa isa

isa isa

isa

isa

Arv forts.

Page 20: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

20

39

Arv

HUND

DJUR

isa isa

En arvs-hierarki består av sub- och supertyper. Subtyperna utgör endelmängd av supertypen. Om subtyperna “täcker upp” hela super-typen säger man att de är uttömmande (eng. exhaustive). Om en och

höra till flera subtyper säger man attande (eng. mutually independent).

samma instans inte kan tillär ömsesidigt uteslut

MAN och KVINNA är ömsesidigtuteslutande och uttömmande mapPERSON

HUND och KATT är ömsesidigtuteslutande men inte uttömmande mapDJUR

subtyperna

KATTMAN

PERSON

isa isaKVINNA

Namn: String1..1 UNIK

Namn: String1..1 UNIK

Skatt: Integer1..1

Militärtjänstort:String: 1..1

40

Arv

Kund Kontohavare Konto

Företag

Person Bankbok

Lån

1 1..*

Hur hade schemat blivit om isa-relationer inte använts?

0..*

1..*Arbetar_hos

Kundnr: Integer

Namn : String 1..11..1 UNIK

Kontonr: Integer1..1 UNIK

Börsnoterad:String 1..1

Saldo: Integer 1..1

Lånesumma : Integer1..1

Page 21: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

21

41

Person KontoKontohavare

1 1..*

Kundnr: Integer

Namn : String 1..11..1 UNIK

Börsnoterad:String 0..1

Kontonr: Integer1..1Saldo: Integer 0..1Lånesumma:Integer 0..1

arbetar_hos

0..*

0..1

Arv

42

• Om subtyper har alla attribut och relationer gemensamma:

• Om en subtyp är uttömmande map supertypen: Låt sub-

• Om flera subtyper inte har några egna attribut eller relation-

Överväg att kombinera dem till en subtyp. Lägg ev. till ett

er: Överväg att slå samman dem till en subtyp.

extra attribut i entiteten som tjänas som typ-beteckning.

typen uppgå i supertypen.

Arv forts.

Page 22: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

22

43

Reifiering

BOT

botas SJUKDOM

BEHANDLING

SJUKDOM

botar

BEHAND-LINGbotmedel

blir:

Relationen “botar” är M:M. Om man vill lagra information som berör relationen “botar” måste relationen reifieras, dvs göras tillett objekt. Övriga M:M kan lämnas som de är på modelleringsnivå, men måste brytas upp när man skapar en relationsdatabas!

1..*

0..*

1

11..*

0..*

Procent: Float 1..1

44

Övning reifiering

KLUBBär_medlem_i

Uttöka det konceptuella schemat ovan så attdet klarar av att representera att en viss persongick in i en viss klubb vid ett visst tillfälle!

Klubb_namn: Sträng1..1 UNIK

PERSONNamn: Sträng 1..1UNIK

1..1 0..*

Page 23: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

23

45

Template-Copy strukturer (power types)

titel

Vissa objekt kan ses som “mallar”för andra objekt, “kopior”.En mall beskriver de generelladragen hos kopiorna som i sin turkan innehålla ett antal idividuelladrag. Mallar är ofta abstraktaobjekt medan kopior är konkretaobjekt. Kopior kan ses sommaterialiseringar av mallar.

BOK är ett typiskt exempel på enmall, boken som ett litterärt verk.BOK:en har en titel, en författareosv. De individuella kopiorna ärde fysiska exemplaren av detlitterära verket som kan ha egen-skaper som vikt, antal sidor etc.

Observera att KOPIA inte utgören delmängd av BOK. Template-Copies är inte samma sak somsupertyp-subtyp.

KOPIA

BOK

av_typ1

0..*

Författare: String

Titel: String 1..11..1 UNIK

Vikt: String 1..1

Antal_sidor 1..1

46

Samma ord - olika begrepp

På vilka sätt används ordet ”bok” i meningarna nedan?Jules Verne skrev många böcker, en heter ’Kapten Grants barn’Biblioteket i Vällingby har många böckerOm ’Kapten Grants barn’ trycks i A4-format blir antalet sidor i en tryckt bok 100.Bokhandlaren i Jönköping sålde många böcker

FörfattareTitelViktAntal_sidor

BOKFörfattareTitel

KOPIAViktAntal_sidor

1..1 0..*

tillhör

Page 24: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

24

47

PRODUKT

NamnTypHöjdBredd DjupMaterialViktPrisBild-litenBild-stor

KUND

NamnGatuadressPostnummerPostadressTelefonKontokortGiltighetstid

BESTÄLLNING

Best-nummerGatuadressPostnummerPostadressDatumFraktkostnadLEVERANS

LeveransbilAvtalatdatumAvtaladtidAvgångsdatumAvgångstidLeveransdatumLeveranstid

0..*

1..* 1..*

1..1

48

PRODUKT

NamnTypHöjdBredd DjupMaterialViktPrisBild-litenBild-stor

KUND

NamnGatuadressPostnummerPostadressTelefonKontokortGiltighetstid

BESTÄLLNING

Best-nummerGatuadressPostnummerPostadressDatumFraktkostnad

LEVERANS

LeveransbilAvtalatdatumAvtaladtidAvgångsdatumAvgångstidLeveransdatumLeveranstid

1..*0..*

1..*

1..1

BESTÄLLNINGS-RAD

Antal: 1..1l

1..1

1..1

Page 25: Konceptuell modellering och Databasmodelleringmaria/forstaandra.pdf · Modeller: Struktur och beteende Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga)

25

49

PRODUKT

NamnTypHöjdBredd DjupMaterialViktPrisBild-litenBild-stor

KUND

NamnGatuadressPostnummerPostadressTelefonKontokortGiltighetstid

BESTÄLLNING

Best-nummerGatuadressPostnummerPostadressDatumFraktkostnad

LEVERANS

LeveransbilAvtalatdatumAvtaladtidAvgångsdatumAvgångstidLeveransdatumLeveranstid

1..*0..*

1..*

1..1

BESTÄLLNINGS-RAD

Antal: 1..1l

1..1

1..11..*

0..1