1 object-role modeling (orm/niam) nikol gkerpini - 3766926 department of information and computing...
TRANSCRIPT
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
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
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.