Pular para o conteúdo principal

Questão de Engenharia de Software — UML — FGV 2024

Engenharia de SoftwareUML
Código
fg165473
Banca
FGV
Órgão
ALEP
Ano
2024
Cargo
Ana Leg ( )
O diagrama de atividades a seguir, representado utilizando a linguagem de modelagem UML, representa o fluxo de atividades de um cozinheiro.   Ao analisar esse diagrama, é possível inferir queImagem associada para resolução da questão
  1. Aapós a atividade “Verificar se há ingredientes”, há, nos termos da notação do diagrama, uma junção.
  2. Bas atividades “Preparar temperos” e “Cortar legumes” devem ser feitas em sequência, uma após a outra.
  3. Ccaso a condição de guarda “falta de algum ingrediente” não seja atendida, executa-se o fluxo de controle paralelo.
  4. Dhá duas raias de natação (swin lanes) envolvendo as atividades “Preparar temperos” e “Cortar legumes”.
  5. Eo diagrama apresenta dois pontos de estado inicial e um estado final, indicando como o fluxo deve ser seguido.
Revelar gabarito e comentário

GabaritoC — caso a condição de guarda “falta de algum ingrediente” não seja atendida, executa-se o fluxo de controle paralelo.

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 – Diagrama de Atividades

Gabarito: letra C. No diagrama de atividades da UML, a condição de guarda associada a um nó de decisão determina qual fluxo será executado: se a condição "falta de algum ingrediente" não for atendida, o fluxo segue pelo caminho que dispara a execução paralela das atividades "Preparar temperos" e "Cortar legumes" — exatamente o que a alternativa C afirma. A notação UML define que, após uma decisão, os fluxos podem se ramificar em paralelo por meio de um nó de bifurcação (fork), e é isso que o diagrama representa.

O diagrama de atividades é um dos diagramas comportamentais da UML, utilizado para modelar o fluxo de trabalho ou de processos, mostrando a sequência de atividades, decisões, e possíveis execuções paralelas. Ele é composto por elementos como: nó inicial (círculo preenchido), nó final (círculo com um ponto no centro), atividades (retângulos arredondados), decisões (losangos), bifurcações/forks (barras grossas horizontais ou verticais) e junções/joins (barras grossas que reúnem fluxos paralelos). A condição de guarda é um texto entre colchetes que rotula as arestas que saem de um nó de decisão, indicando a condição para seguir aquele caminho.

No caso do diagrama do cozinheiro, o fluxo inicia com a atividade "Verificar se há ingredientes". Em seguida, há um nó de decisão com a condição de guarda "falta de algum ingrediente". Se essa condição for verdadeira, o fluxo segue para um caminho (provavelmente de compra ou busca de ingredientes). Se for falsa, ou seja, se não faltar ingrediente, o fluxo segue para uma bifurcação (fork), que dispara a execução paralela das atividades "Preparar temperos" e "Cortar legumes". Após a execução dessas atividades, há uma junção (join) que reúne os fluxos e segue para o estado final.

A pegadinha da banca está em confundir os elementos de decisão e bifurcação. A decisão (losango) escolhe um caminho com base em uma condição; a bifurcação (barra grossa) dispara vários caminhos simultaneamente. No diagrama, a condição de guarda está associada à decisão, e o fluxo paralelo ocorre depois da decisão, quando a condição não é atendida. A alternativa C captura exatamente essa sequência: a condição de guarda "falta de algum ingrediente" não sendo atendida, executa-se o fluxo de controle paralelo.

Guarde a distinção entre decisão (escolhe um caminho) e bifurcação (dispara vários caminhos em paralelo): é nela que as alternativas desta questão se separam.

Alternativa A — ❌ Incorreta

Afirma que após a atividade "Verificar se há ingredientes" há uma junção. Na notação UML, a junção (join) é uma barra grossa que reúne fluxos paralelos que vieram de uma bifurcação. No diagrama, após essa atividade há um nó de decisão (losango), não uma junção. A junção, se existir, aparece depois das atividades paralelas "Preparar temperos" e "Cortar legumes", para reunir os fluxos. A alternativa troca o elemento de decisão pelo de junção.

Alternativa B — ❌ Incorreta

Afirma que "Preparar temperos" e "Cortar legumes" devem ser feitas em sequência, uma após a outra. O diagrama mostra uma bifurcação (fork) que dispara essas duas atividades em paralelo, ou seja, simultaneamente. A notação de fork é uma barra grossa que divide o fluxo em múltiplos fluxos concorrentes. A alternativa confunde execução paralela com execução sequencial.

Alternativa C — ✅ Correta ⟵ GABARITO

A alternativa está correta porque descreve com precisão o fluxo do diagrama. A condição de guarda "falta de algum ingrediente" está associada ao nó de decisão. Se essa condição não for atendida (ou seja, se houver ingredientes), o fluxo segue para a bifurcação, que dispara a execução paralela das atividades "Preparar temperos" e "Cortar legumes". A alternativa espelha exatamente a semântica da notação UML: condição de guarda não atendida → fluxo paralelo.

Alternativa D — ❌ Incorreta

Afirma que há duas raias de natação (swim lanes) envolvendo as atividades "Preparar temperos" e "Cortar legumes". As raias de natação são usadas para organizar as atividades por responsável ou departamento, dividindo o diagrama em faixas verticais ou horizontais. No diagrama descrito, não há indicação de raias; as atividades estão em um único fluxo, sem divisão por responsável. A alternativa inventa um elemento que não está presente.

Alternativa E — ❌ Incorreta

Afirma que o diagrama apresenta dois pontos de estado inicial e um estado final. Na notação UML, um diagrama de atividades deve ter um único nó inicial (círculo preenchido) e pode ter um ou mais nós finais. O diagrama descrito tem um ponto de estado inicial e um estado final. A alternativa erra ao afirmar que há dois pontos iniciais, o que violaria a especificação da UML.

Gabarito: letra C — a alternativa correta é a que descreve o fluxo paralelo após a condição de guarda não ser atendida.

Link permanente: /questoes/fg165473