53
DAT375 DAT375 Modeling Business Modeling Business Requirements using Requirements using Object Role Modeling Object Role Modeling (Part 1) (Part 1) LeRoy Tuttle, Jr. LeRoy Tuttle, Jr. Program Manager Program Manager Microsoft Microsoft

DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

  • Upload
    aquila

  • View
    47

  • Download
    0

Embed Size (px)

DESCRIPTION

DAT375 Modeling Business Requirements using Object Role Modeling (Part 1). LeRoy Tuttle, Jr. Program Manager Microsoft. Agenda – Part 1 (DAT375). Visual Studio .NET Enterprise Architect Object Role Modeling Database Design Process Set Theory Review Object Role Modeling - PowerPoint PPT Presentation

Citation preview

Page 1: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

DAT375DAT375

Modeling Business Modeling Business Requirements using Object Requirements using Object Role Modeling (Part 1)Role Modeling (Part 1)

LeRoy Tuttle, Jr.LeRoy Tuttle, Jr.

Program ManagerProgram Manager

MicrosoftMicrosoft

Page 2: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Agenda – Part 1Agenda – Part 1(DAT375)(DAT375)• Visual Studio .NET Enterprise ArchitectVisual Studio .NET Enterprise Architect• Object Role ModelingObject Role Modeling• Database Design ProcessDatabase Design Process• Set Theory ReviewSet Theory Review• Object Role ModelingObject Role Modeling• Conceptual Schema Design ProcedureConceptual Schema Design Procedure

– Modeling fact typesModeling fact types– Constraining fact types

• Documenting the Model• Implementing the Model

Page 3: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

VSEA Database Design ToolsVSEA Database Design Tools

• Visio-based (VEA)Visio-based (VEA)– Conceptual data modeling (ORM)Conceptual data modeling (ORM)– Logical database modeling Logical database modeling

(Relational, IDEF1X, “ER”)(Relational, IDEF1X, “ER”)– Physical database modelingPhysical database modeling

(SQL Server, Access, Oracle, DB2, etc.)(SQL Server, Access, Oracle, DB2, etc.)– Forward and reverse engineering, sync, import/export, Forward and reverse engineering, sync, import/export,

reports, etc.reports, etc.

• Non-VisioNon-Visio– Online physical database design toolsOnline physical database design tools– SQL query designerSQL query designer

3

Page 4: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Visio for Visio for EnterpriseEnterpriseArchitectsArchitects

(VEA)(VEA)

DatabaseDatabaseand Softwareand Softwaremodelingmodeling

NetworkNetworkdiagrammingdiagramming subsumes

subsumes

part ofpart of

Page 5: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Object Role Modeling (ORM)Object Role Modeling (ORM)

• UnderstandableUnderstandable– Express facts and rules in plain languageExpress facts and rules in plain language

• CapableCapable– Capture more business rulesCapture more business rules

• ReliableReliable– Validate rules in English with sample dataValidate rules in English with sample data

• StableStable– Minimize the impact of changeMinimize the impact of change

• Executable Executable 5

Page 6: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Fact-OrientationFact-Orientation

• Data examples are expressed as factsData examples are expressed as facts• How facts are grouped into structures How facts are grouped into structures

(tables, classes, etc.) is not a (tables, classes, etc.) is not a conceptual issueconceptual issue

• Fact-orientation is at a level Fact-orientation is at a level above object-orientationabove object-orientation

• Here is where domain expert and modeler Here is where domain expert and modeler should communicateshould communicate

6

Page 7: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Examining a Scheduling ThemeExamining a Scheduling Theme

7

Mon Tue

8 am

9 00

10 00

11 00

12 pm

1 00

2 00

3 00

4 00

5 00

Wed Thu Fri

Brownbag lunch: ORM

Team meeting

Manager 1:1

Data Modeling Project

Data Modeling Project

All-haQuartMeeti

Off sitTrainiClass

Out of Office:Doctor’s Appt

Mon Tue

8 am

9 00

10 00

11 00

12 pm

1 00

2 00

3 00

4 00

5 00

Wed Thu FriMon Tue

8 am

9 00

10 00

11 00

12 pm

1 00

2 00

3 00

4 00

5 00

