sqd-sistema-de-questoes-discursivas-fundo-escuro-250
Busca por enunciado
Matéria
Banca
Área
Órgão
Ano
Linhas
Q277764 | TI - Desenvolvimento de Sistemas
Banca: CesgranrioVer cursos
Ano: 2024
Órgao: IPEA - Instituto de Pesquisa Econômica Aplicada
Cargo: Técnico de Planejamento e Pesquisa

A-+=
Salvar em caderno (4)
Faça login para salvar Fechar
Meus Cadernos

Considere que uma equipe do Ipea desenvolveu um módulo Python que oferece serviços muito úteis aos demais sistemas desse instituto. As funções que compõem esse módulo são exibidas a seguir, sendo o código relativo a cada uma dessas funções irrelevante para a resolução dessa questão.

# Módulo m01.py – V1
def func01(parm1, parm2):
# código irrelevante para a questão
return
def func02(parm1, parm2):
# código irrelevante para a questão
return
def func03():
# código irrelevante para a questão
return
def func04(parm1, parm2):
# código irrelevante para a questão
return
def func05(parm1, parm2, parm3):
# código irrelevante para a questão
return
# fim do módulo m01.py

A API desse módulo é composta por todas as suas funções. Essa API foi projetada de modo que os demais módulos que usem os serviços por ela definidos tenham de implementar parte da lógica desses serviços. Isso é exemplificado pelo módulo main, exibido a seguir.

# Módulo main.py
from m01 import *
v1=5
x=func01(v1-3, v1-2)
match x:
case 1:
func02(v1, v1+1)
func03()
func04(0, 1)
case 2:
func02(v1+1, v1)
func04(1, 0)
case 3:
func03()
func04(0, 1)
case 4:
func02(v1, v1+1)
func03()
case _:
func05(v1, v1+1, v1+2)
# fim do Módulo main.py

Considere que, posteriormente, devido a mudanças em alguns dos requisitos relativos aos serviços disponibilizados pelo módulo m01, ele teve de ser alterado para dar suporte às novas funcionalidades. Para tal, foram feitas alterações no código das funções previamente existentes, além da adição da função func06. A nova versão do módulo m01 passou a ser a seguinte:

# Módulo m01.py – V2

def func01(parm1, parm2):
# código irrelevante para a questão
return
def func02(parm1, parm2):
# código irrelevante para a questão
return
def func03(parm1):
# código irrelevante para a questão
return
def func04(parm1, parm2):
# código irrelevante para a questão
return
def func05(parm1, parm2, parm3):
# código irrelevante para a questão
return
def func06():
# código irrelevante para a questão
return
# fim do módulo m01.py

As alterações feitas no módulo m01 desencadearam alterações no código dos módulos que usam os serviços por ele disponibilizados. Isso pode ser visto no exemplo a seguir:

# Módulo main.py
from m01 import *
v1=5
x=func01(v1-3, v1-2)
match x:
case 0:
func02(v1, 0)
case 1:
func03(v1+1)
func04(0, 1)
case 2:
func04(1, 0)
case 3:
func03(v1)
case 4:
func02(0, v1+1)
func03(v1+1)
case _:
func05(v1, v1+1, v1+2)
func06()
# fim do Módulo main.py

Observe que as alterações realizadas no módulo m01 fizeram com que o módulo main tivesse de ser alterado para que a nova implementação de m01 funcionasse a contento.

Considere as informações apresentadas e redija um texto dissertativo contínuo de 35 a 45 linhas (eventuais trechos de código inseridos nesse texto não serão considerados) em que, de forma fundamentada:

• indique as duas falhas no design do módulo m01, à luz dos conceitos de encapsulamento (ocultação de informação) e acoplamento;

• aponte e explique o efeito que essas falhas no design do módulo m01 terão na evolução e na reutilização futura desse módulo;

• apresente, também em texto dissertativo, a descrição de uma solução, não baseada em classes e métodos, para resolver os problemas de acoplamento do módulo m01, devendo essa descrição conter:

– o objetivo do padrão de design Façade;

– a descrição da solução, baseada nesse padrão de design, a qual deve:

→ conter todas as funções existentes na versão 2 (V2) do módulo m01, sem modificação no código dessas funções;

→ utilizar obrigatoriamente a variável __all__ para reforçar o encapsulamento;

• apresente dois aspectos positivos dessa solução, à luz dos conceitos de encapsulamento (ocultação de informação) e acoplamento.

