Questão de Engenharia de Software — Ferramentas CASE — VUNESP 2023
Engenharia de Software›Ferramentas CASE
Código
vu196884
Banca
VUNESP
Órgão
SP Regula
Ano
2023
Cargo
ARSP ( )
Uma funcionalidade oferecida por algumas ferramentas CASE é a edição de modelos de diversos tipos, em geral na forma de diagramas. Nesse contexto, assinale a alternativa correta.
AEditores de modelos relacionados a bancos de dados, tais como Entidade-Relacionamento, não são considerados ferramentas CASE.
BOs diagramas a serem editados por ferramentas CASE devem pertencer ao conjunto de diagramas oferecidos pela UML, que corresponde ao padrão de fato de linguagem de modelagem de software.
COs diagramas a serem editados por ferramentas CASE devem corresponder a DSMLs (Domain Specific Modeling Languages).
DÉ possível a geração automática de código-fonte em alguma linguagem alvo, a partir de diagramas elaborados em ferramentas CASE, ainda que parcialmente (em relação ao programa final).
EOs diagramas a serem editados por ferramentas CASE devem corresponder a GPMLs (General Purpose Modeling Languages).
Revelar gabarito e comentário▾
GabaritoD — É possível a geração automática de código-fonte em alguma linguagem alvo, a partir de diagramas elaborados em ferramentas CASE, ainda que parcialmente (em relação ao programa final).
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Ferramentas CASE e geração de código
Gabarito: letra D. As ferramentas CASE (Computer-Aided Software Engineering) são softwares que auxiliam as atividades de engenharia de software, e uma de suas funcionalidades mais importantes é a geração automática de código-fonte a partir de diagramas — ainda que essa geração seja parcial, pois o programa final quase sempre exige ajustes manuais. Essa é uma característica clássica das ferramentas CASE, especialmente das workbenches de análise e projeto.
As ferramentas CASE abrangem um conjunto amplo de softwares que apoiam o desenvolvimento de software, desde a análise de requisitos e modelagem até a programação e os testes. Elas podem ser classificadas de diversas formas: por função, por fase do processo que apoiam ou pelo grau de integração. Um tipo específico, as workbenches de análise e projeto, são projetadas para dar apoio à modelagem de sistemas durante os estágios de análise e projeto, fornecendo ferramentas de edição, verificação, relatório e documentação de diagramas.
A geração de código é uma das funcionalidades mais valiosas dessas ferramentas. A partir de um modelo bem definido — como um diagrama de classes UML ou um diagrama Entidade-Relacionamento — a ferramenta pode gerar automaticamente parte do código-fonte, como a estrutura de classes, atributos, métodos e até mesmo o esqueleto de implementação. No entanto, essa geração raramente é completa: o código gerado precisa ser complementado com a lógica de negócio, regras específicas e detalhes de implementação que não podem ser capturados apenas no diagrama. Por isso, a geração é dita parcial.
É importante destacar que as ferramentas CASE não se limitam a um único tipo de diagrama ou linguagem de modelagem. Elas podem trabalhar com diversos tipos de modelos, incluindo diagramas UML, diagramas Entidade-Relacionamento, diagramas de fluxo de dados, entre outros. A escolha do tipo de diagrama depende do método de análise e projeto adotado, e não há uma obrigatoriedade de usar apenas UML ou apenas linguagens específicas de domínio. A flexibilidade é uma característica dessas ferramentas.
A pegadinha desta questão está em afirmar que as ferramentas CASE devem se restringir a um único tipo de diagrama ou linguagem de modelagem. Na prática, elas são versáteis e podem apoiar diferentes métodos e notações. A alternativa correta reconhece essa versatilidade e destaca uma funcionalidade essencial: a geração automática de código, ainda que parcial.
Alternativa A — ❌ Incorreta
Afirma que editores de modelos Entidade-Relacionamento não são considerados ferramentas CASE. Isso é falso: ferramentas de modelagem de dados, incluindo as que trabalham com diagramas E-R, são um tipo clássico de ferramenta CASE. Elas apoiam a atividade de modelagem de dados, que é parte essencial da engenharia de software. O erro está em excluir uma categoria legítima de ferramentas CASE.
Alternativa B — ❌ Incorreta
Afirma que os diagramas editados por ferramentas CASE devem pertencer ao conjunto de diagramas da UML. Isso é incorreto porque as ferramentas CASE não são obrigadas a usar apenas UML. Elas podem trabalhar com outros tipos de diagramas, como diagramas de fluxo de dados, diagramas Entidade-Relacionamento, entre outros, dependendo do método adotado. A UML é um padrão de fato, mas não é o único nem obrigatório.
Alternativa C — ❌ Incorreta
Afirma que os diagramas devem corresponder a DSMLs (Domain Specific Modeling Languages). Isso é incorreto porque as ferramentas CASE não são restritas a linguagens específicas de domínio. Elas podem trabalhar com linguagens de propósito geral, como UML, ou com linguagens específicas, dependendo da necessidade. Não há obrigatoriedade de usar DSMLs.
Alternativa D — ✅ Correta ⟵ GABARITO
Afirma que é possível a geração automática de código-fonte em alguma linguagem alvo, a partir de diagramas elaborados em ferramentas CASE, ainda que parcialmente. Isso está correto: a geração de código é uma funcionalidade comum e valiosa das ferramentas CASE, especialmente das workbenches de análise e projeto. O código gerado é parcial porque a lógica de negócio e detalhes de implementação precisam ser adicionados manualmente.
Alternativa E — ❌ Incorreta
Afirma que os diagramas devem corresponder a GPMLs (General Purpose Modeling Languages). Isso é incorreto porque as ferramentas CASE não são restritas a linguagens de propósito geral. Elas podem trabalhar com linguagens específicas de domínio ou com outras notações, dependendo do método adotado. Não há obrigatoriedade de usar GPMLs.
Gabarito: letra D — a geração automática de código a partir de diagramas é uma funcionalidade real e importante das ferramentas CASE, ainda que o resultado seja parcial.