Questão de Engenharia de Software — UML — FCC 2016
Engenharia de Software›UML
Código
fc033280
Banca
FCC
Órgão
TRF - 3ª REGIÃO
Ano
2016
Nível
Médio
Cargo
Técnico Judiciário - Informática
Um Técnico Judiciário de TI utiliza herança ao desenvolver programas orientados a objetos e diagramas de classe da UML para representar as relações entre as classes, pois ele sabe que
Aem UML, uma relação de dependência entre duas classes coloca-as em uma hierarquia representando o conceito de herança de uma classe base a partir de uma classe derivada.
Bassociações são representadas em UML como linhas conectando as classes e devem mostrar a multiplicidade de cada uma. A multiplicidade é exibida como um intervalo [min..máx] de valores não nulos, com um losango representando infinito.
Co diagrama mostra a estrutura dinâmica das classes, representadas por um retângulo dividido em 3 compartimentos, nos quais constam as regras de associação, de especialização e de pacotes.
Dum sistema normalmente possui alguns diagramas de classes, embora uma certa classe não possa participar de mais de um destes diagramas.
Ena herança uma classe herda todos os atributos e operações da classe da qual deriva e pode sobrescrever ou modificar alguns deles, bem como adicionar mais atributos e operações próprios.
Revelar gabarito e comentário▾
GabaritoE — na herança uma classe herda todos os atributos e operações da classe da qual deriva e pode sobrescrever ou modificar alguns deles, bem como adicionar mais atributos e operações próprios.
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 – Herança em diagramas de classes
Gabarito: letra E. A herança (ou generalização) em UML e na orientação a objetos estabelece que uma classe derivada (subclasse) herda todos os atributos e operações da classe base (superclasse), podendo sobrescrever ou modificar alguns deles, bem como adicionar novos membros. É exatamente o que descreve a alternativa E.
A banca testa se o candidato sabe distinguir herança de outros relacionamentos (dependência, associação) e conhece a notação correta da UML.
Alternativa A — ❌ Incorreta
Afirma que uma relação de dependência coloca as classes em hierarquia como herança. Isso é falso: dependência é um relacionamento semântico fraco (usa-se quando uma classe depende de outra, por exemplo como parâmetro). Herança é representada por generalização (seta com triângulo vazado), não por dependência. A alternativa inverte os conceitos: a classe derivada herda da base, não o contrário.
Alternativa B — ❌ Incorreta
A associação realmente é representada por uma linha com multiplicidade. Porém, a multiplicidade é expressa como 0..1, 1..*, ou * (asterisco), não como losango. O losango é usado para agregação (losango vazado) ou composição (losango preenchido). Além disso, a multiplicidade pode incluir zero (ex.: 0..1), logo não são apenas "valores não nulos".
Alternativa C — ❌ Incorreta
O diagrama de classes mostra a estrutura estática do sistema, não a dinâmica. O retângulo da classe tem três compartimentos: nome, atributos e operações. Não há compartimentos para "regras de associação, especialização e pacotes".
Alternativa D — ❌ Incorreta
Uma classe pode participar de mais de um diagrama de classes. Um sistema pode ter vários diagramas com visões diferentes (ex.: diagrama de pacotes, visão de um subsistema), e a mesma classe pode aparecer em todos eles.
Alternativa E — ✅ Correta ⟵ GABARITO
A definição está perfeita: herança implica herdar todos os atributos e operações da superclasse, com possibilidade de sobrescrita (override) e adição de novos membros. É o conceito fundamental de generalização/especialização em POO e UML.
PEGA ESSA DICA!
Para não errar, lembre-se: herança = triângulo vazado; dependência = seta tracejada; associação = linha simples; agregação = losango vazado; composição = losango preenchido. E o compartimento de classe é nome, atributos, operações – nessa ordem.