
IDEF4 ( Integrated Definition for Object-Oriented Design ) es un lenguaje de modelado de diseño orientado a objetos para el diseño de sistemas cliente/servidor basados en componentes. Ha sido diseñado para facilitar una transición fluida desde el dominio de la aplicación y los modelos de análisis de requisitos hasta el diseño y la generación de código fuente . Especifica los objetos de diseño con suficiente detalle para permitir la generación de código fuente. [ 1 ]
Este método forma parte de la familia IDEF de lenguajes de modelado en el campo de la ingeniería de sistemas y software .
Descripción general
El método IDEF4 es una metodología gráfica para el diseño de sistemas de software orientados a objetos. El paradigma de programación orientada a objetos proporciona al desarrollador una visión abstracta de su programa, compuesto por un conjunto de objetos que mantienen un estado y que definen el comportamiento del programa mediante el protocolo de sus interacciones. Un objeto consta de un conjunto de atributos que definen su estado local y un conjunto de métodos (procedimientos) que definen el comportamiento de dicho objeto y su relación con los demás objetos que componen el sistema. [ 2 ]
El método IDEF4, un enfoque multidimensional para el diseño de sistemas de software orientados a objetos , consta de los siguientes elementos: [ 1 ]
- Capas de diseño (nivel de sistema, nivel de aplicación y diseño de bajo nivel),
- Estado del diseño del artefacto (dominio de la aplicación, en transición, dominio del software),
- Modelos de diseño (estáticos, dinámicos y de comportamiento) y el componente de fundamentos del diseño , y
- Características de diseño que abarcan desde lo general hasta lo específico, lo que permite la toma de decisiones diferida .
Historia
El desarrollo de IDEF4 surgió del reconocimiento de que la modularidad, la mantenibilidad y la reutilización del código que resultan del paradigma de programación orientada a objetos pueden implementarse en aplicaciones tradicionales de procesamiento de datos . La probada capacidad del paradigma de programación orientada a objetos para admitir la integración a nivel de datos en grandes sistemas distribuidos complejos es también un factor importante en el amplio interés que despierta esta tecnología en la comunidad tradicional de procesamiento de datos. [ 2 ]
IDEF4 se desarrolló como una herramienta de diseño para diseñadores de software que utilizan lenguajes orientados a objetos como Common Lisp Object System , Flavors , Smalltalk , Objective-C , C++ y otros. Dado que el uso efectivo del paradigma orientado a objetos requiere un proceso de pensamiento diferente al utilizado con lenguajes procedimentales o de bases de datos convencionales , las metodologías estándar como diagramas de estructura , diagramas de flujo de datos y modelos de diseño de datos tradicionales (jerárquicos, relacionales y de red) no son suficientes. IDEF4 busca proporcionar las herramientas necesarias para apoyar el proceso de toma de decisiones de diseño orientado a objetos. [ 2 ]
Conceptos IDEF4
Dimensiones de los objetos de diseño IDEF4

IDEF4 utiliza un método o procedimiento de diseño orientado a objetos muy similar a la técnica del método de objetos de Rumbaugh [ 3 ] y a la técnica de análisis y diseño orientado a objetos (OOA/OOD) de Schlaer / Mellor [ 4 ] . Sin embargo, existen algunas diferencias cruciales:
- IDEF4 está diseñado específicamente para ser compatible con otros métodos IDEF,
- IDEF4 permite realizar un seguimiento del estado de los artefactos de diseño desde el objeto de dominio hasta la transición a la especificación de diseño, y
- IDEF4 incluye un componente de justificación del diseño .
Estas dimensiones adicionales se muestran en la figura. Los bordes de la caja ilustran la evolución del diseño desde el principio hasta el final, detallando cada una de estas dimensiones.
Actividades de diseño IDEF4
En IDEF4, un diseño comienza con el análisis de requisitos y toma como entrada los objetos de dominio. Estos objetos de dominio se codifican en su forma IDEF4 equivalente y se marcan como tales. A medida que se desarrollan objetos computacionales para estos objetos, se marcan como "transitorios" y, finalmente, como "completados". El nivel de finalización de un diseño IDEF4 se determina estableciendo medidas basadas en el estado, el nivel y las dimensiones del modelo de los artefactos individuales del diseño. [ 1 ]

