Questão de Engenharia de Software — Frameworks — UNESPAR 2023
- Código
- qg047372
- Banca
- UNESPAR
- Órgão
- UNESPAR
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista de Informática
- A05.
- B07.
- C12.
- D14.
- E15.
GabaritoA — 05.
A questão testa o conhecimento sobre o conceito de frameworks, especialmente suas características, hot-spots e frozen-spots, e a diferença entre frameworks e bibliotecas de classes. A banca cobra definições clássicas da engenharia de software.
Afirmativa | Conteúdo | Correto? |
|---|---|---|
01 | Frameworks são um conjunto integrado de artefatos de software que colaboram para fornecer uma arquitetura reusável para uma família de aplicações relacionadas. | ✅ |
02 | Hot-spots são pontos imutáveis ou que não podem ser facilmente alterados, constituem o kernel do framework. | ❌ |
04 | Em uma biblioteca de classes orientadas a objetos, cada classe é única e independente das outras. As aplicações que utilizam as bibliotecas é que criam as colaborações. | ✅ |
08 | Os frameworks de infraestrutura de sistemas são usados para integrar aplicações e componentes distribuídos, pois esconde o baixo nível da comunicação entre os componentes distribuídos. | ❌ |
A afirmativa define corretamente um framework: um conjunto integrado de artefatos de software que colaboram para fornecer uma arquitetura reutilizável para uma família de aplicações relacionadas. Essa é a definição clássica encontrada na literatura (Gamma et al., 1995; Johnson & Foote, 1988). Frameworks capturam o projeto e a arquitetura comuns, permitindo que o desenvolvedor estenda pontos específicos (hot-spots) para criar aplicações concretas.
A afirmativa inverte os conceitos. Hot-spots são os pontos variáveis e extensíveis do framework, onde o desenvolvedor insere o código específico da aplicação. Já os frozen-spots (ou pontos fixos) são os pontos imutáveis ou que não podem ser facilmente alterados, constituindo o kernel do framework. Portanto, hot-spots são justamente o oposto do que foi descrito.
Em uma biblioteca de classes orientadas a objetos, cada classe é independente e não colabora com as outras de forma pré-definida. As aplicações que utilizam a biblioteca é que criam as colaborações entre os objetos, chamando métodos e instanciando classes conforme necessário. Diferentemente de um framework, que já define o fluxo de controle e a colaboração entre os componentes (inversão de controle), a biblioteca de classes é apenas um conjunto de funcionalidades que o desenvolvedor invoca.
A afirmativa descreve um middleware ou plataforma de integração, e não um framework de infraestrutura de sistemas. Frameworks de infraestrutura de sistemas (como frameworks para acesso a banco de dados, comunicação em rede, etc.) fornecem uma base para o desenvolvimento de componentes, mas não são especificamente usados para integrar aplicações e componentes distribuídos escondendo a comunicação de baixo nível. Essa função é típica de middleware (ex.: CORBA, RMI, Web Services). A afirmativa confunde o conceito.
Conclusão: Afirmativas corretas: 01 e 04. Somatório = 1 + 4 = 5.
Memorize a diferença entre hot-spots (variáveis/extensíveis) e frozen-spots (fixos/kernel). A banca adora inverter esses conceitos. Além disso, distinga framework (inversão de controle, arquitetura pré-definida) de biblioteca de classes (chamada pelo desenvolvedor, sem controle invertido).
Gabarito: letra A (05).
Link permanente: /questoes/qg047372