Baixe o app para aproveitar ainda mais
Prévia do material em texto
Serviço Nacional de Aprendizagem Comercial. Técnico em Informática SIAC Sistema de Automação Comercial Taguatinga-DF 2014 Serviço Nacional de Aprendizagem Comercial. Técnico em Informática SIAC Sistema de Automação Comercial Bruno Henrique de Sousa Félix José Fernando Ferreira Araújo Márcio Rogério Ribeiro dos Santos Trabalho de conclusão de curso para obtenção do título de Técnico em Informática apresentado ao SENAC unidade de Taguatinga DF. Orientador: Paulo Peres. Taguatinga - DF 2014 Bruno Henrique de Sousa Félix. José Fernando Ferreira Araújo. Márcio Rogério Ribeiro dos Santos. SIAC Sistema de Automação Comercial ______________________________________ Gerencia do CEP ________________________________________ Sub Gerencia do CEP Banca Examinadora ____________________ Nome / Titulação ____________________Nome / Titulação ____________________Nome / Titulação Agradecimentos Agradecemos primeiramente a Deus. Por sua infinita misericórdia, por nos iluminar e abençoar nossa trajetória. Aos nossos familiares e colegas. Ao nosso Orientador Paulo Peres e a todos que direta ou indiretamente fizeram parte da nossa formação. O nosso muito obrigado. Resumo O comércio vem passando por uma grande expansão nos últimos tempos, o que leva os gerentes e proprietários a buscarem alternativas que facilitem a gestão dos clientes, dos produtos, fornecedores, funcionários, clientes e principalmente dos lucros relacionado ao seu negocio. Assim é necessário recorrer a um sistema de informação eficiente que aumente a produtividade e aprimore a qualidade e serviços fornecidos aos clientes. Diante desta situação surge a automação comercial como ferramenta para auxiliar no processo de crescimento dos empreendimentos. Este projeto consiste no desenvolvimento de um software para informatizar, aplicado à área de vendas e gerenciamento administrativos das rotinas de uma empresa. As práticas de venda, cadastro e gerenciamento de funcionários, são atividades que consomem muito tempo dos gerentes e que, muitas vezes não conseguem ser bem executadas. O SIAC (Sistema de Automação Comercial) propõe a facilitação de tais atividades, promovendo o acesso descentralizado e eficaz. Palavras-chave: SIAC. Comércio. Software. Empresa. Lista de Figuras Figura 1: Descrição da Instalação .................................................................................. 22 Figura 2: Diagrama de Caso de Uso Geral. ................................................................... 28 Figura 3: Diagrama de Caso de Uso Manter Funcionário .............................................. 30 Figura 4: Diagrama de Caso de Uso Manter Cliente. ..................................................... 32 Figura 5: Diagrama de Classe. ....................................................................................... 35 Figura 6: Diagrama de Sequencia Login. ....................................................................... 37 Figura 7: Diagrama de Sequência Cliente ...................................................................... 38 Figura 8: Diagrama de Atividade do Funcionário. ........................................................... 40 Figura 9: Diagrama de Atividade do Administrador. ........................................................ 41 Figura 10: (Modelo Logico)............................................................................................. 44 Figura 11: Tela de Acesso. ............................................................................................. 60 Figura 12: Menu do Sistema. ......................................................................................... 61 Figura 13: Tela de Funcionários. .................................................................................... 62 Figura 14: Tela de Clientes. ............................................................................................ 63 Figura 15: Tela de Fornecedores. ................................................................................... 64 Figura 16: Tela de Produtos. .......................................................................................... 65 Figura 17: Tela de Vendas. ............................................................................................. 66 Figura 18: Tela de Consultas. ......................................................................................... 67 Figura 19: Tela de Permissões. ...................................................................................... 68 Figura 20: Alteração de Permissões. .............................................................................. 69 Figura 21: Tela de Backup. ............................................................................................. 70 Lista de Tabelas Tabela 1 Benefícios do produto. ..................................................................................... 16 Tabela 2: Recursos Humanos. ....................................................................................... 16 Tabela 3: Hardware. ....................................................................................................... 17 Tabela 4: Software. ......................................................................................................... 18 Tabela 5: Cronograma. ................................................................................................... 19 Tabela 6: Descrição do caso de Uso: Visão Geral do Sistema. ...................................... 29 Tabela 7: Descrição do Caso de Uso: Manter Funcionário. ........................................... 31 Tabela 8: Descrição do Caso de Uso: Manter Cliente. ................................................... 33 Tabela 9: Funcionário. .................................................................................................... 45 Tabela 10: Login. ............................................................................................................ 46 Tabela 11: Tipo do Funcionário. ...................................................................................... 47 Tabela 12: Clientes. ........................................................................................................ 48 Tabela 13: Sexo. ............................................................................................................. 49 Tabela 14: Fornecedor. ................................................................................................... 50 Tabela 15: Pedido. .......................................................................................................... 51 Tabela 16: Produtos. ...................................................................................................... 52 Tabela 17: Endereço. ..................................................................................................... 53 Tabela 18: Cidades. ........................................................................................................54 Tabela 19: UF. ................................................................................................................ 54 Tabela 20: Telefone. ....................................................................................................... 55 Tabela 21: DDD. ............................................................................................................. 56 Tabela 22: Funcionário e Endereço. ............................................................................... 57 Tabela 23: Endereço e Cliente. ...................................................................................... 57 Tabela 24: Endereço e Fornecedor. ............................................................................... 58 Tabela 25: Pedido e Produto. ......................................................................................... 58 Tabela 26: Pedido e Funcionário. ................................................................................... 59 Tabela 27: Pedido e Cliente............................................................................................ 59 Sumário 1 - Introdução ................................................................................................................. 11 2. Analise Institucional .................................................................................................... 12 2.1 - A Empresa ........................................................................................................... 12 2.2 - Descrições de Regra de Negócio ........................................................................ 13 2.3 - Descrições dos usuários ..................................................................................... 14 2.4 - Descrições das necessidades do usuário ........................................................... 14 2.5 - Ambiente Tecnológico Atual ................................................................................ 15 2.6 - Melhorias futuras ................................................................................................. 15 2.7 - Benefícios do produto ......................................................................................... 16 3 - Recursos ................................................................................................................... 16 3.1 - Recursos Humanos ............................................................................................. 16 3.2 - Cargo .................................................................................................................. 17 3.3 - Hardware ............................................................................................................. 17 3.4 - Software .............................................................................................................. 18 4 - Objetivos do Sistema ................................................................................................ 19 4.1 - Objetivo Geral ..................................................................................................... 19 4.2 - Objetivos Específicos ............................................................................................. 19 5. - Cronograma ............................................................................................................. 19 6. - Propostas do Sistema .............................................................................................. 20 6.1 - Especificações do Software ................................................................................ 21 6.2 - Restrições do Sistema ........................................................................................ 21 6.3 - Resultados Esperados ........................................................................................ 21 6.4 - Descrições da Instalação .................................................................................... 22 6.5 - Custos versus Beneficio ...................................................................................... 22 7 - Metodologia Adotada ................................................................................................ 23 7.1 - Linguagem Utilizada ............................................................................................ 24 8 - Documentação de Análise ......................................................................................... 26 8.1 - Documentações do Caso de Uso ........................................................................ 27 8.1.2 - Caso de Uso Geral ........................................................................................... 28 8.1.3 - Diagrama de Caso de Uso Manter Funcionário ............................................ 30 8.1.4 - Diagrama de Caso de Uso Manter Cliente .................................................... 32 8.2. - Diagrama de Classe ........................................................................................... 34 8.3 - Diagrama de Classe ............................................................................................ 35 8.3.1 - Diagrama de Sequência ................................................................................ 36 8.3.2 - Diagrama de Sequência Login ...................................................................... 37 8.3.3. - Diagrama de Sequência Cliente ................................................................... 38 8.4 – Diagramas de Atividade ...................................................................................... 39 8.5 - Diagrama de Atividade - Funcionário .................................................................. 40 8.6 - Diagrama de Atividade - Administrador ............................................................... 41 9 - Modelo Lógico ........................................................................................................... 42 9.1 - (MODELO LÓGICO) ........................................................................................... 44 9.1.1 – Especificações das tabelas .......................................................................... 45 10 - Documentação da implementação. ......................................................................... 60 10.1- Descrição das interfaces. ................................................................................... 60 10.1.1 Tela de Acesso. ............................................................................................. 60 10.1.2 - Menu do Sistema. ....................................................................................... 61 10.1.3 – Tela de Funcionários. ................................................................................. 62 10.1.4 – Tela de Clientes. ......................................................................................... 63 10.1.5 – Tela de Fornecedores. ................................................................................ 64 10.1.6 – Tela de Produtos. ........................................................................................ 65 10.1.7 – Tela de Vendas. .......................................................................................... 66 10.1.8 – Tela de Consultas. ...................................................................................... 67 10.1.9 – Tela de Permissões. ................................................................................... 68 10.1.10 – Tela de Alteração de Permissões. ............................................................ 69 10.1.11 – Tela de Backup ......................................................................................... 70 Conclusão ......................................................................................................................71 Referencias Bibliográfica ................................................................................................ 72 11 1 - Introdução Automação comercial é a aplicação de métodos e ferramentas para automatizar processos comerciais, isso é mecanizar e agilizar processos manuais, alcançando total eficiência. A integração entre o homem e a máquina somada a gestão, busca reduzir a mão-de-obra e despesas, além de gerência e controle operacional sobre um comércio. Com a automação, tarefas passíveis de erros, como: cálculo e digitação de preços, quantidades, preenchimento de um cheque, emissão de nota fiscal; ficam mais seguras e eficientes. Melhorando o trabalho dos funcionários e o atendimento aos clientes. Fornecer um controle a uma empresa é essencial, e a organização é primordial, sem duvida um dos maiores problemas dentro de uma empresa é a falta de comunicação entre si, um dos fatores que prejudicam mais ainda a desordem, mantero controle é essencial. Tudo isso dentro de um sistema desktop para cada funcionário da empresa. 12 2. Analise Institucional 2.1 - A Empresa Criamos a empresa Inovatec, como fins acadêmicos e de aprendizado para demonstrar a implantação do nosso software SIAC (Sistema de Automação Comercial). A Inovatec é uma empresa na área vendas, focada na tecnologia. Em 2013 a Inovatec abria sua primeira loja. E desde então, o compromisso de levar mais tecnologia e qualidade à vida das pessoas fez-se um objetivo diário. Tamanho empenho e dedicação resultaram-se no que o mercado pode contemplar hoje: uma referência no segmento varejista, com 01 loja no Distrito Federal. Esta empresa que está em constante crescimento no mercado, tem como objetivo, realizar a implantação de um software que torne de modo eficiente suas atuações no mercado. 13 2.2 - Descrições de Regra de Negócio A empresa Inovatec atua há um ano no mercado de trabalho, porém nesse período a organizações de arquivos importantes, registros de vendas, produtos, clientes, funcionários, fornecedores eram descritos em papeis correndo riscos de perdas. Diante desta dificuldade, foi nos proposto um sistema para gerenciar dados de funcionários, clientes, fornecedores, produtos e vendas, além de manipular informações de quaisquer dados. O sistema deve efetuar cadastro de funcionários da empresa, login de cada funcionário, fornecedores, produtos, clientes e vendas. O sistema deve possuir dois níveis de acesso: Funcionário e Administrador. O funcionário ao ser cadastrado no sistema, obrigatoriamente deve possuir um tipo, sendo Administrador ou Funcionário. O funcionário terá menos privilégio comparado ao administrador que também é um funcionário com acesso total ao sistema O cliente ao ser cadastrado no sistema, jamais poderá ser excluído. O fornecedor deve obrigatoriamente possuir um status, sendo Ativo ou Inativo. O Produto só poderá ser cadastrado no sistema se houver um fornecedor ativo. Sendo que os produtos que já tenham sido vendidos jamais poderão ser excluídos. O cliente pode adicionar 01 ou mais produtos no momento da compra, calculando o valor correspondente à venda, efetuando a baixa de estoque dos produtos selecionados. 14 2.3 - Descrições dos usuários Administrador: Não há restrições ao seu acesso; Coordenará todas as atividades vinculadas ao sistema como, inserir, excluir, editar e consultar dados de quaisquer registros; Funcionário: Não possui permissões para manipular dados de funcionários, fornecedores e administradores. Possui apenas permissões para manipular dados de clientes, produtos e vendas; 2.4 - Descrições das necessidades do usuário Necessidade: Gerar relatórios; o Prioridade: Parcial; o Preocupações: Obter controle sobre os relatórios armazenados; o Soluções: Facilidade em obter informações; Necessidade: O Funcionário/Administrador deverá logar para acessar o sistema. o Prioridade: Alta; o Preocupações: Obter controle sobre o sistema; o Soluções: Manipular dados do sistema; 15 Necessidade: O Cliente deverá estar cadastrado para realizar compras; o Prioridade: Alta; o Preocupações: Realizar vendas; o Soluções: Inserir cliente no sistema; Necessidade: O Fornecedor deverá estar cadastrado para fornecer produtos; o Prioridade: Alta; o Preocupações: Manter estoque; o Soluções: Inserir fornecedor no sistema; 2.5 - Ambiente Tecnológico Atual Cada empresa já possui 03 Computadores Dell Intel core i3 HD 500GB, 4GB de memória RAM. 03 Impressoras HP P1102 Laser. 2.6 - Melhorias futuras Desenvolver o módulo para gerar cupom fiscal após a venda; Devoluções (cancelamento de compras). 16 2.7 - Benefícios do produto Benefício Relevância Agilidade no processo de gerenciamento de clientes, Fornecedores, funcionários, vendas e produtos. Essencial Maior segurança no armazenamento de dados. Essencial Gerar um relatório geral de todos os dados no sistema. Importante Gerar backup de dados do sistema. Importante Tabela 1 Benefícios do produto. 3 - Recursos Os recursos necessários para a implementação do SIAC (Sistema de Automação Comercial), serão bens materiais como, hardwares, peças que o desenvolvedor terá que possuir para que o projeto possa dar inicio e seja implantado nas maquinas da empresa Inovatec. 3.1 - Recursos Humanos Desenvolvedores Cargos Bruno Henrique de Souza Félix Programador, Analista, DBA e Testes José Fernando Ferreira Araújo Programador/Analista, DBA, Gerente de Projetos, Designer do sistema e Testes Márcio Rogério Ribeiro dos Santos Programador Testes e Manutenção do sistema Tabela 2: Recursos Humanos. 17 3.2 - Cargo DBA: A função de um DBA é Administrar um banco de dados, desde sua criação e implementação ao sistema. Programador: São desenvolvedores de software e são responsáveis apenas pelo desenvolvimento do software que lhes é passado por engenheiros e analistas de sistemas e DBA’s, (Administrador de Banco de Dados). Analista: Tem como finalidade a realização de estudos de processos a fim de encontrar o melhor caminho racional para que a informação possa ser processada. Responsáveis pelos diagramas, que são a representação gráfica do sistema. Gerente de Projetos: Gerencia, planeja, organiza, supervisiona e orienta as atividades dos componentes da equipe. 3.3 - Hardware Item Quantidade Observações Computador 1 2 GB de memória RAM, Intel core 2 Duo 2.83 GHz de processamento com sistema operacional Windows XP. Tabela 3: Hardware. 18 3.4 - Software Item Observações MysqlWorkbanch OMysql é um sistema de gerenciamento de banco de dados (SGBD). Que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface. Java SE Development Kit JDK 8.0 O JDK é um ambiente de desenvolvimento para construir aplicações, applets, e componentes usando a linguagem de programação Java. O JDK inclui ferramentas úteispara o desenvolvimento e teste de programas escritos na linguagem de programação Java e em execução na plataforma Java. Netbeans 8.0 O Netbeans IDE é um ambiente de desenvolvimento integrado (IDE) gratuito e de código aberto para desenvolvedores de software nas linguagens Java, C, C++, PHP, Groovy, Ruby, entre outras. O IDE é executado em muitas plataformas, como Windows, Linux, Solaris e MacOS. O Netbeans IDE oferece aos desenvolvedores ferramentas necessárias para criar aplicativos profissionais de desktop, empresariais, Web e móveis multiplataformas. Star UML Segundo o autor Guedes Gilleanes UML é um editor gráfico para programadores serve para desenhar diagramas UML e assim permitir AP programador criar todo o tipo de diagramas, componentes, objetos, pacotes, estruturas, módulos, atividade, status, seqüência, comunicação, interatividade, tempo, etc. Microsoft Word 2010 Software que permite a criação de documentos mo computador. Ou ilustrações, como imagens ou planos de fundo, e adicionar figuras como mapa e tabelas. Além disso, Wold fornece diversos recursos úteis para a criação de texto de modo que você pode concluir documentos comerciais, como artigos ou relatórios, com facilidade. Tabela 4: Software. 19 4 - Objetivos do Sistema 4.1 - Objetivo Geral Gerenciar dados de funcionários, clientes, fornecedores, produtos, vendas e gerar relatórios. 4.2 - Objetivos Específicos O desenvolvimento deste projeto tem como por objetivo; Manter clientes, fornecedores, produtos, vendas, usuários do sistema e funcionários. Gerar Relatórios de quaisquer dados do sistema, e realizar backup de dados. 5. - Cronograma Etapa s: Descrição das Etapas: Dias: Data: 1° Estudo do caso 02 18/08/2014 á 19/08/2014 2° Modelagem e documentação 08 20/08/2014 á 29/08/2014 3° Construção do banco de dados 03 01/09/1014 á 03/09/2014 4° Desenvolvimento do sistema 14 04/09/1014 á 23/09/2014 5° Testes 02 24/09/1014 á 25/09/2014 6° Implantação do sistema 01 26/09/1014 á 26/09/2014 Tabela 5: Cronograma. 20 1°Etapa: Com base no tema escolhido pelo grupo, foi realizado pesquisas sobre sistemas similares analisando suas funcionalidades e complexidades. 2ª Etapa: Com base nas pesquisas e nos sistemas similares da etapa anterior, faremos a modelagem do sistema de acordo com os diagramas da estar UML (casos de uso, classes, sequência, atividade e entidade relacionamento). 3ª Etapa: Essa etapa fará a construção do banco de dados e a criação das tabelas e seus relacionamentos 4ª Etapa: Nesse processo será desenvolvido o sistema com a linguagem de programação juntamente como o banco já desenvolvido na etapa anterior. 5ª Etapa: Nessa fase será feitos os testes no sistema para que seja encontrados possíveis erros antes da entrega do sistema ao cliente. 6ª Etapa: Nessa 6ª e ultima fase o cliente recebera o sistema juntamente com todas as instruções. 6. - Propostas do Sistema O sistema tem como proposta gerenciar de forma ágil, mantendo cadastro de funcionários, clientes, fornecedores, produtos e vendas, ao mesmo tempo informatizando para melhor ambiente de trabalho, aplicando na área de vendas gerenciando o administrativo, das rotinas da empresa. 21 6.1 - Especificações do Software O sistema está desenvolvido em Software livre Java SE e base de dados Mysql. 6.2 - Restrições do Sistema O sistema não fará gerenciamento de gestão da empresa. O sistema não terá conexão com a internet. 6.3 - Resultados Esperados Espera-se que o nosso sistema contribua para melhor controle e manipulação de dados dentro da empresa. 22 6.4 - Descrições da Instalação Figura 1: Descrição da Instalação 6.5 - Custos versus Beneficio O preço para desenvolvimento do software foi calculado de acordo com as horas trabalhadas vezes o valor hora e vezes a quantidade de membros da equipe, usamos o seguinte cálculo 120 horas x R$ 20 x 03 que totalizando R$ 7.200,00. A manutenção será cobrada mensalmente de acordo com o salário mínimo atual R$ 724,00. Total do Software: R$ 7.200,00 Total Manutenção R$ 724,00 por mês 23 7 - Metodologia Adotada De acordo com o aprendizado em sala de aula, nesse projeto adotamos a metodologia Extreme Programming (XP), que uma metodologia de desenvolvimento Orientada a Objeto (POO). A metodologia XP e um processo de desenvolvimento de software que adotam alguns valores que são: comunicação, simplicidade, feedback, coragem. A comunicação significa que os programadores devem comunicar entre si e com os clientes. Simplicidade significa que o projeto deve ser simplificado e fazer o mínimo necessário para funcionar. Feedback significa que cliente tem que está participando do desenvolvimento, pois se surgir algum erro são evidenciados o mais cedo possível e testes forcem feedback sobre o sistema. Coragem parar quando está cansado, pedir ajuda quando necessário e dizer ao cliente que não será possível cumprir um prazo estimado. Segundo Pressman (2006, pág. 63), Kent Beck descreve que o XP usa uma abordagem orientada a objeto como seu paradigma de desenvolvimento predileto. O XP inclui um conjunto de regras e práticas que ocorrem no contexto de quadro de atividades de arcabouço: planejamento, projeto, codificação, e testes. 24 7.1 - Linguagens Utilizadas Com objetivo de criar um software de qualidade decidimos utilizar algumas linguagens de programação, que são: Java e Mysql. Segundo Furgeri (2009, pág. 17) a partir de 1995 a Sun anunciou o Java não apenas como mais uma linguagem de programação, mas como uma nova plataforma de desenvolvimento. Desde o ano de 1996 até hoje, a linguagem Java não para de crescer, produzindo soluções desde pequenas aplicações até aplicativos corporativos. A linguagem Java possui diversas características. As principais características enfocadas neste livro se referem à orientação a objetos, portabilidade, suporte a comunicação em rede e acesso remoto a banco de dados. Orientação a objeto: é uma prática de programação já sólida no mercado e a maioria das linguagens de hoje permite trabalhar dessa forma. Portabilidade: Java é uma linguagem multiplataformas, ou seja, uma mesma aplicação pode ser executada a diferentes tipos de plataforma sem a necessidade de adaptação de código. Suporte a comunicação: uma das vantagens do Java é fornecer um grande conjunto de classes com funcionalidades especificas, ou seja, muitos detalhes de programação são encapsulados em classes já prontas. Acesso remoto de banco de dados: possibilita que dados sejam recuperados e/ou armazenados de qualquer ponto da 25 internet. Uma característica muito importante se considerado o grau de automação proporcionado pelo Java. De acordo com Oracle o MySQL Workbench permite que um DBA, desenvolvedor ou arquiteto de dados projete visualmente. Gerar e gerenciar todos os tipos de bancos de dados, incluindo Web, OLTP e bancos de dados de data warehouse. Ele inclui tudo o que um modelador de dados precisapara criar modelos ER complexos, e também oferecer recursos fundamentais para a realização de tarefas de gerenciamentos e documentação mudanças difíceis que normalmente requerem muito tempo e esforço. Benefícios: Simplifica o projeto de banco de dados e manutenção. Automatiza tarefas demoradas e propensas a erros. Permite que o arquiteto de dados visualize os requisitos e se comunique com as partes interessadas. Permite resolver questões de design antes de um grande investimento de tempo e recursos. Permite que o banco de dados do projeto tenha uma metodologia mais eficiente orientada. Permite importar scripts SQL para construir modelos e modelos de exportação de scripts DDL que podem ser executados em um momento posterior. 26 Permite comparar dois bancos de dados ao vivo ou um modelo e um banco de dados ao vivo, ver visualmente as diferenças, e executar uma sincronização entre um modelo e um banco de dados ao vivo ou vice-versa. Simplifica a documentação de projetos de banco de dados, proporcionando um processo de point-and-click, que oferece documentação em formato HTML ou texto simples. 8 - Documentação de Análise De acordo com a PMI (Project Management Instituto 2004, pág. 08) o gerenciamento de projeto é a aplicação de conhecimento, habilidades, ferramentas e técnicas ás atividades do projeto a fim de atender aos seus requisitos. Segundo Guedes (2013, pág. 21) ás primeiras fases de um processo de desenvolvimento de software consistem no levantamento de Requisitos. As outras etapas, sugeridas por muitos autores, são: Analise de Requisitos, Projeto, que se constitui na principal fase da modelagem, Codificação, Teste e Implantação. No decorrer da fase de planejamento do projeto tivemos como base o levantamento de requisitos, trabalhando com o domínio do problema e tentar determinar o que fazer e como fazer. No decorrer do planejamento do projeto foi feita a especificação e analise de requisitos, foram criados novos documentos para auxiliar no desenvolvimento do projeto, para isso são utilizados os diagramas da UML (Unified Modeling Language) ou linguagem de Modelagem Unificada que são técnicas utilizadas para auxiliar os programadores a visualizar o sistema, os diagramas utilizados foram Caso de Uso, Sequência, Atividade e Classe. 27 8.1 - Documentações do Caso de Uso O digrama de caso de uso tem como objetivo descrever as funcionalidades do sistema auxiliando na comunicação entre os analistas e o cliente. O diagrama de caso de uso e representado por atores que são os usuários do sistema e seus relacionamentos que são as funcionalidades do ator. De acordo com Guedes (2011, pág. 52), o diagrama de caso de uso procura, por meio de uma linguagem simples, possibilitar a compreensão do comportamento externo do sistema (em termos de funcionalidades oferecidas por ele) por qualquer pessoa, tentando apresentar o sistema por intermédio de uma perspectiva do usuário. É, entre todos os diagramas da UML, o mais abstrato e, portanto, o mais flexível e informal. Esse diagrama costuma ser utilizado, sobretudo no inicio da modelagem do sistema, principalmente nas etapas de levantamentos e analise de requisitos, embora venha a ser consultado e possivelmente modificado durante todo o processo de engenharia e sirva de base para a modelagem de outros diagramas. 28 8.1.2 - Caso de Uso Geral Figura 2: Diagrama de Caso de Uso Geral. System Adiministrador Funcionario Registar Venda Manter Cliente Manter funcionario Emitir relatorio Manter Produto Manter Fornecedor <<include>> <<include>> Realizar Backup 29 8.1.2.1 – Descrição do caso de Uso: Visão Geral do Sistema UC Visão geral Visão Geral do Sistema Descrição: Este caso de uso descreve o processo de visualização geral das funcionalidades do sistema. Pré-requisitos: No sistema a dois tipos de usuários: Funcionário e o Administrador, sendo que o funcionário tem acesso limitado a algumas funções do sistema e o administrador tem acesso total ao sistema, sendo que ambos devem está conectado ao sistema para realizar atividades. Ator: Administrador, Funcionário. Cenários Principais: 1- Administrador manter fornecedor. 2- Administrador manter funcionário. 3-Funcionário manter cliente. 4-Funcionário manter produto. 5-Funcionário registrar venda. 6-Funcionário emitir relatório. 7-Funcionário realiza backup. Cenários alternativos: 1-O cliente realiza compra com o funcionário que por sua vez registra a venda no sistema. Requisitos especiais: 1-Clientes não possui acesso ao sistema. 2-Funcionário e Administrador possuem restrições diferentes do acesso ao sistema Cenários alternativos: 1-Após preenchimento dos dados será salvo e armazenado no banco de dados. Tabela 6: Descrição do caso de Uso: Visão Geral do Sistema. 30 8.1.3 - Diagrama de Caso de Uso Manter Funcionário Figura 3: Diagrama de Caso de Uso Manter Funcionário 31 8.1.3.1 – Descrição do Caso de Uso: Manter Funcionário UC Manter Funcionário Manter Funcionário no sistema Descrição: Este caso de uso descreve a execução de manter o funcionário no sistema. Pré-requisitos: O administrador deve estar logado no sistema para efetuar este procedimento. Ator: Administrador Cenários Principais: 1 O administrador mantém funcionário. 2-O administrado pode Inserir funcionário. 3-O administrador pode pesquisar funcionário. 4-O administrador pode Editar funcionário. 5-O administrador pode emitir relatório dos funcionários. Cenários alternativos: 1-Após preenchimento dos dados dos leitores eles serão salvos e armazenados no banco de dados. Tabela 7: Descrição do Caso de Uso: Manter Funcionário. 32 8.1.4 - Diagrama de Caso de Uso Manter Cliente Figura 4: Diagrama de Caso de Uso Manter Cliente. 33 8.1.4.1. - Descrição do Caso de Uso: Manter Cliente UC Manter cliente Manter Cliente no sistema Descrição: Este caso de uso descreve a opção de manter cliente, inserir, pesquisar, salvar, atualizar e emitir relatório. Pré-requisitos: O funcionário deve estar logado no sistema para executar essas operações. Ator: Funcionário. Cenários Principais: 1-O funcionário mantém cliente. 2-O funcionário insere o cliente no sistema. 3-O funcionário pode pesquisar cliente no sistema. 4-O funcionário salva cliente cadastrado 5- O funcionário pode atualizar cadastro do cliente. 6- O funcionário pode emitir o relatório dos clientes. Cenários alternativos: 1-Após preenchimento dos dados será salvo e armazenado no banco de dados. Tabela 8: Descrição do Caso de Uso: Manter Cliente. 34 8.2. - Diagrama de Classe De acordo com Guedes (2011, pág. 101), o diagrama de classe é um dos mais importantes e mais utilizados da UML. Seu principal enfoque está em permitir a visualização das classes que comporão o sistema com seus respectivos atributos e métodos, bem como em demonstrar como as classes do diagramase relacionam, complementam e transmitem informações entre si. Esse diagrama apresenta uma visão estática de como as classes estão organizadas, preocupando-se em como definir a estrutura lógica das mesmas. O diagrama de classes serve ainda como base para a construção da maioria dos outros diagramas da linguagem UML. Segundo esse conceito citado por Guedes e o aprendizado em sala de aula o diagrama de classe é basicamente formado por suas classes e pelas associações em si, cada classe existente seus atributos que são suas características e seus métodos que é nada mais que as ações da classe. De acordo com Guedes (2011, pág. 106), as classes costumam ter relacionamentos entre si, chamado associações, que permitem que elas compartilhem informações entre si e colaborarem para a execução dos processos executados pelo sistema. Uma associação descreve um vínculo que ocorre normalmente entre os objetos de uma ou mais classes. De acordo com Guedes (2011, pág. 101), as classes costumam ter atributos, quem armazenam os dados dos objetos da classe, além de métodos, também chamados operações, que são as funções que uma instância da classe pode executa. 35 8.3 - Diagrama de Classe Figura 5: Diagrama de Classe. Funcionario -idFuncionario: int +Nome: String -CPF: String -RG: String -Endereco: String #CEP: String -Telefone: String #Email: String +dataNascimento: Date +Cidade: String +UF: String +Bairro: String -Sexo: String +TipoFuncionario: String #CadastrarFuncionarios(): void #PesquisarFuncionarios(): void #AlterarFuncionarios(): void #ValidarCampos(): void #ValidarLogin(String): int +LimparCampos(): void +EmitirRelatorio(int): String +ValidarCpf(String): int +RealizarBackup(): void Fornecedor -idFornecedor: int +NomeFornecedor: String #CNPJ: String -Endereco: String -Bairro: String -Cidade: String +UF: String #CEP: String -Telefone: String #Email: String #CadastrarFornecedores(): void #PesquisarFornecedores(): void #AlterarFornecedores(): void +ValidarCampos(): void +LimparCampos(): void +EmitirRelatorio(int): String #VerificarStatus(): String Produtos -idProduto: int +Nome: String +/Preco: Double +/Quantidade: int #CadastrarProdutos(): void #PesquisarProdutos(): void #AlterarProdutos(): void #ExcluirProdutos(): void #ValidarCampos(): void +LimparCampos(): void +EmitirRelatorio(int): String Cliente -idCliente: int +Nome: String -CPF: String -RG: String -Endereco: String #CEP: String -Telefone: String #Email: String #dataNascimento: Date -Cidade: String +UF: String -Bairro: String +Sexo: String #CadastrarClientes(): void #PesquisarClientes(): void #AlterarClientes(): void #ValidarCampos(): void +LimparCampos(): void +EmitirRelatorio(int): String #ValidarCpf(String): int +RealizarBackup(): void Pedidos -idPedido: int #/Quantidade: int #/dataVenda: Date #/Valor: Double #CadastrarPedidos(): void #PesquisarPedidos(): void #AlterarPedidos(): void #validarCampos(): void +LimparCampos(): void +EmitirRelatorios(int): String #BaixarEstoqueProduto(): int #CalcularValor(): Double #AdicionarProduto(): void #RemoverProduto(): void 0..1 1 1..*1..* 1..* 1 1..* 1 1..* 1 1..*1 1..* 1 36 8.3.1 - Diagrama de Sequência De acordo com Guedes (2011, pág.200), este é um diagrama comportamental que procura determinar a seqüência de eventos que ocorrem em um determinado processo, identificando quais mensagens devem ser disparadas entre os elementos envolvidos e em que ordem. Assim, determinar a ordem em que os eventos ocorrem, as mensagens que são enviadas, os métodos que são chamados e como os objetos interagem dentro de um determinado processo é o objeto principal desse diagrama. Atores Os atores são exatamente os mesmo os mesmos descritos no diagrama de casos de uso, ou seja, entidades externas que interagem com o sistema e que solicitam serviços, gerando assim eventos que iniciam processos. Lifelines. É um participante individual em uma interação. Na maioria das vezes um lifeline ira se referir a uma instancia de uma classe. Para não confundir com a linha que determina o tempo em que um participante existe no diagrama. Linha de vida Alinha de vida representa o tempo que um objeto (lifelines) existe durante um processo. As linhas de vidas são representadas por linhas finas verticais tracejadas, partindo do retângulo que representa o objeto. 37 8.3.2 - Diagrama de Sequência Login Figura 6: Diagrama de Sequencia Login. 38 8.3.3. - Diagrama de Sequência Cliente Figura 7: Diagrama de Sequência Cliente 39 8.4 – Diagramas de Atividade Segundo Pressman (2006, pág. 157) o diagrama de atividade UML complementa o caso de uso fornecendo uma representação gráfica do fluxo de interação em um cenário especifico. Analogamente ao fluxograma, um diagrama de atividade usam retângulos arredondados para descrever uma função especifica do sistema, setas para representar fluxo através do sistema, losangos de decisão para representar decisões de derivação (cada seta originária de um losango é rotulada), linhas horizontais sólidas para indicar que estão ocorrendo atividades paralelas. Segundo Pressman (2006, pág. 158), deve-se observar que o diagrama de atividade acrescenta detalhes adicionais, não diretamente mencionados (mas implícitos) no caso de uso. 40 8.5 - Diagrama de Atividade - Funcionário Figura 8: Diagrama de Atividade do Funcionário. 41 8.6 - Diagrama de Atividade - Administrador Figura 9: Diagrama de Atividade do Administrador. Login Menu Funcionario Cliente Fornecedor Usuario Produtos Relatorio Venda Pedido Registrar Logoff [Pedido Negado] [Pedido Confirmado] [Login Válido] [Login Inválido] 42 9 - Modelo Lógico Segundo Rêgo (pag 126, 2013) um modelo lógico de dados é considerado um modelo de dados implementável, o modelo lógico utiliza elementos estruturais: entidades, relacionamentos e atribustos; porém com um grau maior de complexidade devido ás restrições de integridade e regras de normalização. O Modelo Lógico de Dados já procura estabelecer soluções de implementação em bancos de dados – claro que respeitando os requisitos de informação e as regras de negócio representadas no medelo conceitual. Entidade independente No Modelo Lógico de Dados a entidade independente é representada por um retangulo com os seus cantos retos(90). Entidade dependente A entidade dependente é representada por um retangulo com seus cantos arredondados. Relacionamento identificado Relacionamento formado por uma entidade dependente. Ou seja, a chave primária da entidade pai (independente) ajuda a compor a chave primária da entidaden filha (dependente). O relacionamento é feito através de uma linha uniforme sem cortes e/ ou interrupções. Relacionamento não identificado Relacionamento onde a chave primária da entidade origem não faz parte da composição da chave primária da entidade destino. O relacionamento é expresso através de uma linha tracejada entre duas entidades. Um relacionamento não identificadopoderá ser também um relacionamento opcional. Chave primária Uma chave primária é um atributo ou conjunto de atributos cujos valores distinguem e/ ou identificam uma ocorrência dentro de uma entidade. Uma entidade possuem apenas uma chave primária. A chave primária também é conhecida como “primary key” ou simplesmente “PK”. Chave candidata Uma chave candidata é um atributo ou conjunto de atributos que são possíveis chaves primárias dentro de uma entidade. Toda chave primária é uma chave candidata, porém nem toda chave candidata é uma chave primária. 43 Chave estrangeira Uma chave estrangeira representa um atributo, ou combinações de atributos, cujos valores aparecem necessariamente na chave primária de outra entidade que se relaciona com esta, onde encontramos a chave estrangeira. A chave estrangeira serve, portanto, para implementar relacionamentos entre entidades dentro de um ambiente relacional. A chave estrangeira também é conhecida como “foreign key” ou simplesmente “FK”. 44 9.1 - (MODELO LÓGICO) Figura 10: (Modelo Logico). 45 9.1.1 – Especificações das tabelas Nome da Tabela tbFuncionario Chave Primaria/Chave Estrangeira ATRIBUTO PK FK idFuncionario X idTipo X idSexo X ATRIBUTO TIPO T A M A N H O I N D I C E N O T N U L L MASCARA OU CONTROLE DESCRIÇÃO Nome VARCHAR 25 5 X Cadastrar Nome RG VARCHAR 7 X Cadastrar RG CPF VARCHAR 20 X ___.___.___-_ Cadastrar CPF dataNascimento DATE X __/__/___ Cadastrar Data de Nascimento do funcionário Email VARCHAR 45 x Cadastrar e-mail do funcionário Tabela 9: Funcionário. 46 Nome da Tabela tbLogin Chave Primaria/Chave Estrangeira ATRIBUTO PK FK idFuncionario X X ATRIBUTO TIPO T A M A N H O I N D I C E N O T N U L L MASCARA OU CONTROLE DESCRIÇÃO Login VARCHAR 45 X Cadastrar o login do usuário Senha VARCHAR 45 X Cadastrar a Senha do usuário Tabela 10: Login. 47 Nome da Tabela tbTipoFuncionario Chave Primaria/Chave Estrangeira ATRIBUTO PK FK idTipo X ATRIBUTO TIPO T A M A N H O I N D I C E N O T N U L L MASCARA OU CONTROL E DESCRIÇÃO tipoFuncionario VARCHAR 50 X Cadastrar Funcionário Tabela 11: Tipo do Funcionário. 48 Nome da Tabela tbCliente Chave Primaria/Chave Estrangeira ATRIBUTO PK FK idCliente X idFuncionario X idSexo X ATRIBUTO TIPO T A M A N H O I N D I C E N O T N U L L MASCARA OU CONTROLE DESCRIÇÃO Nome VARCHAR 25 5 X Cadastrar Funcionário RG VARCHAR 7 X Cadastrar RG CPF VARCHAR 20 X ___.___.___-_ Cadastrar CPF dataNascimento DATE X __/__/___ Cadastrar data de nascimento dos clientes Email VARCHAR 45 x Cadastrar e-mail do funcionário Tabela 12: Clientes. 49 Nome da Tabela tbSexo Chave Primaria/Chave Estrangeira ATRIBUTO PK FK Sexo X ATRIBUTO TIPO T A M A N H O I N D I C E N O T N U L L MASCARA OU CONTROLE DESCRIÇÃO Sexo VARCHAR 20 X Cadastrar Sexo Tabela 13: Sexo. 50 Nome da Tabela tbFornecedor Chave Primaria/Chave Estrangeira ATRIBUTO PK FK idFornecedor X idFuncionario X ATRIBUTO TIPO T A M A N H O I N D I C E N O T N U L L MASCARA OU CONTROLE DESCRIÇÃO Nome VARCHAR 45 X Cadastrar Fornecedores CNPJ VARCHAR 45 X Cadastrar CNPJ Email VARCHAR 45 x Cadastrar e-mail do Fornecedor Tabela 14: Fornecedor. 51 Nome da Tabela tbPedido Chave Primaria/Chave Estrangeira ATRIBUTO PK FK idPedido X ATRIBUTO TIPO T A M A N H O I N D I C E N O T N U L L MASCARA OU CONTROL E DESCRIÇÃO Quantidad e INT 25 5 X Cadastrar Funcionário dataVenda DATE 7 X Cadastrar Dada de venda do Pedido Valor DOUBLE 20 X Cadastrar o valor do pedido Tabela 15: Pedido. 52 Nome da Tabela tbProdutos Chave Primaria/Chave Estrangeira ATRIBUTO PK FK idProduto X idFornecedor X ATRIBUTO TIPO T A M A N H O I N D I C E N O T N U L L MASCARA OU CONTROLE DESCRIÇÃO Nome VARCHAR 255 X Cadastrar Produto Estoque INT X Cadastrar o numero de estoque da empresa Valor DOUBLE X Cadastrar o valor dos produtos Tabela 16: Produtos. 53 Nome da Tabela TbEndereco Chave Primaria/Chave Estrangeira ATRIBUTO PK FK idEndereco X idCidade X ATRIBUTO TIPO T A M A N H O I N D I C E N O T N U L L MASCARA OU CONTROLE DESCRIÇÃO Endereco VARCHAR 255 X Cadastrar Endereço Bairro VARCHAR 255 X Cadastrar o Bairro do endereço CEP VARCHAR 10 X _____-___ Cadastrar o CEP do endereço Tabela 17: Endereço. 54 Nome da Tabela tbCidade Chave Primaria/Chave Estrangeira ATRIBUTO PK FK idCidade X UF X ATRIBUTO TIPO T A M A N H O I N D I C E N O T N U L L MASCARA OU CONTROL E DESCRIÇÃO Cidade VARCHAR 50 x Cadastrar Cidade Tabela 18: Cidades. Nome da Tabela tbUF Chave Primaria/Chave Estrangeira ATRIBUTO PK UF X Tabela 19: UF. 55 Nome da Tabela TbTelefone Chave Primaria/Chave Estrangeira ATRIBUTO PK idTelefone X idFuncionario idCliente idFornecedor DDD ATRIBUTO TIPO T A M A N H O I N D I C E N O T N U L L MASCARA OU CONTROLE DESCRIÇÃO Telefone VARCHAR 45 X (__)____-____ Cadastrar Telefone Tabela 20: Telefone. 56 Nome da Tabela TbDDD Chave Primaria/Chave Estrangeira ATRIBUTO PK DDD X ATRIBUTO TIPO T A M A N H O I N D I C E N O T N U L L MASCARA OU CONTROLE DESCRIÇÃO DDD INT X ( ) Cadastrar DDD Tabela 21: DDD.57 Nome da Tabela tbFuncionario/tbEndereco Chave Primaria/Chave Estrangeira ATRIBUTO PK idEndereco X idFuncionario X Tabela 22: Funcionário e Endereço. Nome da Tabela tbEndereco/tbCliente Chave Primaria/Chave Estrangeira ATRIBUTO PK idEndereco X idCliente X Tabela 23: Endereço e Cliente. 58 Nome da Tabela tbEndereco/tbFornecedor Chave Primaria/Chave Estrangeira ATRIBUTO PK idEndereco X idFornecedor X Tabela 24: Endereço e Fornecedor. Nome da Tabela tbPedido/tbProduto Chave Primaria/Chave Estrangeira ATRIBUTO PK idPedido X idProduto X Tabela 25: Pedido e Produto. 59 Nome da Tabela tbPedido/tbFuncionario Chave Primaria/Chave Estrangeira ATRIBUTO PK idPedido X idFuncionario X Tabela 26: Pedido e Funcionário. Nome da Tabela tbPedido/tbCliente Chave Primaria/Chave Estrangeira ATRIBUTO PK idPedido X idCliente X Tabela 27: Pedido e Cliente. 60 10 - Documentação da implementação. 10.1- Descrição das interfaces. 10.1.1 Tela de Acesso. Figura 11: Tela de Acesso. 61 10.1.2 - Menu do Sistema. Figura 12: Menu do Sistema. 62 10.1.3 – Tela de Funcionários. Figura 13: Tela de Funcionários. 63 10.1.4 – Tela de Clientes. Figura 14: Tela de Clientes. 64 10.1.5 – Tela de Fornecedores. Figura 15: Tela de Fornecedores. 65 10.1.6 – Tela de Produtos. Figura 16: Tela de Produtos. 66 10.1.7 – Tela de Vendas. Figura 17: Tela de Vendas. 67 10.1.8 – Tela de Consultas. Figura 18: Tela de Consultas. 68 10.1.9 – Tela de Permissões. Figura 19: Tela de Permissões. 69 10.1.10 – Tela de Alteração de Permissões. Figura 20: Alteração de Permissões. 70 10.1.11 – Tela de Backup Figura 21: Tela de Backup. 71 Conclusão Conforme o objetivo estabelecido pelo grupo, concluímos que o aprendizado possibilitou o desenvolvimento de um sistema de automação comercial. No inicio do nosso projeto tivemos como objetivo, criar um sistema que teria como proposta de gerenciar de forma ágil e ao mesmo tempo para melhor ambiente de trabalho. Mesmo com as dificuldades no desenvolvimento do sistema, buscamos juntos uma solução, com raciocino, ideias, debate em grupo e muito estudo sendo um trabalho acadêmico que está sendo sujeito a implementações e regulamentações, todavia, fomos felizes no resultado final, mas sabemos que o aprendizado não termina aqui, pois o mercado hoje exige dos candidatos que sejam cada vez mais qualificados. 72 Referencias Bibliográfica GUEDES, Gilleanes T. A. UML 2: uma abordagem prática. 2°ed. São Paulo. Ed. Novatec 2011. Project Management Instituto: um guia do conjunto de conhecimentos em gerenciamento de projetos, 3°ed. (Guia PMBOK) ed. Campus Boulevard EUA. FURGERI, Sergio Java 6 - Ensino Didático: Desenvolvendo e Implementando Aplicações. 2ºed. Érica Ltda. 2009. MySQL Workbench http://www.oracle.com/us/products/mysql/mysql-workbench-066221.html Acesso em (21/08/2014). PRESSAM, Roger S., Engenharia de software. 6°ed. São Paulo. Ed. McGraw-Hill, 2006. MACHADO, Felipe Nery Rodrigues, Projeto de banco de dados, uma visão prática, 15°ed. ÉricaLtda, 2008. http://www.metropoledigital.ufrn.br/aulas_avancado/web/disciplinas/banco_de_dados/au la_02.html Acesso em (23/08/2014). RÊGO, Bergson Lopes, Gestão e governança de dados: promovendo os dados como ativo de valor nas empresas. Brasport LTDA, 2013.
Compartilhar