Mapeo entre 4 + 1 modelo de vista arquitectónica y UML

14

Estoy un poco confundido acerca de cómo el modelo de vista arquitectónico 4 + 1 se asigna a UML.

Wikipedia ofrece la siguiente asignación:

  • Vista lógica: Diagrama de clase, Diagrama de comunicación, Diagrama de secuencia.
  • Vista de desarrollo: Diagrama de componentes, Diagrama de paquete
  • Vista de proceso: diagrama de actividad
  • Vista física: Diagrama de implementación
  • Escenarios: diagrama de casos de uso

El función de las construcciones del diagrama de secuencia UML en el concepto del ciclo de vida del objeto proporciona la siguiente asignación:

  • Vista lógica (diagrama de clase (CD), diagrama de objeto (OD), diagrama de secuencia (SD), diagrama de colaboración (COD), diagrama de estado (SCD), diagrama de actividad (AD))
  • Vista de desarrollo (diagrama de paquete, diagrama de componente),
  • Vista de proceso (diagrama de caso de uso, CD, OD, SD, COD, SCD, AD),
  • Vista física (diagrama de despliegue), y
  • Vista de caso de uso (diagrama de caso de uso, OD, SD, COD, SCD, AD) que combina los cuatro mencionados anteriormente.

La página web UML 4 + 1 Ver materiales presenta la siguiente asignación :

Finalmente,eldocumentotécnico Aplicar arquitectura 4 + 1 View Architecture con UML 2 proporciona otra mapeo:

  • Vista lógica diagramas de clase, diagramas de objetos, gráficos de estado y estructuras compuestas
  • Vista de proceso diagramas de secuencia, diagramas de comunicación, diagramas de actividad, diagramas de tiempo, diagramas de resumen de interacción
  • Vista de desarrollo diagramas de componentes
  • Vista física diagrama de despliegue
  • Vista de caso de uso diagrama de caso de uso, diagramas de actividad

Estoy seguro de que una nueva búsqueda revelará también otras asignaciones.

Si bien varias personas suelen tener diferentes perspectivas, no veo por qué este es el caso aquí. Especialmente, cada diagrama UML describe el sistema desde un aspecto particular. Entonces, por ejemplo, ¿por qué un "autor" considera que el "diagrama de secuencia" describe la "vista lógica" del sistema, mientras que otro autor considera que describe la "vista de proceso"?

¿Podrías ayudarme a aclarar la confusión?

    
pregunta M.S. Dousti 22.03.2014 - 00:36
fuente

3 respuestas

18

Aunque generalmente estoy de acuerdo con la respuesta de Bart van Ingen Schenau , creo que algunos puntos necesitan una explicación adicional.

La ventaja de 4 + 1 View Model es que asigna a las partes interesadas al tipo de información que necesitan, sin requerir que se usen notaciones de modelado específicas. El énfasis está en asegurar que todos los grupos tengan la información para entender el sistema y continuar haciendo su trabajo.

El modelo de arquitectura de software 4 + 1 View se describió en Philippe Kruchten documento planos arquitectónicos: el modelo "4 + 1" de View Architeture que se publicó originalmente en IEEE Software (noviembre de 1995). Esta publicación no hace referencias específicas a UML. De hecho, el documento utiliza la notación de Booch para la vista lógica, extensiones a la notación de Booch para la vista de proceso y vista de desarrollo, indica el uso de "varias formas" de desarrollar una vista física y una nueva notación para escenarios.

En lugar de tratar de asignar cada una de las vistas a tipos particulares de diagramas, considere quién es el público objetivo de cada vista y qué información necesitan. Sabiendo eso, observe varios tipos de modelos y cuál (es) proporciona la información requerida.

La vista lógica está diseñada para abordar las inquietudes del usuario final acerca de garantizar que el sistema capture toda la funcionalidad deseada. En un sistema orientado a objetos, esto es a menudo en el nivel de clase. En sistemas complejos, es posible que necesite una vista de paquete y descomponer los paquetes en múltiples diagramas de clase. En otros paradigmas, puede estar interesado en representar módulos y las funciones que proporcionan. El resultado final debe ser una asignación de la funcionalidad requerida a los componentes que proporcionan esa funcionalidad.

La vista de proceso está diseñada para personas que diseñan todo el sistema y luego integran los subsistemas o el sistema en un sistema de sistemas. Esta vista muestra las tareas y procesos que tiene el sistema, las interfaces con el mundo exterior y / o entre los componentes dentro del sistema, los mensajes enviados y recibidos, y cómo se están abordando el rendimiento, la disponibilidad, la tolerancia a fallos y la integridad.

