IDEF4 , o DEFinición integrada para diseño orientado a objetos , 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 permitir 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 real de código fuente. Especifica objetos de diseño con suficiente detalle para permitir la generación de código fuente. [1]
Este método es 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 orientada gráficamente 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 como compuesto por un conjunto de objetos que mantienen el estado que definen el comportamiento del programa mediante el protocolo de sus interacciones. Un objeto consiste en un conjunto de atributos que definen el estado local y un conjunto de métodos (procedimientos) que definen el comportamiento de ese objeto en particular y su relación con los otros objetos que componen el sistema. [2]
El enfoque multidimensional del método IDEF4 para el diseño de sistemas de software orientado 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 la justificación del diseño , y
- Diseño características que van de lo general a lo específico que permite aplazado la toma de decisiones .
Historia
El desarrollo de IDEF4 surgió del reconocimiento de que la modularidad, la capacidad de mantenimiento y la reutilización del código que resulta del paradigma de programación orientada a objetos se pueden realizar en las aplicaciones tradicionales de procesamiento de datos . La capacidad probada del paradigma de programación orientada a objetos para soportar la integración a nivel de datos en grandes sistemas distribuidos complejos es también un factor importante en el interés generalizado en esta tecnología de la comunidad de procesamiento de datos tradicional. [2]
IDEF4 fue desarrollado 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 que se usa con los lenguajes de bases de datos o procedimientos convencionales , las metodologías estándar como gráficos de estructura , diagramas de flujo de datos y modelos tradicionales de diseño de datos (jerárquicos, relacionales y de red) no son suficientes. . IDEF4 busca proporcionar las instalaciones necesarias para respaldar 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 que es muy similar a la Técnica del Método del Objeto de Rumbaugh [3] y la técnica de Diseño y Análisis 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 rastrear el 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 lógica de diseño .
Estas dimensiones adicionales se muestran en la figura. Los bordes de la caja muestran la progresión del diseño de principio a fin elaborando cada una de estas dimensiones.
Actividades de diseño de 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 objetos de dominio. 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 en el 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, asegura la conectividad a los sistemas heredados e identifica las aplicaciones que deben construirse para satisfacer los requisitos. Se construyen modelos estáticos, dinámicos, de comportamiento y lógicos para los objetos a nivel del sistema. Estas especificaciones se convierten en requisitos a nivel de aplicación, el siguiente nivel de diseño. El diseño de nivel de aplicación identifica y especifica todos los componentes de software (particiones) necesarios en el diseño. Los modelos estáticos, los modelos dinámicos, los modelos de comportamiento y el componente racional se crean para los objetos en el nivel de la aplicación. Estas especificaciones se convierten en los requisitos del siguiente nivel de diseño: el diseño de bajo nivel. Los modelos estáticos, los modelos dinámicos, los modelos de comportamiento y el componente de racionalidad del diseño se crean 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 involucra actividades de particionamiento, clasificación / especificación, ensamblaje, simulación y re-particionamiento, ver figura. Primero, el diseño se divide en objetos, cada uno de los cuales se clasifica frente a objetos existentes o para los que se desarrolla una especificación externa. La especificación externa permite que la especificación interna del objeto se delegue y se realice al mismo tiempo. Después de 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 los objetos). Mientras se desarrollan los modelos, es importante simular escenarios o casos de uso [5] entre objetos para descubrir fallas de diseño. Sobre la base de estos defectos, el diseñador puede reorganizar los modelos existentes y simularlos hasta que el diseñador esté satisfecho. [1]
Conceptos orientados a objetos de IDEF4
IDEF4 define un conjunto de conceptos orientados a objetos: [1]
- Dominios : los proyectos IDEF4 se implementan en un dominio. Un dominio puede verse como el alcance del sistema que se está desarrollando. Durante el diseño del sistema, el software pasa de tres dominios: el dominio de la aplicación, el dominio del diseño y el dominio de la implementación.
- Funciones, 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 las cosas 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 en las instancias de objetos y agrupándolas en una clase o categoría.
- Subclase / Superclase : El término subclase captura 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 opció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 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 un cliente en relación con un mensaje si es el remitente de ese mensaje.
- Relaciones y roles : objetos conectados entre sí con arcos. Estos arcos se denominan relaciones y muestran asociaciones entre objetos.
- Herencia : un tipo específico de relación que se utiliza 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 orientados a objetos que se entienden más fácilmente cuando se analizan en términos de interacciones entre objetos.
Identificación de clase de objeto
El método IDEF4 asume que los objetos de dominio se han identificado a través del análisis de dominio orientado a objetos. Se pueden utilizar métodos como IDEF1 , IDEF5 , IDEF3 , SA / SD para realizar análisis de dominio. [6] Sin embargo, los profesionales de IDEF4 deben ser conscientes 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 había definido cinco tipos de clases: [1]
- Objetos físicos
- Objetos de la función : la función puede estar relacionada 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 un robo o un contribuyente).
- Objetos de evento : los eventos o incidentes también pueden considerarse objetos. La identificación de eventos como objetos es muy subjetiva y dependerá del dominio 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 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 pueden interactuar otras instancias de objeto.
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 de tres capas reduce la complejidad del diseño. La capa de diseño del sistema asegura 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 por diseñar. La capa de diseño de bajo nivel representa los objetos fundamentales del sistema.
Estado del artefacto IDEF4
IDEF4 distingue entre artefactos IDEF4 recién creados a partir del dominio de la aplicación, artefactos en transición a la especificación de diseño y artefactos que se han especificado que se pueden aplicar para crear la especificación de diseño. Cualquier artefacto de diseño en IDEF4 se puede marcar como dominio, 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 (SM) define relaciones invariantes en el tiempo entre objetos (por ejemplo, herencia).
- El modelo dinámico (DM) especifica la comunicación entre objetos y las transiciones de estado de los objetos.
- El modelo de comportamiento (BM) define las relaciones entre los respectivos comportamientos de los objetos.
El componente de la justificación del diseño proporciona una representación de arriba hacia abajo del sistema, brindando 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 diseño. Cada modelo está respaldado por 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 entre los tres modelos. [1]
Caracteristicas de diseño
IDEF4 proporciona una amplia gama de características de diseño, desde genéricas hasta específicas. Esta gama permite la toma de decisiones diferida al permitir que el diseñador capture primero las características del diseño en términos generales y luego las perfeccione. Esto reduce significativamente la carga de los diseñadores al permitirles capturar inmediatamente nuevos conceptos de diseño con características de diseño IDEF4, incluso si estos conceptos de diseño aún no se han explorado en detalle. [1]
Referencias
- ^ a b c d e f g h i j k l Richard J. Mayer et al. (1995). Informe del método de diseño orientado a objetos IDEF4 Versión 2.0. Enero de 1995.
- ↑ a b c Patricia Griffith Friel y Thomas M. Blinn (1989). "Documento de Especificación de Diseño de Sistemas Automatizados IDEF3 e IDEF4" . Reporte técnico. Centro Espacial Johnson de la NASA.
- ^ James Rumbaugh (1991). Modelado y Diseño Orientado a Objetos . Englewood Cliffs, Nueva Jersey: Prentice Hall.
- ^ Sally Shlaer y Stephen J. Mellor (1988) Análisis de sistemas orientados a objetos: modelado del mundo real en datos . Englewood Cliffs, Nueva Jersey: 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, Nueva Jersey: Prentice-Hall.
Otras lecturas
- Thomas M. Blinn (1989). Documentos de requisitos del sistema de automatización IDEF3 e IDEF4 y modelos de entorno del sistema: 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 Automatizados IDEF3 e IDEF4" . Reporte técnico. Centro Espacial Johnson de la NASA.
- Richard J. Mayer , Douglas D. Edwards (1990). Informe técnico 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 y col. (1992). Informe del método IDEF4 . Base de la Fuerza Aérea Wright-Patterson, Ohio 45433-7604. Mayo de 2002.
- Richard J. Mayer y col. (1995). Informe del método de diseño orientado a objetos IDEF4 Versión 2.0. Enero de 1995.
enlaces externos
- Descripción general de IDEF4 en idef.com333