Escolar Documentos
Profissional Documentos
Cultura Documentos
de Empresa de Eventos
Etapas 3 e 4
Uma vez que os detalhes tenham sido encaminhados para EmpresaEventos, a empresa extrai os produtos dos pacotes
Com os produtos e quantidades em mãos, checa-se o estoque para ver se os produtos na quantidade necessária estão disponíveis
Diagramas de Sequência — Cadastro de um evento
Caso existam produtos sem estoque o suficiente, entra no fragmento combinado ALT que prevê essa condição
Realiza-se o pedido dos produtos sem estoque suficiente, o que dispara um loop pra pedir cada produto individualmente
Dentro do loop o pedido é realizado e o produto adicionado ao estoque
Caso algum dos pedidos não seja atendido, conforme a anotação, há um break no loop e a variável atendidos é false
A UML não prevê breaks, então a anotação já pensa um pouco no processo de implementação
Diagramas de Sequência — Cadastro de um evento
Após o loop nos produtos sem estoque, um fragmento combinado ALT checa se algum dos pedidos não foi atendido
Caso algum deles não tenha sido atendido, os pedidos cancelados, de forma a evitar prejuízos, assim como o próprio evento
Abaixo da linha pontilhada fica o “else” desse fragmento, que cobre o caso de que todos os pedidos tenham sido atendidos
Nesse caso, remove-se do estoque os produtos na quantidade necessária para atender ao evento e entramos no subdiagrama de
finalização de cadastro de eventos
Diagramas de Sequência — Cadastro de um evento
E por fim, temos o else do fragmento combinado que checava se os produtos estavam sem estoque
Aqui removemos do estoque esses produtos e chamamos também o subdiagrama de finalização de cadastro
Diagramas de Sequência — Cadastro de um evento (finalização)
Na finalização do cadastro a empresa contrata os serviços que foram designados pelo cliente (caso não exista nenhum serviço o loop não
começaria)
Os detalhes são repassados para agenda e por fim o evento é criado e tanto conta quanto contrato são emitidos.
Diagramas de Sequência — Cadastro de um evento
Como resultado dessa etapa surge o caso de uso “Enviar detalhes de evento” e o caso de uso “Cadastrar evento de um cliente” passa a
estendê-lo
Diagramas de Sequência — Cadastro de um evento
Por fim, surge o caso de uso “Checar estoque”, que estende também “Enviar detalhes do evento” e está associado com AtorFuncionario e
o caso de uso “Realizar pedido de compra para o fornecedor, que estende o caso de uso já existente “Receber pedido de compra”
Diagramas de Sequência — Cobrança de Conta
A partir de AtorFuncionario começa o processo de checagem de contas, que parte de uma instância de Funcionario para uma instância de
EmpresaEventos e dessa instância para uma instância de AgendaEventos.
Uma vez na agenda, começa o fragmento combinado LOOP que vai passar por todos os eventos na agenda
Diagramas de Sequência — Cobrança de Conta
Diagramas de Sequência — Cobrança de Conta
Dentro do loop, a instância de agenda checa um Evento por vez através de checaConta(), que por sua vez checa a instância de Conta
dentro de si para verificar o pagamento
Caso a conta ainda não tenha sido paga, realiza a cobrança para a instância de Cliente associada a conta.
Caso o cliente tenha saldo suficiente, o pagamento é realizado e se dá baixa em conta.
Não foge do que foi visto previamente no diagrama de comunicação, havendo a adição apenas dos fragmentos combinados que
envolvem o loop e a checagem dos estados das variáveis.
O diagrama de casos de uso permanece o mesmo:
Diagramas de Máquina de Estados — Classe Conta