El modelado de roles de objetos ( ORM ) se utiliza para modelar la semántica de un universo de discurso . ORM se utiliza a menudo para el modelado de datos y la ingeniería de software .
Un modelo de rol de objeto utiliza símbolos gráficos que se basan en la lógica de predicados de primer orden y la teoría de conjuntos para permitir al modelador crear una definición inequívoca de un universo arbitrario de discurso. Sin atributos, los predicados de un modelo ORM se prestan al análisis y diseño de modelos de bases de datos gráficas en la medida en que ORM fue concebido originalmente para beneficiar el diseño de bases de datos relacionales.
El término "modelo de objeto-rol" se acuñó en la década de 1970 y las herramientas basadas en ORM se han utilizado durante más de 30 años, principalmente para el modelado de datos . Más recientemente, ORM se ha utilizado para modelar reglas comerciales , esquemas XML, almacenes de datos , ingeniería de requisitos y formularios web. [1]
Las raíces de ORM se remontan a la investigación sobre modelado semántico para sistemas de información en Europa durante la década de 1970. Hubo muchos pioneros y este breve resumen no los menciona a todos. Una de las primeras contribuciones se produjo en 1973, cuando Michael Senko escribió sobre "estructuración de datos" en el IBM Systems Journal. En 1974, Jean-Raymond Abrial contribuyó con un artículo sobre "Semántica de datos". En junio de 1975 se publicó la tesis doctoral de Eckhard Falkenberg y en 1976 uno de los artículos de Falkenberg menciona el término "modelo objeto-rol".
GM Nijssen hizo contribuciones fundamentales al introducir la notación de "cuadro circular" para tipos de objetos y roles, y al formular la primera versión del procedimiento de diseño del esquema conceptual. Robert Meersman amplió el enfoque añadiendo subtipos e introduciendo el primer lenguaje de consulta verdaderamente conceptual.
El modelado de roles de objetos también evolucionó a partir del Método de análisis de información en lenguaje natural , una metodología que fue desarrollada inicialmente por el investigador académico GM Nijssen en los Países Bajos ( Europa ) a mediados de la década de 1970 y su equipo de investigación en el Laboratorio de investigación de Control Data Corporation en Bélgica. , y más tarde en la Universidad de Queensland, Australia, en la década de 1980. El acrónimo NIAM originalmente significaba "Metodología de análisis de información de Nijssen" y luego se generalizó a "Metodología de análisis de información en lenguaje natural" y modelado de relaciones binarias , ya que GM Nijssen fue solo una de las muchas personas involucradas en el desarrollo del método. [2]
En 1989, Terry Halpin completó su tesis doctoral sobre ORM, proporcionando la primera formalización completa del enfoque e incorporando varias extensiones.
También en 1989, Terry Halpin y GM Nijssen fueron coautores del libro "Conceptual Schema and Relational Database Design" y de varios artículos conjuntos, proporcionando la primera formalización del modelado de roles de objetos.
A principios de la década de 1990 se desarrolló en París una herramienta de diseño gráfico NIAM que incluía la capacidad de generar scripts de creación de bases de datos para Oracle, DB2 y DBQ. Originalmente se llamó Genesys y se comercializó con éxito en Francia y más tarde en Canadá. También podría manejar el diseño de diagramas ER. Fue portado a las plataformas SCO Unix, SunOs, DEC 3151 y Windows 3.0, y luego se migró a los siguientes sistemas operativos de Microsoft , utilizando XVT para la portabilidad gráfica entre sistemas operativos. La herramienta pasó a llamarse OORIANE y actualmente se utiliza para grandes proyectos de almacenamiento de datos y SOA.
También es una evolución de NIAM el " Modelado de información totalmente orientado a la comunicación " FCO-IM (1992). Se distingue del ORM tradicional en que adopta una perspectiva estricta orientada a la comunicación. En lugar de intentar modelar el dominio y sus conceptos esenciales, modela la comunicación en este dominio (universo del discurso). Otra diferencia importante es que hace esto a nivel de instancia, derivando el nivel de tipo y el nivel de objeto/hecho durante el análisis.
Otro desarrollo reciente es el uso de ORM en combinación con tipos de relación estandarizados con roles asociados y un diccionario estándar legible por máquina y una taxonomía de conceptos como los que se proporcionan en el diccionario de inglés Gellish . La estandarización de tipos de relaciones (tipos de hechos), roles y conceptos permite mayores posibilidades de integración y reutilización de modelos.
Los modelos de objetos-rol se basan en hechos elementales y se expresan en diagramas que pueden verbalizarse en lenguaje natural. Un hecho es una proposición como "John Smith fue contratado el 5 de enero de 1995" o "Mary Jones fue contratada el 3 de marzo de 2010".
Con ORM, proposiciones como estas se resumen en "tipos de hechos", por ejemplo, "La persona fue contratada en la fecha" y las proposiciones individuales se consideran datos de muestra. La diferencia entre un "hecho" y un "hecho elemental" es que un hecho elemental no puede simplificarse sin perder significado. Este enfoque "basado en hechos" facilita el modelado, la transformación y la consulta de información de cualquier dominio. [4]
ORM no tiene atributos: a diferencia de los modelos de los métodos entidad-relación (ER) y del Lenguaje Unificado de Modelado (UML), ORM trata todos los hechos elementales como relaciones y, por lo tanto, trata las decisiones para agrupar hechos en estructuras (por ejemplo, tipos de entidades basadas en atributos, clases). , esquemas de relación, esquemas XML) ya que la implementación es irrelevante para la semántica. Al evitar atributos, ORM mejora la estabilidad semántica y permite la verbalización en lenguaje natural.
El modelado basado en hechos incluye procedimientos para asignar hechos a estructuras basadas en atributos, como las de ER o UML. [4]
Las representaciones textuales basadas en hechos se basan en subconjuntos formales de lenguas nativas. Los defensores de ORM argumentan que los modelos ORM son más fáciles de entender para personas sin educación técnica. Por ejemplo, sus defensores argumentan que los modelos de rol de objetos son más fáciles de entender que los lenguajes declarativos como el lenguaje de restricción de objetos (OCL) y otros lenguajes gráficos como los modelos de clases UML . [4] Las notaciones gráficas basadas en hechos son más expresivas que las de ER y UML . Un modelo de rol de objeto se puede asignar automáticamente a bases de datos relacionales y deductivas (como datalog ). [5]
ORM2 es la última generación de modelado de roles de objetos. Los principales objetivos de la notación gráfica ORM 2 son: [6]
El desarrollo del sistema normalmente implica varias etapas, tales como: estudio de viabilidad; análisis de requisitos; diseño conceptual de datos y operaciones; diseño lógico; diseño externo; creación de prototipos; diseño e implementación internos; pruebas y validación; y mantenimiento. Los siete pasos del procedimiento de diseño del esquema conceptual son: [7]
El procedimiento de diseño de esquema conceptual (CSDP) de ORM se centra en el análisis y diseño de datos.