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:
- 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;
- 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;
- um diagrama de estados para o canal de comunicação entre Cliente e Serviço, indicando os estados do protocolo;
- um diagrama de pacotes, contemplando os artefatos Cliente e Servidor, com as respectivas responsabilidades;
- 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