Para o sistema SCL, escolhendo modelar uma classe “Produto”,...

Próximas questões
Com base no mesmo assunto
Q389442 Engenharia de Software
Um lojista que não possuía ainda nenhum sistema de informação em sua loja decidiu desenvolver um sistema próprio na abertura da segunda loja, contratando uma equipe de desenvolvedores para modelar e implementar um sistema dedicado, ao qual chamou de SCL (Sistema de Controle de Lojas). O modelo de entidades e relacionamentos a seguir, que está na notação da Engenharia de Informação, foi inicialmente desenvolvido pela equipe para o sistema, no nível lógico.

imagem-004.jpg

Outro trabalho feito inicialmente foi a especificação de requisitos do SCL, que inclui os requisitos a seguir, sem, entre- tanto, se limitar a eles.

1. O sistema deve registrar uma venda feita para um cliente
1.1. Uma venda é composta de itens de venda, descrevendo o preço do produto no dia da venda, o desconto aplicado (se existir) e a quantidade
1.2. O sistema deve calcular o preço total de cada item de venda
1.3. O sistema deve calcular o preço total de cada venda 
2. O sistema deve permitir que um vendedor solicite um relatório de todas as vendas já feitas a um cliente
2.1. O relatório de vendas por cliente deve conter a data da venda, o valor total da venda e o valor total do desconto recebido pelo cliente naquela venda
2.2. O relatório de vendas por cliente deve ser ordenado por valor, em ordem descendente 
3. O sistema deve permitir que um funcionário da empresa controle a lista de produtos registrados
3.1. O sistema deve permitir que um produto tenha seu valor alterado sem alterar o valor das vendas já realizadas.

Para o sistema SCL, escolhendo modelar uma classe “Produto”, os desenvolvedores descobriram a necessidade de saber a condição de disponibilidade de cada produto. Assim, uma instância de “Produto” teria um ciclo de vida, que passaria por três estados: “disponível”, se estivesse em estoque; “indisponível”, se não estivesse em estoque nem houvesse um pedido de reposição feito; ou ainda “pedido”, caso não estivesse em estoque, mas o pedido de reposição já estivesse feito.

Caso os desenvolvedores decidam usar a notação UML, qual diagrama é adequado para representar esse ciclo de vida, incluindo os estados e a passagem de um estado para outro?
Alternativas