1 OBJECT-ROLE MODELING (ORM/NIAM) Nikol Gkerpini - 3766926 Department of Information and Computing...

21
1 OBJECT-ROLE MODELING (ORM/NIAM) Nikol Gkerpini - 3766926 Department of Information and Computing Sciences Utrecht University Utrecht, The Netherlands n.gkerpini @ cs.uu.nl Group 3

Transcript of 1 OBJECT-ROLE MODELING (ORM/NIAM) Nikol Gkerpini - 3766926 Department of Information and Computing...

1

OBJECT-ROLE MODELING (ORM/NIAM)

Nikol Gkerpini - 3766926

Department of Information and Computing SciencesUtrecht University

Utrecht, The Netherlandsn.gkerpini @ cs.uu.nl

Group 3

2

Contents of the Presentation

Introduction to ORM methodDismantled Version of ORM Design

ProcedureExampleProcess DescriptionRelated LiteratureConclusionsReferences

3

Introduction

ORM: method for analyzing and modeling data at the conceptual level Formal representation of the UoD (i.e. the domain area) Objects that play roles and take part in relationships

Similar methods: ER – Entity Relationship Models OO – Object-Oriented Approaches (example: UML) Difference: no attributes

Origins: Falkenberg (1973): ORM framework; allowed n-ary relationships Nijssen (1976): Natural language Information Analysis Method;

notation for roles and objects Halpin (1989): first full formalization of the method

4

Introduction (cont.)

Information Systems Lifecycle

CSDP (ORM Conceptual Schema Design Procedure)

The original steps:

#1: Transform familiar information into elementary facts, apply quality check.#2: Derive fact types, apply population check, draw draft conceptual schema#3:Check for entity types to be combined, add values, note arithmetic derivations#4: Add uniqueness constraints, check arity of fact types#5: Add mandatory role constraints, and check for logical derivation#6: Add value, set comparison and sub-typing constraints #7: Add other constraints and perform final checks.

Data Analysis

Data Design

Requirements Analysis

Data Analysis

Data Design

Logical Mapping

QueryingData Modeling Solution

CSDP

5

Introduction (cont.)

Information Systems Lifecycle

CSDP (ORM Conceptual Schema Design Method)

The original steps:

#1: Transform familiar information into elementary facts, apply quality check.#2: Derive fact types, apply population check, draw draft conceptual schema#3:Check for entity types to be combined, add values, note arithmetic derivations#4: Add uniqueness constraints, check arity of fact types#5: Add mandatory role constraints, and check for logical derivation#6: Add value, set comparison and sub-typing constraints #7: Add other constraints and perform final checks.

Data Analysis

Data Design

Requirements Analysis

Data Analysis

Data Design

Logical Mapping

QueryingData Modeling Solution

CSDP

•Independent Step•Actor: Data Analyst•Phase: Data Analysis

•Independent Step•Actor: UoD Expert

•Phase: Data Analysis

Independent StepActor: Data DesignerPhase: Data Design

6

Dismantled Version of ORM Design Procedure

Criteria Independency Actors Phases

7

Example

Step 1 - Transform familiar information examples into elementary facts, and apply quality checks.

Step 2 – Derive fact types, apply population check and draw draft conceptual schema

EmpNameEmployee(EmpNum)

has

Works forDepartment(DeptName)

Works onProject

(ProjName)

8

Example (cont.)

Step 3 – Check for entity types that should be combined, add values Check for entity types that should be combined, add values and note arithmetic derivationsand note arithmetic derivations

Step 4 – Add uniqueness constraints, check arity of fact typesStep 5 – Add mandatory role constraints, and check for logical derivationsStep 6 – Add value, set comparison and sub-typing constraints Step 7 – Add other constraints and perform final checks

9

Example (cont.)

Step 3 – Check for entity types that should be combined and add values and note arithmetic derivations

Step 4 – Add uniqueness constraints, check arity of fact typesAdd uniqueness constraints, check arity of fact typesStep 5 – Add mandatory role constraints, and check for logical derivationsStep 6 – Add value, set comparison and sub-typing constraints Step 7 – Add other constraints and perform final checks

10

Example (cont.)

Step 3 – Check for entity types that should be combined and add values and note arithmetic derivations

Step 4 – Add uniqueness constraints, check arity of fact typesStep 5 – Add mandatory role constraints, and check for logical derivationsAdd mandatory role constraints, and check for logical derivations

