Mapeamento entre o modelo de visualização arquitetural 4 + 1 e a UML


15

Estou um pouco confuso sobre como o modelo de visualização da arquitetura 4 + 1 é mapeado para a UML.

A Wikipedia fornece o seguinte mapeamento:

  • Visão lógica: Diagrama de classes, Diagrama de comunicação, Diagrama de seqüência.
  • Visualização Desenvolvimento: Diagrama de componentes, Diagrama de pacotes
  • Visualização de processo: Diagrama de atividades
  • Visualização Física: Diagrama de Implementação
  • Cenários: Diagrama de Casos de Uso

A função do papel das construções do diagrama de sequência UML no conceito de ciclo de vida do objeto fornece o seguinte mapeamento:

  • Visualização lógica (diagrama de classes (CD), diagrama de objetos (OD), diagrama de sequência (SD), diagrama de colaboração (COD), diagrama de gráfico de estados (SCD), diagrama de atividades (AD))
  • Visão de desenvolvimento (diagrama de pacotes, diagrama de componentes),
  • Visualização de processo (diagrama de caso de uso, CD, OD, SD, COD, SCD, AD),
  • Visualização física (diagrama de implantação) e
  • Visualização de casos de uso (diagrama de casos de uso, OD, SD, COD, SCD, AD) que combina os quatro mencionados acima.

A página da Web UML 4 + 1 View Materials apresenta o seguinte mapeamento:

UML 4 + 1 Visualizar materiais

Por fim, o documento técnico Apply 4 + 1 View Architecture with UML 2 fornece outro mapeamento:

  • Diagramas de classes de exibição lógica , diagramas de objetos, gráficos de estados e estruturas compostas
  • Diagramas de sequência da visualização de processo , diagramas de comunicação, diagramas de atividades, diagramas de tempo, diagramas de visão geral da interação
  • Diagramas de componentes da vista Desenvolvimento
  • Diagrama de implantação da visualização física
  • Visualização de casos de uso diagrama de casos de uso, diagramas de atividades

Tenho certeza de que novas pesquisas também revelarão outros mapeamentos.

Enquanto várias pessoas geralmente têm perspectivas diferentes, não vejo por que esse é o caso aqui. Especialmente, cada diagrama UML descreve o sistema de um aspecto específico. Então, por exemplo, por que o "diagrama de sequência" é considerado como descrevendo a "visão lógica" do sistema por um autor, enquanto outro autor considera como descrevendo a "visualização do processo"?

Você poderia me ajudar a esclarecer a confusão?

Respostas:


18

Embora eu concorde geralmente com a resposta de Bart van Ingen Schenau , acho que alguns pontos precisam de elaboração adicional.

A vantagem do modelo 4 + 1 View é que ele mapeia as partes interessadas para o tipo de informação de que precisam, sem exigir que sejam usadas notações de modelagem específicas. A ênfase está em garantir que todos os grupos tenham informações para entender o sistema e continuar fazendo seu trabalho.

O Modelo de Arquitetura de Software 4 + 1 View foi descrito no artigo de Philippe Kruchten, Architectural Blueprints - O Modelo de Arquitetura de Software "4 + 1" View, originalmente publicado no IEEE Software (novembro de 1995). Esta publicação não faz referências específicas à UML. De fato, o documento usa a notação Booch para a visão lógica, extensões à notação Booch para visão de processo e desenvolvimento, chama o uso de "várias formas" de desenvolver uma visão física e uma nova notação para cenários.

Em vez de tentar mapear cada uma das visualizações para tipos específicos de diagramas, considere quem é o público-alvo de cada visualização e quais informações eles precisam. Sabendo disso, observe vários tipos de modelos e quais fornecem as informações necessárias.

A visualização lógica foi projetada para atender às preocupações do usuário final sobre garantir que toda a funcionalidade desejada seja capturada pelo sistema. Em um sistema orientado a objetos, isso geralmente ocorre no nível da classe. Em sistemas complexos, você pode precisar de uma visão de pacote e decompor os pacotes em vários diagramas de classes. Em outros paradigmas, você pode estar interessado em representar módulos e as funções que eles fornecem. O resultado final deve ser um mapeamento da funcionalidade necessária para os componentes que fornecem essa funcionalidade.

A visualização do processo é projetada para pessoas que projetam o sistema inteiro e depois integram os subsistemas ou o sistema em um sistema de sistemas. Essa visão mostra as tarefas e processos que o sistema possui, faz interface com o mundo externo e / ou entre os componentes do sistema, as mensagens enviadas e recebidas e como o desempenho, a disponibilidade, a tolerância a falhas e a integridade estão sendo abordados.

A visão de desenvolvimento é principalmente para desenvolvedores que construirão os módulos e os subsistemas. Ele deve mostrar dependências e relacionamentos entre os módulos, como os módulos são organizados, reutilizados e portáveis.

A visualização física é principalmente para projetistas e administradores de sistemas que precisam entender os locais físicos do software, as conexões físicas entre os nós, a implantação e a instalação e a escalabilidade.

Por fim, os cenários ajudam a capturar os requisitos para que todas as partes interessadas entendam como o sistema se destina a ser usado.

Depois de entender o que cada visualização deve fornecer, você pode escolher quais notações de modelagem usar e em que nível de detalhe é necessário. O último parágrafo de Bart é especialmente verdadeiro - você pode mostrar vários níveis de detalhes em seus modelos UML, concentrando-se em elementos de design específicos ou combinando vários tipos de diagramas em um conjunto. Além disso, você pode considerar ir além da UML para outras notações de modelagem para descrever melhor a arquitetura do sistema - SysML , modelagem de relação de entidade ou IDEF .


The logical view is designed to address the end user's concerns about ensuring that all of their desired functionality is captured by the system. In an object-oriented system, this is often at the class level. Você não acha que, se queremos fazer algo para os usuários finais, pelo menos precisamos nos comunicar com eles e falar um idioma. Tente mostrar seu diagrama de classes para seus usuários e vamos ver o que eles dirão.
Pavel

1
@ JimJim2000 Eu não disse que era para o usuário final. Se você possui um conjunto de requisitos e os mapeia para elementos em uma visualização lógica, pode garantir que haja componentes (pacotes, classes, funções) projetados para atender a cada requisito. Não consigo pensar em muitos modelos de qualquer linguagem de modelagem que eu mostraria a um usuário final e espero que eles obtenham. Talvez um diagrama de atividades da UML.
Thomas Owens

9

O motivo pelo qual você não consegue encontrar um mapeamento individual entre as visualizações do Modelo Arquitetônico 4 + 1 e os vários diagramas UML é porque esse mapeamento não existe.

O que todos os autores estão tentando dizer com seus 'mapeamentos' é que, para cada visualização, existe um conjunto diferente de diagramas UML que podem ser úteis para transmitir as informações que você deseja contar nessa visualização.

Além disso, alguns diagramas UML podem ser usados ​​de maneiras diferentes, enfatizando diferentes elementos no diagrama, o que os torna úteis para várias visualizações. Porém, mesmo que um tipo de diagrama UML possa ser usado em várias visualizações, você desenharia um diagrama diferente (ou conjunto de diagramas) para cada visualização.


2

Embora eu concorde com a abordagem das respostas de Thomas Owens para atender às suas necessidades de usuários finais, uma coisa que não foi mencionada é que a razão pela qual a definição original da "Arquitetura do modelo de exibição 4 + 1" de Kruchten não faz nenhuma diferença. referências específicas à UML são porque o artigo foi escrito em 1995 (como a resposta indica), mas a UML não foi realmente adotada como padrão até 1997 .

O uso contínuo da notação Booch no artigo sugere que a relação de cada uma das visualizações de modelos com um diagrama UML específico pode ser apropriada, pois Grady Booch foi uma das pessoas envolvidas no desenvolvimento da UML.

É por isso que tantos autores diferentes consideram que diferentes diagramas UML são aplicáveis ​​a cada visualização, uma vez que vários diagramas UML podem ser considerados em alguma quantidade "abstrações" da Notação Booch que a definição original do modelo 4 + 1 depende para representar cada visualização.

Espero que isso esclareça as coisas um pouco mais para qualquer pessoa que esteja investigando isso.


1