Wed Thu Fri

Brownbag lunch: ORMBrownbag lunch: ORM

Team meetingTeam meetingTeam meeting

Manager 1:1Manager 1:1Manager 1:1

Data Modeling Project

Data Modeling Project

Data Modeling Project

Data Modeling Project

Data Modeling Project

Data Modeling Project

All-haQuartMeeti

All-haQuartMeeti

Off sitTrainiClass

Off sitTrainiClass

Out of Office:Doctor’s ApptOut of Office:Doctor’s Appt

Page 8: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Examining a Scheduling ThemeExamining a Scheduling Theme(Tabular Information)(Tabular Information)

MonTueTueTueWedThuThuFri

MonTueTueTueWedThuThuFri

Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt

Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt

Conf A246101151151101NANA

Conf A246101151151101NANA

1.01.01.02.52.51.55.02.5

1.01.01.02.52.51.55.02.5

Meeting subjectMeeting subjectMeeting subjectMeeting subjectLocationLocationLocationLocation

RoomRoomRoomRoomDurationDurationDurationDuration

27271176262117NANA

27271176262117NANA

BuildingBuildingBuildingBuilding

10:309:3012:001:301:3010:0011:009:00

10:309:3012:001:301:3010:0011:009:00

YesYesNoYesYesNoNoNo

YesYesNoYesYesNoNoNo

RecurringRecurringRecurringRecurringAppointment timeAppointment timeAppointment timeAppointment time

HourHourHourHourWeekdayWeekdayWeekdayWeekday

12345678

12345678

IDIDIDID

8

Page 9: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Examining a Scheduling ThemeExamining a Scheduling Theme(Object Role Modeling)(Object Role Modeling)

9

Activity(code)

ActivityNameRoom(nr)

HourSlot(dh)

has / is of...at...is booked for...

20 Mon 9AM VSC

20 Tue 2PM VSC

33 Mon 9AM ORM

33 Fri 5PM SP

... ... …

VSC Visual Studio Class

SP Staff Party

ORM ORM Demo

C#1 Intro to C#

... ...

Page 10: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

It is impossible thatIt is impossible thatmore than onemore than one Room atRoom at the samethe same HourSlotHourSlotis booked foris booked for the samethe same ActivityActivity

10

Activity(code)

Room(nr)

HourSlot(dh)

...at...is booked for...

20 Mon 9AM VSC

20 Tue 2PM VSC

33 Mon 9AM ORM

33 Fri 5PM SP

... ... …

Page 11: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

It is impossible thatIt is impossible thatmore than onemore than one Room atRoom at the samethe same HourSlotHourSlotis booked foris booked for the samethe same ActivityActivity

11

Activity(code)

Room(nr)

HourSlot(dh)

...at...is booked for...

20 Mon 9AM VSC

20 Tue 2PM VSC

33 Mon 9AM ORM

33 Fri 5PM SP

... ... …

Page 12: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)
Page 13: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)
Page 14: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

ORM -> ER -> DDLORM -> ER -> DDL

demodemo

14

Page 15: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

The Baseline Database Design The Baseline Database Design ProcessProcess

15

Modeling business requirementsModeling business requirements Modeling databasesModeling databases

ExternalExternal ConceptualConceptual LogicalLogical PhysicalPhysical

Page 16: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Business Context as a FoundationBusiness Context as a Foundation

16

Universe of Discourse

Record Keeping

8 am

9 00

10 00

11 00

12 pm

1 00

2 00

3 00

4 00

5 00

Mon Tue Wed Thu Fri

8 am

9 00

10 00

11 00

12 pm

1 00

2 00

3 00

4 00

5 00

Mon Tue Wed Thu Fri

Brownbag Lunch: ORMBrownbag Lunch: ORM

Out of Office: Doctor’s ApptOut of Office: Doctor’s Appt

Off-sitTrainiClass

Off-sitTrainiClass

All-hanQuaterlMeetin

All-hanQuaterlMeetin

Data Modeling Project

Data Modeling Project

Data Modeling Project

Team Meeting

Team Meeting

Manager 1:1

Manager 1:1

Manager 1:1

Data Modeling Project

Data Modeling Project

Data Modeling Project

Monetary Value of Inventory by Percentage

