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

N1-VL

Vista Lógica SPRINT-B

N1-VL

Vista de Processos

SSD US150

N1-VP-US150

SSD US160

N1-VP-US160

SSD US170

N1-VP-US170

SSD US190

N1-VP-US190

SSD US200

N1-VP-US200

SSD US220

N1-VP-US220

SSD US230

N1-VP-US230

SSD US240

N1-VP-US240

SSD US250

N1-VP-US250

SSD US260

N1-VP-US260

SSD US270

N1-VP-US270

SSD US280

N1-VP-US270

SSD US290

N1-VP-US270

SSD US310

N1-VP-US270

SSD U350

N1-VP-US350

SSD U370

N1-VP-US370

SSD U380

N1-VP-US380

SSD US1050

N1-VP-US1050

SSD US1060

N1-VP-US1060

SSD US1070

N1-VP-US1070

SSD US1000

N1-VP-US1000

SSD US1030

N1-VP-US1030

(outros SSD arquiteturalmente relevantes)

[...]

Nível 2

Vista Lógica

N2-VL

Vista Lógica SPRINT-B

N2-VL

Vista de Processos

SSD US150

N2-VP-US150

SSD US160

N2-VP-US160

SSD US170

N2-VP-US170

SSD US190

N2-VP-US190

SSD US200

N2-VP-US200

SSD US220

N2-VP-US220

SSD US230

N2-VP-US230

SSD US240

N2-VP-US240

SSD US250

N2-VP-US250

SSD US260

N2-VP-US260

SSD US270

N2-VP-US270

SSD US280

N2-VP-US270

SSD US290

N2-VP-US270

SSD US310

N2-VP-US270

SSD U350

N2-VP-US350

SSD U370

N2-VP-US370

SSD U380

N2-VP-US380

SSD US1050

N2-VP-US1050

SSD US1060

N2-VP-US1060

SSD US1070

N2-VP-US1070

SSD US1000

N2-VP-US1000

SSD US1030

N2-VP-US1030

SSD 1020

N2-VP-US1020

SSD 1080

N2-VP-US1020

SSD 1090

N2-VP-US1020

SSD 1170

N2-VP-US1020

SSD 1180

N2-VP-US1020

SSD 1190

N2-VP-US1020

(outros SSD arquiteturalmente relevantes)

[...]

Vista de Implementação

N2-VL

Vista de Implementação SPRINT-B

N2-VL

Vista Física

N2-VF

Vista Física SPRINT-B

N2-VF

Mapeamento da Vista Lógica e da Vista de Implementação

N2-VL

Nível 3 (MDR)

Vista Lógica

Alternativa baseada numa arquitetura por camadas concêntricas (Onion):

N3-VL

Vista Lógica SPRINT-B

N3-VL-SPRINTB

Vista de Implementação

N3-VI

Vista de Implementação SPRINT-B

N3-VI

Vista de Processos

SSD US150

N3-VP-US150

SSD US160

N3-VP-US160

SSD US170

N3-VP-US170

SSD US190

N3-VP-US190

SSD US200

N3-VP-US200

SSD US220

N3-VP-US220

SSD US230

N3-VP-US230

SSD US240

N3-VP-US240

SSD US250

N3-VP-US250

SSD US260

N3-VP-US260

SSD US270

N3-VP-US270

SSD US280

N3-VP-US270

SSD US290

N3-VP-US270

SSD US310

N3-VP-US270

SSD U350

N3-VP-US350

SSD U370

N3-VP-US370

SSD U380

N3-VP-US380

SSD US1000

N3-VP-US1000

SSD US1020

N3-VP-US1020

SSD US1030

N3-VP-US1030

SSD US1050

N3-VP-US1050

SSD US1060

N3-VP-US1060

SSD US1070

N3-VP-US1070

SSD US1090

N3-VP-US1090

SSD US1170

N3-VP-US1170

SSD US1180

N3-VP-US1180

SSD US1190

N3-VP-US1190

SSD US460

N3-VP