The Unified Modeling Language - UML

Like dokumenter
Datamodellering med UML. Modellenes to formål. 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

Datamodellering med ORM

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

INF1050 Klasseromsoppgave Uke 6

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

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

Utvikling fra skallet og inn

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

Fra uryddig verden til strukturert stoppestedsdatabase

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

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?

Hva vi i alle fall bør huske fra INF1050

Skranker og avledninger

Utvikling fra kjernen og ut

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

Utvikling fra kjernen og ut

Språk for dataorientert modellering

Utvikling fra kjernen og ut

Utvikling fra kjernen og ut

Kart og andre umodne objekter

Utvikling fra kjernen og ut

Beskjed fra Skagestein

Signalgrensesnitt for Trafikanten Pluss

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

Kravspesifikasjon med UML use case modellering. Erik Arisholm

INF1300 Introduksjon til databaser

NB! Endring i undervisningsplanen

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

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

Skranker og avledninger

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

IN2090 Databaser og datamodellering ORM 1

INF1300 Introduksjon til databaser

Dataorientert modellering

INF1300 Introduksjon til databaser

INF1000: Forelesning 7. Konstruktører Static

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser

Datamodellering 101 En tenkt høgskoledatabase

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

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

1. Designe ER-modeller med MS Visio

INF1000: Forelesning 7

Kap3: Klassemodellering

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

Fra krav til objekter. INF1050: Gjennomgang, uke 05

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

INF1300 Introduksjon til databaser

INF 1050 BRUK AV MODELLERINGSVERKTØYET RATIONAL ROSE

Systemutvikling fra kjernen og ut, fra skallet og inn

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

INF1300 Introduksjon til databaser

IN2090 Introduksjon til databaser

Klasser, objekter, pekere og UML. INF gruppe 13

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

Fra krav til modellering av objekter

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

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

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

INF1300 Introduksjon til databaser

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

IN2090 Introduksjon til databaser

INF212 - Databaseteori. Kursinnhold

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

UKE 11 UML modellering og use case. Gruppetime INF1055

INF1300 Introduksjon til databaser

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

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

Spesifikasjon av Lag emne

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

Databaser: Relasjonsmodellen, del I

Informasjonsbærende representasjoner

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

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

A Study of Industrial, Component-Based Development, Ericsson

INF Introduksjon til databaser ORM I

Kursregistrering bruksmønstermodell

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

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Kravspesifikasjon med. Erik Arisholm

UNIVERSITETET I OSLO

INF1050 Klasseromsoppgave Uke 7

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

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

INF1010 UML. Marit Nybakken 26. januar 2004

INF3100 Databasesystemer

Transkript:

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 Brukere dmuml- dmuml-3 Figur 5-. Datamodellen dokumenterer vår oppfatning av virkeligheten Interesseområdet registrering påvirkning Oppfatningen av interesseområdet Brukere dmuml-2 The Unified Modeling Language - UML Et sett med diagramteknikker, utarbeidet av toneangivende grupperinger innen OO, standardisert av OMG Usage Diagram type Use-Case diagram Class/object diagram Sequence diagram Collaboration diagram State diagram Activity diagram Component diagram Deployment diagram Informasjonssystem Use- Case Logical Component Concurrency Deployment dmuml-4

Figur 4-6. En relasjonsdatabase med to tabeller fylkenr fylkenavn 0 Østfold 02 Akershus 03 Oslo Husholdningsavfall NOT NULL NOT NULL NOT NULL fylkenr kommunenr avfallsmengde 0 00 Halden 0228 2647 0 004 Moss 0423 25860 0 005 Sarpsborg 2600 46692 dmuml-5 Assosiasjon tolket som tabell Påkrevd rolle ligger-i 0: 00 0 : 004 0 005 0 En assosiasjon kan tolkes som en tabell med identifikatorverdiene som forekomster. Entydighetsskranke avledes fra maksimumsmultiplisiteten, påkrevd rolle fra minimumsmultiplisiteten dmuml-7 Klassemodell 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 jfr. læreboka figur 5-9 dmuml-6 Figur 6-2. Oversettelsestabell fra multiplisiteter til entydighetsskranker og påkrevde roller UML tabell 0: : 0: Merk presiseringen av dmuml-8

En assosiasjon kan leses som en setning ligger-i 0: 00 0 : 004 005 0 0 Jf. læreboka figur 6.3 med kommunenr 00 ligger i fylke med fylkenr 0 Diagrammet kan også leses den motsatte veien. Da må vi bruke korollen dmuml-9 Figur 5-2. Ogdens trekant Thoughts of Reference Begreper Person Døgn Bil 8076543873 DF 2345 9. febr. 2003 2003-02-9 Symbol Lingvistiske elementer representasjoner Referent Fenomener i interesseområdet dmuml- 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 0 005 0 dmuml-0 Figur 6-4. Fra (nesten) vanlig norsk til et formalisert utsagn Begrep Representasjon Forekomst Rolle med kommunenr 00 er kommune i fylke med fylkenr 0 kommune fylke 00 0 Et begrep er en klasse uten vanlige attributter bare med en representasjon dmuml-2

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

systemet (forts.) Repeterende attributt erstattet med assosiasjon til en ny klasse Hovedlærer dmuml-7 Fremmednøkkel NULL 0: ligger-i 0: OBS! {null} Dersom motsatt minimumskardinalitet er 0, kan fremmednøkkelen være NULL. dmuml-9 Fremmednøkkel vs. assosiasjon : Fremmednøkkelen avledes fra assosiasjonen. Fremmednøkkelen settes inn i klassen motsatt maksimumskardinalitet. ligger-i 0: OBS! 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-8 Fremmednøkkelen er redundant : ligger-i 0: I klassediagrammet er fremmednøkkelen redundant og kan sløyfes dmuml-20

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

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

systemet (forts.) «identifying» og Hovedlærer er generalisert til Person Person hovedlærer 0: Antall # {id} dmuml-29