17%

11%

15%

6%10%

22%

11%

8%

Excel Monthly Home Magazine

Ebony Macintosh Apples

Portsmouth Chablis Wine

Fast Golden Raisins

Better Creamed Corn

Denny Toilet Paper

Bird Call Tartar ControlToothpasteMusial Mint Chocolate Bar

Monetary Value of Inventory by Percentage

17%

11%

15%

6%10%

22%

11%

8%

Excel Monthly Home Magazine

Ebony Macintosh Apples

Portsmouth Chablis Wine

Fast Golden Raisins

Better Creamed Corn

Denny Toilet Paper

Bird Call Tartar ControlToothpasteMusial Mint Chocolate Bar

SQLSQL

MonTueTueTueWedThuThuFri

MonTueTueTueWedThuThuFri

Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt

Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt

Conf A246101151151101NANA

Conf A246101151151101NANA

1.01.01.02.52.51.55.02.5

1.01.01.02.52.51.55.02.5

Meeting subjectMeeting subjectLocationLocation

RoomRoomDurationDuration

2727

1176262

117NANA

2727

1176262

117NANA

BuildingBuilding

10:309:30

12:001:301:30

10:0011:009:00

10:309:30

12:001:301:30

10:0011:009:00

YesYesNoYesYesNoNoNo

YesYesNoYesYesNoNoNo

RecurringRecurringAppointment timeAppointment time

HourHourWeekdayWeekday

12345678

12345678

IDID

MonTueTueTueWedThuThuFri

MonTueTueTueWedThuThuFri

Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt

Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt

Conf A246101151151101NANA

Conf A246101151151101NANA

1.01.01.02.52.51.55.02.5

1.01.01.02.52.51.55.02.5

Meeting subjectMeeting subjectLocationLocation

RoomRoomDurationDuration

2727

1176262

117NANA

2727

1176262

117NANA

BuildingBuilding

10:309:30

12:001:301:30

10:0011:009:00

10:309:30

12:001:301:30

10:0011:009:00

YesYesNoYesYesNoNoNo

YesYesNoYesYesNoNoNo

RecurringRecurringAppointment timeAppointment time

HourHourWeekdayWeekday

12345678

12345678

IDID

MonTueTueTueWedThuThuFri

MonTueTueTueWedThuThuFri

Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt

Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt

Conf A246101151151101NANA

Conf A246101151151101NANA

1.01.01.02.52.51.55.02.5

1.01.01.02.52.51.55.02.5

Meeting subjectMeeting subjectLocationLocation

RoomRoomDurationDuration

2727

1176262

117NANA

2727

1176262

117NANA

BuildingBuilding

10:309:30

12:001:301:30

10:0011:009:00

10:309:30

12:001:301:30

10:0011:009:00

YesYesNoYesYesNoNoNo

YesYesNoYesYesNoNoNo

RecurringRecurringAppointment timeAppointment time

HourHourWeekdayWeekday

12345678

12345678

IDID

MonTueTueTueWedThuThuFri

MonTueTueTueWedThuThuFri

Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt

Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt

Conf A246101151151101NANA

Conf A246101151151101NANA

1.01.01.02.52.51.55.02.5

1.01.01.02.52.51.55.02.5

Meeting subjectMeeting subjectLocationLocation

RoomRoomDurationDuration

2727

1176262

117NANA

2727

1176262

117NANA

BuildingBuilding

10:309:30

12:001:301:30

10:0011:009:00

10:309:30

12:001:301:30

10:0011:009:00

YesYesNoYesYesNoNoNo

YesYesNoYesYesNoNoNo

RecurringRecurringAppointment timeAppointment time

HourHourWeekdayWeekday

12345678

12345678

IDID

Page 17: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Analysis Is A Joint Activity Analysis Is A Joint Activity

• The domain expertThe domain expert best understands the best understands the application domain application domain

• The modelerThe modeler elicits and elicits and formalizes this formalizes this understandingunderstanding

17

Page 18: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Who Are Domain Experts?Who Are Domain Experts?

• DefinitionDefinitionDomain expertsDomain experts are the people who provide are the people who provide

business requirements to the modelerbusiness requirements to the modeler