La vista de desarrollo es principalmente para desarrolladores que construirán los módulos y los subsistemas. Debe mostrar las dependencias y las relaciones entre los módulos, cómo se organizan, reutilizan y portabilidad los módulos.

La vista física es principalmente para los diseñadores y administradores de sistemas que necesitan comprender las ubicaciones físicas del software, las conexiones físicas entre nodos, la implementación y la instalación, y la escalabilidad.

Finalmente, los escenarios ayudan a capturar los requisitos para que todas las partes interesadas comprendan cómo se pretende utilizar el sistema.

Una vez que entienda lo que se supone que debe proporcionar cada vista, puede elegir qué notaciones de modelado usar y en qué nivel de detalle se requiere. El último párrafo de Bart es especialmente cierto: puede mostrar varios niveles de detalles en sus modelos UML centrándose en elementos de diseño particulares o combinando varios tipos de diagramas en un conjunto. Además, es posible que desee considerar ir más allá de UML a otras notaciones de modelado para describir mejor la arquitectura de su sistema - SysML , Modelado de relación de entidad , o IDEF .

    
respondido por el Thomas Owens 22.03.2014 - 11:09
fuente
8

La razón por la que no puede encontrar una asignación uno a uno entre las vistas del modelo arquitectónico 4 + 1 y los diversos diagramas UML es que no existe tal asignación.

Lo que todos esos autores intentan decir con sus 'asignaciones' es que para cada vista, hay un conjunto diferente de diagramas UML que pueden ser útiles para transmitir la información que desea contar en esa vista.

Además, algunos diagramas UML se pueden usar de diferentes maneras, al enfatizar diferentes elementos en el diagrama, lo que los hace útiles para múltiples vistas. Pero incluso si un tipo de diagrama UML se puede usar en varias vistas, dibujaría un diagrama diferente (o conjunto de diagramas) para cada vista.

    
respondido por el Bart van Ingen Schenau 22.03.2014 - 10:22
fuente
1

¿Todavía usa la videograbadora que compró en 1995.? 4 + 1 era aplicable en aquel entonces cuando el software estaba en su infancia. Pero incluso entonces, nadie utilizó más de 2 o 3 "vistas". En los últimos 20 años la ingeniería de software cambió. Hoy en día, el alcance / contexto y conceptual y lógico y físico y ... están todos diferenciados. Hay que integrar muchas soluciones COTS, y así sucesivamente. Hoy estamos hablando de mapas de paisajes, realizaciones de servicios y docenas de otros puntos de vista y puntos de vista. La mejor manera de verlo es a través de un marco de taxonomía simple como Zachman: 6 vistas y 6 puntos de vista. Deja que ese sea tu punto de partida. 6 vistas son: contextual conceptual o de negocios lógico o sistema física o tecnología entrega o artefactos empresa en funcionamiento

6 puntos de vista son: datos o que función o cómo red o donde gente o quien tiempo o cuando motivación o por qué

Veamos un ejemplo. Si solo nos interesan los datos, comenzaremos con la vista de alcance y diremos "Nuestro alcance es CRM". En la vista conceptual para el punto de vista de los datos, presentaremos un modelo semántico para CRM. El modelo será conceptual, conceptos de información empresarial en lugar de objetos de datos. A continuación, en la vista lógica, produciremos un modelo de datos lógico a partir de nuestro modelo conceptual de CRM. Podemos utilizar la metodología ER para producir un modelo de datos lógico. Luego, en la vista física, produciremos un modelo de datos físicos. Aquí, definiremos tipos de datos concretos para la plataforma db de nuestra elección, índices, etc. Finalmente, en la vista de entrega tendremos nuestro script DDL, mientras que en la vista de empresa en funcionamiento tendremos un archivo binario implementado en algún servidor de base de datos y asignado a las estructuras de datos internas del proveedor de DBM. Repetimos esto para cada punto de vista o columna. Además, si hay más de un actor, crearemos más de un modelo para cada combinación de punto de vista / vista. Ahora que tiene esta taxonomía en su lugar, puede definir sus propios puntos de vista y vistas y alinearlos con esta taxonomía. Por ejemplo, para las iniciativas de nivel empresarial, los siguientes puntos de vista son todos importantes: cooperación del actor comportamiento de la aplicación cooperación de aplicaciones estructura de la aplicación uso de la aplicación función de negocios procesos de negocio proceso de cooperación empresarial implementación y despliegue estructura de información infraestructura uso de infraestructura mapa del paisaje visión general en capas organizativo realización del servicio etc

El 4 + 1 de Krutchen no podría satisfacer todas estas necesidades

    
respondido por el Bran Kop 12.06.2015 - 19:13
fuente

Lea otras preguntas en las etiquetas