El diseño a nivel de sistema comienza una vez que se han recopilado los objetos de “materia prima” (dominio). Esto desarrolla el contexto de diseño, garantiza la conectividad con los sistemas heredados e identifica las aplicaciones que deben construirse para satisfacer los requisitos. Se construyen modelos estáticos, dinámicos, de comportamiento y de justificación para los objetos a nivel de sistema. Estas especificaciones se convierten en los requisitos a nivel de aplicación, el siguiente nivel de diseño. El diseño a nivel de aplicación identifica y especifica todos los componentes de software (particiones) necesarios en el diseño. Se construyen modelos estáticos, dinámicos, de comportamiento y el componente de justificación para los objetos a nivel de aplicación. Estas especificaciones se convierten en los requisitos del siguiente nivel de diseño: el diseño de bajo nivel. Se construyen modelos estáticos, dinámicos, de comportamiento y el componente de justificación del diseño para los objetos de diseño de bajo nivel. Se pueden construir subcapas dentro de cada capa para reducir la complejidad. [ 1 ]
IDEF4 es un procedimiento iterativo que incluye actividades de partición, clasificación/especificación, ensamblaje, simulación y reorganización (véase la figura ). En primer lugar, el diseño se divide en objetos, cada uno de los cuales se clasifica con respecto a objetos existentes o para el cual se desarrolla una especificación externa. La especificación externa permite delegar y ejecutar simultáneamente la especificación interna del objeto. Tras la clasificación/especificación, las interfaces entre los objetos se especifican en la actividad de ensamblaje (es decir, se desarrollan modelos estáticos, dinámicos y de comportamiento que detallan diferentes aspectos de la interacción entre objetos). Mientras se desarrollan los modelos, es importante simular escenarios o casos de uso [ 5 ] entre objetos para descubrir fallos de diseño. Basándose en estos fallos, el diseñador puede reorganizar los modelos existentes y simularlos hasta quedar satisfecho. [ 1 ]
IDEF4 Conceptos de programación orientada a objetos
IDEF4 define un conjunto de conceptos orientados a objetos: [ 1 ]
- Dominios : Los proyectos IDEF4 se implementan dentro de un dominio. Un dominio puede considerarse como el ámbito del sistema que se está desarrollando. Durante el diseño del sistema, el software transita entre tres dominios: el dominio de aplicación, el dominio de diseño y el dominio de implementación.
- Características, artefactos y objetos
- Instancia de objeto : Los objetos pueden ser instancias de objeto, clases de objeto y particiones de objeto. Las instancias de objeto son los elementos individuales que se encuentran en el dominio de la aplicación.
- Clases : Las clases son generalizaciones sobre objetos y se utilizan para gestionar la complejidad aprovechando las similitudes entre las instancias de objetos y agrupándolas bajo una clase o categoría.
- Subclase/Superclase : El término subclase refleja el concepto de agrupar instancias particulares de una clase en una clase aún más especializada.
- Particiones : Un objeto de partición contiene objetos y relaciones.
- Atributos : Los atributos son una elección de implementación sobre cómo representar el estado de un objeto.
- Estados de objeto : Los estados de objeto representan situaciones o condiciones de una instancia de objeto que son significativas en el diseño.
- Método : Un método es una implementación de un comportamiento (es decir, un conjunto de instrucciones según las cuales el objeto realiza alguna operación).
- Mensaje y polimorfismo : Los objetos se comunican enviándose mensajes entre sí.
- Evento : Un evento es una señal generada por un método en un objeto que indica alguna condición en el objeto.
- Ciclos de vida de los objetos : En cualquier sistema, los objetos exhiben patrones de comportamiento a medida que pasan por diferentes estados.
- Cliente/Servidor : Un objeto desempeña el papel de cliente con respecto a un mensaje si es el remitente de ese mensaje.
- Relaciones y roles : Los objetos están conectados entre sí mediante arcos. Estos arcos se denominan relaciones y muestran las asociaciones entre los objetos.
- Herencia : Un tipo específico de relación utilizada en la tecnología orientada a objetos es la herencia.
- Encapsulación y ocultación de información : La encapsulación y la ocultación de información son dos conceptos de la programación orientada a objetos que se comprenden mejor cuando se analizan en términos de interacciones entre objetos.
Identificación de la clase de objeto

El método IDEF4 asume que los objetos del dominio se han identificado mediante el análisis de dominio orientado a objetos . Métodos como IDEF1 , IDEF5 , IDEF3 , SA/SD se pueden utilizar para realizar el análisis de dominio. [ 6 ] Sin embargo, los profesionales de IDEF4 deben estar al tanto de cómo se identifican los objetos, ya que el proceso de diseño puede revelar deficiencias en el análisis orientado a objetos. IDEF4 ha definido cinco tipos de clases: [ 1 ]
- Objetos físicos : cosas que se encuentran y se observan en el mundo natural.
- Objetos del rol : El rol puede estar relacionado con otras actividades en las que participa la persona (por ejemplo, un paciente en un hospital, un accionista, un cliente, un fideicomisario, un sospechoso de robo o un contribuyente).
- Objetos de evento : Los eventos o incidentes también pueden considerarse objetos. La identificación de eventos como objetos es altamente subjetiva y dependerá del ámbito en el que se utilice el software.
- Objetos de interacción : Los objetos de interacción son el resultado de interacciones o transacciones entre dos o más objetos.
- Objetos de especificación y de procedimiento : Los objetos de especificación describen las características aceptables de las instancias de objetos. Los objetos de procedimiento se refieren a la forma en que otras instancias de objetos pueden interactuar.
Bloques de construcción IDEF4

