Skip to content

GRASP(s)

1. Versionamento

Versão Data Descrição Autor(es)
1.0 17/03/2022 Abertura do documento Carlos e Paulo
1.1 18/03/2022 Adição do tópico 4.4 e 5 Carlos e Paulo
1.2 19/03/2022 Adição do tópico 4.1 Carlos e Paulo
1.2.1 20/03/2022 Revisão por pares Rafael Ramos e Vitor Lamego

2. Introdução

Após estudo dos padrões GRASP(s), iremos demonstrar sua aplicação na modelagem do projeto.

3. Metodologia

Como forma de manter maior coesão e consequentemente a realização de um melhor trabalho, os participantes se reuniram em chamada de voz e realizaram a aplicação dos padrões GRASP(s) em alguns artefatos específicos da modelagem.

4. GRASP(s)

4.1 Coesão

No padrão de projeto Coesão, identificado no estudo de grasps, inserido dentro do paradigma orientado a objetos, temos que cada classe tem responsabilidades e propósitos claros e definidos.

Em nosso projeto tentamos manter uma alta coesão, mantendo atributos e métodos relacionados apenas ao escopo da classe, é possível notar sua aplicação no diagrama de classes. Logo abaixo um exemplo de uma classe retirada do diagrama.

Figura 1: Aplicação Coesão
Fonte: Autores.

4.2 Controlador

Através dos nossos estudos indentificamos que o Controlador é responsável por receber e lidar com um evento do sistema, ou seja, tem como responsabilidade coordenar todos os procedimentos solicitados pelo usuário e identificar os responsáveis por tais tarefas. A partir disso, analisando o nosso diagrama de pacotes podemos identificar a utilização desse princípio.

No nosso projeto os controllers são responsáveis por acessar as "services" e estabelecer a lógica referente a cada página, informando esses dados para as "pages". A seguir está apresentado a imagem referente à modelagem de pacotes, onde podemos ver a controller.

Figura 2: Aplicação Controller
Fonte: Autores.

4.3 Criador

A partir do diagrama de classes é notado o uso do padrão GRASP criador, onde a classe "Produtor" é a responsável pela criação de instâncias do objeto "Propriedade". Aplicando o questionamento usado no estudo, temos que:

Na figura abaixo é visível que o método

adiciona_propriedade()

seria o responsável pela criação.

Figura 3: Aplicação Criador
Fonte: Autores

4.4 Especialista

Usando-se do conhecimento do padrão Especialista, especificado no estudo, temos que é possível notar sua aplicação no diagrama de classes, onde temos que a classe "Talhao" é a especialista na informação de talhões ativos ou não. Esta informação será requisitada pela classe "Propriedade" com o objetivo de conhecer os talhões ativos desta.

Na figura abaixo temos o método:

esta_ativo()

da classe "Talhao" que evidencia a explicação dada anteriormente.

Figura 4: Aplicação Especialista
Fonte: Autores

5. Referências

Estudo dos padrões GRASP(s). Estudo dos padrões GRASP(s)