Un modelo de vista o marco de puntos de vista en ingeniería de sistemas , ingeniería de software e ingeniería empresarial es un marco que define un conjunto coherente de vistas que se utilizarán en la construcción de una arquitectura de sistema , una arquitectura de software o una arquitectura empresarial . Una vista es una representación de todo el sistema desde la perspectiva de un conjunto relacionado de preocupaciones. [1] [2]
Desde principios de la década de 1990 ha habido una serie de esfuerzos para prescribir enfoques para describir y analizar arquitecturas de sistemas. Un resultado de estos esfuerzos ha sido definir un conjunto de opiniones (o puntos de vista). A veces se les denomina marcos de arquitectura o marcos de arquitectura empresarial , pero generalmente se les llama "modelos de vista".
Por lo general, una vista es un producto de trabajo que presenta datos de arquitectura específicos para un sistema determinado. Sin embargo, a veces se utiliza el mismo término para referirse a una definición de vista , incluyendo el punto de vista particular y la guía correspondiente que define cada vista concreta. El término modelo de vista está relacionado con las definiciones de vista.
El propósito de las opiniones y puntos de vista es permitir a los humanos comprender sistemas muy complejos , organizar los elementos del problema y la solución en torno a dominios de especialización y separar preocupaciones . En la ingeniería de sistemas físicamente intensivos, los puntos de vista a menudo corresponden a capacidades y responsabilidades dentro de la organización de ingeniería. [3]
Las especificaciones de sistemas más complejos son tan extensas que ningún individuo puede comprender completamente todos los aspectos de las especificaciones. Además, todos tenemos diferentes intereses en un sistema determinado y diferentes razones para examinar las especificaciones del sistema . Un ejecutivo de negocios hará preguntas diferentes sobre la composición de un sistema que un implementador del sistema. Por lo tanto, el concepto de marco de puntos de vista es proporcionar puntos de vista separados en la especificación de un sistema complejo determinado para facilitar la comunicación con las partes interesadas. Cada punto de vista satisface a una audiencia interesada en un conjunto particular de aspectos del sistema. Cada punto de vista puede utilizar un lenguaje de punto de vista específico que optimiza el vocabulario y la presentación para la audiencia de ese punto de vista. El modelado de puntos de vista se ha convertido en un enfoque eficaz para abordar la complejidad inherente de los grandes sistemas distribuidos.
Las prácticas de descripción de la arquitectura, como se describe en IEEE Std 1471-2000 , utilizan múltiples vistas para abordar varias áreas de preocupación, cada una de las cuales se centra en un aspecto específico del sistema. Ejemplos de marcos de arquitectura que utilizan múltiples vistas incluyen el modelo de vista "4+1" de Kruchten , Zachman Framework , TOGAF , DoDAF y RM-ODP .
En la década de 1970, comenzaron a aparecer métodos en la ingeniería de software para modelar con múltiples vistas. Douglas T. Ross y KE Schoman en 1977 introducen el contexto, el punto de vista y el punto de vista de las construcciones para organizar el proceso de modelado en la definición de requisitos de sistemas. [4] Según Ross y Schoman, un punto de vista "deja en claro qué aspectos se consideran relevantes para lograr... el propósito general [del modelo]" y determina ¿Cómo miramos [un tema que se está modelando]?
Como ejemplos de puntos de vista, el documento ofrece: puntos de vista técnico, operativo y económico. En 1992, Anthony Finkelstein y otros publicaron un artículo muy importante sobre los puntos de vista. [5] En ese trabajo: "Un punto de vista puede considerarse como una combinación de la idea de un “actor”, “fuente de conocimiento”, “rol” o “agente” en el proceso de desarrollo y la idea de una “visión”. o "perspectiva" que mantiene un actor". Una idea importante en este artículo fue distinguir "un estilo de representación , el esquema y la notación mediante los cuales el punto de vista expresa lo que puede ver" y "una especificación , las declaraciones expresadas en el estilo del punto de vista que describen dominios particulares". Trabajos posteriores, como IEEE 1471 , preservaron esta distinción utilizando dos términos separados: punto de vista y vista, respectivamente.
Desde principios de la década de 1990 ha habido una serie de esfuerzos para codificar enfoques para describir y analizar arquitecturas de sistemas. A menudo se les denomina marcos arquitectónicos o, a veces, conjuntos de puntos de vista . Muchos de ellos han sido financiados por el Departamento de Defensa de los Estados Unidos , pero algunos han surgido de esfuerzos nacionales o internacionales en ISO o IEEE . Entre estos, la Práctica recomendada por IEEE para la descripción arquitectónica de sistemas intensivos en software ( IEEE Std 1471-2000 ) estableció definiciones útiles de vista, punto de vista, parte interesada y preocupación y pautas para documentar la arquitectura de un sistema mediante el uso de vistas múltiples mediante la aplicación de puntos de vista a abordar las preocupaciones de las partes interesadas . [6] La ventaja de tener múltiples puntos de vista es que los requisitos ocultos y los desacuerdos de las partes interesadas pueden descubrirse más fácilmente. Sin embargo, los estudios muestran que, en la práctica, la complejidad añadida de conciliar múltiples puntos de vista puede socavar esta ventaja. [7]
IEEE 1471 (ahora ISO/IEC/IEEE 42010:2011 , Ingeniería de sistemas y software - Descripción de la arquitectura ) prescribe el contenido de las descripciones de la arquitectura y describe su creación y uso en una serie de escenarios, incluido el diseño, el diseño evolutivo y la captura con precedentes y sin precedentes. del diseño de sistemas existentes. En todos estos escenarios, el proceso general es el mismo: identificar las partes interesadas , suscitar inquietudes, identificar un conjunto de puntos de vista que se utilizarán y luego aplicar estas especificaciones de puntos de vista para desarrollar el conjunto de puntos de vista relevantes para el sistema de interés. En lugar de definir un conjunto particular de puntos de vista, el estándar proporciona mecanismos y requisitos uniformes para que los arquitectos y las organizaciones definan sus propios puntos de vista. En 1996 se publicó el modelo de referencia ISO para procesamiento distribuido abierto ( RM-ODP ) para proporcionar un marco útil para describir la arquitectura y el diseño de sistemas distribuidos a gran escala.
Una vista de un sistema es una representación del sistema desde la perspectiva de un punto de vista. Este punto de vista sobre un sistema implica una perspectiva que se centra en preocupaciones específicas relacionadas con el sistema, que suprime detalles para proporcionar un modelo simplificado que tiene solo aquellos elementos relacionados con las preocupaciones del punto de vista. Por ejemplo, un punto de vista de seguridad se centra en cuestiones de seguridad y un modelo de punto de vista de seguridad contiene aquellos elementos que están relacionados con la seguridad desde un modelo más general de un sistema. [8]
Una vista permite al usuario examinar una parte de un área de interés particular. Por ejemplo, una Vista de información puede presentar todas las funciones, organizaciones, tecnología, etc. que utilizan una información particular, mientras que la Vista organizacional puede presentar todas las funciones, tecnología e información de interés para una organización en particular. En el Marco Zachman, las vistas comprenden un grupo de productos de trabajo cuyo desarrollo requiere una especial experiencia analítica y técnica porque se centran en el "qué", el "cómo", el "quién", el "dónde", el "cuándo" o el "por qué". de la empresa. Por ejemplo, los productos de trabajo de Functional View responden a la pregunta "¿cómo se lleva a cabo la misión?" Los desarrollan más fácilmente expertos en descomposición funcional utilizando modelos de procesos y actividades. Muestran la empresa desde el punto de vista de las funciones. También pueden mostrar componentes organizativos y de información, pero sólo en lo que se refieren a funciones. [9]
En ingeniería de sistemas, un punto de vista es una partición o restricción de preocupaciones en un sistema. La adopción de un punto de vista es útil para que las cuestiones relativas a esos aspectos puedan abordarse por separado. Una buena selección de puntos de vista también divide el diseño del sistema en áreas específicas de especialización. [3]
Los puntos de vista proporcionan las convenciones, reglas y lenguajes para construir, presentar y analizar vistas. En ISO/IEC 42010:2007 ( IEEE-Std-1471-2000 ), un punto de vista es una especificación para una vista individual. Una vista es una representación de un sistema completo desde la perspectiva de un punto de vista. Una vista puede constar de uno o más modelos arquitectónicos . [10] Cada uno de estos modelos arquitectónicos se desarrolla utilizando los métodos establecidos por su sistema arquitectónico asociado, así como para el sistema en su conjunto. [6]
Las perspectivas de modelado son un conjunto de diferentes formas de representar aspectos preseleccionados de un sistema. Cada perspectiva tiene un enfoque, conceptualización, dedicación y visualización diferente de lo que representa el modelo .
En los sistemas de información , la forma tradicional de dividir las perspectivas de modelado es distinguir las perspectivas estructural, funcional y conductual/procesual. Esto, junto con las perspectivas de reglas, objetos, comunicación y actores y roles, es una forma de clasificar los enfoques de modelado [11].
En cualquier punto de vista dado, es posible hacer un modelo del sistema que contenga sólo los objetos que son visibles desde ese punto de vista, pero que también capture todos los objetos, relaciones y restricciones que están presentes en el sistema y son relevantes para ese punto de vista. Se dice que tal modelo es un modelo de punto de vista, o una visión del sistema desde ese punto de vista. [3]
Una vista dada es una especificación para el sistema en un nivel particular de abstracción desde un punto de vista dado. Los diferentes niveles de abstracción contienen diferentes niveles de detalle. Las vistas de nivel superior permiten al ingeniero diseñar y comprender todo el diseño e identificar y resolver problemas a gran escala. Las vistas de nivel inferior permiten al ingeniero concentrarse en una parte del diseño y desarrollar las especificaciones detalladas. [3]
Sin embargo, en el sistema mismo, todas las especificaciones que aparecen en los distintos modelos de puntos de vista deben abordarse en los componentes realizados del sistema. Y las especificaciones de cualquier componente determinado pueden extraerse desde muchos puntos de vista diferentes. Por otro lado, las especificaciones inducidas por la distribución de funciones sobre componentes específicos y las interacciones entre componentes típicamente reflejarán una división de preocupaciones diferente a la reflejada en los puntos de vista originales. Por lo tanto, también pueden ser útiles puntos de vista adicionales que aborden las preocupaciones de los componentes individuales y la síntesis ascendente del sistema. [3]
Una descripción de la arquitectura es una representación de la arquitectura de un sistema, en cualquier momento, en términos de sus partes componentes, cómo funcionan esas partes, las reglas y restricciones bajo las cuales funcionan esas partes y cómo esas partes se relacionan entre sí y con el entorno. En una descripción de arquitectura, los datos de la arquitectura se comparten entre varias vistas y productos.
En la capa de datos se encuentran los elementos de datos de la arquitectura y sus atributos y relaciones que los definen. En la capa de presentación se encuentran los productos y vistas que respaldan un medio visual para comunicar y comprender el propósito de la arquitectura, lo que describe y los diversos análisis arquitectónicos realizados. Los productos proporcionan una forma de visualizar datos de arquitectura como representaciones gráficas, tabulares o textuales. Las vistas brindan la capacidad de visualizar datos de arquitectura que surgen de todos los productos, organizando lógicamente los datos para una perspectiva específica u holística de la arquitectura.
El enfoque de tres esquemas para el modelado de datos, introducido en 1977, puede considerarse uno de los primeros modelos de vista. Es un enfoque para la construcción de sistemas de información y sistemas de gestión de la información, que promueve el modelo conceptual como clave para lograr la integración de datos . [13] El enfoque de tres esquemas define tres esquemas y vistas:
En el centro, el esquema conceptual define la ontología de los conceptos tal como los usuarios piensan en ellos y hablan de ellos. El esquema físico describe los formatos internos de los datos almacenados en la base de datos y el esquema externo define la vista de los datos presentados a los programas de aplicación . [14] El marco intentó permitir el uso de múltiples modelos de datos para esquemas externos. [15]
Con el paso de los años, la habilidad y el interés en construir sistemas de información han crecido enormemente. Sin embargo, en su mayor parte, el enfoque tradicional para construir sistemas sólo se ha centrado en definir datos desde dos vistas distintas, la "vista del usuario" y la "vista de la computadora". Desde la vista del usuario, que se denominará "esquema externo", la definición de datos se encuentra en el contexto de informes y pantallas diseñadas para ayudar a las personas a realizar sus trabajos específicos. La estructura requerida de datos desde una vista de uso cambia con el entorno empresarial y las preferencias individuales del usuario. Desde la vista de la computadora, a la que nos referiremos como "esquema interno", los datos se definen en términos de estructuras de archivos para almacenamiento y recuperación. La estructura requerida de datos para el almacenamiento informático depende de la tecnología informática específica empleada y de la necesidad de un procesamiento eficiente de los datos. [dieciséis]
4+1 es un modelo de vista diseñado por Philippe Kruchten en 1995 para describir la arquitectura de sistemas intensivos en software, basado en el uso de múltiples vistas concurrentes. [17] Las vistas se utilizan para describir el sistema desde el punto de vista de diferentes partes interesadas, como usuarios finales, desarrolladores y directores de proyectos. Las cuatro vistas del modelo son lógica, desarrollo, proceso y física:
Las cuatro vistas del modelo se refieren a:
Además, se utilizan casos de uso o escenarios seleccionados para ilustrar la arquitectura. Por tanto, el modelo contiene 4+1 vistas. [17]
El marco de arquitectura empresarial define cómo organizar la estructura y las vistas asociadas con una arquitectura empresarial . Debido a que la disciplina de Arquitectura e Ingeniería Empresarial es tan amplia, y debido a que las empresas pueden ser grandes y complejas, los modelos asociados con la disciplina también tienden a ser grandes y complejos. Para gestionar esta escala y complejidad, un marco arquitectónico proporciona herramientas y métodos que pueden enfocar la tarea y permitir que se produzcan artefactos valiosos cuando más se necesitan.
Los marcos de arquitectura se utilizan comúnmente en tecnología de la información y gobernanza de sistemas de información . Es posible que una organización desee exigir que se produzcan ciertos modelos antes de que se pueda aprobar el diseño de un sistema . De manera similar, es posible que deseen especificar que se utilicen ciertas vistas en la documentación de los sistemas adquiridos: el Departamento de Defensa de EE. UU. estipula que los proveedores de equipos proporcionen vistas DoDAF específicas para proyectos de capital por encima de cierto valor.
El Marco Zachman , concebido originalmente por John Zachman en IBM en 1987, es un marco para la arquitectura empresarial que proporciona una forma formal y altamente estructurada de ver y definir una empresa.
El Marco se utiliza para organizar "artefactos" arquitectónicos de una manera que tenga en cuenta a quién se dirige el artefacto (por ejemplo, propietario de negocio y constructor) y qué problema particular (por ejemplo, datos y funcionalidad) se está abordando. Estos artefactos pueden incluir documentos de diseño, especificaciones y modelos. [19]
A menudo se hace referencia al Marco Zachman como un enfoque estándar para expresar los elementos básicos de la arquitectura empresarial . El Gobierno Federal de EE. UU. ha reconocido que el Marco Zachman ha "... recibido aceptación mundial como un marco integrado para gestionar el cambio en las empresas y los sistemas que las respaldan". [20]
El modelo de referencia de la Organización Internacional de Normalización (ISO) para el procesamiento distribuido abierto ( RM-ODP ) [21] especifica un conjunto de puntos de vista para particionar el diseño de un sistema de software/hardware distribuido. Dado que la mayoría de los problemas de integración surgen en el diseño de tales sistemas o en situaciones muy análogas, estos puntos de vista pueden resultar útiles para separar las preocupaciones de integración. Los puntos de vista del RMODP son: [3]
RMODP define además el requisito de que un diseño contenga especificaciones de coherencia entre puntos de vista, que incluyen: [3]
El Marco de Arquitectura del Departamento de Defensa (DoDAF) define una forma estándar de organizar una arquitectura empresarial (EA) o una arquitectura de sistemas en vistas complementarias y consistentes. Es especialmente adecuado para sistemas grandes con desafíos complejos de integración e interoperabilidad, y aparentemente es único en su uso de " vistas operativas " que detallan el dominio operativo del cliente externo en el que operará el sistema en desarrollo.
El DoDAF define un conjunto de productos que actúan como mecanismos para visualizar, comprender y asimilar el amplio alcance y las complejidades de una descripción de arquitectura a través de medios gráficos, tabulares o textuales. Estos productos están organizados bajo cuatro vistas:
Cada vista representa ciertas perspectivas de una arquitectura como se describe a continuación. Por lo general, solo se crea un subconjunto del conjunto de vistas DoDAF completo para cada desarrollo de sistema. La figura representa la información que vincula la vista operativa , la vista de sistemas y servicios y la vista de estándares técnicos. Las tres vistas y sus interrelaciones impulsadas (por elementos de datos de arquitectura comunes) proporcionan la base para derivar medidas como la interoperabilidad o el desempeño, y para medir el impacto de los valores de estas métricas en la misión operativa y la efectividad de las tareas. [22]
En los EE. UU., la arquitectura empresarial , de segmento y de solución de Federal Enterprise Architecture proporciona diferentes perspectivas comerciales al variar el nivel de detalle y abordar inquietudes relacionadas pero distintas. Así como las empresas están organizadas jerárquicamente, también lo están las diferentes vistas que ofrece cada tipo de arquitectura. La Guía Federal de Prácticas de Arquitectura Empresarial (2006) ha definido tres tipos de arquitectura: [23]
Por definición, la Arquitectura Empresarial (EA) se ocupa fundamentalmente de identificar activos comunes o compartidos, ya sean estrategias, procesos de negocio, inversiones, datos, sistemas o tecnologías. EA está impulsada por la estrategia; ayuda a una agencia a identificar si sus recursos están alineados adecuadamente con la misión de la agencia y las metas y objetivos estratégicos. Desde una perspectiva de inversión, EA se utiliza para impulsar decisiones sobre la cartera de inversiones de TI en su conjunto. En consecuencia, las principales partes interesadas de la EA son los altos directivos y ejecutivos encargados de garantizar que la agencia cumpla su misión de la manera más eficaz y eficiente posible. [23]
Por el contrario, la arquitectura de segmentos define una hoja de ruta simple para un área de misión central, un servicio comercial o un servicio empresarial. La arquitectura de segmentos está impulsada por la gestión empresarial y ofrece productos que mejoran la prestación de servicios a los ciudadanos y al personal de las agencias. Desde una perspectiva de inversión, la arquitectura de segmentos impulsa las decisiones para un caso de negocio o un grupo de casos de negocio que respaldan un área de misión central o un servicio común o compartido. Las principales partes interesadas en la arquitectura de segmentos son los propietarios y gerentes de empresas. La arquitectura de segmentos se relaciona con EA a través de tres principios: estructura, reutilización y alineación. En primer lugar, la arquitectura de segmentos hereda el marco utilizado por la EA, aunque puede ampliarse y especializarse para satisfacer las necesidades específicas de un área de misión central o de un servicio común o compartido. En segundo lugar, la arquitectura de segmentos reutiliza activos importantes definidos a nivel empresarial, incluidos: datos; procesos comerciales e inversiones comunes; y aplicaciones y tecnologías. En tercer lugar, la arquitectura del segmento se alinea con elementos definidos a nivel empresarial, como estrategias comerciales, mandatos, estándares y medidas de desempeño. [23]
En busca de un "Marco para el modelado de arquitecturas de sistemas espaciales", Peter Shames y Joseph Skipper (2006) definieron un "conjunto nominal de vistas", [6] derivado de CCSDS RASDS, RM-ODP, ISO 10746 y compatible con IEEE 1471 .
Este "conjunto de vistas", como se describe a continuación, es una lista de posibles puntos de vista de modelado. No todas estas vistas se pueden utilizar para ningún proyecto y se pueden definir otras vistas según sea necesario. Tenga en cuenta que, para algunos análisis, los elementos de múltiples puntos de vista se pueden combinar en una nueva vista, posiblemente utilizando una representación en capas.
En una presentación posterior, este conjunto nominal de vistas se presentó como una derivación del modelo de información semántica RASDS extendido. [24] Por la presente, RASDS significa Arquitectura de referencia para sistemas de datos espaciales. ver segunda imagen.
A diferencia de los modelos de vista enumerados anteriormente, este "conjunto nominal de vistas" enumera una amplia gama de vistas, con las que es posible desarrollar enfoques potentes y extensibles para describir una clase general de arquitecturas de sistemas con uso intensivo de software. [6]
Este artículo incorpora material de dominio público del Instituto Nacional de Estándares y Tecnología.