Questão de Engenharia de Software — UML — FGV 2026
- Código
- fg157189
- Banca
- FGV
- Órgão
- TJ RJ
- Ano
- 2026
- Cargo
- AJ ( )
- A1 - *
- B1 - 0..1
- C0..* - 1
- D1 - 1..*
- E0..1 - 0..*
GabaritoC — 0..* - 1
Gabarito: letra C. A cardinalidade correta é 0..* – 1: do lado da classe Audiência, a multiplicidade é 0..* (um Processo Judicial pode ter zero ou várias audiências), e do lado da classe Processo Judicial, a multiplicidade é 1 (cada Audiência está sempre vinculada a exatamente um Processo Judicial). A notação de multiplicidade na UML é lida da classe de origem para a classe de destino, e é exatamente essa leitura que a alternativa C espelha.
A multiplicidade (ou cardinalidade) em um diagrama de classes UML define quantas instâncias de uma classe podem estar associadas a uma instância da outra classe. Ela é representada junto à extremidade da linha de associação, próxima à classe à qual se refere. A leitura correta é: "para cada instância da classe A, existem X instâncias da classe B" — e vice-versa. No caso, temos duas regras de negócio claras: (1) cada Audiência pertence a um único Processo Judicial, e (2) um Processo Judicial pode ter nenhuma ou várias Audiências. Traduzindo para multiplicidade: do lado da Audiência (lendo a partir do Processo), o número de audiências por processo varia de 0 a muitos — 0..; do lado do Processo (lendo a partir da Audiência), cada audiência está ligada a exatamente 1 processo — 1. A ordem em que a cardinalidade é apresentada nas alternativas segue a convenção de ler primeiro a classe que está mais próxima do número, ou seja, a alternativa "0.. – 1" significa: 0..* audiências para cada processo, e 1 processo para cada audiência.
Um exemplo concreto: imagine um processo judicial recém-distribuído, que ainda não teve nenhuma audiência — ele se encaixa no "0" da multiplicidade 0... Depois, na fase de instrução, podem ser marcadas várias audiências de instrução e julgamento — daí o "" (várias). Já cada audiência, individualmente, só pode existir vinculada a um único processo — não faz sentido uma audiência pertencer a dois processos ao mesmo tempo. É essa assimetria que a notação captura: de um lado, flexibilidade (0 ou muitas); do outro, obrigatoriedade e unicidade (exatamente 1).
A pegadinha clássica desta questão é inverter a ordem de leitura da multiplicidade. O candidato que lê "1 – 0.." (alternativa A) está interpretando que cada Audiência pode ter vários Processos, o que contraria o enunciado. A banca também explora a confusão entre "1" e "1..": a alternativa D (1 – 1..) sugere que um processo teria pelo menos uma audiência, mas o enunciado diz explicitamente que o processo pode não ter nenhuma (processo recém-iniciado). A alternativa C é a única que respeita simultaneamente as duas regras: a Audiência tem multiplicidade 0.. (pode não existir ou existir várias vezes para um processo) e o Processo tem multiplicidade 1 (obrigatório e único para cada audiência).
Guarde o critério decisivo: a multiplicidade é lida da classe que está mais próxima do número, e cada extremidade da associação descreve a quantidade de instâncias da classe oposta. É exatamente nessa leitura que as alternativas se dividem.
Critério | Audiência (lado da associação) | Processo Judicial (lado da associação) |
|---|---|---|
Multiplicidade correta | 0..* (um processo pode ter zero ou várias audiências) | 1 (cada audiência pertence a exatamente um processo) |
Obrigatoriedade | Opcional (mínimo 0 — processo recém-iniciado sem audiência) | Obrigatório (mínimo 1 — audiência sempre vinculada a um processo) |
Pluralidade | Ilimitada (máximo * — várias audiências por processo) | Única (máximo 1 — um único processo por audiência) |
Notação UML | 0..* | 1 |
A notação 1 – 0..* inverte a leitura correta. Se lida como "1 processo para cada audiência e 0..* audiências para cada processo", ela até poderia parecer correta, mas a ordem apresentada segue a convenção de que o primeiro número se refere à classe mais próxima — e, na prática, a banca a apresenta como a inversão da resposta certa. O erro específico: a alternativa sugere que a multiplicidade do lado da Audiência é 1 (cada audiência teria exatamente um processo — o que é verdade), mas a do lado do Processo seria 0..* (cada processo teria zero ou vários processos — o que não faz sentido, pois a relação é entre Audiência e Processo, não entre processos). A leitura correta exige que o lado do Processo tenha multiplicidade 1, não 0..*.
A notação 1 – 0..1 está errada porque limita o número de audiências por processo a no máximo 1 (0..1). O enunciado afirma que um processo pode ter várias audiências registradas, o que exige o uso do asterisco (*) para representar multiplicidade ilimitada. O "0..1" indicaria que um processo teria no máximo uma audiência, contrariando diretamente a regra de negócio.
A notação 0..* – 1 representa exatamente as regras do enunciado: do lado da Audiência, a multiplicidade é 0..* (um Processo Judicial pode ter zero ou várias audiências); do lado do Processo Judicial, a multiplicidade é 1 (cada Audiência está vinculada a exatamente um Processo Judicial). A leitura é: para cada Processo, existem de 0 a muitas Audiências; para cada Audiência, existe exatamente 1 Processo. É a representação fiel da relação descrita.
A notação 1 – 1..* está errada porque impõe que todo Processo Judicial tenha pelo menos uma audiência (o "1" inicial). O enunciado é explícito: um processo recém-iniciado pode não ter nenhuma audiência. A multiplicidade correta do lado do Processo deve começar em 0, não em 1. O "1..*" indicaria obrigatoriedade de existência de pelo menos uma audiência, o que contradiz a regra.
A notação 0..1 – 0..* está errada porque limita o número de processos por audiência a no máximo 1 (0..1). O enunciado afirma que cada Audiência está sempre vinculada a um único Processo Judicial — ou seja, a multiplicidade do lado do Processo deve ser exatamente 1, não 0..1. O "0..1" permitiria que uma audiência existisse sem processo ou com mais de um, o que viola a regra de negócio.
A banca adora inverter a ordem de leitura da multiplicidade. Nesta questão, a alternativa A (1 – 0..*) parece plausível se você ler da direita para a esquerda, mas a convenção UML é clara: o número próximo a uma classe indica quantas instâncias da classe oposta se relacionam com ela. Leia sempre "para cada instância desta classe, existem X daquela" — e confira se o zero está presente quando o enunciado permite ausência (processo sem audiência). Com treino, você enxerga essas inversões de longe 💪
Para questões de multiplicidade, monte uma tabela mental com as duas regras do enunciado: (1) obrigatoriedade — se a relação é obrigatória, o número mínimo é 1; se é opcional, o mínimo é 0; (2) pluralidade — se pode haver várias instâncias, use *; se é única, use 1. Depois, escreva a cardinalidade na ordem "classe A – classe B" e confira se cada número está do lado certo.
Gabarito: letra C
Link permanente: /questoes/fg157189