loader-icon
1) Apenas um exemplo. O conteúdo real é bem diferente. O tipo de auditoria mais apropriado para o caso é a auditoria de regularidade ou de conformidade. No que tange ao objeto auditado, pode-se extrair dois tipos principais de auditoria: a auditoria de regularidade (ou conformidade) e a auditoria operacional (ou de desempenho). Segundo a Organização Internacional de Entidades Fiscalizadoras Superiores – INTOSAI, a Auditoria de regularidade (regularity audit) compreende Auditoria financeira, Auditoria de controles internos e Auditoria da legalidade de atos administrativos. Já a auditoria operacional, por sua vez, tem um foco mais voltado para a gestão. Segundo o Manual de Auditoria Operacional do TC, a auditoria operacional é o processo de coleta e análise sistemáticas de informações sobre características, processos e resultados de um programa, atividade ou organização, com base em critérios fundamentados, com o objetivo de aferir o desempenho da gestão governamental. Tópico 2: Três procedimentos de auditoria que deverão ser adotados. Justifique-os. Há uma série de procedimentos de que podem ser adotados no processo de fiscalização e auditoria, que podem ser citadas na resposta. 1) Avaliação do Sistema de Controle Interno: avaliação dos controles que auxiliam a entidade a cumprir as leis, as normas e os regulamentos; 2) Circularização (Confirmação Externa): confirmação, junto a terceiros, de fatos alegados pela entidade; 3) Exame e comparação de livros e registos: o confronto, o contejamento e a comparação de registros e documentos, para a comprovação da validade e autenticidade do universo, população ou amostra examinada; 4) Exame e comprovação documental: consistem em apurar, demonstrar, corroborar e concorrer para provar, acima de qualquer dúvida cabível, a validade e autenticidade de uma situação, documento ou atributo ou responsabilidade do universo auditado, através de provas obtidas em documentos integrantes dos processos administrativo, orçamentário, financeiro, contábil, operacional, patrimonial, ou gerencial do ente público no curso normal da sua atividade e dos quais o profissional de auditoria governamental se vale para evidenciar suas constatações, conclusões e recomendações.

CONTEÚDO EXCLUSIVO

Confira nossos planos especiais de assinatura e desbloqueie agora!

Este campo é para fins de validação e não deve ser alterado.
Quer ver esse conteúdo aqui? Vote abaixo.
Este campo fica oculto ao visualizar o formulário
Este campo fica oculto ao visualizar o formulário
Este campo fica oculto ao visualizar o formulário
Este campo fica oculto ao visualizar o formulário
Este campo fica oculto ao visualizar o formulário

Ops! Esta questão ainda não tem resolução em texto.

Este campo é para fins de validação e não deve ser alterado.
Quer ver esse conteúdo aqui? Vote abaixo.
Este campo fica oculto ao visualizar o formulário
Este campo fica oculto ao visualizar o formulário
Este campo fica oculto ao visualizar o formulário
Este campo fica oculto ao visualizar o formulário
Este campo fica oculto ao visualizar o formulário

Carregando…

Ops! Esta questão ainda não tem resolução em vídeo.

Este campo é para fins de validação e não deve ser alterado.
Quer ver esse conteúdo aqui? Vote abaixo.
Este campo fica oculto ao visualizar o formulário
Este campo fica oculto ao visualizar o formulário
Este campo fica oculto ao visualizar o formulário
Este campo fica oculto ao visualizar o formulário
Este campo fica oculto ao visualizar o formulário

Conteúdo exclusivo para alunos da Academia de Discursivas ou assinantes do Sistema de Questões Discursivas.
  • Este formulário é para reportar erros nesta questão discursivas. Caso tenha dúvidas ou precise de ajuda, clique aqui para ver nossos canais de contato.
  • Este campo fica oculto ao visualizar o formulário
  • Opcional

Questões Relacionadas

MatériaTI - Desenvolvimento de Sistemas
BancaCesgranrio
a)  Qual a complexidade de tempo, no pior caso (notação Big O), dos algoritmos Quicksort e Mergesort?
b)  Cite duas propriedades de uma árvore AVL.

Java é uma linguagem de programação de alto nível e orientada a objetos que foi desenvolvida pela Sun Microsystems (agora propriedade da Oracle Corporation) na década de 1990 e foi projetada para ser portátil, eficiente e segura, permitindo que o código desenvolvido seja executado em diferentes plataformas sem a necessidade de recompilação. A seguir, é apresentado o código-fonte da classe TAD escrito em JAVA:

class Node {

int data;

Node next;

Node(int data) {

this.data = data;

this.next = null;

}

}

 

public class TAD {

private Node top;

private int size;

 

public TAD() {

this.top = null;

this.size = 0;

}

 

public void inserir(int data) {

Node newNode = new Node(data);

newNode.…

Os produtos de software feitos por uma equipe de desenvolvimento demonstraram baixa qualidade no ambiente de produção. Devido a reclamações, foi feita uma auditoria que levantou os seguintes fatos:

  • • a especificação das funcionalidades era muito informal;
  • • durante os testes de integração, os componentes integrados não funcionavam como especificado, causando retrabalho pelos desenvolvedores de componentes;
  • • todos os testes eram feitos à mão e, como isso demorava, nem sempre eram feitos todos os testes necessários;
  • • não havia uma homologação das funcionalidades com o usuário antes do produto entrar em operação;
  • • não havia uma reflexão da equipe de modo a entender como melhorar o seu proce…

Espaço de Discussão

Converse com outros usuários do SQD

Acompanhar
Notificar
0 Comentários
Antigos
Recentes Votados
Inline Feedbacks
Ver todos comentários