Você está na página 1de 2

Prova 7 - Perfil II

Planejamento e Gestão do Conhecimento e de Dados


Especialidade: DESENVOLVIMENTO DE SISTEMAS
Padrões de Resposta
Questão no 1

Espera-se que o candidato fundamente seu texto abordando os aspectos elencados a seguir.
 Scrum é um processo ágil composto de 4 reuniões (Reunião de Planejamento, Scrum
Diário, Reunião de Revisão e Reunião de Retrospectiva), 3 papéis (Product Owner,
Scrum Master e Time de Desenvolvimento) e 3 artefatos (Product backlog, Sprint
Backlog e Incremento da Sprint). Por ser um processo simples de desenvolvimento e
por suportar a melhoria contínua, ele inclui a obrigação de realizar uma reunião de
revisão na qual os usuários podem aceitar, ou não, o incremento entregue, o que está
relacionando com o problema de falta de homologação pelo usuário. Além disso, o
Scrum possui a reunião de retrospectiva, que permite à equipe refletir sobre o seu
desempenho e melhorar o seu processo de desenvolvimento.
 Casos de uso são um método de eficácia comprovada para a elicitação de requisitos.
Sua principal função é descrever os cenários de uso de um sistema quando o usuário
deseja realizar alguma ação. Ele é principalmente caracterizado por levantar a intenção
de um ator e o passo a passo da interação do ator com o sistema para realizar a sua
intenção. A adoção de casos de uso está relacionada com a especificação ser muito
informal, pois ele aumenta a formalidade e o detalhe.
 Os testes de unidade focam em verificar a menor parte testável de um aplicativo, como
funções ou métodos, isoladamente dos demais. Isso é crucial para garantir que cada
componente funcione corretamente antes de ser integrado, abordando o problema de os
componentes não funcionarem como especificado durante os testes de integração.
 A automação de testes substitui a abordagem manual, proporcionando uma maneira
mais eficiente e confiável de realizar testes. Testes automatizados podem ser
executados rápida e repetidamente, o que é essencial para garantir que todas as partes
do software sejam testadas em cada mudança, reduzindo a probabilidade de bugs e
aumentando a velocidade dos testes.

(Valor: 100,0 pontos)


Questão no 2

Espera-se que o candidato fundamente seu texto abordando os aspectos elencados a seguir.
 À luz dos conceitos de encapsulamento (ocultação de informação) e acoplamento, as duas
falhas no design do módulo m01, tanto V1 como V2, são expor as suas estruturas internas e
delegar aos módulos que utilizam seus serviços a responsabilidade de implantar a sequência
de chamada das funções disponíveis em m01.

 O efeito dessas falhas na evolução e na reutilização futura desse módulo é a quebra do


princípio de ocultação da informação, o que cria uma dependência deletéria entre o módulo
m01 e os módulos que utilizam seus serviços. O aumento do acoplamento entre m01 e os
módulos que utilizam seus serviços dificulta a evolução de m01, pois possíveis alterações em
m01 irão disparar alterações nos demais módulos, aumentando, assim, o custo de evolução e
desencorajando a reutilização de m01.

 A solução para resolver os problemas de acoplamento do módulo m01 e que atende ao que foi
solicitado é a seguinte:
o O padrão Façade é um padrão de design que tem por objetivo facilitar a utilização de um
módulo complexo por meio de uma interface simples para as funcionalidades oferecidas
por esse módulo. Com base nesse padrão, a solução deve ser composta por uma ou mais
funções que implementam uma interface simples que tem por objetivo delegar às demais
funções a execução das funcionalidades disponibilizadas pelo módulo.
o Na descrição da solução, o candidato deve explicar que o código relativo à lógica de
chamada das funções do módulo m01, que nas versões V1 e V2 está localizado nos
módulos que usam m01, por exemplo main, deve ser inserido em uma nova função, que
passará a fazer parte de m01. Além disso, o nome dessa função deve ser atribuído à
variável __all__ , para que dessa forma a nova função seja a única forma de acesso às
funcionalidades de m01. Esse comando de atribuição deve ser o primeiro comando da nova
implementação do módulo m01.

 Os dois aspectos positivos da solução proposta são os seguintes:


o Essa solução permitirá que m01 evolua sem que haja, obrigatoriamente, alterações nos
módulos que usam m01.
o A estabilidade da interface de m01 facilitará a sua reutilização em outros sistemas.

(Valor: 100,0 pontos)

Você também pode gostar