Un modelo de información en ingeniería de software es una representación de conceptos y relaciones, restricciones, reglas y operaciones para especificar la semántica de los datos para un dominio de discurso elegido. Normalmente especifica relaciones entre tipos de cosas, pero también puede incluir relaciones con cosas individuales. Puede proporcionar una estructura estable, organizada y compartible de requisitos de información o conocimiento para el contexto del dominio. [1]
El término modelo de información en general se utiliza para modelos de cosas individuales, como instalaciones, edificios, plantas de proceso, etc. En esos casos, el concepto se especializa en modelo de información de instalaciones , modelo de información de edificios , modelo de información de plantas, etc. Un modelo de información de este tipo es una integración de un modelo de la instalación con los datos y documentos sobre la instalación.
En el campo de la ingeniería de software y el modelado de datos , un modelo de información suele ser una representación abstracta y formal de tipos de entidades que pueden incluir sus propiedades, relaciones y las operaciones que se pueden realizar en ellas. Los tipos de entidades del modelo pueden ser tipos de objetos del mundo real, como dispositivos en una red o sucesos, o pueden ser abstractos, como las entidades utilizadas en un sistema de facturación. Normalmente, se utilizan para modelar un dominio restringido que se puede describir mediante un conjunto cerrado de tipos de entidades, propiedades, relaciones y operaciones.
Un modelo de información proporciona formalismo a la descripción de un dominio de problemas sin limitar la forma en que esa descripción se asigna a una implementación real en el software. Puede haber muchas asignaciones del modelo de información. Dichas asignaciones se denominan modelos de datos , independientemente de si son modelos de objetos (por ejemplo, utilizando UML ), modelos de relación de entidad o esquemas XML .
En 1976, Peter Chen introdujo una notación gráfica de entidad-relación (ER) . Enfatizó que era una técnica de modelado "semántico" e independiente de cualquier técnica de modelado de bases de datos como jerárquica, CODASYL, relacional, etc. [2] Desde entonces, los lenguajes para modelos de información han seguido evolucionando. Algunos ejemplos son el lenguaje de definición integrado 1 extendido ( IDEF1X ), el lenguaje EXPRESS y el lenguaje de modelado unificado (UML). [1]
Las investigaciones realizadas por contemporáneos de Peter Chen, como JRAbrial (1974) y GM Nijssen (1976), dieron lugar a los lenguajes de modelado orientado a hechos (FOM) actuales, que se basan en proposiciones lingüísticas en lugar de en "entidades". Las herramientas FOM se pueden utilizar para generar un modelo ER, lo que significa que el modelador puede evitar la práctica de la normalización manual, que consume mucho tiempo y es propensa a errores. El lenguaje de modelado de roles de objetos ( ORM ) y el modelado de información totalmente orientado a la comunicación ( FCO-IM ) son resultados de investigaciones desarrolladas a principios de la década de 1990, basadas en investigaciones anteriores.
En la década de 1980 hubo varios enfoques para ampliar el modelo de entidad-relación de Chen. También es importante en esta década el modelo REMORA de Colette Rolland . [3]
El lenguaje de definición ICAM (IDEF) se desarrolló a partir del programa ICAM de la Fuerza Aérea de los EE. UU. durante el período de 1976 a 1982. [4] El objetivo del programa ICAM, según Lee (1999), era aumentar la productividad de fabricación mediante la aplicación sistemática de la tecnología informática. IDEF incluye tres métodos de modelado diferentes: IDEF0 , IDEF1 e IDEF2 para producir un modelo funcional, un modelo de información y un modelo dinámico respectivamente. IDEF1X es una versión extendida de IDEF1. El lenguaje es de dominio público. Es una representación gráfica y está diseñado utilizando el enfoque ER y la teoría relacional. Se utiliza para representar el "mundo real" en términos de entidades, atributos y relaciones entre entidades. La normalización se aplica mediante estructuras KEY y migración KEY. El lenguaje identifica agrupaciones de propiedades (agregación) para formar definiciones de entidad completas. [1]
EXPRESS fue creado como ISO 10303-11 para especificar formalmente los requisitos de información del modelo de datos del producto. Es parte de un conjunto de estándares conocido informalmente como el Estándar para el intercambio de datos del modelo de producto (STEP). Se introdujo por primera vez a principios de la década de 1990. [5] [6] El lenguaje, según Lee (1999), es una representación textual. Además, está disponible un subconjunto gráfico de EXPRESS llamado EXPRESS-G. EXPRESS se basa en lenguajes de programación y el paradigma OO. Varios lenguajes han contribuido a EXPRESS. En particular, Ada, Algol, C, C++, Euler, Modula-2, Pascal, PL/1 y SQL. EXPRESS consta de elementos del lenguaje que permiten una definición de objeto inequívoca y la especificación de restricciones sobre los objetos definidos. Utiliza la declaración SCHEMA para proporcionar particiones y admite la especificación de propiedades de datos, restricciones y operaciones. [1]
UML es un lenguaje de modelado para especificar, visualizar, construir y documentar los artefactos, en lugar de los procesos, de los sistemas de software. Fue concebido originalmente por Grady Booch , James Rumbaugh e Ivar Jacobson . UML fue aprobado por el Object Management Group (OMG) como estándar en 1997. El lenguaje, según Lee (1999), no es propietario y está disponible para el público. Es una representación gráfica. El lenguaje se basa en el paradigma orientado a objetos. UML contiene notaciones y reglas y está diseñado para representar los requisitos de datos en términos de diagramas OO. UML organiza un modelo en una serie de vistas que presentan diferentes aspectos de un sistema. El contenido de una vista se describe en diagramas que son gráficos con elementos del modelo. Un diagrama contiene elementos del modelo que representan conceptos OO comunes como clases, objetos, mensajes y relaciones entre estos conceptos. [1]
IDEF1X, EXPRESS y UML pueden utilizarse para crear un modelo conceptual y, según Lee (1999), cada uno tiene sus propias características. Aunque algunos pueden dar lugar a un uso natural (por ejemplo, la implementación), uno no es necesariamente mejor que otro. En la práctica, puede ser necesario más de un lenguaje para desarrollar todos los modelos de información cuando una aplicación es compleja. De hecho, la práctica de modelado suele ser más importante que el lenguaje elegido. [1]
Los modelos de información también se pueden expresar en lenguajes naturales formalizados, como el Gellish . El Gellish, que tiene variantes de lenguaje natural como el inglés formal Gellish , el holandés formal Gellish (Gellish Formeel Nederlands), etc., es un lenguaje de representación de información o lenguaje de modelado que se define en el Diccionario-Taxonomía inteligente Gellish, que tiene la forma de una Taxonomía / Ontología . Una base de datos Gellish no solo es adecuada para almacenar modelos de información, sino también modelos de conocimiento, modelos de requisitos y diccionarios, taxonomías y ontologías. Los modelos de información en inglés Gellish utilizan expresiones del inglés formal Gellish. Por ejemplo, un modelo de información geográfica podría constar de varias expresiones del inglés formal Gellish, como:
- La Torre Eiffel <se encuentra en> París- París <está clasificada como> ciudad
Considerando que las necesidades de información y conocimientos pueden expresarse, por ejemplo, de la siguiente manera:
- la torre <estará ubicada en un> área geográfica- ciudad <es un tipo de> área geográfica
Estas expresiones Gellish utilizan nombres de conceptos (como 'ciudad') y tipos de relación (como ⟨se encuentra en⟩ y ⟨se clasifica como⟩ ) que deben seleccionarse del Diccionario-Taxonomía Formal de Inglés Gellish (o de su propio diccionario de dominio). El Diccionario-Taxonomía de Inglés Gellish permite la creación de modelos de información semánticamente ricos, porque el diccionario contiene definiciones de más de 40000 conceptos, incluidos más de 600 tipos de relación estándar. Por lo tanto, un modelo de información en Gellish consiste en una colección de expresiones Gellish que utilizan esas frases y conceptos del diccionario para expresar hechos o hacer afirmaciones, consultas y respuestas.
El Grupo de trabajo de gestión distribuida (DMTF) proporciona un conjunto estándar de modelos de información para diversos dominios empresariales bajo el título general de Modelo de información común (CIM). A partir del CIM se derivan modelos de información específicos para dominios de gestión particulares.
El TeleManagement Forum (TMF) ha definido un modelo avanzado para el ámbito de las telecomunicaciones (el modelo de información/datos compartidos o SID, por sus siglas en inglés). Esto incluye puntos de vista de los ámbitos empresarial, de servicios y de recursos dentro de la industria de las telecomunicaciones. El TMF ha establecido un conjunto de principios que debe adoptar una integración de OSS , junto con un conjunto de modelos que proporcionan enfoques estandarizados.
Los modelos interactúan con el modelo de información (el Modelo de Datos/Información Compartida , o SID), a través de un modelo de proceso (el Marco de Proceso de Negocio (eTOM) , o eTOM) y un modelo de ciclo de vida.