Pular para o conteúdo principal

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

Engenharia de SoftwareUML
Código
vu196975
Banca
VUNESP
Órgão
CIJUN
Ano
2023
Cargo
Ana ( )
Considerando a UML 2.0, suponha um atributo chamado teste que deve ter sua multiplicidade estabelecida como um intervalo entre 1 e 5. A representação desse atributo no diagrama de classes será:
  1. Ateste (from 1 to 5)
  2. Bteste [1*5]
  3. Cteste 1**5
  4. Dteste [1..5]
  5. Eteste {1..5}
Revelar gabarito e comentário

GabaritoD — teste [1..5]

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

Multiplicidade de atributos na UML

Gabarito: letra D. Na UML 2.0, a multiplicidade de um atributo é representada entre colchetes, com o limite inferior e o superior separados por dois pontos (..), portanto um intervalo entre 1 e 5 é escrito como [1..5]. Essa é a notação padrão definida pela especificação da UML para indicar que o atributo pode ter de 1 a 5 valores.

A multiplicidade em UML define quantas instâncias de um elemento podem estar associadas a outra instância, ou, no caso de atributos, quantos valores aquele atributo pode assumir. É um conceito que aparece tanto em associações entre classes quanto na declaração de atributos, e a notação é a mesma nos dois casos. No diagrama de classes, quando um atributo tem multiplicidade maior que 1, ele é representado como uma lista ou coleção de valores — por exemplo, um atributo telefone com multiplicidade [1..5] indica que cada objeto da classe pode ter entre 1 e 5 números de telefone.

A notação usa colchetes [] para envolver a especificação da multiplicidade. Dentro dos colchetes, o formato é [limiteInferior..limiteSuperior], onde os dois pontos .. separam o valor mínimo do máximo. Quando os limites são iguais, pode-se escrever apenas um número (ex.: [3] equivale a [3..3]). O asterisco * é usado para indicar um limite superior ilimitado, como em [1..*] (um ou muitos) ou [*] (zero ou muitos).

A banca explora exatamente a confusão entre a notação de multiplicidade da UML e outras notações de intervalos ou coleções usadas em linguagens de programação ou em outros diagramas. Por isso, é essencial memorizar o formato exato: colchetes + limite inferior + .. + limite superior. Vamos analisar cada alternativa para fixar o que é e o que não é válido.

Alternativa A — ❌ Incorreta

A notação teste (from 1 to 5) não existe na UML. A palavra from e a estrutura from ... to ... não fazem parte da sintaxe de multiplicidade da UML. Essa forma lembra mais uma descrição textual em linguagem natural ou uma notação de intervalo em outras linguagens, mas não é a representação padrão da UML.

Alternativa B — ❌ Incorreta

teste [1*5] usa um asterisco * para separar os limites, o que está errado. Na UML, o asterisco tem significado de multiplicidade ilimitada (ex.: [1..*]), e não é usado como separador entre o limite inferior e o superior. O separador correto é .. (dois pontos).

Alternativa C — ❌ Incorreta

teste 1**5 não usa colchetes e usa dois asteriscos, o que não corresponde a nenhuma notação da UML. A multiplicidade deve estar entre colchetes, e o separador deve ser ... Essa alternativa mistura símbolos de forma totalmente aleatória.

Alternativa D — ✅ Correta ⟵ GABARITO

teste [1..5] é exatamente a notação correta da UML para uma multiplicidade entre 1 e 5. Os colchetes delimitam a especificação, o 1 indica o limite inferior (mínimo de 1 valor), o .. separa os limites e o 5 indica o limite superior (máximo de 5 valores). Essa é a forma padrão definida pela especificação da UML.

Alternativa E — ❌ Incorreta

teste {1..5} usa chaves {} em vez de colchetes []. Na UML, chaves são usadas para propriedades adicionais (como {ordered} ou {unique}), não para multiplicidade. A multiplicidade deve estar entre colchetes.

NÃO CAIA NESSA!

A banca troca os colchetes por chaves ou parênteses, e o separador .. por * ou from-to. O candidato que não memorizou a notação exata acaba escolhendo uma alternativa que parece razoável, mas foge do padrão UML. Lembre-se: multiplicidade sempre entre colchetes, com .. separando os limites.

PEGA ESSA DICA!

Para fixar, compare as notações: [1..5] (intervalo fechado), [1..*] (um ou muitos), [*] (zero ou muitos), [0..1] (opcional). Na prova, desconfie de qualquer alternativa que use * como separador ou que não use colchetes.

Gabarito: letra D

Link permanente: /questoes/vu196975