Questão de Engenharia de Software — UML — FGV 2024
Engenharia de Software›UML
Código
fg075146
Banca
FGV
Órgão
AL-PR
Ano
2024
Nível
Superior
Cargo
Analista Legislativo - Desenvolvedor de Sistemas
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 que
Aapós a atividade “Verificar se há ingredientes”, há, nos termos da notação do diagrama, uma junção.
Bas atividades “Preparar temperos” e “Cortar legumes” devem ser feitas em sequência, uma após a outra.
Ccaso a condição de guarda “falta de algum ingrediente” não seja atendida, executa-se o fluxo de controle paralelo.
Dhá duas raias de natação (swin lanes) envolvendo as atividades “Preparar temperos” e “Cortar legumes”.
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”.
Diagrama de Atividades UML: fluxo de controle e notação
Gabarito: letra C. A alternativa correta afirma que, se a condição de guarda "falta de algum ingrediente" não for atendida, executa-se o fluxo de controle paralelo — exatamente o que ocorre quando o fluxo passa pelo nó de decisão e segue o ramo cuja condição é verdadeira, chegando a uma bifurcação (fork) que dispara as atividades "Preparar temperos" e "Cortar legumes" em paralelo. Essa leitura decorre da semântica dos nós de decisão e de bifurcação no diagrama de atividades da UML.
O diagrama de atividades é um dos diagramas comportamentais da UML, usado para modelar o fluxo de controle ou de objetos entre atividades, representando a lógica de um processo, algoritmo ou caso de uso. Seus elementos principais incluem: estado inicial (círculo preenchido), estado final (círculo com borda preenchida), atividades (retângulos arredondados), decisões (losangos), bifurcações (fork) e junções (join) (barras grossas horizontais ou verticais), além de raias de natação (swimlanes) que organizam as atividades por responsável.
A decisão é representada por um losango com uma única entrada e múltiplas saídas, cada uma rotulada com uma condição de guarda (expressão booleana entre colchetes). Quando o fluxo chega à decisão, apenas um dos ramos é escolhido, com base na condição que for verdadeira. Já a bifurcação (fork) é uma barra grossa com uma única entrada e múltiplas saídas, indicando que todas as atividades subsequentes são executadas em paralelo (concorrentemente). A junção (join) é a barra grossa com múltiplas entradas e uma única saída, sincronizando os fluxos paralelos antes de prosseguir.
No diagrama do cozinheiro, o fluxo inicia, passa por "Verificar se há ingredientes" e chega a uma decisão com duas condições de guarda: "falta de algum ingrediente" e "todos os ingredientes disponíveis" (ou similar). Se a condição "falta de algum ingrediente" for atendida (verdadeira), o fluxo segue por esse ramo (provavelmente para comprar ingredientes ou encerrar). Se essa condição não for atendida (falsa), o fluxo segue o outro ramo, que leva a uma bifurcação — representada por uma barra grossa — que dispara simultaneamente as atividades "Preparar temperos" e "Cortar legumes". Essas duas atividades são executadas em paralelo, e depois o fluxo se junta em uma junção antes de prosseguir para a próxima etapa (por exemplo, "Cozinhar").
A pegadinha da banca está em confundir os elementos de decisão (losango, escolha exclusiva) com bifurcação/junção (barra grossa, paralelismo), e em trocar o significado das condições de guarda. O candidato que não domina a notação pode achar que a decisão gera paralelismo, ou que as atividades "Preparar temperos" e "Cortar legumes" são sequenciais, quando na verdade são concorrentes.
Guarde a distinção central: decisão = um único caminho escolhido; bifurcação = todos os caminhos executados em paralelo. É exatamente essa fronteira que separa as alternativas desta questão.
Diagrama de atividades UML
1Elementos
Estado inicial (círculo preenchido)
Estado final (círculo com borda)
Atividade (retângulo arredondado)
Decisão (losango)
Uma entrada, múltiplas saídas
Condição de guarda
Escolhe um único caminho
Bifurcação/fork (barra grossa)
Executa todos em paralelo
Junção/join (barra grossa)
Sincroniza fluxos paralelos
Swimlane (organiza por responsável)
2Distinção central
Decisão = um caminho
Bifurcação = todos em paralelo
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Afirma que após "Verificar se há ingredientes" há uma junção. Na verdade, o elemento após essa atividade é um nó de decisão (losango), que seleciona um único caminho com base nas condições de guarda. A junção (join) é uma barra grossa que sincroniza fluxos paralelos, e não aparece nesse ponto do diagrama. A banca troca o símbolo de decisão pelo de junção.
Alternativa B — ❌ Incorreta
Afirma que "Preparar temperos" e "Cortar legumes" devem ser feitas em sequência. Incorreto: essas atividades estão após uma bifurcação (fork), que dispara fluxos paralelos. Elas são executadas concorrentemente, não uma após a outra. A banca inverte o sentido do paralelismo, fazendo o candidato achar que há sequência onde há concorrência.
Alternativa C — ✅ Correta ⟵ GABARITO
A alternativa está correta: se a condição de guarda "falta de algum ingrediente" não for atendida (ou seja, for falsa), o fluxo segue o ramo que leva à bifurcação, executando o fluxo de controle paralelo com as atividades "Preparar temperos" e "Cortar legumes" simultaneamente. Isso reflete exatamente a semântica do nó de decisão combinado com a bifurcação no diagrama de atividades.
Alternativa D — ❌ Incorreta
Afirma que há duas raias de natação (swimlanes) envolvendo "Preparar temperos" e "Cortar legumes". No diagrama descrito, não há indicação de raias — as atividades estão no mesmo fluxo, sem divisão por responsável. As swimlanes são retângulos que organizam atividades por ator ou departamento, e não aparecem nesse diagrama. A banca inventa um elemento que não existe na figura.
Alternativa E — ❌ Incorreta
Afirma que o diagrama apresenta dois pontos de estado inicial e um estado final. Incorreto: um diagrama de atividades UML possui apenas um estado inicial (círculo preenchido) e pode ter um ou mais estados finais (círculo com borda preenchida). A alternativa inverte a contagem: há um estado inicial e, possivelmente, mais de um estado final (por exemplo, um para cada ramo da decisão). A banca troca o número de estados iniciais e finais.
Gabarito: letra C — a única que descreve corretamente o fluxo de controle paralelo após a decisão não atendida.