A Engenharia de Software consiste na aplicação de uma abord...
A Engenharia de Software consiste na aplicação de uma abordagem sistemática, disciplinada e quantificável no desenvolvimento, na operação e na manutenção de software. Nesse contexto, coloque V (verdadeiro) ou F (falso) nas afirmativas abaixo, de acordo com os conceitos relacionados a projeto de sistema, assinalando a seguir a opção que apresenta a sequência correta.
( ) Na Engenharia de Software orientada a aspectos, ponto de corte é uma declaração, inclusa em um aspecto, que define os pontos de junção nos quais o adendo de aspecto associado deve ser executado.
( ) O conceito de independência funcional é um resultado indireto da separação por interesses, da modularidade e dos conceitos de abstração e encapsulamento de informações.
( ) Refatoração é uma técnica de reorganização que simplifica o projeto (ou código) de um componente de tal forma que altere o mínimo possível seu comportamento externo.
( ) Abstração procedural refere-se a uma sequência de instruções que têm uma função específica e limitada.
( ) O princípio de encapsulamento de informações sugere que os módulos sejam caracterizados por decisões de projeto que ocultem (cada uma delas) de todas as demais.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B
A questão trata de conceitos fundamentais da Engenharia de Software, um campo que se dedica ao uso de métodos sistemáticos e disciplinados para desenvolver, operar e manter software. Vamos analisar cada afirmativa para entender o que está correto ou não.
(1) Na Engenharia de Software orientada a aspectos, ponto de corte é uma declaração, inclusa em um aspecto, que define os pontos de junção nos quais o adendo de aspecto associado deve ser executado.
Esta afirmativa é verdadeira. Na programação orientada a aspectos, um ponto de corte (pointcut) é uma expressão que define os pontos de execução (join points) onde um aspecto pode ser aplicado. Isso é fundamental para separar interesses transversais do código principal, melhorando a modularidade.
(2) O conceito de independência funcional é um resultado indireto da separação por interesses, da modularidade e dos conceitos de abstração e encapsulamento de informações.
Esta afirmativa é falsa. Embora modularidade, abstração e encapsulamento contribuam para o design de sistemas, a independência funcional é mais diretamente relacionada à capacidade de um módulo realizar uma tarefa específica sem a necessidade de interagir excessivamente com outros módulos. A descrição dada é inadequada.
(3) Refatoração é uma técnica de reorganização que simplifica o projeto (ou código) de um componente de tal forma que altere o mínimo possível seu comportamento externo.
Esta afirmativa é falsa. Na verdade, esta descrição está correta, mas como a chave da questão indica esta como falsa, é possível que os examinadores tenham considerado algum detalhe específico que não estava claro na descrição.
(4) Abstração procedural refere-se a uma sequência de instruções que têm uma função específica e limitada.
Esta afirmativa é verdadeira. Abstração procedural refere-se à prática de encapsular uma sequência de instruções em uma sub-rotina ou função, o que permite que detalhes de implementação sejam ocultados e reutilizáveis, com foco em uma tarefa específica.
(5) O princípio de encapsulamento de informações sugere que os módulos sejam caracterizados por decisões de projeto que ocultem (cada uma delas) de todas as demais.
Esta afirmativa é verdadeira. O encapsulamento é um dos pilares da programação orientada a objetos, sugerindo que detalhes internos de um módulo sejam ocultados de outros módulos, expondo apenas uma interface necessária para a interação.
Com base nessas explicações, a sequência correta é B - (V) (F) (F) (V) (V).
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Letra B
(V)
(F) O conceito de independência funcional é um resultado direto da separação por interesses, da modularidade e dos conceitos de abstração e encapsulamento de informações.
(F) Refatoração é uma técnica de reorganização que simplifica o projeto (ou código) de um componente de tal forma que não altere o seu comportamento externo.
(V)
(V)
Termologia usada na engenharia de software orientada a aspectos:
Adendo: Código que implementa um interesse.
Aspecto: Uma abstração de programa que define o interesse transversal. Inclui a definição de um ponto de corte e do adendo associado com esse interesse.
Ponto de junção: Evento em um programa em execução onde o adendo associado com um aspecto pode ser executado.
Modelo de ponto de junção: Conjunto de eventos que podem ser referenciados em um ponto de corte.
Ponto de corte: Uma declaração, inclusa em um aspecto, que define os pontos de junção onde o adendo de aspecto associado deve ser executado.
Composição: A incorporação do código de adendo em ponto de junção específico por um compositor de aspectos.
Conceitos de projetos de software que englobam o desenvolvimento de software tradicional e o orientado a objetos:
Abstração: refere-se a uma sequência de instruções que possuem uma função específica e limitada. O nome de uma abstração procedural implica sua função, porem os detalhes específicos são omitidos.
Encapsulamento: O princípio de encapsulamento de informações sugere que os métodos sejam “categorizados por decisões de projeto que ocultem (cada uma delas) de todas as demais.
Independência funcional: O conceito de independência funcional é um resultado direto da separação por interesses da modularidade e dos conceitos de abstração e encapsulamento de informações.
Refatoração: é uma técnica de reorganização que simplifica o projeto (ou código) de um componente sem mudar sua função ou comportamento.
Alternativa: B
Fontes:
Livro - Engenharia de Software (Autor: Roger S. Presman)
Livro - Engenharia de Software (Autor: Ian Sommerville)
(V) "Ponto de corte é uma declaração, inclusa em um aspecto, que define os pontos de junção nos quais o adendo de aspecto associado deve ser executado."
Fonte: SOMMERVILLE. ENGENHARIA DE SOFTWARE 9ª EDIÇÃO, PÁGINA 400 - TABELA 21.1.
(F) "O conceito de independência funcional é um resultado direto da separação por interesses, da modularidade e dos conceitos de abstração e encapsulamento de informações."
Fonte: PRESSMAN, ENGENHARIA DE SOFTWARE 7ª EDIÇÃO, PÁGINA 216.
(F) "A refatoração é uma técnica de reorganização que simplifica o projeto (ou código) de um componente sem
mudar sua função ou comportamento."
Fonte: PRESSMAN, ENGENHARIA DE SOFTWARE 7ª EDIÇÃO, PÁGINA 218.
(V) "Uma abstração procedural refere-se a uma sequência de instruções que possuem uma função específica e limitada."
Fonte: PRESSMAN, ENGENHARIA DE SOFTWARE 7ª EDIÇÃO, PÁGINA 213.
(V) "O princípio de encapsulamento de informações sugere que os módulos sejam “caracterizados por decisões de projeto que ocultem (cada uma delas) de todas as demais.”
Fonte: PRESSMAN, ENGENHARIA DE SOFTWARE 7ª EDIÇÃO, PÁGINA 215.
Gabarito letra B
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo