Views - pedrocastrosousa/sem5pi-23-24-grupo59 GitHub Wiki
Contents
Views
Introduction
Será adotada a combinação de dois modelos de representação arquitetural: C4 e 4+1.
O Modelo de Vistas 4+1 Krutchen-1995(References.md#Kruchten-1995) propõe a descrição do sistema através de vistas complementares permitindo assim analisar separadamente os requisitos dos vários stakeholders do software, tais como utilizadores, administradores de sistemas, project managers, arquitetos e programadores. As vistas são deste modo definidas da seguinte forma:
- Vista lógica: relativa aos aspetos do software visando responder aos desafios do negócio;
- Vista de processos: relativa ao fluxo de processos ou interações no sistema;
- Vista de desenvolvimento: relativa à organização do software no seu ambiente de desenvolvimento;
- Vista física: relativa ao mapeamento dos vários componentes do software em hardware, i.e. onde é executado o software;
- Vista de cenários: relativa à associação de processos de negócio com atores capazes de os espoletar.
O Modelo C4 Brown-2020(References.md#Brown-2020)C4-2020(References.md#C4-2020) defende a descrição do software através de quatro níveis de abstração: sistema, contentor, componente e código. Cada nível adota uma granularidade mais fina que o nível que o antecede, dando assim acesso a mais detalhe de uma parte mais pequena do sistema. Estes níveis podem ser equiparáveis a mapas, e.g. a vista de sistema corresponde ao globo, a vista de contentor corresponde ao mapa de cada continente, a vista de componentes ao mapa de cada país e a vista de código ao mapa de estradas e bairros de cada cidade. Diferentes níveis permitem contar histórias diferentes a audiências distintas.
Os níveis encontram-se definidos da seguinte forma:
- Nível 1: Descrição (enquadramento) do sistema como um todo;
- Nível 2: Descrição de contentores do sistema;
- Nível 3: Descrição de componentes dos contentores;
- Nível 4: Descrição do código ou partes mais pequenas dos componentes (e como tal, não será abordado neste DAS/SAD).
Pode-se dizer que estes dois modelos se expandem ao longo de eixos distintos, sendo que o Modelo C4 apresenta o sistema com diferentes níveis de detalhe e o Modelo de Vista 4+1 apresenta o sistema de diferentes perspetivas. Ao combinar os dois modelos torna-se possível representar o sistema de diversas perspetivas, cada uma com vários níveis de detalhe.
Para modelar/representar visualmente, tanto o que foi implementado como as ideias e alternativas consideradas, recorre-se à Unified Modeling Language (UML) UML-2020(References.md#UML-2020) UMLDiagrams-2020(References.md#UMLDiagrams-2020).
Nível 1
Vista Lógica
Vista Lógica SPRINT-B
Vista de Processos
SSD US150
SSD US160
SSD US170
SSD US190
SSD US200
SSD US220
SSD US230
SSD US240
SSD US250
SSD US260
SSD US270
SSD US280
SSD US290
SSD US310
SSD U350
SSD U370
SSD U380
SSD US1050
SSD US1060
SSD US1070
SSD US1000
SSD US1030
(outros SSD arquiteturalmente relevantes)
[...]
Nível 2
Vista Lógica
Vista Lógica SPRINT-B
Vista de Processos
SSD US150
SSD US160
SSD US170
SSD US190
SSD US200
SSD US220
SSD US230
SSD US240
SSD US250
SSD US260
SSD US270
SSD US280
SSD US290
SSD US310
SSD U350
SSD U370
SSD U380
SSD US1050
SSD US1060
SSD US1070
SSD US1000
SSD US1030
SSD 1020
SSD 1080
SSD 1090
SSD 1170
SSD 1180
SSD 1190
(outros SSD arquiteturalmente relevantes)
[...]
Vista de Implementação
Vista de Implementação SPRINT-B
Vista Física
Vista Física SPRINT-B
Mapeamento da Vista Lógica e da Vista de Implementação
Nível 3 (MDR)
Vista Lógica
Alternativa baseada numa arquitetura por camadas concêntricas (Onion):