Di agramas de Cl asses Estoque Fcil Arthur Silva Freire Caio Csar Meira Paes Carlos Artur Nascimento Vieira Matheus de Arajo Maciel Tiago Brasileiro Arajo Engenharia de Software 1 Rohit Gheyi UNIVERSIDADE FEDERAL DE CAMPINA GRANDE UFCG I ntroduo Aps coletar os requisitos funcionais do cliente, modelamos os diagramas de classes e de casos de uso para diminuir o nvel de abstrao sobre o escopo do projeto. Tentando segmentar as principais solicitaes do cliente, dividimos o software em oito grandes assuntos para os casos de uso. A partir de cada assunto ns denimos os casos de uso associados e dividimos a implementao e testes dessas funcionalidades ao longo de quatro milestones no desenvolvimento. A s s i m c o m o p o d e s e r v i s t o n o a r q u i v o d o O p e n P r o j (EstoqueFaci l _Pl anej amento_Total .pod), model amos e vamos i mpl ementar as funcionalidades de acordo com a ordem de importncia para o cliente. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Di agramas de Casos de Uso Os assuntos esto organizados por ordem de prioridade para o sistema: Gerenciamento do Estoque Venda de Produto Comunicao entre Lojas e Estoque Criao e envio de noticaes Gerao de Relatrios de Vendas Gerao de Relatrios de Desempenho Recomendao de Produtos Programa de Pontos de Fidelidade UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Di agramas Os diagramas de Casos de Uso esto organizados de acordo com os assuntos listados acima. Gerenciamento do Estoque Este diagrama explica como o sistema Estoque Fcil ser utilizado de acordo com o modelo de negcio vigente na loja do cliente, para as aes de insero, remoo, atualizao e busca de produtos no estoque. Figura 1. Diagrama de casos de uso para o gerenciamento de produtos no estoque. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Venda de Produto Nesse diagrama, visamos explicar como funcionaro as aes relacionadas venda de produtos. De acordo com explicaes do cliente do projeto, percebemos que essas aes sero efetuadas por um funcionrio da loja, que realiza a listagem e venda de produtos de acordo com os produtos escolhidos pelos clientes, presencialmente, no balco da loja. Figura 2. Diagrama de casos de uso para a venda de produtos na loja. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Comunicao entre Lojas e Estoque Como o sistema deve ser implantado para o estoque do cliente e estar disponvel para ser ativado e utilizado em mais de uma loja, consideramos necessrio a modelagem de um diagrama de casos de uso que detalhe melhor como ser a comunicao entre as lojas e o estoque. Essa comunicao acontece quando um funcionrio decide encomendar que vrios produtos, j vendidos para clientes, sejam trazidos do estoque para a loja, para repor os produtos da loja, ou para que sejam entregues aos clientes. Figura 3. Diagrama de casos de uso que representa as aes executadas pelos funcionrios da loja e pelo sistema, para promover o transporte de mercadorias entre o estoque e a loja. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Criao e envio de noticaes O diagrama a seguir visa explicar quais so os comportamentos relacionados ao uso de noticaes para que o sistema responsvel pelo estoque informe ao administrador da loja que um produto est perto de acabar, ou que uma determinada quantidade (escolhida pelo administrador) foi alcanada. Esse requisito visa prevenir o administrador de se deparar com a falta inesperada de produtos no estoque. Figura 4. Diagrama de casos de uso que representa os comportamentos relacionados ao assunto criao de noticaes e o caso de lanamento de uma noticao. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Gerao de Relatrios de Vendas O diagrama a seguir explana o assunto de gerao de relatrio, por parte do administrador, para obter dados sobre o balano de caixa de uma ou mais lojas da empresa e escolhendo, para isso, um determinado perodo de coleta desses dados. Figura 5. O diagrama explica os casos de uso que o administrador e o sistema realizam promover a gerao de relatrios sobre as vendas da empresa. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Gerao de Relatrios de Desempenho Similar ao assunto tratado no item anterior, esse assunto se baseia na gerao de relatrios, porm o foco dos dados contidos nesses relatrios so para uma avaliao do desempenho individual e/ou coletivo dos funcionrios da empresa. Nesses relatrios podem ser includos dados sobre as quantidades de itens vendidos por cada funcionrio, ou estatsticas sobre a relao entre o funcionrio e o tipo de produto vendido. Com essas aes, visamos facilitar a avaliao que o administrador tem sobre os seus empregados. Figura 6. Diagrama de caso de uso que demonstra como o administrador da empresa obtm relatrios sobre o desempenho de seus funcionrios. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Recomendao de Produtos O sistema de recomendaes planejado para o Estoque Fcil inclui o cadastro de produtos com indicao de pontos para a proximidade entre produtos por setor. No momento da venda o sistema vericar quais produtos so recomendados serem adicionados na venda, de acordo com a relao de proximidade entre os tipos de produto e ao valor do troco da operao. Figura 5. Diagrama de casos de uso para representar o funcionamento do sistema de recomendao de produtos, no momento da venda. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Programa de Pontos de Fidelidade O cliente solicitou a implementao de um programa de pontos de delidade para a troca de produtos, por cliente cadastrado. A troca de produtos pode ocorrer em duas situaes. Quando o cliente comprar um produto com dinheiro vivo pontos so adicionados no carto dele e o cliente pode pagar alguns produtos com seus pontos de delidade. O sistema tem um foco em promover a volta de clientes loja. Figura 5. Diagrama de Casos de Uso para representar o assunto do sistema de Pontos de Fidelidade. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Fl uxo de Eventos A seguir, esto apresentados os uxos de eventos de todos os casos de uso apresentados nos diagramas acima. Nome: Iniciar Venda Identicador: UC 01 Pr-condies: Nenhuma. Ps-condies: Uma venda, com uma lista de produtos e quantidades respectivas deve estar pronta, aguardando a sua conrmao. Fluxo principal: 1. O funcionrio indica que quer iniciar uma nova venda; 2. O funcionrio deve adicionar novos produtos [include UC 02] venda em execuo e indicar as quantidades desejadas; 3. A lista de produtos est pronta aguardando conrmao e forma de pagamento; Fluxo Alternativo A - Desistncia de produto: A.2 Durante a venda, o cliente decidiu que no quer mais comprar um determinado produto ou que o produto selecionado no o seu desejado; A.3 O funcionrio realiza a remoo do produto da venda [extend UC 03]; Fluxo Alternativo B - Desistncia da venda: B.2 Durante a venda, o cliente decidiu que no quer comprar nada; B.3 O funcionrio cancela a venda [exclude UC 06]; Nome: Adicionar Produtos Venda Identicador: UC 02 Pr-condies: Uma venda deve ter sido iniciada ou estar ainda no conrmada. Ps-condies: O produto e quantidade selecionados estaro adicionados venda escolhida. Fluxo principal: UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG 1. O funcionrio seleciona os produtos escolhidos pelo cliente e indica a quantidade desejada; 2. O sistema vericar se os produtos escolhidos esto disponveis [include UC 04] na quantidades indicadas; 3. Os produtos sero adicionados lista de compras da venda atual; 4. O sistema marca os produtos [include UC 05] como SENDO VENDIDO para evitar que duas compras concorrentes vendam o mesmo produto para dois clientes; Fluxo Alternativo A - Falta de Produto: A.2 O sistema vericou que no existe a quantidade indicada para o produto escolhido; A.3 O sistema indica ao funcionrio que a adio do produto no pode ser realizada; A.4 O sistema indica ao funcionrio qual a quantidade mxima que est disponvel no momento; Nome: Remover Produto da Venda Identicador: UC 03 Pr-condies: Uma venda deve ter sido iniciado e ainda no conrmada. Ps-condies: O produto ser removido da lista desta venda. Fluxo principal: 1. O funcionrio seleciona o produto que deve ser removido da venda; 2. O produto removido da lista da venda; Nome: Vericar Disponibilidade de Produto Identicador: UC 04 Pr-condies: Nenhuma. Ps-condies: Ser indicado se o produto existe ou no na quantidade procurada. Fluxo principal: 1. O sistema recebe um produto e uma quantidade para realizar a vericao; 2. O sistema verica se o produto existe no estoque, na quantidade indicada; 3. indicado se o produto est disponvel na quantidade indicada ou no; UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Fluxo Alternativo A - Produto no cadastrado: A.2 O sistema no consegue achar o produto no estoque porque ele no possui cadastro ainda; A.3 O sistema indica ao usurio que o produto no est cadastrado e pergunta se o usurio deseja cadastr-lo neste momento; Nome: Marcar Produto para Venda Identicador: UC 05 Pr-condies: O produto deve existir no estoque na quantidade indicada. Ps-condies: O tipo de produto indicada ter a quantidade indicada de itens marcados como SENDO VENDIDO. Fluxo principal: 1. O sistema recebe um tipo de produto e uma quantidade; 2. O sistema marca esta quantidade de produtos para a situao SENDO VENDIDO; Nome: Cancelar Venda Identicador: UC 06 Pr-condies: Uma venda deve ter sido iniciada e ainda no conrmada. Ps-condies: A venda ser completamente cancelada. Fluxo principal: 1. O funcionrio escolhe uma venda e indica que deseja cancel-la; 2. O sistema pergunta se o funcionrio deseja realmente fazer a ao; 3. A venda cancelada; Nome: Realizar Venda Identicador: UC 07 Pr-condies: Uma venda deve ter sido iniciada e ainda no conrmada. Ps-condies: A venda estar conrmada. Fluxo principal: 1. O funcionrio escolhe qual venda deseja conrmar; UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG 2. O funcionrio escolhe a forma de pagamento; 3. O funcionrio conrma a venda; 4. A nota scal impressa [include UC 08]; 5. O sistema far a baixa dos produtos da venda no estoque [include UC 09]; Nome: Imprimir Nota Fiscal Identicador: UC 08 Pr-condies: Uma venda deve ter sido conrmada. Ps-condies: A nota scal estar impressa. Fluxo principal: 1. O funcionrio escolhe a venda conrmada que deseja imprimir a nota scal; 2. A nota scal impressa; Nome: Decrementar Produto no Estoque Identicador: UC 09 Pr-condies: O produto deve existir na quantidade indicada e ter marcao SENDO VENDIDO. Ps-condies: O produto estar marcado como VENDIDO e estar decrementado da quantidade disponvel no estoque. Fluxo principal: 1. O sistema recebe ordem para decrementa um tipo de produto para uma certa quantidade; 2. O sistema marca o produto como VENDIDO e decrementa a quantidade indicada da quantidade total disponvel; Nome: Autenticar-se Identicador: UC 10 Pr-condies: Nenhuma. Ps-condies: O funcionrio estar autenticado e no precisar refazer essa ao para qualquer outra atividade, at se deslogar. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Fluxo principal: 1. O administrador indica que deseja se autenticar no sistema; 2. O administrador indica seu login e sua senha; Fluxo Alternativo A - Login incorreto: A.2 Foi vericado que o login digitado no existente no sistema; A.3 O sistema mostra o problema encontrado para o usurio e solicita os dados novamente; Nome: Criar Noticao para o Produto Identicador: UC 11 Pr-condies: O administrador deve ter efetuado a autenticao [include UC 10] no sistema. Ps-condies: A noticao congurada pelo administrador deve estar criada e sendo vericada a partir deste momento. Fluxo principal: 1. O administrador indica que quer criar uma nova noticao; 2. O administrador seleciona sobre qual produto ele quer ser noticado; 3. O sistema verica se o produto escolhido possui... Fluxo Alternativo A - A quantidade de produtos no estoque menor que a quantidade escolhida para noticao: A.3 O sistema verica que a quantidade de produtos mnimos para a noticao maior que a quantidade atual do estoque. A.4 O sistema no permite a criao da noticao e solicita que o usurio escolha outra quantidade para o produto selecionado. Nome: Alterar Noticao para Produto Identicador: UC 12 Pr-condies: Uma noticao j deve existir e o administrador deve estar autenticado [include UC 10]. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Ps-condies: A noticao ter sido alterada. Fluxo principal: 1. O administrador indica que deseja alterar uma noticao existente; 2. O administrador altera os dados desejados n noticao; 3. A noticao ser alterada e salva; Nome: Remover Noticao de Produto Identicador: UC 13 Pr-condies: Uma noticao deve existir e o administrador deve estar autenticado [include UC 10]. Ps-condies: O produto no ter nenhuma noticao indicada para ele. Fluxo principal: 1. O administrador escolhe a noticao que deseja remover do produto; 2. A noticao removida do produto; Nome: Listar Noticaes Ativas Identicador: UC 14 Pr-condies: O administrador deve estar autenticado no sistema [include UC 10]. Ps-condies: Nenhuma. Fluxo principal: 1. O administrador indica que deseja visualizar todas as noticaes ativas no sistema; 2. Todas as noticaes ativas so mostradas para o administrador; Nome: Visualizar Noticaes Recebidas Identicador: UC 15 Pr-condies: O administrador deve estar autenticado. Ps-condies: Nenhuma. Fluxo principal: 1. O administrador indica que deseja visualizar as noticaes que foram lanadas; UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG 2. O administrador visualiza o histrico de noticaes lanadas; Nome: Noticar Administrador Identicador: UC 16 Pr-condies: O sistema deve ter realizado uma operao de venda ou despachado um pedido entre os repositrios e vericado que um determinado produto alcanou a quantidade indicada numa noticao existente. Ps-condies: O administrador da empresa ter recebido um aviso que sua noticao foi lanada. Fluxo principal: 1. O sistema vericou que houve mudana do nmero itens de um determinado produto; 2. O sistema percebeu que a quantidade existente de um determinado produto inferior quantidade especicada em uma noticao; 3. A noticao lanada e um aviso enviado para o administrador; Nome: Denir Tipo de Relatrio de Vendas Identicador: UC 17 Pr-condies: O administrador deve ter efetuado a autenticao [include UC 01] no sistema. Ps-condies: Nenhuma. Fluxo principal: 1. O administrador indica que quer obter um relatrio de vendas; 2. O administrador seleciona o modelo do relatrio; Nome: Gerar Relatrio de Vendas Identicador: UC 18 Pr-condies: O sistema precisa ter recebido um tipo de relatrio desejado. Ps-condies: Ser gerado um relatrio de acordo com os dados existentes nas lojas e no estoque da empresa. Fluxo principal: UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG 1. Foi solicitado que o sistema gerasse um relatrio de vendas, de acordo com um tipo; 2. O sistema realiza a pesquisa de acordo com o tipo de relatrio indicado [include UC 19]; 3. Com base nos dados pesquisados, o sistema gera o relatrio solicitado; Nome: Pesquisas Dados Sobre Vendas Identicador: UC 19 Pr-condies: O sistema deve receber um escopo de dados e locais nos quais deve pesquisar tais dados. Ps-condies: O sistema ter pesquisado os dados solicitados. Fluxo principal: 1. solicitado que o sistema pesquise alguns dados em determinadas bases de dados do sistema; 2. O sistema realiza a busca solicitada; Nome: Imprimir Relatrio Identicador: UC 20 Pr-condies: O relatrio deve existir. Ps-condies: O relatrio estar impresso. Fluxo principal: 1. O funcionrio indica que quer imprimir um relatrio existente; 2. O relatrio impresso; Nome: Salvar Relatrio Identicador: UC 21 Pr-condies: O relatrio deve ter sido criado. Ps-condies: O relatrio estar salvo no sistema. Fluxo principal: 1. O administrador escolhe um relatrio recm criado e indica que quer salv-lo; UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG 2. O relatrio salvo; Nome: Visualizar Relatrio Gerado Identicador: UC 22 Pr-condies: O administrador deve ter selecionado um relatrio gerado. Ps-condies: Nenhuma. Fluxo principal: 1. O administrador escolhe um relatrio para ser visualizado; 2. O relatrio aberto exibido na tela; Nome: Denir Tipo de Relatrio de Desempenho Identicador: UC 23 Pr-condies: O administrador deve ter efetuado a autenticao [include UC 01] no sistema. Ps-condies: Nenhuma. Fluxo principal: 1. O administrador indica que quer obter um relatrio de desempenho; 2. O administrador escolhe qual ou quais funcionrios estaro listados no relatrio; 3. O administrador seleciona o modelo do relatrio, indicando a data de busca para o relatrio e o tipo de dado que quer pesquisar; 4. O tipo de relatrio a ser gerado denido; Nome: Gerar Relatrio de Desempenho Identicador: UC 24 Pr-condies: O sistema precisa ter recebido um tipo de relatrio desejado. Ps-condies: Ser gerado um relatrio de acordo com os dados existentes nas lojas e no estoque da empresa, para o desempenho dos funcionrios. Fluxo principal: 1. Foi solicitado que o sistema gerasse um relatrio de desempenho, de acordo com um tipo e funcionrios indicados; UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG 2. O sistema realiza a pesquisa de acordo com o tipo de relatrio indicado [include UC 19]; 3. Com base nos dados pesquisados, o sistema gera o relatrio solicitado; Nome: Editar recomendao Identicador: UC 25 Pr-condies: O usurio dever ter passado a recomendao para edit-la. Ps-condies: A recomendao dever ter o atributo desejado alterado. Fluxo principal: 1. O usurio escolhe qual atributo da recomendao ser alterado; 2. O novo valor para o atributo passado; Fluxo Alternativo R - Atributo invlido: R.3 Foi vericado que o valor do atributo passado invlido; R.4 O sistema mostra o problema encontrado para o usurio e solicita novos dados; Nome: Remover recomendao Identicador: UC 26 Pr-condies: O usurio dever ter passado a recomendao para o sistema inutiliz-la. Ps-condies: A recomendao ser inutilizada e no contar como recomendao at que seja reativada. Fluxo principal: 1. O usurio indica que a recomendao de um produto dever ser removida; Nome: Listar recomendaes para o produto Identicador: UC 27 Pr-condies: O sistema dever ter um produto como base para a pesquisa. Ps-condies: O sistema retornar todas as recomendaes para o produto. Fluxo principal: 1. O sistema pesquisa uma por uma as recomendaes existentes; 2. O sistema organiza em uma coleo as recomendaes para o produto passado; UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Fluxo Alternativo R - No existem recomendaes para o produto. R.3 O sistema verica que no existem recomendaes para o produto; R.4 Uma coleo vazia retornada e a execuo deste e de prximos UC na la encerrada; Nome: Listar principais recomendaes para um produto Identicador: UC 28 Pr-condies: O sistema possuir dados retornados pela 'UC 03R' Ps-condies: O sistema retornar as cinco recomendaes,com maior pontuao, para o produto. Fluxo principal: 1. O sistema pesquisa uma por uma as recomendaes para o produto; 2. Organiza os dados de acordo com a ordem maior pontuao > menor pontuao; Nome: Adicionar Pontos recomendao Identicador: UC 29 Pr-condies: O sistema ter encontrado uma recomendao correspondente a uma venda ou adio de produto ao estoque e um tipo. Ps-condies: A recomendao ter sua pontuao por tipo acrescida de um valor. Fluxo principal: 1. O sistema pega uma quantidade de pontos base; 2. A quantidade de pontos adicionada utilizando o UC 01R; Nome: Recomendar produto por tipo. Identicador: UC 30 Pr-condies: O sistema possuir dados retornados pelo UC 03R e um tipo de recomendao (Compra Conjunta, Mesmo setor, Troco) Ps-condies: O sistema dever retornar a recomendao com maior pontuao do tipo passado Fluxo principal: UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG 1. Ento organiza os dados por maior pontuao > menor pontuao do tipo passado. Nome: Criar recomendao para o produto. Identicador: UC 31 Pr-condies: O sistema dever ter realizado uma operao de venda ou adio de produto ao estoque; Ps-condies: criada uma recomendao para o produto. Fluxo principal: 1. O sistema cria uma recomendao com dados sobre os produtos passados; 2. Utiliza o UC 05R para adicionar pontos recomendao; Fluxo Alternativo R - A recomendao criada j existe. R.1 O sistema verica que a recomendao criada j existe; R.2 Trata o erro e encerra a execuo do use case; Nome: Calcular pontuao para recomendao. Identicador: UC 32 Pr-condies: O sistema dever ter encontrado a recomendao correspondente. Ps-condies: Um valor em pontuao dever ser retornado. Fluxo principal: 1. De acordo com os pontos de cada tipo da recomendao passado, multiplica cada um por uma porcentagem base diferente; 2. Soma os resultados; Nome: Cadastrar Produto Identicador: UC 33 Pr-condies: O ator deve estar autenticado. Ps-condies: O novo produto deve estar adicionado a lista de produtos existentes na loja. Fluxo principal: UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG 1. O funcionrio fornece todas as informaes sobre o novo produto e realiza o cadas- tro do mesmo; Nome: Remover Produto Identicador: UC 34 Pr-condies: O ator deve estar autenticado. Ps-condies: O produto referido no deve existir na lista de produtos existentes na loja. Fluxo principal: 1. O funcionrio fornece o nome ou cdigo de identicao do produto a ser removido; 2. O sistema pesquisa pelo produto e efetua a remoo; Nome: Repor Estoque Identicador: UC 35 Pr-condies: O ator deve estar autenticado. Ps-condies: A quantidade do(s) produto(s), do estoque, selecionados tem que estar acrescidas da quantidade denida pelo funcionrio. Fluxo principal: 1. O funcionrio seleciona o(s) produto(s) de uma lista gerada pelo sistema, e as res- pectivas quantidades a serem repostas; 2. O sistema pesquisa pelo(s) produto(s); 3. O sistema altera as respectivas quantidades; 4. O sistema naliza a atualizao de estoque; Nome: Atualizar Estoque aps Venda Identicador: UC 36 Pr-condies: O ator deve estar autenticado e deve ter realizado uma venda [include UC 07]. Ps-condies: A quantidade do(s) produto(s), do estoque, selecionados tem que estar decrescidas da quantidade que consta na venda. Fluxo principal: 1. O sistema resgata a lista de produtos que zeram parte da venda acontecida; 2. O sistema pesquisa por cada um do(s) produto(s) da lista; UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG 3. O sistema decrementa a quantidade do(s) produtos(s) com base na quantidade exis- tente na venda [include UC 37]; 4. O sistema naliza a atualizao de estoque; Nome: Alterar Informaes do Produtos Identicador: UC 37 Pr-condies: O ator deve estar autenticado. Ps-condies: As informaes do produto devem estar atualizadas. Fluxo principal: 1. O funcionrio informa as novas caractersticas do produto; 2. O sistema realiza a alterao dos dados do produto; Nome: Alterar Quantidade do Produto Identicador: UC 38 Pr-condies: O ator deve estar autenticado. Ps-condies: A quantidade atual do(s) produto(s) devem estar de acordo como o dese- jado pelo funcionrio(por meio de acrscimo ou decrscimo do estoque) Fluxo principal: 1. O sistema recebe, do funcionrio, o produto e a quantidade a ser acrescida ou de- crescida; 2. O sistema altera a quantidade do produto referido; Nome: Pesquisar Produto Identicador: UC 39 Pr-condies: Remover Produto ou Repor Estoque ou Alterar Estoque aps Venda. Ps-condies: Listagem do(s) produto(s) requerido(s) pelo funcionrio. Fluxo principal: 1. Recebe a seleo dos produto(s) desejado(s) pelo funcionrio; 2. Lista o(s) respectivo(s) produto(s); Nome: Finalizar Atualizao de Estoque Identicador: UC 40 Pr-condies: Alterar Informao do Produto ou Alterar Quantidade do Produto. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Ps-condies: O estoque estar atualizado e sem inconsistncias. Fluxo principal: 1. O sistema verica se existe alguma conexo com o banco de dados; 2. O sistema fecha qualquer conexo existente; Nome: Cadastrar Cliente Identicador: UC 41 Pr-condies: O ator deve estar autenticado. Ps-condies: O cliente deve estar na lista de clientes do programa de delidade. Fluxo principal: 1. O funcionrio fornece as informaes do cliente a ser inserido; 2. O cliente inserido; Nome: Remover Cliente Identicador: UC 42 Pr-condies: O ator deve estar autenticado. Ps-condies: O cliente no deve estar mais na lista de clientes do programa de delida- de. Fluxo principal: 1. O funcionrio fornece o nome do cliente a ser removido; 2. O sistema pesquisa o referido cliente; 3. O cliente removido do programa de delidade; Nome: Alterar Informaes do Cliente Identicador: UC 43 Pr-condies: O ator deve estar autenticado.. Ps-condies: As informaes do cliente devem estar alteradas. Fluxo principal: 1. O funcionrio informa o nome do cliente e as informaes a serem alteradas; 2. O sistema pesquisa pelo referido cliente; 3. O sistema realiza a alterao dos dados do cliente; UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Nome: Escolher Forma de Pagamento Identicador: UC 44 Pr-condies: Iniciar uma Venda. Ps-condies: A pontuao deve ter sido contabilizada e a venda terminada. Fluxo principal: 1. O funcionrio informa a escolha do cliente em relao a forma de pagamento; 2. Se o cliente escolheu pagar em dinheiro, o sistema ir creditar pontos no carto de delidade; Fluxo Alternativo A : A.2 Se o cliente escolheu pagar com pontos do carto de delidade, o sistema ir debitar pontos do carto de delidade; Nome: Creditar Pontos Identicador: UC 45 Pr-condies: O cliente deve ter pago em dinheiro. Ps-condies: Os pontos devem ter sido creditados no carto de delidade. Fluxo principal: 1. O sistema vai vericar a validade dos dados do cliente; 2. O sistema vai calcular quantos pontos vo ser creditados; 3. O sistema vai creditar os pontos; Nome: Debitar Pontos Identicador: UC 46 Pr-condies: O cliente deve ter pago utilizando os pontos de delidade. Ps-condies: Os pontos devem ter sido debitados do carto de delidade. Fluxo principal: 1. O sistema vai vericar a validade dos dados do cliente; 2. O sistema vai calcular quantos pontos vo ser debitados; 3. O sistema vai debitar os pontos do carto de delidade; Nome: Vericar Dados do Cliente Identicador: UC 47 UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Pr-condies: O cliente possuir um cadastro no programa de delidade e apresentar o carto do mesmo. Ps-condies: Nenhuma. Fluxo principal: 1. O sistema vai pesquisar o cliente; 2. O sistema vai compara os dados fornecidos pelo cliente com os dados existentes no cadastro do mesmo; 3. O sistema vai vericar a validade do carto; 4. O sistema vai liberar a transferncia de pontos; Nome: Vericar Validade do Carto Identicador: UC 48 Pr-condies: O cliente ter apresentado o carto do programa de delidade. Ps-condies: Nenhuma. Fluxo principal: 1. O sistema vai vericar se o saldo do carto valido; 2. O sistema vai liberar a transferncia de pontos; Nome: Vericar Saldo do Carto Identicador: UC 49 Pr-condies: O cliente ter apresentado o carto do programa de delidade. Ps-condies: Nenhuma. Fluxo principal: 1. O sistema vai vericar o saldo do carto e calcular se ele suciente; 2. Se o saldo for suciente o sistema vai liberar a transferncia de pontos; Fluxo Alternativo: A.1 Caso o saldo seja insuciente, o sistema vai cancelar a venda; Nome: Pesquisar Cliente Identicador: UC 50 Pr-condies: O cliente deve ter escolhido a forma de pagamento ou o funcionrio vai remover um cliente. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Ps-condies: Nenhuma. Fluxo principal: 1. O funcionrio informa o nome ou cdigo do cliente a ser pesquisado; 2. O sistema pesquisa o cliente; Nome: Calcular Valor do Produto em Pontos de Fidelidade Identicador: UC 51 Pr-condies: Escolha de forma de pagamento. Ps-condies: Nenhuma. Fluxo principal: 1. O sistema vai vericar os produtos que foram contemplados pela compra; 2. Baseado em denies do administrador, o sistema vai calcular quantos pontos vale a transao referida; UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Di agramas de Cl asses A seguir esto os nossos di agr amas de cl asses. V i s a n d o f a c i l i t a r a visualizao das principais cl asses e rel aes no s i s t e ma , mo n t a mo s inicialmente um diagrama com todas as classes do sistema e posteriormente ns realizamos a diviso de pacotes principais para uma visualizao mais focada. Venda O diagrama ao lado representa o pacote venda. Nesse pacote esto as p r i n c i p a i s c l a s s e s envolvidas na realizao de uma venda. A cl asse abst r at a Repositrio a superclasse para os estoques e lojas da empresa. As vendas so armazenadas na lojas, mas possuem uma referncia que indica qual funcionrio realizou a venda. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Empresa O diagrama abaixo explica como planejamos as principais entidades e relaes diretas com a classe empresa. No diagrama, observa-se que a Empresa a classe responsvel pelo gerenciamento dos relatrios de vendas e por manter o cadastro dos seus Clientes. J a parte de gerenciamento dos funcionrios delegada classe Repositrios. Para a gerao de relatrios de vendas obtm-se as vendas a partir dos repositrios do tipo Loja. Para cada loja poderemos pesquisar as vendas realizadas e quem foi o funcionrio que realizou. Assim, tambm so precisos poucos passos para a gerao de um relatrio de desempenho. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Recomendao O prximo diagrama ilustra as classes envolvidas no sistema que promove a recomendao de produtos durante uma venda. A ideia da recomendao parte a partir da hora de cadastro dos produtos. Quando um novo tipo de produto for cadastrado no sistema, o funcionrio pode indicar quais produtos existentes no sistema so similares ao produto sendo cadastrado. Quando um produto estiver includo numa venda, ele vai ser utilizado pelo algoritmo de clculo de semelhana entre produtos e o valor do produto comparado ao valor do troco da venda. Alm dos dois fatores indicados acima, tambm ser avaliado se uma srie de produtos so sempre comprados em conjunto. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG Estoque Fcil O diagrama apresentado a seguir contm todas as classes do software. A sua visualizao facilita a compreenso das relaes entre os diferentes pacotes e subsistemas. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE Estoque Fcil - Diagramas de Casos de Uso e Classes - Engenharia de Software 1 - 2011.1, UFCG