Step 6 – Add value, set comparison and sub-typing constraints Step 7 – Add other constraints and perform final checks

11

Example (cont.)

Step 3 – Check for entity types that should be combined and add values and note arithmetic derivations

Step 4 – Add uniqueness constraints, check arity of fact typesStep 5 – Add mandatory role constraints, and check for logical derivationsStep 6 – Add value, set comparison and sub-typing constraintsAdd value, set comparison and sub-typing constraints Step 7 – Add other constraints and perform final checks

12

Example (cont.)

Step 3 – Check for entity types that should be combined and add values and note arithmetic derivations

Step 4 – Add uniqueness constraints, check arity of fact typesStep 5 – Add mandatory role constraints, and check for logical derivationsStep 6 – Add value, set comparison and sub-typing constraints Step 7 – Add other constraints and perform final checksAdd other constraints and perform final checks

13

Process Description

The PDD Activities naming:IS

Lifecycle Phases Sub-Activities naming:

Sub-Steps of Dismantled CSDP

Uniformity of Constraints addition steps led to sub-PDD creation.

is b

ase

d o

n

Data Analysis

Perform quality checks

Derive fact types

Perform population check

ELEMENTARY FACT

NumberDescriptionQuality CheckFact Type Number

FACT TYPE

NumberDescriptionPopulation CheckArity

1..*

1[approved]

[else]

cons

ists

of

FACT TABLE

1

1..*

1..*

Data Design

Combine Entity Types and Values

Note Arithmetic Derivations

ROLE

OBJECT

ARITHMETIC NOTE

D

plays

1..*

1..*

Check Arity of Fact Types

1..*

1..*

1..*

1

Note Logical Derivations LOGICAL DERIVATION

[approved]

DRAFT CONCEPTUAL

SCHEMA

1..*

0..* 1

0..*

0..*

[else]

ENTITY VALUE

Logical Mapping

Querying

LOGICAL SCHEMA

QUERY

derives

1..*

1

DATA MODELING SOLUTION

SolutionIDFragementIDDateIssuedAuthor

1..*

1

1

CONCEPTUAL SCHEMA

1

UoD Expert

IS Analyst

IS Analyst

IS Modeler

IS Developer

Transform information into elementary factsIS Analyst

0..*

1

1

Requirements Analysis REQUIREMENT

1..*

1..*Derives from

Is mapped to

1..*

1

IS Analyst

[approved]

[else]

Perform final checksData Designer

Data Designer

Data Designer

Data Designer

Data Designer

Draw Objects and Roles based on FactsData Designer

CONSTRAINTAdd Constraints

Data Designer

cons

ists

of

14

Process Description (cont.)

15

Process Description (cont.)

16

Process Description (cont.)

17

The Sub-PDD Adaptable

abstraction level Design Details Less suppression in

the main PDD

Add Constraints

Process Description (cont.)

Add Constraints

Add Uniqueness Constraints

Add Mandatory Role Constraints

Add Value, Comparison and Subtyping Constrains

Add other Constrains

UNIQUENESS CONSTRAINT

MANDATORY ROLE CONSTRAINT

VALUE CONSTRAINT

COMPARISON CONSTRAINT

SUBTYPING CONSTRAINT

OTHER CONSTRAINT

Data Designer

CONSTRAINT

C

Data Designer

Data Designer

Data Designer

18

Related Literature

Origins: ORM framework: Falkenberg (1973)NIAM notation: Nijssen (1976)Formalization: Halpin (1989)ORM first Overview: Halpin (1997)

Comparison with ER and UML: (Balsters & Halpin, 2007): Other fields apart from DBMS

Illustration of complex business rules (Halpin, 1996), Domain modeling (Proper, Bleeker & Hoppenbrouwers, 2004), Design of XML-Schemas (Bird, Goodchild & Halpin, 2000), Creation of metadata repositories (Shelstad, Hallock, Dela Cruz &

Barden, 2007). Extensions of both the NIAM and the ORM method have been developed.

Niam Extension FCO-IM: modelling the conceptual aspects of communication that a DBMS should support (Bakema, Zwart & Lek, 1996).

ORM 2: changes in the graphical notation of the method (Halpin, 2005) Commercial tools

Microsoft Visio for Enterprise Architects. CaseTalk is a fact based information workbench supporting FCO-IM.

