Pular para o conteúdo principal

Questão de Engenharia de Software — UML — VUNESP 2023

Engenharia de SoftwareUML
Código
vu197004
Banca
VUNESP
Órgão
CIJUN
Ano
2023
Cargo
Ana ( )
Em um diagrama de classes da UML é possível declarar um atributo como sendo derivado (calculado usando outros dados). A representação correta para declarar o atributo idade como sendo derivado é:
  1. A#idade
  2. B/idade
  3. C@idade
  4. D*idade
  5. E%idade
Revelar gabarito e comentário

GabaritoB — /idade

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

Atributos derivados em diagramas de classes UML

Gabarito: letra B. Na UML, um atributo derivado — aquele cujo valor é calculado a partir de outros dados — é representado prefixando seu nome com uma barra "/" (ex.: /idade). Essa notação é definida pela especificação da UML (OMG) e é a única entre as alternativas que corresponde à sintaxe correta.

Um atributo derivado é um atributo cujo valor não é armazenado diretamente, mas sim calculado a partir de outros atributos ou informações do sistema. No diagrama de classes, ele é representado com uma barra "/" antes do nome do atributo. Por exemplo, em uma classe Pessoa, o atributo idade pode ser derivado da data de nascimento, sendo representado como /idade. Essa notação indica que o valor é obtido por meio de um cálculo, e não armazenado de forma independente.

A UML (Unified Modeling Language) é uma linguagem de modelagem padronizada pela OMG (Object Management Group). Ela define diversos diagramas, sendo o diagrama de classes um dos mais importantes, pois descreve a estrutura estática do sistema, mostrando as classes, seus atributos, métodos e os relacionamentos entre elas. A notação para atributos derivados é uma convenção estabelecida nessa especificação, e é amplamente cobrada em concursos.

A representação de um atributo derivado é feita com a barra "/" imediatamente antes do nome do atributo. Essa barra é um marcador visual que indica que o valor daquele atributo é derivado, ou seja, calculado a partir de outros dados. Por exemplo, em uma classe ContaBancaria, o atributo saldo pode ser derivado da soma de todos os créditos e débitos, sendo representado como /saldo. Essa notação é essencial para comunicar que o valor não é armazenado, mas sim calculado quando necessário.

A distinção entre atributos derivados e atributos comuns é fundamental para a modelagem correta. Atributos comuns são armazenados diretamente no objeto, enquanto atributos derivados são calculados a partir de outros dados. Essa distinção é importante para evitar redundâncias e garantir a consistência dos dados. A barra "/" é o símbolo que a UML define para essa distinção, e é exatamente isso que a questão cobra.

A pegadinha desta questão é que a banca oferece vários símbolos que podem parecer plausíveis, mas apenas a barra "/" é a notação correta para atributos derivados. Os outros símbolos (#, @, , %) não têm esse significado na UML. O candidato que não conhece essa notação específica pode ser induzido a escolher uma alternativa errada, como o "#" que representa visibilidade protegida, ou o "" que pode ser usado para multiplicidade.

Guarde a regra: atributo derivado = barra "/" antes do nome. É esse critério que separa a alternativa correta das demais.

Símbolo

Significado na UML

Relação com atributo derivado?

/ (barra)

Atributo derivado (valor calculado)

✅ Sim — notação padrão

#

Visibilidade protegida (protected)

❌ Não — refere-se a acesso

*

Multiplicidade (ex.: 1..*)

❌ Não — usado em relacionamentos

@ / %

Sem significado padrão na UML

❌ Não — não fazem parte da especificação

Alternativa A — ❌ Incorreta

O símbolo "#" na UML representa a visibilidade protegida (protected) de um atributo ou método. Um atributo com visibilidade protegida é acessível apenas pela própria classe e por suas subclasses. Não tem relação com atributos derivados.

Alternativa B — ✅ Correta ⟵ GABARITO

A barra "/" antes do nome do atributo é a notação padrão da UML para indicar que o atributo é derivado, ou seja, seu valor é calculado a partir de outros dados. No exemplo da questão, /idade indica que a idade é derivada, por exemplo, da data de nascimento.

Alternativa C — ❌ Incorreta

O símbolo "@" não é uma notação padrão da UML para atributos. Ele pode ser usado em outras linguagens ou contextos, mas não na UML para indicar atributos derivados.

Alternativa D — ❌ Incorreta

O símbolo "" na UML é usado para indicar multiplicidade em relacionamentos, como em associações (ex.: `1..`). Não é usado para denotar atributos derivados.

Alternativa E — ❌ Incorreta

O símbolo "%" não é uma notação padrão da UML para atributos. Ele pode ser usado em outras linguagens ou contextos, mas não na UML para indicar atributos derivados.

Gabarito: letra B

Link permanente: /questoes/vu197004