JOSÉ RENATO SENA MARQUES DESENVOLVIMENTO DE SOFTWARE PARA WEB USANDO JAVA PARA UMA APLICAÇÃO DE COMÉRCIO ELETRÔNICO Assis 2011 JOSÉ RENATO SENA MARQUES DESENVOLVIMENTO DE SOTWARE PARA WEB USANDO JAVA PARA UMA APLICAÇÃO DE COMÉRCIO ELETRÔNICO Trabalho de Conclusão de Curso Tecnologia em Processamento de Dados Instituto Municipal de Ensino de Assis IMESA/FEMA Orientado: José Renato Sena Marques Orientador: Ms. Douglas Sanches da Cunha Assis 2011 JOSÉ RENATO SENA MARQUES DESENVOLVIMENTO DE SOFTWARE PARA WEB USANDO JAVA PARA UMA APLICAÇÃO DE COMÉRCIO ELETRÔNICO Trabalho de Conclusão de Curso apresentado ao Instituto Municipal de Ensino Superior de Assis, como requisito do Curso de Graduação, analisando pela seguinte comissão examinadora: Orientador : Ms. Douglas Sanches da Cunha Área de Concentração : Informática Assis 2011 FICHA CATALOGRÁFICA MARQUES, José Renato Sena Desenvolvimento de Software para Web Usando Java para uma Aplicação de Comércio Eletrônico. / José Renato Sena Marques. Fundação Educacional do Município de Assis – Fema : Assis, 2011 53p. Orientador: Ms.Douglas Sanches da Cunha Trabalho de Conclusão de Curso (TCC) – Tecnologia em Processamento de Dados - Instituto Municipal de Ensino Superior de Assis. 1. JEE. 2. Comércio Eletrônico CDD:001.6425 Biblioteca FEMA DESENVOLVIMENTO DE SOFTWARE PARA WEB USANDO JAVA PARA UMA APLICAÇÃO DE COMÉRCIO ELETRÔNICO JOSÉ RENATO SENA MARQUES Trabalho de Conclusão de Curso apresentado ao Instituto Municipal de Ensino Superior de Assis, como requisito do Curso de Graduação, analisando pela seguinte comissão examinadora: Orientador : Ms. Douglas Sanches da Cunha Analisador (1): Célio Desiró Assis 2011 DEDIATÓRIA Dedico esse trabalho primeiramente a Deus por ter me dado força para chegar até conclusão de meu curso, aos meus pais, Aparecida e Joaquim, minhas irmãs, Fernanda e Fabiane, que me incentivaram, me encorajaram, me deram todo o apoio necessário e que sempre me amaram por toda minha vida. Aos meus amigos que sempre me apoiaram e me ajudaram. Por fim, com muito conhecimento, dedico esse trabalho a Lígia Cristina Fonseca, amiga, companheira e incentivadora que esteve sempre ao meu lado, me ajudando nos mínimos detalhes, sem os quais não chegaria ate aqui. AGRADECIMENTO Primeiramente agradeço a Deus por ter me dado força para chegar até a conclusão do meu curso de Tecnologia em Processamento de Dados, além de me presentear com familiares maravilhosos que estiveram ao meu lado durante toda essa jornada de conhecimento e aprendizado. Quero fazer um agradecimento especial a duas pessoas que nesse momento são importantíssimos em minha vida, minha mãe Aparecida Bortolucci Sena Marques e meu pai Joaquim Areliano Sena Marques, que foram e são os alicerces durante os momentos bons e ruins em que passei ao longo desses três anos de curso. Agradecer aos diversos amigos que pude adquirir através do curso, e em especial duas pessoas que estiveram todo o tempo do meu lado, são eles, Eduardo Sodre e Claudio Tanganelli, que me passaram os seus conhecimentos de forma amiga e que contarei com eles o tempo em que estivermos juntos. Para finalizar, gostaria também de fazer agradecimento em especial ao meu orientador Douglas Sanches da Cunha, que me deu tranqüilidade e suporte na construção desse trabalho, também a Lígia Cristina Fonseca que desde a época em que a conheci me deu força e me ajudou nos momentos em que mais precisei. A todos vocês o meu muito OBRIGADO. RESUMO Poucos acontecimentos tiveram tanta influência em nossa sociedade quanto o surgimento da internet. Alem de tornar muito mais ágil e eficiente a forma com a qual as pessoas se comunicam, procuram por informações e adquirem conhecimentos, a internet possibilitou o surgimento de um novo canal de comercialização chamado e-commerce Este trabalho tem como objetivo elaborar um comércio eletrônico também chamado como e-commerce empresarial, a fim de agilizar e automatizar o processo de vendas de uma empresa, para isso será utilizado o framework Java Server Faces, integrado com o Java Persistence API’s , visando dinamizar o processo da aplicação. Palavras-chaves: Tecnologia; Comércio; Eletrônico. ABSTRACT Few events had as much influence on our society and the rise of the Internet. In addition to becoming more agile and efficient way in which people communicate, search for information and acquire knowledge, the Internet has enabled the emergence of a new business channel called e-commerce This study aims to develop an e-commerce also known as e-commerce business in order to streamline and automate the sales process of a company, for it will use the Java Server Faces framework, integrated Persistence API, intended to speed the application process Keywords: Technology, Trade, Eletronic. with the Java SUMÁRIO 1. INTRODUÇÃO................................................................................................................14 2. DESENVOLVIMENTO DO TRABALHO…………………………………………………….15 2.1. OBJETIVO...............................................................................................................................15 2.2. MOTIVAÇÃO…………………………………………………………………………………15 3. TECNOLOGIA UTILIZADA PARA O DESENVOLVIMENTO…………………………….16 3.1. JAVA EE (Java Enterprise Edition)………………………………………………………..16 3.2. JAVA PERSISTECE API (JPA)…………………………………………………………….16 3.3. JAVA SERVER FACES (JSF)......................................................................................17 3.4. SERVIDOR GLASSFISH 3.1.......................................................................................17 3.5. NETBEANS…………………………………………………………………………………..18 3.6. VANTAGENS DA LINGUAGEM JAVA…………………………………………………….18 3.7. BANCO DE DADOS MYSQL.......................................................................................19 4. LEVANTAMENTO DOS REQUISITOS..........................................................................20 4.1. USABILIDADE.............................................................................................................20 4.2. RESULTADOS.............................................................................................................20 5. ANÁLISE DOS REQUISITOS………………………………………………………………..21 5.1. CLASSIFICAÇÃO DOS REQUISITOS…………………………………………………….21 5.2. EXIGÊNCIAS…………………………………………………………………………………21 5.3. PRIORIDADES……………………………………………………………………………….21 6. LISTA DE EVENTOS………………………………………………………………………….22 7. ESTRUTURA ANÁLITÍCA DO PROJETO(WBS)..........................................................23 8. SEQUÊNCIAMENTO DAS ATIVIDADES…………………………………………………..24 9. CRONOGRAMA DAS ATIVIDADES DEFINIDAS.........................................................25 10. ESPECIFICAÇÃO DE CUSTOS……………………………………………………………..26 10.1. RECURSOS NECESSÁRIOS PARA O DESENVOLVIMENTO………………………26 10.2. ESTIMATIVA DE CUSTOS………………………………………………………………..27 10.3. ORÇAMENTO DO PROJETO…………………………………………………………….28 11. DIAGRAMAS………………………………………………………………………………….29 11.1. DIAGRAMA DE CASO DE USO……………………………….....................................29 11.2. DIAGRAMA DE CLASSE...........................................................................................30 11.3. DIAGRAMA DE ATIVIDADES....................................................................................31 11.4. DIAGRAMA DE SEQUÊNCIA....................................................................................32 11.4.1. Login Usuários..................................................................................................32 14.4.2. Cadastro de Produto.........................................................................................33 14.4.3. Finalizar Venda..................................................................................................34 12. ESPECIFICAÇÃO DE CASO DE USO.......................................................................35 12.1. UC01 - LOGAR NO SISTEMA...................................................................................35 12.2. UC02 - MANTER ADMINISTRADOR.........................................................................36 12.3. UC03 - MANTER CLIENTE.......................................................................................37 12.4. UC04 - MANTER LOGÍSTICA...................................................................................38 12.5. UC05 - MANTER PRODUTO.....................................................................................39 12.6. UC06 - MANTER CADASTRO DE CLIENTE............................................................40 12.7. UC07 - COTAR PRODUTO.......................................................................................41 12.8. UC08 - MONTAR CARRINHO...................................................................................42 12.9. UC09 - FORMA DE PAGAMENTO............................................................................43 12.10. UC10 - FINALIZAR COMPRA..................................................................................44 12. CONCLUSÃO...............................................................................................................45 13. REFERÊNCIAS BIBLIOGRÁFICAS............................................................................46 14. ANEXOS.....................................................................................................................47 14.1. TELA DE INICIO........................................................................................................47 14.2. TELA DE LOGIN........................................................................................................48 14.3. USUÁRIO LOGADO..................................................................................................49 14.4. TELA ADMINISTRAÇÃO...........................................................................................50 14.5. CADASTRAR CATEGORIA......................................................................................51 14.6. CADASTRAR PRODUTO..........................................................................................52 14.7. STATUS DA VENDA.................................................................................................53 14.8. USUÁRIOS CADASTRADOS....................................................................................54 LISTA DE ILUSTRAÇÕES FIGURA 01 – ESTRUTURA ANÁLITICA DO PROJETO (WBS).............................23 FIGURA 02 – SEQUÊNCIAMENTO DAS ATIVIDADES.........................................24 FIGURA 03 – CASO DE USO (UC).........................................................................29 FIGURA 04 – DIAGRAMA DE CLASSE (CD).........................................................30 FIGURA 05 – DIAGRAMA DE ATIVIDADE (AD).....................................................31 FIGURA 06 – DIAGRAMA DE SEQÜÊNCIA – LOGIN USUÁRIO..........................32 FIGURA 07 – DIAGRAMA DE SEQÜÊNCIA – CADASTRO DE PRODUTO..........33 FIGURA 08 – DIAGRAMA DE SEQÜÊNCIA – FINALIZAR COMPRA....................34 FIGURA 09 – CASO DE USO 01 – LOGAR NO SISTEMA.....................................35 FIGURA 10 – CASO DE USO 02 – MANTER ADMINISTRADOR..........................36 FIGURA 11 – CASO DE USO 03 – MANTER CLIENTE.........................................37 FIGURA 12 – CASO DE USO 04 – MANTER LOGÍSTICA.....................................38 FIGURA 13 – CASO DE USO 05 – MANTER PRODUTO......................................39 FIGURA 14 – CASO DE USO 06 – MANTER CADASTRO CLIENTE....................40 FIGURA 15 – CASO DE USO 07 – COTAR PRODUTO.........................................41 FIGURA 16 – CASO DE USO 08 – MONTAR CARRINHO.....................................42 FIGURA 17 – CASO DE USO 09 – FORMA DE PAGAMENTO.............................43 FIGURA 18 – CASO DE USO 10 – FINALIZAR COMPRA.....................................44 FIGURA 19 – TELA INICIAL....................................................................................47 FIGURA 20 – TELA LOGIN.....................................................................................48 FIGURA 21 – USUÁRIO LOGADO..........................................................................49 FIGURA 22 – TELA ADMINISTRAÇÃO..................................................................50 FIGURA 23 – CADASTRAR CATEGORIA..............................................................51 FIGURA 24 – CADASTRAR PRODUTO.................................................................52 FIGURA 25 – STATUS VENDA...............................................................................53 FIGURA 26 – USUÁRIOS CADASTRADOS...........................................................54 LISTA DE TABELAS TABELA 01 – LISTA DE EVENTOS........................................................................22 TABELA 02 – CRONOGRAMA DE REALIZAÇÃO DAS ATIVIDADES...................25 TABELA 03 – ORÇAMENTO DO PROJETO..........................................................28 TABELA 04 – CASO DE USO 01 – LOGAR NO SISTEMA....................................35 TABELA 05 – CASO DE USO 02 – MANTER ADMINISTRADOR..........................36 TABELA 06 – CASO DE USO 03 – MANTER CLIENTE.........................................37 TABELA 07 – CASO DE USO 04 – MANTER LOGÍSTICA.....................................38 TABELA 08 – CASO DE USO 05 – MANTER PRODUTO......................................39 TABELA 09 – CASO DE USO 06 – MANTER CADASTRO CLIENTE....................40 TABELA 10 – CASO DE USO 07 – COTAR PRODUTO.........................................41 TABELA 11 – CASO DE USO 08 – MONTAR CARRINHO....................................42 TABELA 12 – CASO DE USO 09 – FORMA DE PAGAMENTO.............................43 TABELA 13 – CASO DE USO 10 – FINALIZAR COMPRA.....................................44 14 1. INTRODUÇÃO Esse trabalho tem como objetivo desenvolver um site de comércio eletrônico, chamado também de e-commerce, que é um tipo de transação comercial feita especialmente através de um equipamento eletrônico como, por exemplo, computador ou smartphone. É uma importante ferramenta de relacionamento entre a empresa e o cliente, atuando como um canal de comunicação que proporciona para o lojista informações relevantes para a otimização de seus serviços e fidelização de seus clientes, fazendo do e-commerce, um base tecnológica confiável para o aumento de suas vendas O que mais motivou no desenvolvimento, foi analisar a lentidão e a burocracia que empoem hoje as empresas para finalizar um simples pedido de venda, alem do gasto com telefonemas Urbano e Interurbano, tanto por parte do vendedor, como do cliente. O principal objetivo deste software será automatizar, ao máximo, os pedidos de mercadorias feitas pelos vendedores e clientes da empresa, a fim de suprir com agilidade as informações e manter total conforto para ambos. A tecnologia que será usada para implementação do software é o JEE (Java Enterprise Edition), completo unificando JSF (Java Server Faces) com JPA (Java Persistence API), parte de visão da página Facelets, servidor Web GlassFish Server 3.1, banco de dados MySQL e administrador Navicat. Na seqüência será especificado o significado de cada uma das tecnologias utilizada no desenvolvimento. O software que será usado para o desenvolvimento dessa aplicação e o NetBeansIDE (Ambiente de Desenvolvimento Integrado), uma ferramenta gratuita de código aberto para desenvolvedores de software da linguagem Java, C, C++, PHP, Groovy, Ruby entre outras. 15 2. DESENVOLVIMENTO DO TRABALHO 2.1. OBJETIVO Muitas empresas procuram com a internet solução para melhorar, como vender mais, melhorar a comunicação com clientes, melhorar a imagem da empresa, e por esse motivo, surgiu à idéia de construir um Sistema para Web de Comércio Eletrônico. O objetivo é proporcionar aos lojistas um controle prático, eficiente, moderno, seguro, eficaz, sobre todos os departamentos e operações. Isso inclui também atingir os clientes em geral. Normalmente as pessoas buscam conforto na realização de suas compras, economizando (tempo e dinheiro) e isso faz com que esse comércio eletrônico aumente cada vez mais. 2.2. MOTIVAÇÃO A motivação principal para o desenvolvimento desse aplicativo é a utilização da internet no meio comercial, devido à facilidade e comodidade proporcionada ao usuário. O comércio eletrônico é considerado um dos canais mais modernos de vendas realizadas por diversas empresas através de sites. 16 3. TECNOLOGIA UTILIZADA PARA O DESELVOLVIMENTO 3.1. JAVA EE (Java Enterprise Edition) O Java EE é uma plataforma de desenvolvimento voltado para servidores, e a linguagem Java que contém um conjunto de tecnologias coordenadas que reduz significativamente o custo e a complexidade de desenvolvimento, implantação e gerenciamento de aplicativos de várias camadas centrados no servidor. Ficou muito conhecida para desenvolvimento de aplicações para corporações. Dentre seus diferenciais, podemos destacar aplicações distribuídas, seguras, escaláveis, de alta disponibilidade e com baixo custo de manutenção. Ela contém bibliotecas desenvolvidas para o acesso a Banco de Dados (é conjunto de registros dispostos em estrutura regular que possibilita a reorganização dos mesmos e produção de informação), RPC (Chamada Remota de Procedimento), etc. Devido a essas características a plataforma é utilizada principalmente para o desenvolvimento de aplicações corporativas. A plataforma JEE contém uma série de especificações e containers, cada uma com funcionalidades distintas. 3.2. JAVA PERSISTENCE API (JPA) É a especificação para gerenciamento de persistência e mapeamento objetorelacional. Ele traz as vantagens da orientação a objetos, enquanto persistem os dados de forma automática, implicitamente. O JPA trabalha com entidades POJO (Plain Old Java Objects), que simplificam bastante o processo de desenvolvimento. 17 3.3. JAVA SERVER FACES (JSF) Java Server Faces, também conhecida por JSF, é uma tecnologia para desenvolvimento Web que utiliza um modelo de interfaces gráficas baseadas em eventos. Esta tecnologia foi definida pelo JCP (Java Community Process), o que a torna um padrão de desenvolvimento e, facilita o trabalho dos fornecedores de ferramentas ao criarem produtos que valorizem a produtividade no desenvolvimento de interfaces visuais, inclusive com recursos de drag-and-drop. JSF é baseada no padrão de projeto MVC (Modell-View-Controller), o que torna o desenvolvimento de sistema menos complicado, pois a separação entre a visualização e regras de negócio é muito clara. O padrão MVC separa o sistema em três responsabilidades (modelo, visualização e controle), onde o modelo é responsável por representar os objetos de negócio, manter o estado da aplicação e fornecer ao controlador o acesso aos dados. A visualização é responsável pela interface do usuário. Ela que define a forma como os dados são apresentados e encaminha as ações do usuário para o controlador. O controlador é responsável por ligar o modelo e a visualização, interpretando as solicitações do usuário, traduzindo para uma operação no modelo (onde são realizadas efetivamente as mudanças no sistema), e retornando a visualização adequada à solicitação. 3.4. SERVIDOR GLASSFISH 3.1 O GlassFish Server 3.1 é um servidor de aplicação que suporte Java Platform, Enterprise Edition 6 (a Plataforma Java EE 6) e é construído em um tempo execução modular, flexível baseado no padrão OSGi (Open Services Gateway Initiative- termo obsoleto) é uma plataforma de serviços para o desenvolvimento da linguagem Java modulares e orientados a serviço. 18 3.5. NETBEANS A IDE NetBeans é um ambiente de desenvolvimento – uma ferramenta para programadores, que lhe permite escrever, compilar, debugar e instalar programas. A IDE é completamente escrito em Java, mas pode suportar qualquer linguagem de programação. Existem também um grande número de módulos para estender a IDE NertBeans. A IDE Netbeans é um produto livre, sem restrições de como pode ser usada. Também está disponível a Plataforma NetBeans: uma base modular e extensível que pode ser usada como infra-estrutura para se criar grandes aplicações para desktop. Os parceiros fornecem plug-ins que podem ser facilmente integrados na Plataforma, e que podem ser utilizados para desenvolver ferramentas e soluções próprias. 3.6. VANTAGENS DA LINGUAGEM JAVA Orientação a objetos; Portabilidade - Independência da plataforma; Recursos de Rede – Possui extensa biblioteca de rotinas que facilitam a cooperação com protocolos TCP / IP, como HTTP e FTP; Segurança – Pode executar programas via rede com restrições de execução; Bytecode interpretado, ao invés de compilado; Facilidades de Internacionalização – Suporta nativamente caracteres Unicode; Simplicidade na especialização tanto na linguagem como do “ambiente” de execução; É distribuída com um vasto conjunto de bibliotecas (ou APIs); Possui facilidades para criação de programas distribuídos e multitarefa (múltiplas linhas de execução num mesmo programa); Deslocamento de memória automática por processo de coletor de lixo; 19 Carga Dinâmica de Código – Programas em Java são formados por uma coleção de classes armazenadas independentemente, e que podem ser carregadas no momento de utilização. 3.7. BANCO DE DADOS MYSQL MySQL é um sistema de gerenciamento de banco de dados relacional de código aberto, que vem obtendo uma popularidade cada vez maior, por ser otimizado para aplicações Web, é amplamente utilizado na internet. Conhecido por sua velocidade, confiabilidade e facilidade de uso, o MySQL é uma ótima opção para a criação de bancos de dados para Web e aplicações sofisticadas. Sua utilização é adequada tanto para os iniciantes quanto para os desenvolvedores experientes. Outro fator que ajuda na popularidade do MySQL é sua disponibilidade para praticamente qualquer sistema operacional. 20 4. LEVANTAMENTO DOS REQUISITOS 4.1. USABILIDADE Com o surgimento da Web, todos os tipos de negócio e indústria passam a perceber que esse é um meio eficiente de divulgação e venda de seus produtos, o que ocasiona um aumento dos projetos de construção de websites. Dessa forma, a necessidade por interfaces eficientes, objetivando uma melhor interação com consumidor, aumentou de forma gigantesca. Usabilidade é a busca por uma melhor interação entre websites e seus usuários. De acordo com a norma ISO 9241 “Usabilidades mede a eficácia, eficiência e satisfação com a qual usuários podem atingir objetivos em um ambiente de particular”.(Jakob Nielsen, 1993) 4.2. RESULTADOS Quando falamos em vender produtos e serviços pela internet, tem um diferencial muito forte, a quantidade de públicos é muito grande em pouco tempo, a comunicação é fácil e rápido, as formas de pagamento são seguras e não precisa de infra-estrutura física sofisticada. Tudo isso otimiza o processo de venda. 21 5. ANÁLISE DOS REQUISITOS 5.1. CLASSIFICAÇÃO DOS REQUISITOS Conforme pesquisas efetuadas, foram levantados os requisitos seguintes: Manter Administrador Manter Cliente Manter Logística Manter Produto Cotar Produto Montar Carrinho Finalizar Venda Forma de Pagamento 5.2. EXIGÊNCIAS É necessário definir os relacionamentos entre os requisitos. Definir as entidades, os objetos e os atributos. Efetuar os diagramas de caso de uso e o diagrama de classe. Os nomes da tabela seguem um padrão. Os tipos de dados dos atributos devem ser pré-definidos. Deve-se definir os campos únicos, as chaves primárias e estrangeiras e os campos que não devem ser vazios. A interface deve ser de fácil acesso, pois o nível de conhecimento do usuário é de básico a intermediário. 5.3. PRIORIDADES A felicidade do consumidor a uma loja virtual depende principalmente da confiança que ele tem na segurança oferecida pelo site. 22 6. LISTA DE EVENTOS Descrição Nº Use Case 01 Administrador cria seu cadastro Manter Cadastro 02 Administrador cadastra usuário. Manter Logística 03 Administrador mantém novos clientes. Manter Cliente 05 Administrador cadastra novos produtos. Manter Produto 06 Acesso através de login Logar 07 Cliente cria seu cadastro Manter Cadastro 08 Cliente faz cotação e pesquisa de produtos 09 Cliente monta o carrinho 10 Cliente escolhe forma de pagamento 11 Cliente coloca os dados do cartão Cartão 12 O sistema passa os dados do Cliente e do Boleto Cotar Produto Montar Carrinho Forma de Pagamento pedido para geração de boleto 13 Cliente finaliza compra. O Cliente precisará Finalizar Compra esta logado no site. 14 . A Logística também precisará estar logado no site para acompanhamento e os pedidos finalizados Tabela 01: Lista de Eventos Finalizar Compra 23 7. ESTRUTURA ANALITÍCA DO PROJETO (WBS) Desenvolvimento de Software para Web Usando Java para uma Aplicação de Comércio Eletrônico Definição Análise Requisitos Desenvolvimento Implantação Levantamento de Requisitos Especificação de Requisitos Diagrama de Caso de Uso Programação Domínio Especificação do Caso de Uso Testes Diagrama de Classes Diagrama de Atividades Digrama de Sequência Figura 1 – Estrutura Analítica do Projeto (WBS) 24 8. SEQUENCIAMENTO DAS ATIVIDADES 31 dias 15 dias Levantamento de Requisitos 15 dias 15 dias Especificação de Requisitos 16 dias Diagrama de Classe 15 dias Diagrama de Caso de Uso 15 dias Diagrama de Atividades Diagrama de Seqüência 15 dias Testes Domínio Figura 2 – Sequenciamento das Atividades 16 dias Especificação do Caso de Uso 138 dias Programação 25 9. CRONOGRAMA DAS ATIVIDADES DEFINIDAS Atividade Levantamento de Requisitos Especificação de Requisitos Diagrama de Caso de Uso Especificação de Caso de U Diagrama de Classe Diagrama de Atividades Diagrama de Seqüência Programação Testes Domínio Mar Abr Maio Jun Jul Ago Set Tabela 02 - Cronograma de Realização das Atividades Out Nov 26 10. ESPECIFICAÇÃO DE CUSTOS 10.1. RECURSOS NECESSÁRIOS PARA O DESENVOLVIMENTO Serão necessários para o desenvolvimento do projeto os recursos descritos abaixo: Humano: o 01 Analista/Desenvolvedor Equipamento: o 01 Microcomputador Core i5 de 2.27 Ghz, 4 Gb de memória RAM e HD de 500 Gb o 01 Multifuncional (Copiadora, Impressora, Scanner); Software o NetBeans IDE; o Astah Profissional; o Banco de Dados MySQL; o Navicat, Administradora de Banco; 27 10.2. ESTIMATIVA DE CUSTO Analista/Desenvolvedor: Custo diário: R$ 25,00; Total de dias: 138; Custo Total: (Custo diário X Total de dias): R$ 3.430,00; Microcomputador: Valor unitário: R$ 2.000,00; Depreciação 2 anos: R$ 2.000,00 /24 (meses) = R$ 83,34 por mês; Custo diário R$ 83,34/30 (dias)= R$ 2,78; Custo Projeto (138 dias): R$ 2,78 * 138 = R$ 383,64; Multifuncional Valor unitário: R$ 400,00; Depreciação 2 anos: R$ 400,00/24 (meses)= R$ 16,67 por mês; Custo diário: R$ 16,67/24 (dias)= R$ 0,56; Custo do Projeto (138 dias): R$ 0,56 * 138= R$ 77,28; NetBeans IDE Valor unitário: R$ 0,00 (Edição livre); Astah Profissional: Valor unitário: R$ 0,00 (Edição livre); Banco de Dados MySQL: Valor unitário: R$ 0,00 (Edição livre); Navicat, Administrador de Banco: Valor unitário: R$ 0,00 (Edição livre); 28 10.3. ORÇAMENTO DO PROJETO Itens Custos Analista/Desenvolvedor Microcomputador R$ 3.430,00 R$ 383,64 Multifuncional R$ 77,28 NetBeans IDE R$ 0,00 Astah Profissional R$ 0,00 Banco de Dados R$ 0,00 Navicat, Administrador de Banco R$ 0,00 Custo Total: 3.890,92 Tabela 03 - Orçamento do Projeto 29 11. DIAGRAMAS 11.1. DIAGRAMA DE CASO DE USO Figura 03 - Caso de Uso 30 11.2. DIAGRAMA DE CLASSE Figura 04 - Diagrama de Classe 31 11.3. DIAGRAMA DE ATIVIDADES Figura 05 - Diagrama de Atividades 32 11.4. DIAGRAMA DE SEQUÊNCIA 11.4.1. Login Usuários Figura 06 – SD01: Login Usuários 33 14.4.2. Cadastro de Produto Figura 07 – SD02: Cadastro de Produto 34 14.4.3. Finalizar Compra Figura 08 – SD03: Finalizar Compra 35 12. ESPECIFICAÇÃO DE CASO DE USO 12.1. UC01 – LOGAR NO SISTEMA Figura 09 - UC01: Logar no Sistema Permite o acesso de cada usuário Finalidade / Objetivo Ator(es) Logística, Cliente, Administrador Pré-Condições Os Usuários terão que estar conectados para fazer uso do Aplicativo. Evento Inicial Os Usuários entram com o endereço do site no navegador de sua preferência. O sistema verifica autenticação do usuário. Fluxo Principal 1- O sistema oferece o campo login e senha para o usuário. 2- O sistema confirma a existência do usuário. Tabela 04 - UC01: Logar no Sistema 36 12.2. UC02 - MANTER ADMINISTRADOR Figura 10 - UC02: Manter Administrador Será o responsável pela administração Finalidade / Objetivo de todo o Sistema. Ator(es) Administrador Pré Condições O Administrador terá que estar “logado” no sistema para fazer uso da aplicação. Evento Inicial Após login realizado será dele a responsabilidade (cadastrar, alterar e bloquear). Fluxo Principal 1- O sistema oferece o campo login e senha para o usuário. 2- O sistema confirma a existência dos dados. Tabela 05 - UC02: Manter Administrador 37 12.3. UC03 MANTER CLIENTE Figura 11 - UC03: Manter Cliente Será o responsável pela administração Finalidade / Objetivo de todo o Sistema. Ator(es) Administrador Pré Condições O Administrador terá que estar “logado” no sistema para fazer uso da aplicação. Fluxo Inicial Após login realizado será dele a responsabilidade para movimentar os Clientes ( alterar e bloquear). Fluxo Principal 1- O sistema oferece o campo login e senha para o usuário. 2- O sistema confirma a existência dos dados. Tabela 06 - UC03: Manter Cliente 38 12.4. MANTER LOGÍSTICA Figura 12 - UC04: Manter Logística Será o responsável pela administração Finalidade / Objetivo de todo o Sistema. Ator(es) Administrador Pré Condições O Administrador terá que estar “logado” no sistema para fazer uso da aplicação. Evento Inicial Após login realizado será dele a responsabilidade para movimentar a Logística (cadastrar, alterar e bloquear). Fluxo Principal 1- O sistema oferece o campo login e senha para o usuário. 2- O sistema confirma a existência dos dados. Tabela 07 - UC04: Manter Logística 39 12.5. MANTER PRODUTO Figura 13 - UC05: Manter Produto Será o responsável pela administração Finalidade / Objetivo de todo o Sistema. Ator(es) Administrador Pré Condições O Administrador terá que estar “logado” no sistema para fazer uso da aplicação. Fluxo Inicial Após login realizado será dele a responsabilidade para movimentar os Produtos (cadastrar, alterar e bloquear). Fluxo Principal 1- O sistema oferece o campo login e senha para o usuário. 2- O sistema confirma a existência dos dados. Tabela 08 - UC05: Manter Produto 40 12.6. MANTER CADASTRO DE CLIENTE Figura 14 - UC06: Manter Cadastro de Cliente Finalidade / Objetivo Ator(es) Será usuário final Pré Condições O Cliente terá estar conectado na Cliente internet para fazer uso do sistema Evento Inicial Poderá sem estar logado realizar seu cadastro. Preencher corretamente todos os campos exigidos pelo sistema. Fluxo Principal 1- O sistema oferece o campo login e senha para o usuário. 2- O sistema confirma a existência dos dados. Tabela 09 - UC06: Manter Cadastro de Cliente 41 12.7. COTAR PRODUTO Figura 15 - UC07: Cotar Produto Finalidade / Objetivo Ator(es) Será usuário final Pré Condições O Cliente terá estar conectado na Cliente internet para fazer uso do sistema Evento Inicial Poderá sem estar logado realizar cotações. Cliente faz cotações e pesquisa de produtos. Fluxo Principal 1- O sistema oferece o campo login e senha para o usuário. 2- O sistema confirma a existência dos dados. Tabela 10 - UC07: Cotar Produto 42 12.8. MONTAR CARRINHO Figura 16 - UC08: Montar Carrinho Finalidade / Objetivo Ator(es) Será usuário final Pré Condições O Cliente terá estar conectado na Cliente internet para fazer uso do sistema Evento Inicial Poderá sem estar logado montar seu carrinho. Cliente escolhe itens de sua preferência. Fluxo Principal 1- O sistema oferece o campo login e senha para o usuário. 2- O sistema confirma a existência dos dados. Tabela 11 - UC08: Montar Carrinho 43 12.9. FORMA DE PAGAMENTO Figura 17 - UC09: Forma de Pagamento Finalidade / Objetivo Ator(es) Será usuário final Pré Condições O Cliente terá estar conectado na Cliente internet para fazer uso do sistema Evento Inicial O Cliente terá que estar “logado” no sistema para escolher forma de pagamento (Cartão) e finalizar a compra. Fluxo Principal 1- O sistema oferece o campo login e senha para o usuário. 2- O sistema confirma a existência dos dados. Tabela 12 - UC09: Forma de Pagamento 44 12.10. FINALIZAR COMPRA Figura 18 - UC10: Finalizar Compra Finalidade / Objetivo Ator(es) Encerramento de compra. Pré Condições O Usuários terá estar conectado na Cliente, Logística internet para fazer uso do sistema Evento Inicial O Cliente finaliza a compra. O Cliente precisa estar logado no sistema. A Logística precisará estar logado para acompanhar os pedidos finalizados. Fluxo Principal 1- O sistema oferece o campo login e senha para o usuário. 2- O sistema confirma a existência dos dados. Tabela 13 - UC10: Finalizar Compra 45 12. CONCLUSÃO Este trabalho apresentou o desenvolvimento de um sistema e-commerce empresarial utilizando a tecnologia Java. A grande vantagem de usar essa tecnologia é que ela utiliza outras como JSF, JPA que tem diversos benefícios. Com relação à tecnologia JSF, foi possível adquirir novos conhecimentos e ter uma visão mais clara desta tecnologia, que possui recursos necessários para a elaboração de qualquer aplicação para web. A forma de persistência das classes entidades foi o JPA um framework utilizado para mapear os objetos para o Banco de Dados. No desenvolvimento software foi utilizada a o IDE NetBeans, uma plataforma Open Sources toda escrita em JAVA mas que pode suportar outras linguagens, seja interface gráfica usando o Swing, como as linguagens de marcação como XML e HTML. Enfim, todo esse trabalho ampliou meus conhecimentos na parte de análise de sistemas, no ciclo de desenvolvimento de um projeto e na programação em Java para Web. 46 13. REFERÊNCIAS BIBLIOGRÁFICAS Enciclopédia Livre. Java, JPA(Java Persistece API): Disponível em: http://pt.wikipedia.org/wiki/Java_Persistence_API Fórum de noticias, tudo sobre Java. Disponível em: http://javafree.uol.com.br GONÇALVES, Edson. Desenvolvendo Aplicação Web com NetBeans IDE 6: Editora Ciência Moderna, 2008 GONÇALVES, Edson. Dominando o NetBeans: Editora Ciência Moderna, 2006 Jakob Nielsen. Usabilidade e suas metas: Disponível em: http://irlabr.wordpress.com/apostila-de-ihc/parte-1-ihc-na-pratica/6-usabilidade-esuas-metas/ Talita Pitanga. Java Server Faces: A mais nova tecnologia Java para desenvolvimento WEB: Disponível em: http://www.guj.com.br/content/articles/jsf/jsf.pdf Welbson de Freitas. História do Java: Disponível em: http://falandodejava.blogspot.com/2007/02/histria-do-java.html . 14. ANEXOS 47 14.1. TELA DE INICIO Figura 19 – Tela Inicial 48 14.2. TELA DE LOGIN Figura 20 – Tela de Login 49 14.3. USUÁRIO LOGADO Figura 21 – Usuário Logado 50 14.4. TELA ADMINISTRAÇÃO Figura 22 – Tela Administração 51 14.5. CASTRAR CATEGORIA Figura 23 – Cadastrar Categoria 52 14.6. CADASTRAR PRODUTO Figura 24 – Cadastrar Produto 53 14.7. STATUS DA VENDA Figura 25 – Status da Venda 54 14.8. USUÁRIOS CADASTRADOS Figura 26 – Usuários Cadastrados