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.