• ExamplesExamples– Subject matter expertsSubject matter experts– Knowledge workersKnowledge workers– Business analystsBusiness analysts– System architectsSystem architects– DevelopersDevelopers

18

Page 19: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Database Design RolesDatabase Design Roles

External and External and ConceptualConceptual

LogicalLogical PhysicalPhysical

Principal Principal database design database design rolesroles

Domain expertsDomain experts

ModelerModeler

ModelerModeler

DeveloperDeveloper

DeveloperDeveloper

ModelerModeler

FocusFocus Capture Capture business business requirementsrequirements

Document Document relational designrelational design

Implement Implement relational designrelational design

Modeling Modeling methodologymethodology

ORMORM ERER Transact-SQL Transact-SQL DDLDDL

19

Page 20: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Set Theory ReviewSet Theory Review

• Instances, Populations, Sets, and Instances, Populations, Sets, and CollectionsCollections

• Instance RelationshipsInstance Relationships• Set ExistenceSet Existence• Set Forming OperationsSet Forming Operations

Page 21: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Instances, Populations, Sets, and Instances, Populations, Sets, and CollectionsCollections• InstanceInstance• PopulationPopulation• SetSet• MemberMember• CollectionCollection

21

PopulationPopulation

CCCC EEEEAAAADDDDBBBB

CollectionCollection

CCCC EEEEDDDDAAAA

AAAA DDDD

Page 22: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

1:11:1

n:mn:m

1:n1:n

Instance RelationshipsInstance Relationships

• CardinalityCardinality– One-to-one (1:1)One-to-one (1:1)– One-to-many (1:One-to-many (1:nn))– Many-to-many (Many-to-many (n:mn:m))

• Mandatory vs. optional Mandatory vs. optional cardinalitycardinality

22

AAAA

AAAA

BBBB

BBBB

BBBBBBBB

AAAA

AAAA

BBBB

BBBBBBBB

Page 23: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Set ExistenceSet Existence

23

IdentityIdentity

AAAA BBBB

Mutual exclusionMutual exclusion

AA BB

OverlapOverlap

BA

SubsetSubset

AAAA B

Page 24: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Intersection of setsIntersection of sets

Union of setsUnion of sets

Difference of setsDifference of sets

Set Forming OperationsSet Forming Operations

X Y

X Y

X Y

X U Y

X Y

U

X - Y

24

Page 25: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Conceptual Schema Design Conceptual Schema Design Procedure (CSDP)Procedure (CSDP)

Model R

elationshipsM

odel Relationships

1) Analyze External Information and Create a Conceptual Model1) Analyze External Information and Create a Conceptual Model

2) Draw a Fact Types and Apply a Population Check2) Draw a Fact Types and Apply a Population Check

3) Identify Primitive Entity Types and Reformulate Arithmetically3) Identify Primitive Entity Types and Reformulate Arithmetically

Derived Fact TypesDerived Fact Types

Constrain R

elationshipsC

onstrain Relationships

4) Add Uniqueness Constraints and Check Arity of Fact Types4) Add Uniqueness Constraints and Check Arity of Fact Types

5) Add Mandatory Role Constraints and Check for Logical5) Add Mandatory Role Constraints and Check for Logical

DerivationsDerivations

6) Add Value and Set Constraints, and Create Entity Subtypes6) Add Value and Set Constraints, and Create Entity Subtypes

7) Add Frequency, Ring, and Other Constraints7) Add Frequency, Ring, and Other Constraints

Page 26: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

CSDP Step 1CSDP Step 1Analyze External Information and Analyze External Information and Create a Conceptual ModelCreate a Conceptual Model

– Creates the conceptual modelCreates the conceptual model– Fact-driven designFact-driven design– Object typesObject types– PredicatesPredicates– Communicating intentCommunicating intent

Page 27: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Fact-Driven DesignFact-Driven Design

• Goals of the modelerGoals of the modeler– Represent semantic relationships between Represent semantic relationships between

objectsobjects– Capture business rulesCapture business rules– Do not capture business processesDo not capture business processes

• Purpose of the data modelPurpose of the data model– Represent allowable states of data in the UoDRepresent allowable states of data in the UoD– Reflect the scope of the UoDReflect the scope of the UoD

