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

Like dokumenter
The Unified Modeling Language - UML

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

Datamodellering med UML

Datamodellering med UML (forts.)

Modellenes to formål. Datamodellering med UML (forts.) Fra naturlig språk til datamodell. Figur 5-2. Ogdens trekant

Modellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant

Modellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant

Dagens tema. Den redundansfri datamodellen. Modellenes to formål. Individer i interesseområdet

Den redundansfri datamodellen

Dagens tema. Den redundansfri datamodellen. Modellenes to formål. Den grunnleggende konstruksjonen det elementære utsagnet

Datamodellering med ORM

Gerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn.

INF1050 Klasseromsoppgave Uke 6

Intermesso. Visjonen... samling av trådene. Veivalget. Et bedre bilde av visjonen?

Utvikling fra skallet og inn

Fra uryddig verden til strukturert stoppestedsdatabase

Gerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn.

Kravspesifikasjon. Dagens forelesning. Mal for kravspesifikasjon. Hvordan finne fram til kravene? Kravspesifikasjon og objektorientert analyse

Hva vi i alle fall bør huske fra INF1050

Skranker og avledninger

Kravspesifikasjon. Erik Arisholm. Simula Research Laboratory. Institutt for Informatikk. INF1050-krav-1

Kravspesifikasjon. Kravspesifikasjon. Mal for kravspesifikasjon. Hvordan finne fram til kravene? Hva skal systemet gjøre? Hvem og hva påvirker krav?

Utvikling fra kjernen og ut

Utvikling fra kjernen og ut

Dagsorden. Hovedtemaene i INF102. Fra kjernen og ut. Produksjon av informasjonssystemer. Produksjon av informasjonssystemer

Utvikling fra kjernen og ut

Utvikling fra kjernen og ut

Språk for dataorientert modellering

Utvikling fra kjernen og ut

Kart og andre umodne objekter

Kap3: Klassemodellering

Signalgrensesnitt for Trafikanten Pluss

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen

INF1000: Forelesning 7. Konstruktører Static

Kravspesifikasjon med UML use case modellering. Erik Arisholm

Beskjed fra Skagestein

Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

1. Designe ER-modeller med MS Visio

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO Institutt for informatikk. Masteroppgave 60 Studiepoeng. Et verktøy for å editere datamodeller i flere views.

NB! Endring i undervisningsplanen

Datamodellering 101 En tenkt høgskoledatabase

Sensorveiledning for IN2090 og INF desember :30 18:30 (4 timer)

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

Fra krav til objekter. INF1050: Gjennomgang, uke 05

INF1300 Introduksjon til databaser

INF1000: Forelesning 7

UNIVERSITETET I OSLO

Skranker og avledninger

UKE 11 UML modellering og use case. Gruppetime INF1055

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen Verdiskranker Mengdeskranker

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Dataorientert modellering

Systemutvikling fra kjernen og ut, fra skallet og inn

INF1300 Introduksjon til databaser

Unified Modeling Language (UML) Kravspesifikasjon med UML use case modellering. UML diagrammer. Notasjon som støtter opp under modellbasert

IN2090 Introduksjon til databaser

IN2090 Databaser og datamodellering ORM 1

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Klasser, objekter, pekere og UML. INF gruppe 13

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

Fra krav til modellering av objekter

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models

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

Databaser: Relasjonsmodellen, del I

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

INF1300 Introduksjon til databaser

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

INF 1050 BRUK AV MODELLERINGSVERKTØYET RATIONAL ROSE

Grafisk editor for automatisk gruppering og degruppering av dataorienterte klassediagrammer. Masteroppgave. Øyvind Stegard

INF212 - Databaseteori. Kursinnhold

INF1300 Introduksjon til databaser

Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller

Løsningsforslag til Case. (Analysen)

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

Persistens. Erik Arisholm. Institutt for informatikk Erik Arisholm INF1050-persistens-1

UML 1. Use case drevet analyse og design Kirsten Ribu

Informasjonsbærende representasjoner

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

INF1050 Klasseromsoppgave Uke 7

UML-Unified Modeling Language

INF1300 Introduksjon til databaser

Kravspesifikasjon med. Erik Arisholm

Spesifikasjon av Lag emne

IN2090 Introduksjon til databaser

Dagens tema: Ekvivalente stier og joinskranker Ringskranker Informasjonsbærende representasjoner Behandling av tid

