Questão de Engenharia de Software — Desenvolvimento de Software — CESGRANRIO 2024
Engenharia de SoftwareDesenvolvimento de Software
- Código
- cg022259
- Banca
- CESGRANRIO
- Órgão
- IPEA
- Ano
- 2024
- Nível
- Superior
- Cargo
- Técnico de Planejamento e Pesquisa - Desenvolvimento de Sistemas
Um fabricante de aeronaves produz modelos turboélices e turbofans. Para auxiliar os pilotos das aeronaves que fabrica, a empresa desenvolveu um software para checklist de decolagem. A classe principal desse software é exibida a seguir.
O checklist é composto de quatro etapas. As três primeiras, step01, step02 e step03, são comuns aos modelos turboélices e turbofans, mas a quarta etapa depende do tipo de propulsor. Para criar um design flexível que dê suporte a outros modelos sem alterações no código existente, a equipe de desenvolvimento definiu um método abstrato para o quarto passo. Ele deverá ser implementado pelas subclasses de Checklist que implementem o quarto passo de acordo com o propulsor usado. Por exemplo, a classe Turboelice seria implementada da seguinte maneira: public class Turboelice extends Checklist { void step04( ) { // código irrelevante para a questão } } Desse modo, o checklist para turboélices seria executado de acordo com o trecho de código a seguir: Checklist c = new Turboelice(); c.check( ); Qual padrão de projeto foi empregado nesse design?
O checklist é composto de quatro etapas. As três primeiras, step01, step02 e step03, são comuns aos modelos turboélices e turbofans, mas a quarta etapa depende do tipo de propulsor. Para criar um design flexível que dê suporte a outros modelos sem alterações no código existente, a equipe de desenvolvimento definiu um método abstrato para o quarto passo. Ele deverá ser implementado pelas subclasses de Checklist que implementem o quarto passo de acordo com o propulsor usado. Por exemplo, a classe Turboelice seria implementada da seguinte maneira: public class Turboelice extends Checklist { void step04( ) { // código irrelevante para a questão } } Desse modo, o checklist para turboélices seria executado de acordo com o trecho de código a seguir: Checklist c = new Turboelice(); c.check( ); Qual padrão de projeto foi empregado nesse design?- ASingleton
- BAdapter
- CStrategy
- DFactory Method
- ETemplate Method