27

Page 28: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

What Are Fact Instances?What Are Fact Instances?

• DefinitionDefinitionA A fact instancefact instance is an individual observation of is an individual observation of

the relationship between two or more data the relationship between two or more data valuesvalues

• CharacteristicsCharacteristics– Are examples of relationships between specific Are examples of relationships between specific

datadata– Are related through an action statementAre related through an action statement– May have constraintsMay have constraints

28

Page 29: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

What Are Object Types?What Are Object Types?

• DefinitionDefinitionAn An object typeobject type represents the set of all represents the set of all

possible instances of a given objectpossible instances of a given object

• CharacteristicsCharacteristics– Generic representations of populationsGeneric representations of populations– Always named singularlyAlways named singularly– Always title caseAlways title case– Object kindObject kind

29

Page 30: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

What Are Predicates?What Are Predicates?

• DefinitionDefinitionA A predicatepredicate is a verb phrase that the domain is a verb phrase that the domain

expert uses to relate object typesexpert uses to relate object types

• CharacteristicsCharacteristics– Are sentence fragments with holes in them for Are sentence fragments with holes in them for

object type namesobject type names– Describe unqualified relationshipsDescribe unqualified relationships– Have reversible readingsHave reversible readings

30

Page 31: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

What Are Fact Types?What Are Fact Types?

• DefinitionDefinitionA A fact typefact type is the set of fact instances that share is the set of fact instances that share

the same object types and predicate the same object types and predicate relationshipsrelationships

• CharacteristicsCharacteristics– Syntax: [Object type] predicate [Object type]Syntax: [Object type] predicate [Object type]– Arity of a fact typeArity of a fact type– Generic representationGeneric representation– Reversible predicate readingReversible predicate reading

31

Page 32: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Practice: Verbalizing Fact TypesPractice: Verbalizing Fact Types(Graphical Information)(Graphical Information)

32

LondonLondon(LHR)(LHR)

DakarDakar(DKR)(DKR)

RomeRome(FCO)(FCO)

New YorkNew York(JFK)(JFK)

AtlantaAtlanta(ATL)(ATL)

CaracasCaracas(CCS)(CCS)

US62

US68

ES23

IT37US72

UK11

VE59

VE56

VE56

MadridMadrid(MAD)(MAD)

LondonLondon(LHR)(LHR)

DakarDakar(DKR)(DKR)

RomeRome(FCO)(FCO)

New YorkNew York(JFK)(JFK)

AtlantaAtlanta(ATL)(ATL)

CaracasCaracas(CCS)(CCS)

US62

US68

ES23

IT37US72

UK11UK11

VE59

VE56

VE56

MadridMadrid(MAD)(MAD)

Flight UK11 originates in London and terminates in New York.

Flight UK11 originates in London and terminates in New York.

LondonLondon(LHR)(LHR)

DakarDakar(DKR)(DKR)

RomeRome(FCO)(FCO)

New YorkNew York(JFK)(JFK)

AtlantaAtlanta(ATL)(ATL)

CaracasCaracas(CCS)(CCS)

US62US62

US68

ES23

IT37US72

UK11

VE59

VE56

VE56

MadridMadrid(MAD)(MAD)

Flight US62 originates in Atlanta and terminates in Rome.

Flight US62 originates in Atlanta and terminates in Rome.

LondonLondon(LHR)(LHR)

DakarDakar(DKR)(DKR)

RomeRome(FCO)(FCO)

New YorkNew York(JFK)(JFK)

AtlantaAtlanta(ATL)(ATL)

CaracasCaracas(CCS)(CCS)

US62

US68

ES23

IT37US72

UK11

VE59

VE56VE56

VE56VE56

MadridMadrid(MAD)(MAD)

Flight VE56 originates in Caracas and terminates in

Rome.

Flight VE56 originates in Caracas and terminates in

Rome.

LondonLondon(LHR)(LHR)

DakarDakar(DKR)(DKR)

RomeRome(FCO)(FCO)

New YorkNew York(JFK)(JFK)

AtlantaAtlanta(ATL)(ATL)

CaracasCaracas(CCS)(CCS)

US56

US68

ES23

IT37US72

UK11

VE59

VE56

VE56

