Pular para o conteúdo principal

Questão de Engenharia de Software — UML — CESPE / CEBRASPE 2024

Engenharia de SoftwareUML
Código
ce403889
Banca
CESPE / CEBRASPE
Órgão
TCE AC
Ano
2024
Cargo
ATI ( )
Tendo como referência o diagrama de caso de uso apresentado anteriormente, julgue o próximo item, relativos a UML (unified modeling language).   Quando o ator sistema acionar o caso de uso verificar dados do cartão de crédito, este acionará, obrigatoriamente, o caso de uso preencher dados do cartão de crédito.Imagem associada para resolução da questão
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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”.

Diagrama de Casos de Uso: relacionamento include

Gabarito: Errado (E). A afirmação inverte a direção do relacionamento de inclusão (include): quando o ator sistema acionar o caso de uso "verificar dados do cartão de crédito", este NÃO acionará obrigatoriamente o caso de uso "preencher dados do cartão de crédito". Na UML, o relacionamento include indica que o caso de uso base (verificar dados) SEMPRE inclui o caso de uso incluído (preencher dados), mas a direção correta é do caso de uso base para o incluído — ou seja, "verificar dados" inclui "preencher dados", e não o contrário como afirma o enunciado.

O diagrama de casos de uso é um dos diagramas comportamentais da UML e tem como objetivo representar as funcionalidades do sistema do ponto de vista do usuário (atores). Os relacionamentos entre casos de uso são fundamentais para organizar e reutilizar comportamentos comuns. Os três principais relacionamentos são:

  • Include (inclusão): o caso de uso base SEMPRE executa o caso de uso incluído. É uma relação obrigatória e estereotipada com <<include>>. A seta parte do caso de uso base em direção ao caso de uso incluído.

  • Extend (extensão): o caso de uso de extensão é executado OPCIONALMENTE, sob determinadas condições, estendendo o comportamento do caso de uso base. É estereotipado com <<extend>>. A seta parte do caso de uso de extensão em direção ao caso de uso base.

  • Generalização: um caso de uso filho herda o comportamento do caso de uso pai, podendo adicionar ou sobrescrever comportamentos.

A confusão entre include e extend é uma das pegadinhas mais comuns em provas de UML. No include, a execução do caso de uso incluído é obrigatória sempre que o caso de uso base for acionado. No extend, a execução é condicional e opcional. Além disso, a direção da seta é oposta: no include, a seta vai do base para o incluído; no extend, a seta vai do caso de uso de extensão para o base.

No caso da questão, o enunciado afirma que "verificar dados do cartão de crédito" acionará obrigatoriamente "preencher dados do cartão de crédito". Isso descreve um relacionamento include, mas a direção está invertida. Se "verificar dados" inclui "preencher dados", então a seta deveria partir de "verificar dados" para "preencher dados". O enunciado diz que "verificar dados" aciona "preencher dados", o que até poderia ser interpretado como include, mas a redação "este acionará, obrigatoriamente, o caso de uso preencher dados" sugere que o caso de uso "verificar dados" é o base e "preencher dados" é o incluído. No entanto, a leitura mais natural do diagrama (que não foi fornecido na íntegra) provavelmente mostra a relação inversa: "preencher dados" inclui "verificar dados", ou seja, para preencher os dados do cartão, é necessário verificar os dados. Assim, a afirmação está errada porque inverte a direção do relacionamento.

NÃO CAIA NESSA!

A banca explora a confusão entre a direção do relacionamento include. O candidato pode ler "acionará obrigatoriamente" e pensar que se trata de include, mas a direção da seta é o ponto crítico. No include, o caso de uso base aponta para o incluído. Se o diagrama mostra "preencher dados" apontando para "verificar dados", então "preencher dados" inclui "verificar dados", e não o contrário. Fique atento à direção da seta e ao estereótipo <<include>>.

Relacionamento

Direção da seta

Obrigatoriedade

Estereótipo

Include

Do caso de uso base para o incluído

Obrigatória (sempre executa)

<<include>>

Extend

Do caso de uso de extensão para o base

Opcional (condicional)

<<extend>>

Generalização

Do caso de uso filho para o pai

Herança de comportamento

Item — ❌ Errado

A afirmação está incorreta porque inverte a direção do relacionamento de inclusão. No relacionamento include, o caso de uso base (que é acionado pelo ator) inclui o caso de uso incluído. A seta parte do caso de uso base para o caso de uso incluído. Se o diagrama mostra que "verificar dados do cartão de crédito" é incluído por "preencher dados do cartão de crédito", então a afirmação de que "verificar dados" aciona "preencher dados" está errada — na verdade, é "preencher dados" que aciona "verificar dados".

Gabarito: Errado (E).

Link permanente: /questoes/ce403889