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