MadridMadrid(MAD)(MAD)

11 3322

Page 33: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Practice: Verbalizing Fact TypesPractice: Verbalizing Fact Types(Tabular Information)(Tabular Information)

UK11US72IT37ES23US56VE59VE56US68

UK11US72IT37ES23US56VE59VE56US68

LondonNew YorkRomeMadridAtlantaCaracasCaracasAtlanta

LondonNew YorkRomeMadridAtlantaCaracasCaracasAtlanta

5191259248

5191259248

14:251:5511:1211:1223:508:038:484:54

14:251:5511:1211:1223:508:038:484:54

On TimeDelayedBoardingOn TimeOn TimeCanceledOn TimeBoarding

On TimeDelayedBoardingOn TimeOn TimeCanceledOn TimeBoarding

FlightFlightnumbernumber

FlightFlightnumbernumber

OriginationOriginationcitycity

OriginationOriginationcitycity

Departure infoDeparture infoDeparture infoDeparture info

GateGateGateGate TimeTimeTimeTimeStatusStatusStatusStatus

34EInt’l3T

Int’lInt’lT

34EInt’l3T

Int’lInt’lT

TerminalTerminalTerminalTerminal

New YorkLondonNew YorkAtlantaRomeNew YorkRomeCaracas

New YorkLondonNew YorkAtlantaRomeNew YorkRomeCaracas

Destination Destination citycity

Destination Destination citycity

33

Page 34: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

CSDP Step 1CSDP Step 1

demodemo

34

Page 35: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

CSDP Step 2CSDP Step 2Draw a Conceptual Model and Apply a Draw a Conceptual Model and Apply a Population CheckPopulation Check

– Conceptual data model vs. the diagramConceptual data model vs. the diagram– Meaningful sample populationMeaningful sample population

Page 36: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Object Type Names and Reference ModeObject Type Names and Reference Mode

Kinds of Object TypesKinds of Object Types

How Objects Types Are SymbolizedHow Objects Types Are Symbolized

Entity Value

Name

36

Name(Reference)

Page 37: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

ArityArity

Predicate PhrasePredicate Phrase

Role ConnectorRole Connector

RoleRole

How Predicates Are SymbolizedHow Predicates Are Symbolized

... ...

... ... ...

... ... ... ...

Binary

Ternary

Quaternary

37

...

...

... has .../... is of ...

Page 38: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

38

Object TypesObject TypesPredicatePredicateLocation’s Role in the Predicate

Location’s Role in the Predicate

Time’s Role in the Predicate

Time’s Role in the Predicate

Subject’s Role in the Predicate

Subject’s Role in the Predicate

Location

Time

Subject

...at...is used for...

11 3322

How Fact Types Are SymbolizedHow Fact Types Are Symbolized

Page 39: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Validate Fact Types with a Meaningful Validate Fact Types with a Meaningful Sample PopulationSample Population

• Data is representativeData is representative• Data has meaningful variationsData has meaningful variations• DATA IS REAL!!DATA IS REAL!!

39

Page 40: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

CSDP Step 2CSDP Step 2

demodemo

40

Page 41: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

CSDP Step 3CSDP Step 3Check for entity types that should be Check for entity types that should be combined, and note any arithmetic combined, and note any arithmetic derivationsderivations

– Trim schemaTrim schema– Coalesce like setsCoalesce like sets– Eliminate use of value types for calculated dataEliminate use of value types for calculated data

Page 42: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

What Is a Conceptual Partitioning What Is a Conceptual Partitioning Scheme?Scheme?

• DefinitionDefinitionA A conceptual partitioning schemeconceptual partitioning scheme is the is the

systematic separation of the UoD’s systematic separation of the UoD’s population into meaningful object typespopulation into meaningful object types

• CharacteristicsCharacteristics– Group and division of UoDGroup and division of UoD– Mutually exclusive partitionsMutually exclusive partitions– Exhaustive partitionsExhaustive partitions

42

Page 43: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Partitioning Object TypesPartitioning Object Types

AtomicAtomic AtomicAtomicNumbersNumbers

AtomicAtomicStringsStrings

AtomicAtomic NestedNested

Entity TypesEntity Types Value TypesValue Types

Object Types in the Universe of DiscourseObject Types in the Universe of DiscourseObject Types in the Universe of DiscourseObject Types in the Universe of Discourse

43

Page 44: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

What Are Primitive Entity Types?What Are Primitive Entity Types?

• DefinitionDefinitionPrimitive entity types Primitive entity types represent the most basic represent the most basic

entity types in the UoDentity types in the UoD

• CharacteristicsCharacteristics– AtomicAtomic– Mutually exclusiveMutually exclusive

44

Page 45: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Example of Primitive Entity TypesExample of Primitive Entity Types

45

Car, BusVan, Boat

History, MathLiterature

City, State,

County

Student,Parent,

Firefighter

Vehicle

Subject

Person Location

Page 46: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Guidelines for Coalescing Entity TypesGuidelines for Coalescing Entity Types

• Common instancesCommon instances• Common relationshipsCommon relationships• Common partitioning schemeCommon partitioning scheme• Common unit-based reference modeCommon unit-based reference mode• Common primitive entity typeCommon primitive entity type

• Need to perform union on resultsNeed to perform union on results• Use intersection of sets to create resultsUse intersection of sets to create results

46

Look for commonalitiesLook for commonalitiesLook for commonalitiesLook for commonalities

Look for need to manipulate query resultsLook for need to manipulate query resultsLook for need to manipulate query resultsLook for need to manipulate query results

Page 47: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

What Are Derived Fact Types?What Are Derived Fact Types?

• DefinitionDefinitionA A derived fact typederived fact type is inferred from roles in is inferred from roles in

other fact types other fact types

• CharacteristicsCharacteristics– Derivation ruleDerivation rule– Derived vs. derived and storedDerived vs. derived and stored– Use of role namesUse of role names

• How derived fact types are symbolizedHow derived fact types are symbolized

47

Page 48: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

CSDP Step 3CSDP Step 3

demodemo

48

Page 49: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Agenda – Part 2Agenda – Part 2(DAT376)(DAT376)• Visual Studio .NET Enterprise Architect• Object Role Modeling • Database Design Process• Set Theory Review• Object Role Modeling• Conceptual Schema Design Procedure

– Modeling fact types– Constraining fact typesConstraining fact types

• Documenting the ModelDocumenting the Model• Implementing the ModelImplementing the Model

Page 50: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Concluding RemarksConcluding Remarks

• Modeling Business Requirements vs. Modeling Business Requirements vs. Modeling a DatabaseModeling a Database

• Use ORM for information analysisUse ORM for information analysis• Use data use cases to seed Use data use cases to seed

data modelsdata models• Use Visual Studio .NET Ent. Architect for Use Visual Studio .NET Ent. Architect for

conceptual, logical, and physical database conceptual, logical, and physical database modelingmodeling

Page 51: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Further ResourcesFurther Resources

• MOC Course 2090: Modeling Business Requirements to MOC Course 2090: Modeling Business Requirements to Create a Database Using Visual Studio .NET Enterprise Create a Database Using Visual Studio .NET Enterprise ArchitectArchitect

• http://http://msdn.microsoft.com/theshowmsdn.microsoft.com/theshow// (Episode 25) (Episode 25) • http://www.msdn.microsoft.com/library/en-us/dv_vstecharhttp://www.msdn.microsoft.com/library/en-us/dv_vstechar

t/html/vstchvsea_ormoverview.aspt/html/vstchvsea_ormoverview.asp

(+ articles on use of VEA)(+ articles on use of VEA)• http://www.orm.nethttp://www.orm.net• http://www.inconcept.comhttp://www.inconcept.com• http://www.ormcentral.comhttp://www.ormcentral.com• Halpin, T.A. 2001, Halpin, T.A. 2001, Information Modeling and Relational Information Modeling and Relational

DatabasesDatabases, Morgan Kaufmann (ISBN 1-55860-672-6), Morgan Kaufmann (ISBN 1-55860-672-6)

Page 52: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Don’t forget to complete the Don’t forget to complete the on-line Session Feedback form on-line Session Feedback form on the Attendee Web siteon the Attendee Web site

https://web.mseventseurope.com/teched/https://web.mseventseurope.com/teched/

Page 53: DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)