Questão de Engenharia de Software — UML — FGV 2021
Engenharia de Software›UML
Código
fg045089
Banca
FGV
Órgão
TCE-AM
Ano
2021
Nível
Superior
Cargo
Auditor Técnico de Controle Externo - Tecnologia da Informação - 2ª dia
A Unified Modeling Language (UML) é uma especificação que define uma linguagem gráfica para visualizar, especificar, construir e documentar os artefatos de sistemas. A equipe de Tecnologia da Informação (TI) de um tribunal de contas estadual decidiu utilizar Casos de Uso para modelar os requisitos de um sistema em UML.Sobre os Casos de Uso especificados em UML 2.5.1, é correto afirmar que:
Adescrevem o comportamento do sistema sem referenciar sua estrutura interna;
Bo comportamento básico pode incluir variações, eliminando comportamentos atinentes ao tratamento de erros;
C"Extend" e "Include" são tipos especiais de Casos de Uso contendo lógicas de comportamento;
Dos detalhes sobre os comportamentos de um Caso de Uso podem ser especificados em Diagramas de Classes em UML;
ECasos de Uso estendidos representam reuso de comportamentos.
Revelar gabarito e comentário▾
GabaritoA — descrevem o comportamento do sistema sem referenciar sua estrutura interna;
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”.
UML: Casos de Uso
Gabarito: letra A. Na UML 2.5.1, os Casos de Uso (Use Cases) são diagramas comportamentais que descrevem o comportamento do sistema do ponto de vista do usuário, sem fazer referência à sua estrutura interna (classes, objetos, etc.). Essa é uma característica fundamental da modelagem de casos de uso: eles focam nas funcionalidades e interações externas, abstraindo a implementação interna.
Critério
Casos de Uso (UML 2.5.1)
Diagrama de Classes
Relacionamento "Include"
Relacionamento "Extend"
Propósito
Descrever comportamento do sistema do ponto de vista do usuário
Modelar estrutura estática do sistema (classes, atributos, relacionamentos)
Reutilizar comportamento comum entre casos de uso
Adicionar comportamento opcional ou de tratamento de erros a um caso de uso base
Foco
Funcionalidades e interações externas
Estrutura interna do sistema
Comportamento obrigatório compartilhado
Comportamento condicional ou excepcional
Relação com estrutura interna
Não referencia estrutura interna
É a própria representação da estrutura interna
Não aplicável diretamente
Não aplicável diretamente
Tratamento de erros
Deve contemplar cenários alternativos e de erro
Não modela comportamento
Não modela erros diretamente
Usado para modelar tratamento de erros
Mecanismo de reuso
Não é mecanismo de reuso
Reuso via herança/associação
Sim, reuso de comportamento
Não é reuso; é extensão opcional
Alternativa A — ✅ Correta ⟵ GABARITO
Os Casos de Uso capturam os requisitos funcionais ao descrever como o sistema interage com atores externos, sem detalhar como o sistema é construído internamente (sua estrutura). A UML define que casos de uso são um meio de especificar o comportamento esperado do sistema, independentemente de sua arquitetura interna.
Alternativa B — ❌ Incorreta
Afirma que o comportamento básico pode incluir variações eliminando comportamentos atinentes ao tratamento de erros. Na verdade, casos de uso devem contemplar cenários alternativos e de erro (exceções) para descrever completamente o comportamento. O relacionamento "extend" é justamente usado para modelar comportamentos opcionais ou de tratamento de erros, que não são eliminados.
Alternativa C — ❌ Incorreta
"Extend" e "Include" não são tipos especiais de Casos de Uso, mas sim relacionamentos entre casos de uso. Um caso de uso pode incluir o comportamento de outro (include) ou estender o comportamento de outro opcionalmente (extend). Eles não contêm lógica de comportamento própria; são apenas associações.
Alternativa D — ❌ Incorreta
Os detalhes sobre os comportamentos de um Caso de Uso podem ser especificados em diagramas comportamentais, como Diagrama de Atividades, Diagrama de Sequência ou até mesmo uma descrição textual. O Diagrama de Classes é um diagrama estrutural, usado para modelar a estrutura estática do sistema (classes, atributos, relacionamentos), não o comportamento detalhado de um caso de uso.
Alternativa E — ❌ Incorreta
Casos de Uso estendidos (extend) representam comportamentos opcionais que podem ser inseridos em um caso de uso base, mas não são um mecanismo de reuso. O reuso de comportamento é mais associado ao relacionamento "include", onde um caso de uso incorpora o comportamento de outro de forma obrigatória. Estender é para adicionar funcionalidade condicional, não para reutilizar.