Kravspesifikasjon med. UML diagrammer. systemutvikling. Dokumentasjon av systemets krav, arkitektur, design og implementasjon

INF3100 Databasesystemer

1. Datamodellering Kommentarer til læreboka

INF1010 UML. Marit Nybakken 26. januar 2004

A Study of Industrial, Component-Based Development, Ericsson

INF Introduksjon til databaser ORM I

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

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

Fra problem til program

Transkript:

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 5 Informasjonssystem Oppfatningen av interesseområdet Brukere dmuml- dmuml-2 Modellenes to formål The Unified Modeling Language - UML Interesseområdet Et sett med diagramteknikker, ubeidet av toneangivende grupperinger innen OO, standardisert av OMG Beskrivelse Oppfatningen av interesseområdet Usage Diagram type Use-Case diagram Class/object diagram Use- Case Logical Component Concurrency Deployment Sequence diagram Foreskrivelse Collaboration diagram State diagram Activity diagram Component diagram Informasjonssystem Brukere Deployment diagram dmuml-3 dmuml-4

Figur 4-6. En relasjonsdatabase med to tabeller Klassemodell fylkenr fylkenavn 0 Østfold 02 Akershus 03 Oslo Husholdningsavfall NOT NULL fylkenr kommunenr 0 00 0 004 NOT NULL Halden Moss avfallsmengde 0228 0423 NOT NULL 2647 25860 Klasse Attributt Assosiasjon Rolle : ligger-i 0: Multiplisiteter (min:maks) = : = 0: {id} identifikator {unique} ikke like verdier {null} NULL tillatt {fk} fremmednøkkel vilkårlig mange 0 005 Sarpsborg 2600 46692 jfr. læreboka figur 5-9 dmuml-5 dmuml-6 Assosiasjon tolket som tabell Påkrevd rolle ligger-i 0: 00 0 : 004 005 0 0 En assosiasjon kan tolkes som en tabell med identifikatorverdiene som forekomster. Entydighetsskranke avledes fra maksimumsmultiplisiteten, påkrevd rolle fra minimumsmultiplisiteten Figur 6-2. Oversettelsestabell fra multiplisiteter til entydighetsskranker og påkrevde roller UML : 0: 0: tabell Merk presiseringen av dmuml-7 dmuml-8

En assosiasjon kan leses som en setning ligger-i 0: 00 0 : 004 005 0 0 med kommunenr 00 ligger i fylke med fylkenr 0 Diagrammet kan også leses den motsatte veien. Da må vi bruke korollen Jf. læreboka figur 6.3 Verbaler eller substantiv som roller? Verbaler (se forrige lysark) gir en mer direkte overgang mellom naturlig språk og tabell Substantiv gjør senere navngiving av attributter noe enklere Substantivformen kommer fram ved å svare på spørsmålet: Hvilken rolle spiller begrepet i setningen? med kommunenr 00 er kommune i fylke med fylkenr 0 kommune fylke 0: : 00 0 004 005 0 0 dmuml-9 dmuml-0 Figur 5-2. Ogdens trekant Thoughts of Reference Begreper Bil Døgn Figur 6-4. Fra (nesten) vanlig norsk til et formalisert utsagn Begrep Representasjon Forekomst Rolle 8076543873 DF 2345 9. febr. 2003 2003-02-9 Symbol Lingvistiske elementer representasjoner Referent Fenomener i interesseområdet med kommunenr 00 er kommune i fylke med fylkenr 0 kommune 00 fylke Et begrep er en klasse uten vanlige attributter bare med en representasjon 0 dmuml- dmuml-2

Et eksempel - systemet Kari INF050 våren 2004 På INF050 våren 2004 går det 277 studenter, og kurset hovedlærere er G. Skagestein, T. Bratteteig og E. Arisholm Kari INF050 våren 2004 Ola INF050 våren 2004 Kari INF040 høsten 2003 systemet (forts.) På INF050 våren 2004 går det 277 studenter På INF00 våren 2004 går det 457 studenter Vi lager flere eksempler for å bli sikre på hva som er forekomster. Vi finner også implisitte setninger Anbefalte forkunnskaper for INF050 er INF000 og INF040 INF050 våren 2004 har hovedlærerne G. Skagestein, T. Bratteteig og E. Arisholm et INF050 våren 2004 er en gjennomføring av emnet INF050 Anbefalte forkunnskaper for INF050 er INF000 og INF040 Anbefalte forkunnskaper for INF00 er INF000 dmuml-3 dmuml-4 systemet (forts.) med navn Kari kurs med INF050 og semesterkode våren 2004 et INF050 våren 2004 er en gjennomføring av emnet INF050 systemet (forts.) gjennomføring hovedlærer [0:] Legg merke til at forekomstene ikke vises i diagrammet! hovedlærer [0:] Modell med repeterende attributt avviker fra krav i tabelldatabaser dmuml-5 dmuml-6

