FC ConcursosFC Concursos

Questão FC370075

Roberto está utilizando a UML para modelar um sistema de gerenciamento e monitoramento de pedidos. Ele definiu um processo assíncrono, que envolve a tela cliente emitindo os pedido

UML

FGV · 2024

Roberto está utilizando a UML para modelar um sistema de gerenciamento e monitoramento de pedidos. Ele definiu um processo assíncrono, que envolve a tela cliente emitindo os pedidos para um serviço, para o tratamento no servidor, além de uma callback no cliente, exibindo a conclusão do processo.

 

Para modelar o fluxo de execução descrito, Roberto utilizou:

  1. um diagrama de atividades iniciado com enviar_pedido, do Cliente, seguido de um fork, que abre para um receive signal de concluído, no Cliente, e ler_pedido, seguido da emissão de concluído, no Servidor, com os fluxos sincronizados por um join, tendo na sequência a exibição da conclusão, no Cliente;
  2. um diagrama de sequência com Usuario, Cliente e Serviço, onde Usuario invoca enviar_pedido, de Cliente, este invoca ler_pedido, de Serviço, o qual invoca informar_conclusao, de Cliente, ao final da sequência;
  3. um diagrama de estados para o canal de comunicação entre Cliente e Serviço, indicando os estados do protocolo;
  4. um diagrama de pacotes, contemplando os artefatos Cliente e Servidor, com as respectivas responsabilidades;
  5. um diagrama de classes contendo as classes Cliente e Serviço, no qual o Cliente tem os métodos enviar_pedido e verificar, este segundo com marcação assíncrona, e Serviço tem os métodos ler_pedido e informar_conclusao.
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

O uso do Diagrama de Atividades é adequado porque ele modela o fluxo de execução entre ações e a sincronização entre caminhos concorrentes.

O fluxo inicia em enviar_pedido (Cliente) e, em seguida, um fork divide o processo em duas trilhas concorrentes.

Na primeira trilha o Cliente aguarda um receive signal chamado concluído, representando a callback que notifica a finalização.

Na segunda trilha o Servidor executa ler_pedido e então emite o sinal concluído, sinalizando que o processamento terminou.

Um join sincroniza as trilhas antes da etapa final, quando o Cliente realiza a exibição da conclusão.

Assim, fork/join modelam o comportamento assíncrono e a coordenação entre envio, processamento e notificação no mesmo diagrama.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo