Exercício Desenvolva a especificação de requisitos e a especificação de análise orientada a objetos para o contexto descrito a seguir. Sistema de Controle da Produção e Venda da Cervejaria BeboSim (origem: Internet, site da prof. Denise, FAESA) Visando aprimorar seus serviços, o gerente geral da Cervejaria BeboSim solicitou à empresa Avalon Software do Futuro que desenvolvesse um sistema de controle de produção e venda de seus produtos. Os requisitos descritos abaixo devem ser atendidos pelo sistema. 1. A cervejaria produz diversos produtos líquidos, tais como: cerveja branca, cerveja escura, guaraná normal, guaraná light, água mineral com gás, água mineral sem gás, etc, que devem estar cadastrados no sistema. De cada produto, devem ser armazenados:, quantidade em estoque, preço normal de venda atual (único em todo o país), o percentual de comissão sobre a venda e fórmula de produção. 2. A cervejaria possui diversas unidades de produção (fábricas). De cada uma delas é necessário armazenar seu, endereço, CNPJ, área construída e telefone de contato. 3. Cada produto pode ser produzido em mais de uma unidade de produção. Uma unidade de produção pode produzir mais de um produto, mas não necessariamente todos. Por exemplo, na unidade da Bahia, são produzidas apenas cerveja branca e cerveja escura. No Espírito Santo são produzidas, por exemplo, cerveja branca, água mineral com gás e sem gás e guaraná normal. 4. Os produtos são engarrafados em embalagens dos mais variados tipos: garrafas de plástico de tamanhos variados, garrafas de vidro, latinhas de alumínio de tamanhos variados, etc. Um produto pode ser armazenado em mais de uma embalagem e uma embalagem pode ser usada por mais de um produto. De cada embalagem, é necessário armazenar o, uma descrição do tipo de material de que é feita (plástico, alumínio, etc.), o custo de cada embalagem, o volume que ela pode conter e a unidade do volume (ex. uma latinha de alumínio de 350 ml, uma garrafa de plástico de 1,5 litros, etc.). 5. A cervejaria possui várias equipes de vendas espalhadas pelo país. De cada equipe é necessário controlar o da equipe e a região que atende (por ex. norte do ES, sul de Minas Gerais, Grande Vitória, etc). 6. Uma equipe atende somente a uma região por vez. Uma região pode ter mais de uma equipe de vendas ao mesmo tempo. Uma equipe não muda de região. 7. Cada equipe é composta por vendedores e por um gerente. Tanto do gerente quanto do vendedor, (ambos funcionários da cervejaria) é necessário armazenar o, data de admissão, número da carteira de trabalho, do CPF, o endereço residencial, os telefone e e-mail de contato. 8. É necessário armazenar o histórico da gerência de cada equipe, armazenando data de início e fim da gerência de cada pessoa. 9. Um funcionário pode mudar de equipe e é necessário armazenar a data de início e fim de cada funcionário em cada equipe. 10. A cervejaria possui diversos clientes cadastrados. Somente as pessoas jurídicas podem ser clientes. Dos clientes deve-se armazenar a razão social, o CNPJ, o endereço, o telefone e a pessoa de contato. 11. O vendedor emite pedidos de venda, que devem ser registrados no sistema. Para cada pedido de venda é necessário armazenar o vendedor que emitiu o pedido, o cliente do pedido, o número do pedido e sua data de emissão. 12. O pedido pode discriminar vários produtos. De cada um deles é necessário armazenar a quantidade vendida. 13. A Cervejaria BeboSim faz constantes campanhas publicitárias, que devem ser controladas pelo sistema. De cada campanha publicitária é importante armazenar o da campanha, as datas de início e fim, os produtos que farão parte da campanha, os preços promocionais de cada produto em cada campanha, o do garoto/garota propaganda da campanha (ex. Guga, Ronaldinho, Pelé, Romário, Luiza Brunet,
Paloma Duarte, etc...), o valor total previsto para ser gasto na campanha publicitária, o valor total previsto de retorno com a campanha e o percentual previsto de aumento das vendas. 1. Especificação de Requisitos devem ser descritos: a. Lista de Atores b. Lista de Casos de Uso c. Diagrama(s) de casos de uso d. Descrição Detalhada de Caso de Uso Deve ser selecionado 01 caso de uso, dentre os identificados no contexto, e realizada a descrição do caso de uso em questão, de maneira completa. 2. Da Especificação de Análise devem ser descritos: a. Lista de Classes b. Diagrama de Classes c. Diagrama de Sequência (do caso de uso que foi descrito em detalhes na letra d da Especificação de Requisitos) RESPOSTA: 1. Da Especificação de Requisitos devem ser descritos: a. Lista de Atores Administrador b. Lista de Casos de Uso Cadastrar Produto Atualizar Estoque de Produto Cadastrar Unidade de Produção Registrar Unidade de Produção de um Produto Cadastrar Embalagem Registrar Embalagem de um Produto Cadastrar Equipe de Venda Cadastrar Funcionário Registrar Funcionário em Equipe Registrar Gerente em Equipe Cadastrar Cliente Cadastrar Pedido de Venda Cadastrar Campanha Publicitária
c. Diagrama(s) de casos de uso Cadastrar Pedido de Venda Cadastrar Cliente Cadastrar Campanha Publicitária Registrar Gerente em Equipe Cadastrar Produto Registrar Funcionário em Equipe Atualizar Estoque de Produto Administrador Cadastrar Funcionário Cadastrar Unidade de Produção Cadastrar Equipe de Venda Registrar Unidade de Produção de um Produto Registrar Embalagem de um Cadastrar Embalagem Produto d. Descrição Detalhada de Caso de Uso Deve ser selecionado 01 caso de uso, dentre os identificados no contexto, e realizada a descrição do caso de uso em questão, de maneira completa. Caso de Uso: UC001 - Atualizar Estoque de Produto 1. Objetivo Este caso de uso tem por objetivo descrever os procedimentos necessários à atualização do estoque de um produto disponível na cervejaria. Será tratado aqui apenas o caso da adição de estoque. A situação de redução de estoque é tratada através do caso de Uso Cadastrar Pedido, cenário de Inclusão. 2. Curso Normal 2. 1. Cenário: Adicionar Estoque Este cenário é responsável por descrever como é o processo de incremento do estoque de um produto disponível na cervejaria. 1. O administrador solicita o acesso ao processo de atualização de estoque;
2. O sistema irá checar se o administrador tem acesso ao sistema, como previsto em RN01. Se acesso permitido, prosseguir nos passos abaixo; 3. O sistema disponibiliza um filtro para seleção do produto a ter o seu estoque adicionado, sendo os parâmetros do filtro: do produto; 4. O administrador identifica o produto a ter seu estoque atualizado, através do filtro; 5. O sistema irá disponibilizar as informações do produto identificado, inclusive a quantidade atual do estoque; 6. O administrador irá informar a quantidade de produto que deverá ser acrescentada; 7. O administrador solicita o salvamento da adição do estoque; 8. O sistema irá efetivar o salvamento, após solicitar confirmação. A regra de negócio RN02 deverá ser executada. 3.Cursos Alternativos 3.1. Curso Alternativo: CA01 Valor informado Negativo Se for informado pelo administrador um valor negativo a ser adicionado deverá ser gerada mensagem de erro pelo sistema, indicando que apenas valores positivos podem ser adicionados. 3.2. Curso Alternativo: CA02 - Acesso ao processo Se o administrador não tiver acesso ao processo então ele não poderá executá-lo e será gerada uma mensagem de erro indicando tal situação. 4.Regras de Negócio 4.1. Regra de Negócio: RN01 - Acessar o Sistema Não é possível acesso a administradores não cadastrados e que não tenham permissão para executar o processo. 4.2. Regra de Negócio: RN02 Adição de Estoque O valor informado pelo administrador deve ser positivo. O valor informado pelo administrador será adicionado ao atual valor do estoque do produto selecionado. 2. Da Especificação de Análise devem ser descritos: a. Lista de Classes Produto Unidade de Produção Produção (Classe de Associação) Embalagem Tipo de Embalagem (classe de Associação) Equipe Região Funcionário
Gerente (Classe de Associação) Vendedor (Classe de Associação) Cliente Pedido Item de Pedido (Classe de Associação) Campanha Publicitária Produto em Campanha (Classe de Associação) b. Diagrama de Classes
gerente datainicio datafim regiao 1 equipe associarregiao() listarhistoricogerencia() alocar() encerraralocacao() gerência funcionario dataadmissao numerocarteiratrabalho CPF enderecoresidencial telefone email cliente razaosocial CNPJ endereco telefone pessoacontato validarpessoajuridica() 1 equipevenda vendedor datainicio datafim alocar() encerraralocacao() pedido 1 0..* numero dataemissao emitir() associarcliente() associarvendedor() 0..*
embalagem tipomaterial custo volume unidadevolume tipoembalagem pedido associar() 0..* itempedido quantidade produto quantidadeestoque precovenda percentualcomissaovenda formulaproducao atualizarestoque() validar() solicitaracesso() filtrar() disponibilizar() atualizarquantidadeestoque() 0..* campanhapublicitaria datainicio datafim garotopropaganda valorprevistogasto valorprevistoretorno percentualprevistoaumentovendas producao associar() produtocampanha precopromocional associar() unidadeproducao endereco CNPJ areaconstruida telefonecontato listarprodutosproduzidos()
c. Diagrama de Sequência (do caso de uso que foi descrito em detalhes na letra d da Especificação de Requisitos) : Administrador : produto solicitaracesso( ) [Se acesso permitido] filtrar( ) disponibilizar( ) salvar( ) validar( ) atualizarquantidadeestoque( )