Capas IDEF4
Los usuarios de IDEF4 diseñan en tres capas distintas: [ 1 ]
- diseño de sistemas,
- diseño de aplicaciones y
- diseño de bajo nivel.
Esta organización en tres capas reduce la complejidad del diseño. La capa de diseño del sistema garantiza la conectividad con otros sistemas en el contexto del diseño. La capa de aplicación describe las interfaces entre los componentes del sistema que se está diseñando. Estos componentes incluyen aplicaciones comerciales, aplicaciones previamente diseñadas e implementadas, y aplicaciones que se diseñarán posteriormente. La capa de diseño de bajo nivel representa los objetos fundamentales del sistema.
Estado del artefacto IDEF4
IDEF4 distingue entre los artefactos IDEF4 recién creados a partir del dominio de la aplicación, los artefactos en transición a la especificación de diseño y los artefactos que ya han sido especificados y que pueden aplicarse para crear la especificación de diseño. Cualquier artefacto de diseño en IDEF4 puede marcarse como de dominio, en transición o completo. Esto permite a los profesionales y revisores realizar un seguimiento del progreso del diseño hasta su finalización. [ 1 ]
Modelos de diseño IDEF4

IDEF4 utiliza tres modelos de diseño y un componente de justificación del diseño: [ 1 ]
- El modelo estático (ME) define relaciones invariables en el tiempo entre objetos (por ejemplo, la herencia).
- El Modelo Dinámico (MD) especifica la comunicación entre objetos y las transiciones de estado de los objetos.
- El Modelo de Comportamiento (MC) define las relaciones entre los comportamientos respectivos de los objetos.
El componente de justificación del diseño proporciona una representación del sistema desde una perspectiva general, ofreciendo una visión amplia que abarca los tres modelos de diseño y documenta la justificación de las principales evoluciones del diseño.
Cada modelo representa una sección transversal diferente del diseño. Los tres modelos de diseño capturan toda la información representada en un proyecto de diseño, y la justificación del diseño documenta el razonamiento detrás del mismo. Cada modelo cuenta con una sintaxis gráfica que resalta las decisiones de diseño que deben tomarse y su impacto en otras perspectivas del diseño. Para facilitar su uso, la sintaxis gráfica es idéntica en los tres modelos. [ 1 ]
Características de diseño
IDEF4 proporciona una amplia gama de características de diseño, desde genéricas hasta específicas. Esta amplitud permite la toma de decisiones diferida, ya que permite al diseñador capturar primero las características de diseño en términos generales y luego refinarlas. Esto reduce significativamente la carga de trabajo de los diseñadores, permitiéndoles capturar de inmediato nuevos conceptos de diseño con las características de IDEF4, incluso si estos conceptos aún no se han explorado en detalle. [ 1 ]
Referencias
- 1 2 3 4 5 6 7 8 9 10 11 12 Richard J. Mayer et al. (1995). Informe del método de diseño orientado a objetos IDEF4 Archivado el 21-12-2008 en Wayback Machine Versión 2.0. Enero de 1995.
- 1 2 3 Patricia Griffith Friel y Thomas M. Blinn (1989). "Documento de especificación de diseño de sistemas IDEF3 e IDEF4 automatizados" . Informe técnico. Centro Espacial Johnson de la NASA.
- ↑ James Rumbaugh (1991). Modelado y diseño orientado a objetos . Englewood Cliffs, NJ: Prentice Hall.
- ↑ Sally Shlaer y Stephen J. Mellor (1988) Análisis de sistemas orientados a objetos: modelado del mundo real en datos . Englewood Cliffs, NJ: Prentice Hall.
- ↑ Ivar Jacobson (1994). Ingeniería de software orientada a objetos: un enfoque basado en casos de uso . Reading, MA: Addison-Wesley.
- ↑ Edward Yourdon y Larry Constantine (1979). Diseño estructurado: Fundamentos de una disciplina de diseño de programas y sistemas informáticos . Englewood Cliffs, NJ: Prentice-Hall.
Lecturas adicionales
- Thomas M. Blinn (1989). Documentos de requisitos del sistema de automatización IDEF3 e IDEF4 y modelos de entorno del sistema: un informe técnico provisional . Servicio Nacional de Información Técnica.
- Patricia Griffith Friel y Thomas M. Blinn (1989). "Documento de especificación de diseño de sistemas IDEF3 e IDEF4 automatizados" . Informe técnico. Centro Espacial Johnson de la NASA.
- Richard J. Mayer , Douglas D. Edwards (1990). Informe técnico de IDEF4, versión 1.0 . NASA* Richard J. Mayer, Douglas D. Edwards (1990). Informe de formalización de IDEF4, versión 1.0 . NASA
- Richard J. Mayer , et al. (1992). Informe del método IDEF4 . Base de la Fuerza Aérea Wright-Patterson, Ohio 45433-7604. Mayo de 2002.
- Richard J. Mayer et al. (1995). Informe del método de diseño orientado a objetos IDEF4. Archivado el 21 de diciembre de 2008 en Wayback Machine. Versión 2.0. Enero de 1995.
Enlaces externos
- Descripción general de IDEF4 archivada el 27/02/2016 en Wayback Machine .
- Programación orientada a objetos
- Ingeniería de sistemas