systemet (forts.) Fremmednøkkel vs. assosiasjon Repeterende attributt erstattet med assosiasjon til en ny klasse Hovedlærer : ligger-i 0: OBS! Fremmednøkkelen avledes fra assosiasjonen. Fremmednøkkelen settes inn i klassen motsatt maksimumskardinalitet. Fremmednøkkelen kalles opp etter identifikatoren til den assosierte klassen, eller etter rollen den spiller Fremmednøkkelen er representasjonen av assosiasjonen i en tabelldatabase dmuml-7 dmuml-8 Fremmednøkkel NULL Fremmednøkkelen er redundant 0: : ligger-i 0: OBS! ligger-i 0: {null} Dersom motsatt minimumskardinalitet er 0, kan fremmednøkkelen være NULL. I klassediagrammet er fremmednøkkelen redundant og kan sløyfes dmuml-9 dmuml-20

systemet (forts.) Attributt eller assosiasjon til en klasse? Fremmednøkkelen er markert {fk}{id} Hovedlærer : ligger-i 0: {fk} ordfører ordfører Er ordfører et attributt til en kommune eller en rolle som spilles av en person? dmuml-2 dmuml-22 Modell med bare id og fk Modell med begreper fylkenavn {fk}{unique} navn fylke Klasse, stereotypet som begrep navn : fylke ligger-i 0: {fk} navn kommune : ligger-i 0: navn kommune Ingen vanlige attributter! Samme modell etter fjerning av fremmednøkler (som jo er redundante) dmuml-23 dmuml-24

systemet (forts.) Identifiserende assosiasjon : : {fk}{id} Hovedlærer ligger-i 0: ligger-i 0: kommunenr2s {id} 0: jfr. lærebokas figur 5-6 tosifret kommunenr dmuml-25 dmuml-26 systemet (forts.) Figur 5-5. Modell med generalisering Fremmednøkkelen er fjernet fra ligger-i fylkenavn Navn Hovedlærer 0: Skal rollene og fylkenavn være sammenliknbare, må de spilles av samme begrep! dmuml-27 dmuml-28

systemet (forts.) hovedlærer og Hovedlærer er generalisert til 0: Mange-til-mange-assosiasjon med assosiasjonsklasse jfr. lærebokas figur 5-7 og 5-8 Materialgjenvinning 0: gjenvunnet mengde gjenvunnet_materiale Mengde # tonn {id} Materiale material dmuml-29 dmuml-30 systemet (forts.) Figur 5-9. Assosiasjonsklassen erstattes med en vanlig klasse antall_ studenter Materialgjenvinning anbefalteforkunnskaper gjenvunnet_ materiale Materiale material Påmelding 0: Undervisning 0: gjenvunnet mengde Mengde # tonn {id} hovedlærer dmuml-3 dmuml-32

hoved lærer systemet (forts.) Undervisning Dermed er modellen ferdig dmuml-33 etterfølger {fk}{id} forgjenger {fk}{id} hoved lærer systemet (forts.) anbefalteforkunnskaper studenter antall_ Påmelding 0: anbefalteforkunnskaper Påmelding {fk}{id} semesterkode {fk}{id} student {fk}{id} Undervisning {fk}{id} semesterkode {fk}{id} hovedlærer {fk}{id} For å finne fram til tabellene i en tabelldatabase må vi først generere fremmednøklene {fk}{id} antall_stud{fk}{null} antall_ studenter 0: Unyttig klasse dmuml-34 systemet tabelldatabasen systemet tabelldatabasen IU IU IU IU etterfølger forgjenger etterfølger forgjenger UI INF00 INF040 INF050 INF050 INF000 INF040 semesterkode antall-stud navn UI INF050 INF00 INF000 Påmelding Undervisning UI UI semesterkode semesterkode student hovedlærer UI UI En tabell for hver klasse INF00 INF050 semesterkode vår2004 vår2004 antall-stud 457 277 Eksempler på forekomster dmuml-35 dmuml-36