Você ainda usa o videocassete que comprou em 1995.? 4 + 1 era aplicável na época em que o software estava em sua infância. Mas, mesmo assim, ninguém nunca usou mais de 2 ou 3 "visualizações". Nos últimos 20 anos, a engenharia de software mudou. Atualmente, escopo / contexto e conceitual e lógico e físico e ... são todos diferenciados. Muitas soluções COTS precisam ser integradas e assim por diante. Hoje, estamos falando de mapas de paisagem, realizações de serviços e dezenas de outras visualizações e pontos de vista. A melhor maneira de ver isso é através de uma estrutura de taxonomia simples como Zachman: 6 visualizações e 6 pontos de vista. Deixe esse ser o seu ponto de partida. 6 visualizações são: conceitual contextual ou lógico de negócios ou físico, físico ou tecnológico ou fornecimento de artefatos ou empresa funcionando

6 pontos de vista são: dados ou que função ou como a rede ou onde as pessoas ou quem cronometra ou quando a motivação ou o motivo

Vamos dar um exemplo. Se estivermos interessados ​​apenas em dados, começaremos com a exibição do escopo e diremos: "Nosso escopo é CRM". Na visão conceitual do ponto de vista de dados, apresentaremos algum modelo semântico para CRM. O modelo será conceitual, conceitos de informações de negócios, e não objetos de dados. Em seguida, na visão lógica, produziremos um modelo de dados lógicos a partir do nosso modelo conceitual de CRM. Podemos usar a metodologia ER para produzir modelo de dados lógicos. Então, na visão física, produziremos um modelo de dados físico. Aqui, definiremos tipos de dados concretos para a plataforma db de nossa escolha, índices etc. Finalmente, na exibição de entrega, teremos nosso script DDL, enquanto na exibição corporativa em funcionamento, teremos um arquivo binário implantado em algum servidor de banco de dados e mapeado em estruturas de dados internas do fornecedor de DBMs. Repetimos isso para todos os pontos de vista ou colunas. Além disso, se houver mais de uma parte interessada, criaremos mais de um modelo para cada combinação de ponto de vista / vista. Agora que você possui essa taxonomia, pode definir seus próprios pontos de vista e visualizações e alinhá-los nessa taxonomia. Por exemplo, para iniciativas em nível corporativo, os seguintes pontos de vista são importantes: ator cooperação comportamento do aplicativo aplicativo cooperação estrutura do aplicativo uso do aplicativo função de negócios processo de negócios cooperação do processo de negócios implementação e implantação estrutura de informações estrutura da infraestrutura uso da infraestrutura infraestrutura visão geral do mapa visão geral do mapa em camadas realização de serviços organizacionais etc. Agora que você possui essa taxonomia, pode definir seus próprios pontos de vista e visualizações e alinhá-los nessa taxonomia. Por exemplo, para iniciativas em nível corporativo, os seguintes pontos de vista são importantes: ator cooperação comportamento do aplicativo aplicativo cooperação estrutura do aplicativo uso do aplicativo função de negócios processo de negócios cooperação do processo de negócios implementação e implantação estrutura de informações estrutura da infraestrutura uso da infraestrutura infraestrutura visão geral do mapa visão geral do mapa em camadas realização de serviços organizacionais etc. Agora que você possui essa taxonomia, pode definir seus próprios pontos de vista e visualizações e alinhá-los nessa taxonomia. Por exemplo, para iniciativas em nível corporativo, os seguintes pontos de vista são importantes: ator cooperação comportamento do aplicativo aplicativo cooperação estrutura do aplicativo uso do aplicativo função de negócios processo de negócios cooperação do processo de negócios implementação e implantação estrutura de informações estrutura da infraestrutura uso da infraestrutura infraestrutura visão geral do mapa visão geral do mapa em camadas realização de serviços organizacionais etc.

O 4 + 1 de Krutchen não poderia satisfazer todas essas necessidades


3
Esta resposta é muito tendenciosa e não concordo com o seu raciocínio sobre o porquê de Kruchten 4 + 1 ser "muito antigo". 20 anos atrás, em 1999. O software não estava em sua infância; Kruchten ainda fala sobre a relevância do 4 + 1, especialmente em ambientes ágeis. Há uma razão para os pontos de vista e visualizações estarem presentes nos padrões IEEE em relação à descrição da arquitetura.
Zimano 8/04/19
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.