Object role modeling

Object role modeling

:"Not to be confused with Object-relational mapping.

[
Stephen M. Richard (1999). [http://pubs.usgs.gov/of/1999/of99-386/richard.html Geologic Concept Modeling] . U.S. Geological Survey Open-File Report 99-386.] ] Object Role Modeling (ORM) in the field of software engineering is a method for conceptual modeling, and can be used as a tool for information and rules analysis. [Joachim Rossberg and Rickard Redler (2005). "Pro Scalable .NET 2.0 Application Designs.". Page 27]

Overview

Object Role Modeling is a fact-oriented method for performing information analysis at the conceptual level. The quality of a database application depends critically on its design. To help ensure correctness, clarity, adaptability and productivity, information systems are best specified first at the conceptual level, using concepts and language that people can readily understand. The conceptual design may include data, process and behavioral perspectives, and the actual DBMS used to implement the design might be based on one of many logical data models (relational, hierarchic, network, object-oriented etc.). [http://msdn2.microsoft.com/en-us/library/aa290383(VS.71).aspx Object Role Modeling: An Overview (msdn.microsoft.com)] . Retrieved 19 September 2008.]

The designer of a database builds a formal model of the application area or universe of discourse (UoD). The model requires a good understanding of the UoD and a means of specifying this understanding in a clear, unambiguous way. Object-Role Modeling (ORM) simplifies the design process by using natural language, as well as intuitive diagrams which can be populated with examples, and by examining the information in terms of simple or elementary facts. By expressing the model in terms of natural concepts, like objects and roles, it provides a conceptual approach to modeling. Its attribute-free approach promotes semantic stability.

History

Object role modeling evolved from the "Natural language Information Analysis Method", a methodology that was initially developed by the academic researcher, G.M. Nijssen in the Netherlands (Europe) in the mid-1970s Terry Halpin (2001). [http://www.orm.net/pdf/ORMwhitePaper.pdf "Object-Role Modeling: an overview"] . Microsoft Corporation. Retrieved 19 Sept 2008.] , and later at the University of Queensland, Australia in the 1980s. The acronym NIAM originally stood for "Nijssen's Information Analysis Methodology", and later generalised to "Natural language Information Analysis Methodology" and "Binary Relationship Modeling" since G. M. Nijssen was only one of many people involved in the development of the method. Nijssen and Dr. Terry Halpin provided the first formalization of Object-Role Modeling in joint papers and the work, "Conceptual Schema and Relational Database Design", (Prentice Hall, Sydney:1989).

Another conceptual approach is provided by Entity-Relationship modeling (ER). Although ER models can be useful once the design process is finished, they are less suitable for formulating, transforming or evolving a design. ER diagrams are further removed from natural language, cannot be populated with fact instances, require complex design choices about attributes, lack the expressibility and simplicity of a role-based notation for constraints, hide information about the semantic domains which glue the model together, and lack adequate support for formal transformations.

A recent variation of ORM is referred to as FCO-IM. It distinguishes itself from traditional ORM in that it takes a strict communication oriented perspective. Rather than modelling the domain and its essential concepts, it purely models the grammar used to discourse about the domain. Another recent development is the use of ORM in combination with standardised relation types with associated roles and a standard machine-readable dictionary and taxonomy of concepts as are provided in the Gellish English dictionary. Standardisation of relation types (fact types), roles and concepts enables increased possibilities for model integration and model reuse.

The conceptual schema design procedure

The information system's life cycle typically involves several stages: feasibility study; requirements analysis; conceptual design of data and operations; logical design; external design; prototyping; internal design and implementation; testing and validation; and maintenance. ORM's conceptual schema design procedure (CSDP) focuses on the analysis and design of data. The seven steps of the conceptual schema design procedure:

# Transform familiar information examples into elementary facts, and apply quality checks
# Draw the fact types, and apply a population check
# Check for entity types that should be combined, and note any arithmetic derivations
# Add uniqueness constraints, and check arity of fact types
# Add mandatory role constraints, and check for logical derivations
# Add value, set comparison and subtyping constraints
# Add other constraints and perform final checks

Graphic notation

ORM's rich graphic notation is capable of capturing many business rules that are typically unsupported as graphic primitives in other popular data modeling notations.

Various software tools exist to enter ORM schemas, and generate relational database schemas. These include Microsoft Visio for Enterprise Architects, CaseTalk, Infagon, and NORMA.

NORMA (Neumont ORM Architect), an open source plug-in to Microsoft Visual Studio 2005, supports ORM 2 (second generation ORM), and maps ORM schemas to a variety of implementation targets, including relational DBMSs, object-oriented code, and XML schema. As of April 2006, NORMA (accessible at the SourceForge link [1] below) is in a prototype stage, but is evolving to a full production version.

A graphical NIAM design tool which included the ability to generate database-creation scripts for Oracle, DB2 and DBQ was developed in the early 1990s in Paris. It was originally named Genesys and was marketed successfully in France and later Canada. It could also handle ER diagram design. It was ported to SCO Unix, SunOs, DEC 3151's and Windows 3.0 platforms, and was later migrated to succeeding Microsoft operating systems, utilising XVT for cross operating system graphical portability.

See also

* Concept map
* Conceptual schema
* DogmaModeler
* Ontology double articulation
* Relational algebra
* Three schema approach

References

Further reading

* G.M. Nijssen and Terry Halpin (1989). "Conceptual Schema and Relational Database Design". Prentice Hall, Sydney.
* Terry Halpin and Tony Morgan (2008). "Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design". Morgan Kaufmann, 2008. ISBN 0123735688,
* Matti Rossi and Keng Siau (2001). "Information Modeling in the New Millennium".

External links

* [http://msdn2.microsoft.com/en-us/library/aa290383(VS.71).aspx Object Role Modeling: An Overview (msdn.microsoft.com)]
* [http://www.orm.net orm.net]
* [http://www.objectrolemodeling.com objectrolemodeling.com]
* [https://sourceforge.net/projects/orm SourceForge ORM Project]
* [http://essentialstrategies.com/publications/modeling/niam.htm NIAM/ORM]
* [http://www.starlab.vub.ac.be/website/dogmastudio DOGMA Studio, an Eclipse plugin-based fact-oriented ontology engineering tool suite]
* [http://www.casetalk.com CaseTalk, The FCO-IM casetool]
* [http://www.jarrar.info/Dogmamodeler/ DogmaModeler, an ontology Engineering tool based on ORM]
* [http://www.ormfoundation.org/ The ORM foundation]
*ORM Workshops: [http://www.cs.rmit.edu.au/fedconf/2005/orm2005cfp.html ORM-2005] , [http://www.cs.rmit.edu.au/fedconf/2006/orm2006cfp.html ORM-2006] , [http://www.cs.rmit.edu.au/fedconf/2007/orm2007cfp.html ORM2007] , [http://www.cs.rmit.edu.au/fedconf/index.html?page=orm2008cfp ORM-2008]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Object-Role Modeling — Not to be confused with Object relational mapping. Example of the application of Object Role Modeling in a Schema for Geologic Surface , Stephen M. Richard (1999).[1] Object Role Modeling (ORM) is a method for conceptual modeling, and can be used …   Wikipedia

  • Object Role Modeling — Beispiel eines ORM2 Diagramms Object Role Modeling (ORM, engl. Modellierung der Rollen von Objekten) dient dazu, im Rahmen der Datenmodellierung einen Ausschnitt der realen Welt (englisch: Universe of Discourse, UoD) zu beschreiben. Es beschreibt …   Deutsch Wikipedia

  • Object Role Modelling — Object Role Modeling (ORM, engl. Modellierung der Rollen von Objekten) dient dazu, im Rahmen der Datenmodellierung einen Ausschnitt der realen Welt (englisch: Universe of Discourse, UoD) zu beschreiben. Es beschreibt Objekte und ihre Rollen… …   Deutsch Wikipedia

  • Modeling language — A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the… …   Wikipedia

  • Modeling and Simulation: Conceptual Modeling Overview — Contents 1 Introduction 2 Techniques 2.1 Data Flow Modeling 2.2 Entity Relationship Modeling 2.3 …   Wikipedia

  • Object-relational mapping — For another use of ORM , see Object role modeling. Object relational mapping (ORM, O/RM, and O/R mapping) in computer software is a programming technique for converting data between incompatible type systems in object oriented programming… …   Wikipedia

  • Modeling perspective — A modeling perspective in information systems is a particular way to represent pre selected aspects of a system. Any perspective has a different focus, conceptualization, dedication and visualization of what the model is representing. The… …   Wikipedia

  • Object Oriented Role Analysis and Modeling — The Object Oriented Role Analysis and Modeling (OOram) is a method, based on the concept of role, for performing object oriented modeling. OOram is a precursor for the Unified Modeling Language (UML).[1] Originally (1989) coined Object Oriented… …   Wikipedia

  • Object-oriented programming — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • Object Oriented Role Analysis Method — The Object Oriented Role Analysis Method (OOram) is a method, based on the concept of role , for performing object oriented modeling. OOram is a precursor for the Unified Modeling Language (UML). Originally (1989) coined Object Oriented Role… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”