Other open source tools: ORMLite, NormaModeler and Dogma.

19

Conclusions

Extended overview of the CSDP Added meta-model in the related literature Positioned CSDP in the IS Lifecycle (clarified inputs &

outputs) PDDsubstantial meta-modeling technique

distribution of ORM activities in the IS Lifecycle, graphically presented order of the CSDP steps clarification of their actors CSDP dismantled version occurred during the meta-

modeling design. Adaptable abstraction level depending readers needs. Usefull to:

ORM practitioners IS Analysts, Database Designers, Modelers and Developers

Method Engineers extend, modify, reconsider or use fragments of the ORM method

20

References

Bakema, G., Zwart, J., & Van der Lek, H. (1996). Fully Communication Oriented Information Modeling (1st ed.). The Hague: Ten Hagen Stam.

Balsters, H. & Halpin, T. A. (2007). Modeling Data Federations in ORM. In Meersman, R., Tari, Z., Herrero, P. et al. (Eds.), On the move to Meaningful Internet Systems (pp. 657-666), Vilamoura: Springer.

Bird, L., Goodchild, A., & Halpin, T. A. (2000). Proceedings from 19th International Conference on Conceptual Modeling. Salt Lake City, Utah: Springer.

Halpin, T. A. (1993). What is an elementary fact. Retrieved from HUwww.orm.netUHalpin, T. A. (1996). Business rules and Object-Role Modeling. In Halpin, T.A. (Ed.), Database Programming and Design: Vol. 9.Halpin, T. A. (1997). Object-Role Modeling: An Overview. Retrieved from HUwww.orm.netUHalpin, T. A. (1998). Object-Role Modeling (ORM/NIAM). In Bernus, P., Mertins, K. & Schmidt, G. (Eds.), Handbook on

architectures of information systems (pp. 81-101). Berlin: Springer-Verlag. Halpin, T., Evans, K., Hallock, P. & MacLean B. (2003). Database Modeling with Microsoft Visio for Enterprise Architects. San

Francisco: Morgan Kaufmann Publishers, ISBN 1-55860-919-9.Halpin, T. A. (2005). ORM 2. In Meersman, R., Tari, Z., Herrero, P. et al. (Eds.) On the move to Meaningful Internet Systems (pp.

676-687), Heidelberg: Springer.Naiburg, E. J., & Maksimchuck, R.A. (2001). Requirements Definition. In UML for database design (pp. 53-74). Boston: Addison-

Wesley ProfessionalNavathe, S. B., Pernul, G. (1992). Conceptual and Logical Design of Relational Databases. In Marshall, C. Y. (Ed.), Advances in

Computers (pp. 1-78). London: Academic Press Limited. Nijssen, G. M. (Eds.). (1976). A gross architecture for the next generation database management systems. Proceedings of IFIP

Working Conf. on Modelling in Data Base Management Systems. Freudenstadt, Germany: North-Holland Publishing.Pol, A. A., & Ahuja, R.K. (1998). Entity-Relationship Modeling. In A.A. Pol (Ed.), Developing Web-Enabled Decision Support

Systems (pp. 33-82). Belmont, Massachusetts: Dynamic Ideas. Proper, H. A., Bleeker, A. I., & Hoppenbrouwers, S. J. B. A (2004). Object-role modelling as a domain modelling approach. In

Proceedings of Workshop on Evaluating Modeling Methods for Systems Analysis and Design. Riga, Latvia.Shelstad, B., Hallock, P., Dela Cruz, N., & Barden, D. (2007). Object Role Modeling Enabled Metadata Repository. In Meersman,

R., Tari, Z., Herrero, P. et al. (Eds.) On the move to Meaningful Internet Systems (pp. 635-646), Berlin: Springer -Verlag.Weerd, I. van de, & Brinkkemper, S. (2008). Meta-modeling for situational analysis and design methods. In M.R. Syed, & S.N.

Syed, (Eds.), Handbook of Research on Modern Systems Analysis and Design Technologies and Applications (pp. 38-58). Hersbey: Idea Group Publishing.

Yeung, A.K.W., & Hall, G.B. (2007). Database Models and Data Modeling. In A.K.W. Yeung, & G.B. Hall (Eds.), Spatial database systems: design, implementation and project management (pp.55-92). Dordrecht: Springer Netherlands.

21

Questions?