• Nenhum resultado encontrado

Biblioteca Digital do IPG: Relatório de Projeto - Plataforma de Venda Online

N/A
N/A
Protected

Academic year: 2021

Share "Biblioteca Digital do IPG: Relatório de Projeto - Plataforma de Venda Online"

Copied!
106
0
0

Texto

(1)

IREI

daGuarda

Polytechnic of Guarda

RELATÓRIO DE PROJETO

Licenciatura em Engenharia Informática

Felisberto Tertuliano da Costa

julho

1

2015

(2)

INSTITUTO POLITÉCNICO DE GUARDA

Plataforma de Venda Online

Projeto Aplicado no curso de Engenharia Informática

Orientadora: Professora Beatriz Rebelo

Felisberto Tertuliano da Costa

Nº1010196

(3)

Ficha de Identificação

Aluno

Nome: Felisberto Tertuliano da Costa

Número: 1010196

Obtenção de Grau de Licenciatura: Engenharia Informática

Instituição

Estabelecimento de Ensino: Instituto Politécnico da Guarda

– Escola Superior de

Tecnologia e Gestão

Morada: AV. Dr. Francisco Sá Carneiro nº 50, 6300-559 Guarda

Telefone: +351271220100

Fax: +351271222690

E-mail:

ipg@ipg.pt

Projeto

Orientadora: Professora Beatriz Rebelo

Linhas de investigação: Área Científica de Engenharia de Software e Sistemas de

Informação

(4)

Agradecimentos

Gostaria de aproveitar este momento para fazer alguns agradecimentos as pessoas que contribuíram para que hoje eu chegasse até aqui, e pela qual não gostaria de esquecer.

Em primeiro agradeço a Deus e aos meus familiares, família de acolhimento na Guarda e aos colegas que durante estes anos, acompanharam e apoiaram-me nesta jornada.

Agradecer as Professoras Beatriz Rebelo e a Maria Clara Silveira pelo apoio prestado em todas as fases do projeto, mas acima de tudo, pelo desenho do modelo de Base de Dados, e não só, pela disponibilidade, entrega e a paciência que tiveram comigo neste projeto.

Um agradecimento aos professores da Unidade Curricular de Projeto de Informática, Professor Carlos Brigas e o José Carlos Martins Coelho Fonseca, pelas sugestões e críticas construtivas ao longo do desenvolvimento e a apresentação do projeto.

À Diretora da Escola Superior de Tecnologia e Gestão do Instituto Politécnico da Guarda pela sua disponibilidade, dedicação e preocupação.

De uma forma ou dá outra, a todos os professores que ao longo do curso, deram o seu melhor para transmitir-me o conhecimento que hoje estou a colocar em prática no mundo de trabalho. Agradeço ainda, a toda a direção do IPG e em particular a pessoa do Vice-Presidente Professor Pedro Cardão e as colaboradoras de limpeza em especial a Dona Paula Roubalo e a Dona Licínia Gonçalo, Francisco (secretária), Isabel Rabaça e a sua equipa da Cáritas Diocesana de Guarda por terem ajudando-me nos momentos mais difíceis, de desânimo e revolta interior e espiritual.

Aos colegas António Fernandes, João Antunes, Sandrine Machado, Belmiro Bernaldo pelo apoio e sugestões dadas durante o curso.

Por último, aos professores Noel de Jesus, António Martins, José Alberto Quitério Figueiredo, Luís Figueiredo e Paulo Nunes, pela força, paciência, diálogo e amizades construída durante esta jornada.

(5)

Resumo

Hoje em dia é cada vez mais importante o acesso e a partilha de informação a qualquer hora e em qualquer lugar, esteja-se onde se estiver. Em particular, no caso de Clientes que pretendam fazer as suas pesquisas e as suas compras sem terem que sair de casa. Como também para os empresários que pretendem divulgar os seus produtos de uma forma mais abrangente ao seu público habitual e ter uma capacidade de resposta de acordo com a solicitação.

A partir da proposta efetuada pela professora Beatriz Rebelo foi desenvolvida uma aplicação (Plataforma Online de Gestão de Stocks) com o intuito de simplificar, divulgar e controlar toda a informação produzida numa loja virtual de venda direta, bem como, facilitar o acesso a essa mesma informação. As suas principais características são a gestão de clientes, gestão de

Stocks, controlo de pagamentos, envio de encomendas. Palavras-chaves: WEB, Software, Bases de Dados, CMS.

(6)

Abstract

Nowaday, it is increasingly important access to and sharing of information anytime, anywhere, wherever we are. In particular, in the case of customers wishing to make their research and their shopping without having to leave home. But also for entrepreneurs who want to advertise their products in a more comprehensive way to his usual audience and have a response capability according to request.

From the proposal made by Professor Beatriz Rebelo an application has been developed (Online Platform Inventory Management) in order to simplify, disseminate and control all information produced from a virtual store direct selling, as well as facilitate access to the same information. Its main features are customer management, inventory management, payments control, shipping orders.

(7)

Índice

Agradecimentos ...ii Resumo ... iii Abstract ... iv Índice ... v Índice de Tabelas... x Índice de Figuras ... xi Abreviaturas ... xiv Capítulo I ... 15 Introdução ... 15 1 Estrutura do Documento ... 16 1.1. Descrições do Problema ... 17 1.2 Ferramentas e Equipamentos ... 17 1.3 Objetivos Previstos ... 17 1.4 Solução ... 17 Capítulo II ... 18 2 Estado da Arte ... 18

2.1 CMS Genérico (Joomla, Drupal, WordPress) ... 18

2.1.1 Joomla ... 18

2.1.2 Drupal ... 18

2.1.3 WordPress ... 18

2.2 CMS Específico ... 20

(8)

2.4 As aplicações existentes ... 26

2.4.1 SoftMagement Gestão de Stock ... 26

2.4.2 TradeGecko ... 27

2.4.3 Skyware Inventory ... 27

Capítulo III ... 28

3 Metodologia e Resultados Esperado ... 28

3.1 Metodologia ... 28

3.2 Descrição das Tarefas ... 28

3.3 Resultados Esperados ... 30

4 Tecnologia e Softwares Utilizados ... 31

4.1 Tecnologias Web ... 32 4.1.1 HTML ... 32 4.1.2 CSS ... 32 4.1.3 PHP ... 32 4.2 Software Utilizado ... 33 4.2.1 PhpMyAdmin ... 33 4.2.2 Microsoft Word ... 33 4.2.3 Astah Community ... 33 4.2.4 Visio ... 33 Capítulo IV ... 34

5 Análise dos Requisitos e Conceção da Aplicação ... 34

5.1 Caso de Uso ... 34

5.2 Descrição dos casos de Uso... 35

5.2.1 Efetuar Encomenda ... 35

5.2.2 Gerir Encomendas ... 36

5.2.3 Tratar Encomendas ... 38

(9)

5.2.5 Editar Dados ... 40

5.3 Diagrama de Casos de Uso ... 41

5.4 Diagrama de Estados ... 42

5.4.1 Autenticar Utilizador ... 42

5.5 Diagrama de Sequência ... 43

5.5.1 Efetuar Registo no Sistema ... 43

5.5.2 Efetuar Encomenda ... 44

5.5.3 Gerir Encomenda ... 45

5.5.4 Tratar Encomenda ... 46

5.5.5 Atribuir Pagamentos ... 47

5.6 Diagrama de Classe ... 48

5.6.1 Diagrama de Classe do Sistema Continuação ... 49

5.7 Dicionário de Dados ... 51

5.7.1 Estrutura da Tabela ps_country ... 51

5.7.2 Estrutura da Tabela ps_address ... 52

5.7.3 Estrutura da Tabela ps_customer ... 53

5.7.4 Estrutura da Tabela ps_product_supplier ... 54

5.7.5 Estrutura da Tabela ps_orders ... 55

5.7.6 Estrutura de Tabela ps_supplier ... 56

5.7.7 Estrutura da Tabela ps_category ... 57

5.7.8 Estrutura da Tabela ps_order_payment ... 57

5.7.9 Estrutura da Tabela ps_product ... 58

5.7.10 Estrutura da Tabela ps_order_detail... 59

5.8 Diagrama de Atividades ... 61

(10)

6 Implementação da Solução ... 64

6.1 Descrição ... 64

6.2 Implementar Responsive Web Design ... 65

6.3 Construção do Templates ... 66

6.4 Base de Dados ... 70

6.5 Modelo Entidade - Relacionamento ... 71

7 Aplicação e Testes ... 72 7.1 Painel de Controlo ... 72 7.2 Catálogo ... 73 7.3 Encomendas ... 74 7.4 Clientes ... 76 7.5 Regras do Carrinho ... 77 7.6 Módulos ... 77 7.7 Transportadoras ... 80 7.8 Localização ... 81 7.9 Preferências ... 82 7.10 Informação da Configuração ... 83 7.11 Administração ... 84 7.12 Estatísticas ... 85

7.13 Fazer uma encomenda ... 86

Capítulo VI ... 90

8 Conclusões e Trabalho Futuro ... 90

8.1 Conclusão ... 90

8.2 Trabalho Futuro ... 91

Capíulo VII ... 92

9 Bibliografia ... 92

(11)

10.1 Instalação do Servidor Local Usbwebserver ... 95

10.2 Instalação do Prestashop ... 96

10.3 Painel de Controlo Continuação ... 97

10.4 Pagamentos ... 99

10.4.1 Configuração de Métodos de Pagamento ... 99

10.5 Templates Continuação ... 99

10.5.1 Imagens ... 99

10.5.2 Banner ... 100

10.5.3 Cor ... 100

10.6 Módulos Instalados e Configurados no Trabalho ... 101

10.7 Localização ... 102

10.7.1 Idiomas ... 102

10.7.2 Distritos/Estados, Países e Região ... 102

10.7.3 Moedas, Taxas e Regras de Impostos ... 102

10.8 Preferências ... 103 10.8.1 Contactos da Loja ... 103 10.8.2 URL’s Amigáveis ... 104 10.8.3 Geolocalização ... 104 10.9 Encomendas Continuação ... 104 10.9.1 Estado de Encomendas ... 104

(12)

Índice de Tabelas

Tabela 1 Caso de Uso: Efetuar Encomenda ... 35

Tabela 2 Caso de Uso: Gerir Encomendas ... 37

Tabela 3 Caso de Uso: Tratar Encomendas ... 38

Tabela 4 Caso de Uso: Efetuar Pagamento ... 39

Tabela 5 Caso de Uso - Editar dados ... 40

Tabela 6 Dicionário de Dados: ps_country ... 51

Tabela 7 Dicionário de Dados: ps_address ... 53

Tabela 8 Dicionário de Dados: ps_customer ... 54

Tabela 9 Dicionário de Dados: ps_product_supplier ... 55

Tabela 10 Dicionário de Dados: ps_orders ... 56

Tabela 11 Dicionário de Dados: ps_supplie ... 56

Tabela 12 Dicionário de Dados: ps_category ... 57

Tabela 13 Dicionário de Dados: ps_order_payment ... 57

Tabela 14 Dicionário de Dados: ps_product ... 59

(13)

Índice de Figuras

Figura 2 Painel Wordpress. Fonte: [4] ... 20

Figura 1 Prestashop ... 21

Figura 3 Opencart. Fonte: [7] ... 23

Figura 4 Magento. Fonte: [10] ... 25

Figura 5 Lista de Tarefas ... 29

Figura 7 Diagrama Casos de Uso - Encomendas Efetuadas ... 41

Figura 8 Diagrama Estado - Autenticar Utilizador ... 42

Figura 9 Diagrama de Sequência - Efetuar Registo... 43

Figura 10 Diagrama de Sequência - Efetuar Encomenda... 44

Figura 11 Diagrama de Sequência - Gerir Encomenda... 46

Figura 12 Diagrama de Sequência – Tratar Encomenda ... 46

Figura 13 Diagrama de Sequência - Atribuir Pagamento ... 47

Figura 14 Diagrama de Classe do Sistema ... 48

Figura 15 Diagrama de Classe Continuação. Fonte: [20] ... 49

Figura 16 Diagrama de Classe Explícito. Fonte: [21]... 50

Figura 17 Diagrama Atividade - Geral ... 61

Figura 18 Diagrama de Atividades - Distribuir Encomendas ... 62

Figura 19 Diagrama de Instalação ... 63

Figura 20 Responsivo Web Design. Fonte: [23] ... 65

Figura 21 Templates Original ... 66

Figura 22 Templates - Página Principal ... 67

(14)

Figura 27 Base de Dados da Aplicação ... 70

Figura 28 Painel de Controlo ... 72

Figura 29 Catálogo ... 73

Figura 30 Encomendas 1 ... 74

Figura 31 Encomendas 2 ... 75

Figura 32 Encomendas 3 ... 75

Figura 33 Gerir Clientes 1 ... 76

Figura 34 Gerir Clientes 2 ... 76

Figura 35 Regras do Carrinho ... 77

Figura 36 Módulos ... 78

Figura 37 Módulos 2 ... 78

Figura 38 Catálogo de Módulos e Temas ... 79

Figura 39 Transportadoras ... 80

Figura 40 Localização ... 81

Figura 41 Preferências 1 ... 82

Figura 42 Preferências ... 82

Figura 43 Informação da Configuração ... 83

Figura 44 Administração ... 84

Figura 45 Estatísticas 1 ... 85

Figura 46 Estatísticas 2 ... 85

Figura 47 Fazer Encomenda ... 86

Figura 48 Endereços ... 87

Figura 49 Envio de Encomenda ... 87

Figura 50 Método de Pagamento ... 88

Figura 51 Pagamento Transferência Bancária ... 88

Figura 52 Confirmação de Encomenda... 89

(15)

Figura 54 Instalação Prestashop. Fonte: [24] ... 97

Figura 55 Painel de BackOffice ... 98

Figura 56 Painel de Controlo ... 98

(16)

Abreviaturas

APP- Aplicação Móvel

CE - Community Edition

CMS - Sistemas de Gestão de Conteúdo

CSS - Linguagem de Folha de Estilos ou Cascading Style Sheets

CTT - Correios, Telégrafos e Telefones

EE - Enterprise Edition

E-R - Modelo Entidade Relacionamento

ERP - Gestão de Recurso Corporativo ou Enterprise Resource Planning

GNU - Licença Publica Geral ou General Public License

HTML - Linguagem de Marcação de Hipertexto ou Hypertext Markup Language

IIS - Internet Information Services/Server

ISO - Organização Internacional para Padronização ou International Organization for Standardization

MYSQL - Sistema de Gestão de Bases de Dados

PDO - PHP Data Object

PE - Profissional Edition

PHP - PHP: Hypertext Preprocessor ou Personal Home Page

SEO - Otimização para Motores de Busca ou Search Engine Optimization

SQL - Linguagem de Consulta Estruturada ou Structured Query Language

UML - Linguagem de Modelagem Unificada ou Unifield Modeling Language

URL - Localizador Padrão de Recursos ouUniform Resource Locator

(17)

Capítulo I

Introdução

O documento em causa descreve o projeto realizado pelo Felisberto Tertuliano da Costa, para uma Empresa de Vendas diretas de artigos para casa, no âmbito da Unidade Curricular Projeto de Informática, que está englobada na Licenciatura em Engenharia Informática, da Escola Superior de Tecnologia e Gestão do Instituto Politécnico de Guarda.

Pretende-se com isso, desenvolver uma Plataforma de Venda Online de modo a ter funcionalidades com os registos de utilizadores (Clientes, Empregados/Funcionários, Gestores/Administradores) com confirmação através de um login e palavra-chave ou por correio eletrónico e um controlo total de encomendas (listagem/controlo de encomendas efetuadas, de pedidos, envios, pagamentos e outros).

Na atualidade, existem varias aplicações para fazerem gestão de Stock de bens ou serviços, da qual, os clientes poderão encontrar disponíveis nas páginas de internet sobretudo, para alojar documentos como sites empresariais, pessoais, blogs, fotografias, vídeos entre outros. Tudo para fazer-nos perceber que hoje em dia, por apenas um clique, estamos perto de tudo sem termos que sair de casa.

(18)

1 Estrutura do Documento

O presente documento está dividido em sete capítulos, apresentados do seguinte modo:

No primeiro capítulo é apresentada a introdução, a estrutura do documento, a descrição do problema, as ferramentas e equipamentos, os objetivos previstos, e a solução.

O segundo capítulo apresenta a descrição do estado da arte, os sistemas de gestão de conteúdos genéricos e específicos, a comparação das ferramentas e os exemplos de aplicações existentes.

No terceiro capítulo são descritas detalhadamente a metodologia e os resultados esperados, a tecnologia e o Software utilizado, bem como a descrição da tarefa.

O quarto capítulo é composto pela análise dos requisitos e conceção da aplicação, descrição de casos de uso, diagrama de casos de uso, diagrama de estados, diagrama de sequência, diagrama de classes, dicionário de dados, diagrama de atividades, diagrama de istalação.

No quinto capítulo, é exibida a implementação da solução e testes.

O sexto capítulo contém as conclusões finais do projeto realizado e do trabalho a realizar no futuro.

(19)

1.1. Descrições do Problema

O projeto concerne em desenvolver uma plataforma Online de gestão de

Stocks para uma empresa na área de comércio eletrónico, que estará preparada para

dispositivos móveis ou qualquer plataforma. Com esta plataforma é possível gerir (consultar, editar, inserir, apagar, encomendar, listar) informações relacionadas aos produtos disponíveis na loja e as encomendas efetuadas.

1.2 Ferramentas e Equipamentos

As ferramentas utilizadas no desenvolvimento desta aplicação são:

Prestashop, Usbwebserver, Phpmyadmin (Base de dados MYSQL), Photoshop, Astra Community, Visio, Paint.

1.3 Objetivos Previstos

Os objetivos que pretendemos atingir neste projeto são:

 Manutenção e Controlo dos dados (produtos, clientes, empregados, encomendas);

 Criar, editar, consultar, pesquisar, eliminar dados ou informações;

 Registar clientes com confirmação/autenticação através de utilizador e palavra-chave;

 Produzir listagens de produtos, de encomendas efetuadas, de pagamentos e de faturas.

1.4 Solução

Com o objetivo de informatizar e simplificar a gestão de Stocks, a solução passa por:

 Registar utilizadores;

 Gerir todas as informações necessárias às encomendas.

(20)

Capítulo II

2 Estado da Arte

2.1 CMS Genérico (Joomla, Drupal, WordPress)

2.1.1 Joomla

É um CMS (Content Management System) Open Source desenvolvido em PHP e pode ser executado no servidor Web Apache ou IIS e banco de dados MYSQL. Existem milhares de Templates a baixo preço e muito fácil para criar as lojas virtuais, os blogs, as revistas online, os jornais, os catálogos de produtos/serviços e diversos outros formatos de conteúdo [1]

2.1.2 Drupal

É um sistema Open Source, criado para Web e está incorporada CMS (Content

Management System) ou como muitos lhe chamam CMF (Content Management Framework) de gestão de conteúdos. Tem muitas funcionalidades como também API’s

que facilitam o desenvolvimento de módulos muito extensos.

Portanto, tem uma boa estrutura e muito usado para gestão de utilizadores, permissões, blogs, fóruns, comentários e outros [2].

2.1.3 WordPress

É uma grande plataforma (CMS) desenvolvida em PHP e MYSQL para criação de

sites e blogs e outros de forma gratuíta. Sua flexibilidade permite administrar o seu conteúdo mesmo sem nenhum conhecimento de HTML ou PHP. Com a plataforma podemos criar, revistas, jornais e outros. Nela também se encontra um conjunto de plugins, que é um conjunto de programas adicionais ao projeto como para pagamento, estatísticas, e outros.

É uma ferramenta com uma licença aberta e distribuída sob a GNU (General

Public License) sendo por isso gratuita [3]. Os requisitos de Instalação são:

(21)

 PHP 5.3 (ou superior);

 Base de Dados (preferencialmente MYSQL 5.0).

Porquê utilizar?

Porque possuem aplicações para Android, iPhone/iPod Touch, Pad, Windows Phone 7 e BlackBerry, tem painel de controlo muito simples e atraente, tem vários pulgins que permitem instalar de acordo as aplicações.

2.1.3.1 Vantagens

 É totalmente livre;

 Criação de conteúdo otimizado para os motores de busca como o Google;  Forte segurança dos dados;

 Fácil Integração com as redes sociais;  Baixo custo;

 Multi-idiomas;

 Documentação completa e disponibilizada;  Frequentes atualizações e bugs;

 Painel de Controlo intuitivo e bem arquitetado;  Plugins fácies de instalar e configurar;

 Facilidade na instalação e configuração;

2.1.3.2 Desvantagens

 Difícil manipular a hierarquia das páginas;

 Falta de organização para quem desenvolver Templates;

 Não existe, organização no desenvolvimento de plugins, nem tão pouco, regras pela comunidade;

(22)

Figura 1 Painel Wordpress. Fonte: [4]

2.2 CMS Específico

Os CMS’s específicos que iremos abordar são: Prestashop, Opencart e Magento. De Todos eles será efetuada uma breve descrição.

O CMS é uma ferramenta que permite a um editor criar, classificar e publicar qualquer tipo de informação numa página Web.

2.2.1 Prestashop

É um sistema de e-commerce Open Source (código aberto), desenvolvido em PHP: Hypertext Preprocessor [PHP] e MYSQL para criação de sites e derivados.

Os requisitos de Instalação são:

 Servidor Web (preferencialmente Apache 1.3, 2.x, Nginx ou Microsoft IIS).  PHP 5.0 (ou superior).

 Base de Dados (preferencialmente MYSQL 5.0 ou superior)

Porquê utilizar?

Porque hoje, é um CMS de código aberto e usado por milhares de lojas em todo o mundo, e com tendência a crescer e fácil de usar.

(23)

2.2.1.1 Vantagens

 Grande quantidade Add-ons e extensões;

 Possui integração nativa com intermediários de pagamento como Pagseguro e

Paypal;

 Painel de controlo com ótimo visual, fácil manuseio e configuração para o utilizador;

 Possibilidade fácil de migrar a Loja no outro sistema open source como o

Magento, Opencart, Zencart, (disponibilizam um profissional para ajudar a

empresa a efetuar a mudanças).

2.2.1.2 Desvantagens

 Quantidade de bugs em atualizações (conflitos módulos e Add-ons após atualização da versão) [5].

A imagem da Figura 2 mostra um exemplo de ambiente Prestashop do projeto.

(24)

2.2.2 Opencart

É um CMS de comércio eletrónico desenvolvido em PHP e MYSQL, leve, simples e rápido. Tem um conjunto de temas que permite escolher Templates de diversas opções consoante o tema. Devido à sua simplicidade e flexibilidade teve boa aceitação no mercado e conquistou uma boa comunidade.

Os requisitos de Instalação são:

 Servidor Web (preferencialmente Apache);  PHP 5 (ou superior);

 Biblioteca Curl do PHP habilitada (serve para comunicação entre dois sites);  MYSQL.

Porquê Utilizar?

Porque tem um sistema de Templates que permite escolher entre diversas opções de temas visuais. Por outro lado, existe a possibilidade numa só interface de administração gerir várias lojas. Ainda pode:

 Definir produtos que apareçam nas lojas específicas;  Cada loja ter temas diferentes.

2.2.2.1 Vantagens

 Fácil instalação e configuração inicial;

 Extensões, plugins e Templates são os mais baratos entre as três (Prestashop,

Wordpress e Magento) soluções;

 A comunidade tem crescido bastante;  Possui menores custos com manutenção;  Painel de controlo de fácil utilização;

(25)

2.2.2.2 Desvantagens

Possui menos recursos e funcionalidades entre os três (Prestashop, Wordpress e Magento);

 Menor número de integrações com terceiros [6].

Nota: Por outro lado, suportam várias formas de envios e pagamentos (frete).

A imagem da Figura 3 mostra um exemplo de ambiente Opencart.

(26)

2.2.3 Magento

É uma plataforma de e-commerce Open Source, desenvolvida em PHP e MYSQL. Sendo completa e com grande quantidade de recursos (Marketing, Catálogo, Pagamentos e outros) para administração da loja. Iguais às outras referidas atrás, mas com algumas particularidades:

 Possui uma versão gratuita, a Community Edition (CE) e duas pagas (Enterprise Edition (EE) e Professional Edition (PE) ) [8].

Pelo que acreditamos que por ter duas versões pagas, indicam que é o mais completo.

Os requisitos de instalação são:

 PHP 5.2 (ou superior);  Servidor Web (Apache);  MYSQL 1.20 (ou superior4);  PDO MYSQL;

 Simplexml;  Curl;

 Servidor (XAMPP, Usbwebserver, FileZilla entre outros)

PDO MYSQL (driver que implementa a interface de PHP Data Objects) para

permitir o acesso a partir de PHP para MYSQL e Base de Dados.

Simplexml (fornece um conjunto de ferramentas muito simples e fáceis de usar

para converter XML para um objeto) [9].

Porquê Utilizar

Porque é uma ferramenta poderosa, possui milhares de módulos desenvolvidos e facilmente integrados, o que a torna, possivelmente, a ferramenta mais flexível no mercado. Sem dúvida umas das razões do sucesso da plataforma é a possibilidade interminável de customizações a um ERP.

(27)

O ERP- (Enterprise Resource Planning) é uma plataforma de Software, desenvolvida para integrar os diversos departamentos de uma empresa, possibilitando a automação e armazenamento de todas as informações dos negócios.

2.2.3.1 Vantagens

 Muitas funcionalidades e recursos nativos;

 Vários recursos para as outras plataformas open source;  Tem uma comunidade crescente;

 Grande quantidade de extensões, plugins e complementos;  Mecanismos de busca (SEO) bem otimizado.

2.2.3.2 Desvantagens

 Muito complexo;

Layout e Design complexos;

 Custo de manutenção elevado.

A imagem da Figura 4 mostra um exemplo de ambiente Magento.

(28)

2.3 Comparando as Ferramentas

De seguida será efetuada uma breve comparação das quatro plataformas de comércio eletrónico mais conhecidas no mercado.

Todas estas ferramentas disponibilizam versões gratuitas que podem ser limitadas, excepto o Magento que utiliza uma versão gratuita a (Community Edition) e duas pagas (Enterprise Edition e Profissional Edition) e ainda, tem a possibilidade de gerir e manter vários sites, lojas e idiomas numa única instalação:

Algumas caraterísticas comuns são:  E-Commerce open source;  Códigos abertos;

 Fácil de instalar.

Em nível de atualização para a versão paga, por norma, fornece mais recursos, a análises e estatísticas mais avançadas e um conjunto de opções de personalização.

2.4 As aplicações existentes

2.4.1 SoftMagement Gestão de Stock

SoftMagement (SM) são aplicações ligadas à gestão de controlo de Stocks, e ela

fornece um conjunto de soluções como controlo de informações ligadas aos produtos e Stocks, inventários entre outros. Por outro lado, oferecem algumas soluções no processo de gestão da organização, reduzindo custos, tempo a eles e aos seus clientes.

Aplicação apresente as seguintes funcionalidades:

 Exportação do ficheiro para comunicação de inventários;  Documento de regularização de Stocks;

 Possibilidade de gerir os Stocks com diferentes definições e caraterísticas (número de série, lotes, cores, tamanhos entres outros) associadas às tabelas;

(29)

 Permite consultar facilmente os movimentos de Stocks efetuados a cada produto;

 Editar, remover, listar movimentos de Stocks anteriormente efetuados, listar o

Stock de um determinado momento [11].

2.4.2 TradeGecko

A TradeGecko é uma plataforma desenvolvida para responder algumas necessidades dos seus clientes no que diz respeito a um conjunto de serviços como controlo de inventário, canais de vendas, encomendas, contabilidade. Por outro lado, ainda oferecem aos seus clientes muitos recursos de controlo de Stock automaticamente, interface de utilizador intuitiva, uma equipa disponível para dar apoios aos seus clientes entre outros [12].

2.4.3 Skyware Inventory

O Skyware Inventory é um Software perfeito para pequenas e médias empresas à

procura de uma alternativa livre, fácil de usar Web muito caro, complexo, pesado, e aplicações de rastreamento e gestão de inventário.

Está disponivel um conjunto de APP’s para Android, iPhone, iPad, Tablet, serviços

(30)

Capítulo III

3 Metodologia e Resultados Esperado

3.1 Metodologia

A metodologia utilizado no desenvolvimento deste projeto é do método ágil, consiste em ter ocasionalmente, uma nova versão do projeto para apresentar à professora orientadora Beatriz Rebelo e ao professor do Projeto Carlos Brigas e no final documentar todo o trabalho em Word ou seja, analisa por etapas e cada vez que implementa testa e assim sucessivamente. As principais tarefas foram:

1. Identificar as funcionalidades que a aplicação deverá ter; 2. Identificar tipos de utilizadores e os privilégios de acesso; 3. Identificar requisitos funcionais e não funcionais da aplicação; 4. Implementar a solução da aplicação;

5. Realizar os testes de eficiência e fiabilidade; 6. Documentação final do projeto.

3.2 Descrição das Tarefas

As principais tarefas desempenhadas ao longo do projeto foram:  Tarefa 1: Análise dos Requisitos da Aplicação Web;  Tarefa 2: Estudo da Arte;

 Tarefa 3: Estudo das Tecnologias a Utilizar;  Tarefa 4: Criação de Base de Dados;

 Tarefa 5: Definir os Estilos (Prestashop) para as páginas;  Tarefa 6: Teste de Aplicação;

(31)

Como mostram nas Figura 5 e ¡Error! No se encuentra el origen de la

referencia. o mapa de Gantt, relativo à lista de cada tarefa apresentada.

(32)

3.3 Resultados Esperados

No final do projeto espera-se que na aplicação, os clientes, sejam capazes de:  Gerir os dados pessoais;

 Verificar as encomendas;

 Recuperar e definir a palavra-chave;  Consultar produtos.

O Gestor/Administrador poderá:

 Gerir/Efetuar dados e consultas dos clientes, empregados, encomendas, produtos;

 Verificar encomendas;

 Recuperar e definir a palavra-chave;

 Efetuar consultas de clientes, empregados e encomendas;

 Consultar e definir listagens dos produtos e encomendas, clientes, empregados;

No entanto, o administrador como tal poderá gerir os seus dados pessoais; gerir todas as tabelas e introduzir preços de cada produto.

Os Empregados podem:  Fazer registos no sistema;

 Introduzir produtos e efetuar consulta das encomendas e produtos;  Listar encomendas efetuadas.

(33)

4 Tecnologia e Softwares Utilizados

Assim sendo, as principais tecnologias e Softwares utilizados para desenvolver, implementar /programar e testar a aplicação, são:

 Análise de Requisitos do projeto para identificar as necessidades do cliente;  CSS para as folhas de estilo a usar;

 Prestashop para criação de páginas, derivados e a realização do projeto em si;

 Photoshop para tratamento de imagens;

 Usbwebserver v8.6 como servidor local, para aceder ao site e base de dados (localhost:8080);

 Phpmyadmin para criar e aceder a Base de Dados;

 Word para produzir um relatório para documentar o projeto;  Astah Community para desenhos de diagramas;

(34)

4.1 Tecnologias Web

4.1.1 HTML

O HTML (em inglês Hypertext Markup Language) e em português (Linguagem de Marcação de Hipertexto) é uma das linguagens utiliza para desenvolver sites, esta é considerada a linguagem base da internet. Não é uma linguagem de programação, mas sim uma linguagem de marcação [14].

4.1.2 CSS

O CSS (Cascading Style Sheets) é uma linguagem de folhas de estilo utilizada

para definir a apresentação de documentos escritos numa linguagem de marcação, como HTML ou XML. O seu principal benefício é regular a separação entre o formato e o conteúdo de um documento [15].

4.1.3 PHP

Com a designação Personal Home Pages, mas tarde chamado de PHP: Hypertext

Preprocessor.

Considerada uma tecnologia de código aberto. Não é uma linguagem de programação no sentido estrito da palavra, mas sim uma tecnologia que permite a inserção de scripts nos seus documentos. É um ficheiro com a extensão.php e com

(35)

4.2 Software Utilizado

4.2.1 PhpMyAdmin

É aplicação Web que permite gerir as bases de dados MYSQL. A partir da mesma é possível criar, inserir, remover, alterar e editar bases de dados, tabelas, campos, executar códigos SQL e manipular campos chaves e outros [17].

4.2.2 Microsoft Word

É um processador de texto produzido pela Microsoft. Onde podemos desenvolver um conjunto de atividades como escrever, desenhar, pintar e outros.

4.2.3 Astah Community

Um Software dinâmico utilizado para construir diversos tipos de diagramas (sequências, organigramas, fluxogramas, e outros), voltado para modelagem de sistemas utilizando a UML [18].

4.2.4 Visio

É um Software para criação de diversos tipos de diagramas (sequencias, cartazes, plantas básicas e outros) em ambiente Windows.

(36)

Capítulo IV

5 Análise dos Requisitos e Conceção da Aplicação

5.1 Caso de Uso

Um caso de uso representa uma unidade discreta da interação entre um utilizador (humano ou máquina) e o sistema. Cada caso de uso tem uma descrição ao qual descreve a funcionalidade que irá ser construída no sistema proposto. Os casos de uso são tipicamente relacionados a "atores". Um ator é um humano ou entidade máquina que interage com o sistema para executar uma dada tarefa. É importante notar que não descreve como o Software deverá ser construído, mas sim o seu comportamento [19].

Atores

Um ator representa uma entidade externa que interage com o sistema, apesar da representação humanizada, os atores podem não ser só pessoas, mas também outros sistemas físicos ou lógicos. Os atores devem ser caraterizados através de uma pequena descrição, de forma a assegurar uma correta compreensão do significado do ator por todos os elementos envolvidos na análise do projeto, que neste caso são:

 Cliente: é o utilizador que tem como função efetuar encomendas e pagamentos através da aplicação;

 Empregado: é a entidade responsável por efetuar o tratamento das encomendas efetuadas pelos clientes e confirmar os pagamentos dos mesmos;  Administrador/Gestor: é o ator responsável pela gestão de site, gerir encomenda (s) e respetivos preços dos produtos, verificar os pagamentos, bloquear cliente e outros.

 Fornecedor: Disponibilizar produtos da loja, sempre que for solicitado. Retirado no apontamento das disciplinas de Engenharia de Software I e II.

(37)

5.2 Descrição dos casos de Uso

5.2.1 Efetuar Encomenda

A seguinte Tabela 1 é correspondente ao caso de uso efetuar encomenda onde o ator responsável é o cliente. A função é mostrar como o cliente efetua uma encomenda e fica registado no sistema.

ATOR PRIMÁRIO CLIENTE

Nome Efetuar Encomenda.

Descrição O ator acede ao sistema para efetuar a encomenda.

Pré-Condições O utilizador precisa estar autenticado como cliente.

Caminho Principal

1. O caso de uso começa quando o cliente seleciona a opção efetuar encomenda.

2. O sistema devolve os vários produtos disponíveis para o cliente escolher.

3. O cliente adiciona os produtos que pretendem e respetivas quantidades no carrinho.

4. O sistema pede confirmação e pergunta ao cliente se deseja efetuar o pagamento online.

5. O cliente confirma e responde à questão.

6. O sistema regista a encomenda e atribui-lhe um código alfanumérico.

Caminhos Alternativos 3.1. Apresenta a mensagem de erro, porque o cliente não pode introduzir quantidades negativas e/ou carateres não numéricos.

5.1. O cliente cancelou a encomenda.

Pós Condições Depois de efetuada a operação o cliente recebe uma mensagem em como a encomenda foi registada com sucesso.

(38)

5.2.2 Gerir Encomendas

A seguinte Tabela 2 corresponde ao caso de uso gerir encomendas que é restrito ao administrador/gestor da aplicação. A função consiste em inserir, atualizar estados e apagar encomendas respeitando as especificações dadas pelo sistema.

ATOR PRIMÁRIO GESTOR/ADMINISTRADOR

Nome Gerir Encomendas.

Descrição O ator acede ao sistema para efetuar a encomenda. Pré-Condições O utilizador precisa estar autenticado como administrador.

Caminho Principal

1. O caso de uso começa quando o gestor seleciona a opção gerir encomendas.

2. O sistema devolve os vários tipos de encomendas disponíveis para efetuar operações.

3. O gestor escolhe um tipo de encomenda.

4. O sistema devolve todas as encomendas disponíveis correspondentes ao tipo escolhido, bem como as várias opções que o gestor pode efetuar. 5. O gestor escolhe uma operação para efetuar.

5.1. Se o gestor escolher a operação inserir então.

5.1.1. O sistema devolve um formulário com todas as especificações para preencher.

5.1.2. O gestor preenche e submete o formulário. 5.1.3. O sistema pede para confirmar operação. 5.1.4. O gestor confirma operação.

5.1.5. O sistema regista a encomenda e atribui-lhe um código. 5.2. Se o gestor escolher a operação eliminar então.

5.2.1. O sistema pede para selecionar uma encomenda para eliminar. 5.2.2. O gestor escolhe encomenda para eliminar.

5.2.3. O sistema pede para confirmar.

5.2.4. O gestor confirma operação da eliminação. 5.2.5. O sistema elimina a encomenda.

5.3. Se o gestor escolher a operação atualizar então.

5.3.1. O sistema pede para selecionar uma encomenda para atualizar. 5.3.2. O gestor escolhe encomenda para atualizar.

5.3.3. O sistema devolve um formulário correspondente à encomenda selecionada.

5.3.4. O gestor preenche e submete o formulário. 5.3.5. O sistema pede para confirmar.

(39)

5.3.7. O sistema atualiza a encomenda.

Caminhos Alternativos

5.1.2.1 e 5.3.4.1 Mensagem de erro porque o gestor não pode inserir carateres diferentes a encomenda em cada parâmetro do formulário.

Em qualquer etapa da responsabilidade do gestor, este pode cancelar a operação a qualquer momento.

Pós Condições

Depois de efetuadas as operações dos pontos 5.1, 5.2 e 5.3 o gestor recebe uma mensagem em como a operação foi efetuada com sucesso e volta ao ponto 4.

(40)

5.2.3 Tratar Encomendas

A seguinte Tabela 3 refere-se ao caso de uso tratar encomendas onde o ator responsável é o empregado/funcionário. Este caso de uso tem como função mostrar como se tratam todas as encomendas efetuadas pelos clientes.

ATOR PRIMÁRIO EMPREGADO

Nome Tratar Encomendas.

Descrição O ator acede ao sistema para tratar a encomenda. Pré-Condições O utilizador precisa estar autenticado como empregado.

Caminho Principal

1. O caso de uso começa quando o empregado seleciona a opção tratar encomendas.

2. O sistema devolve as várias encomendas existentes na base de dados ordenados por forma de entrada com maior relevância para as encomendas ainda pendentes.

3. O empregado seleciona a encomenda que pretende atualizar.

4. O sistema pede para indicar o novo estado e observações da encomenda. 5. O empregado indica o novo estado e insere as observações necessárias. 6. O sistema pede para confirmar operação.

7. O empregado confirma.

8. O sistema atualiza dados da encomenda.

Caminhos Alternativos

3.1., 5.1. e 7.1. O empregado pode cancelar a operação a qualquer momento.

5.1.1. Mensagem de erro porque o empregado inseriu mal as observações. Pós Condições Depois de efetuada a operação, o empregado recebe uma mensagem em

como a encomenda foi atualizada com sucesso.

(41)

5.2.4 Efetuar Pagamento

A seguinte Tabela 4 corresponde ao caso de uso atribuir pagamento onde o ator responsável é o cliente. Este caso de uso só é requerido caso o cliente tenha escolhido a opção pré-pagamento via aplicação, o pagamento será feito por transferência bancária ou pelos métodos existes na aplicação.

ATOR PRIMÁRIO CLIENTE

Nome Atribuir Pagamento.

Descrição O ator acede ao sistema para efetuar a encomenda. Pré-Condições O utilizador precisa estar autenticado como cliente.

Caminho Principal

1. O caso de uso começa quando o cliente seleciona a opção efetuar pagamento.

2. O sistema calcula o preço final e devolve as várias opções de pagamento juntamente com o preço.

3. O cliente seleciona a forma de pagamento que deseja.

4. O sistema devolve formulário correspondente à forma de pagamento. 5. O cliente preenche e submete o formulário.

6. O sistema pede para confirmar operação. 7. O cliente confirma.

8. O sistema regista o pagamento e atribui-lhe um comprovativo.

Caminhos Alternativos

5.1. Mensagem de erro porque o cliente preencheu o formulário de forma incorreta.

6.1. O cliente pode cancelar a operação a qualquer momento.

Pós Condições Depois de efetuada a operação o cliente recebe uma mensagem em como o pagamento foi efetuado com sucesso.

(42)

5.2.5 Editar Dados

A seguinte Tabela 5 corresponde ao caso de uso editar dados referentes aos utilizadores. A função consiste em inserir, alterar, atualizar dados respeitando as especificações dadas pelo sistema.

ATOR PRIMÁRIO GESTOR

Nome Editar os dados pessoais

Descrição O ator edita os seus dados pessoais

Atores Envolvidos Clientes, Gestor/Administrador, Funcionários/Empregados Pré-Condições

Prioridade Baixa

Caminho Principal

1. O caso de uso começa quando o ator seleciona a opção de editar os seus dados pessoais;

2. O ator insere os dados a alterar;

3. O sistema pede para confirmar a alteração; 4. O ator confirma;

5. O sistema confirma o sucesso;

Caminhos Alternativos

2. A) O ator não respeita as validações do formulário de dados; 3. A) O sistema rejeita as alterações;

3. B) O sistema pergunta se deseja continuar ou cancelar; 4. A) O ator não confirma;

5. A) O sistema não confirma o sucesso;

5. B) O sistema mantem a versão inalterada dos dados;

Suplementos ou Adornos Testar se o sistema deixa introduzir os campos nulos ou inválidos Pós Condições Proceder às alterações na base de dados.

(43)

5.3 Diagrama de Casos de Uso

Um diagrama de Caso de Uso descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do utilizador.

Nos diagramas de casos de uso a linguagem utilizada foi a UML – Unifield

Modeling Language é uma linguagem de modelagem que permite representar um

sistema de uma forma padronizada, como mostra na Figura 6.

(44)

5.4 Diagrama de Estados

O estado de um objeto depende da atividade na qual ele está a ser processado. Um diagrama de estado mostra os possíveis estados de um objeto e as transações responsáveis pelas suas mudanças de estado, como mostra na Figura 7.

5.4.1 Autenticar Utilizador

Início

Inativo

Ativo

Ligado

Desligado

Fim

Utilizador Ligado ao Sistema

Sistema Desligado Resposta do Sistema

Utilizador Termina Sessão

(45)

5.5 Diagrama de Sequência

5.5.1 Efetuar Registo no Sistema

O diagrama de sequência representado Figura 8 descreve as ações, do sistema, quando o utilizador efetua o registo no sistema.

(46)

5.5.2 Efetuar Encomenda

O diagrama de sequência representado na Figura 9 descreve as ações, do sistema, quando o cliente efetua a encomenda no sistema.

(47)

5.5.3 Gerir Encomenda

O diagrama de sequência representado na Figura 10 descreve as ações, do sistema, quando o gestor/administrador gere a encomenda no sistema.

(48)

Figura 10 Diagrama de Sequência - Gerir Encomenda

5.5.4 Tratar Encomenda

O diagrama de sequência representado na Figura 11 descrevem as ações, do sistema, quando o gestor/administrador faz o tratamento de encomenda no sistema.

(49)

5.5.5 Atribuir Pagamentos

O diagrama de sequência representado na Figura 12 descreve as ações, do sistema, quando o cliente efetua atribuição do pagamento da encomenda no sistema.

(50)

5.6 Diagrama de Classe

O diagrama de classes é um dos diagramas mais importantes da linguagem UML,

pois representa o modelo geral de informação do sistema. É visto como o desenho

arquitetónico da base de dados e contém todas as classes, hierarquia, relações e associações, descrevendo as operações e atributos das classes de uma forma estrutural, como mostra na Figura 13.

(51)

5.6.1 Diagrama de Classe do Sistema Continuação

Este diagrama de classe mostra-nos todo trabalho desenvolvido pelo prestashop e nos dá a entender que é um trabalho já desenvolvido a pensar nas nossas necessidades, ou seja, basta adaptar aos nossos trabalhos, como mostra na Figura 14.

(52)
(53)

5.7 Dicionário de Dados

O dicionário de dados consiste numa lista organizada de todos os elementos de dados que são pertinentes para o sistema, permitindo fazer a verificação de consistência entre os vários modelos. É uma ponte de referência de todos os elementos envolvidos na medida em que permite associar um significado a cada termo utilizado.

 Nome;  Tipo;  Descrição;

 Pseudónimos (outros nomes possíveis);  Especificação [22].

5.7.1 Estrutura da Tabela ps_country

Campo Tipo Tamanho Obrigatório Descrição

id_country (PK) Inteiro 10 Sim/automático Número sequencial que identifica univocamente de cada país

id_zone (FK) Inteiro 10 Sim Número que identifica a zona

id_currency (FK) Inteiro 10 Sim Número que identifica a moeda

iso_code Varchar 3 Sim Descrição de código ISO do país

call_prefix Inteiro 10 Sim Os prefixos de chamadas

Active Tinyint 1 Não Se está ou não ativo

contains_states Tinyint 1 Sim Se tem ou não Estado need_identification_number Tinyint 1 Sim Número de identificação do

país

need_zip_code Tinyint 1 Sim Código Zip do país zip_code_format Varchar 12 Não Formato do código Zip display_tax_label Tinyint 1 Não Descrição da axa de

(54)

5.7.2 Estrutura da Tabela ps_address

Campo Tipo Tamanho Obrigatório Descrição

id_address (PK) Inteiro 10 Sim/automático Número sequencial que identifica univocamente cada endereço

id_currency (FK) Inteiro 10 Sim Número que identifica a moeda

id_state (FK) Inteiro 10 Sim Número que identifica o estado

id_customer (FK) Varchar 10 Sim Número que identifica o cliente

id_manufacturer (FK) Inteiro 10 Sim Número que identifica o fabricante

id_supplier (FK) Inteiro 10 Sim Número que identifica o fornecedor

id_warehouse (FK) Inteiro 10 Sim Número que identifica armazém

alias Tinyint 1 Não Se tem ou não

pseudônimo

company Varchar 32 Não Descrição da companhia

lastname Varchar 32 Sim Descrição do último

nome

firstname Varchar 32 Sim Descrição do primeiro

nome

address1 Varchar 128 Sim Descrição do primeiro

endereço

address2 Varchar 128 Não Descrição do segundo

endereço

postcode Varchar 12 Sim Descrição de código

postal

City Varchar 64 Sim Descrição da cidade

other Texto max Não Outras descrições

phone1 Varchar 16 Não Descrição do telefone

phone_mobile Varchar 16 Não Descrição do telemóvel vat_number Varchar 32 Sim Descrição de numero de

cuba

Dni Varchar 16 Não

(55)

date_upd DataTime Não Data da actualização

active Tinyint 1 Não Existe/existente

deleted Tinyint 1 Não Não existe/inexistente

Tabela 7 Dicionário de Dados: ps_address

5.7.3 Estrutura da Tabela ps_customer

Campo Tipo Tamanho Obrigatório Descrição

id_customer (PK) Inteiro 10 Sim/automático Número sequencial identifica univocamente o cliente

id_shop_group (FK) Inteiro 10 Sim Número que identifica o group da loja

id_shop (FK) Inteiro 11 Sim Número que identifica a loja

id_gender (FK) Inteiro 10 Sim Número que identifica o cliente

id_default_group (FK) Inteiro 10 Sim Número que identifica o grupo padrão

id_risk (FK) Inteiro 10 Sim Número que identifica o risco

company Varchar 64 Sim Descrição da companhia

Siret Varchar 14 Sim

Ape Varchar 5 Sim

firstname Varchar 32 Sim Descrição do primeiro do cliente

lastname Varchar 32 Sim Descrição do segundo do

cliente

email Varchar 128 Sim Descrição do email do

cliente

passwd Varchar 32 Sim Descrição de Password do

cliente

last_passwd_gen Varchar 12 Sim Descrição de Password anterior

(56)

informação

ip_registration_newsletter Varchar 15 Não Registo de boletim de informação

newsletter_date_add Datetim e

Não Receber boletim de informação por data

option Tinyint 1 Não Campo opcional

website Varchar 128 Não Descrição de Website

outstading_allow_amount Decimal 10,6 Sim Quantidade permitida show_public_prices Tinyint 1 Sim Mostra preço ao publico max_payment_day Inteiro 10 Sim Máximo pagamento por dia

secure_key Varchar 32 Sim Chave de segurança

Note Text Max Não Descrição de uma nota

active Tinyint 1 Não Se é ou não ativo

is_guest Tinyint 1 Não Descrição se é convidado

deleted Tinyint 1 Não Apagar

date_add Datetim

e

18 Sim Descrição da data de admissão

date_upd Datetim

e

18 Sim Descrição da data de atualização

Tabela 8 Dicionário de Dados: ps_customer

5.7.4 Estrutura da Tabela ps_product_supplier

Campo Tipo Tamanho Obrigatório Descrição

id_product_supplier (PK) Inteiro 11 Sim/automático Número sequencial que

identifica univocamente produto fornecedor

id_product (FK) Inteiro 11 Sim Número que identifica o produto id_product_attribute (FK) Inteiro 11 Sim Número que identifica o atributo

de produto

id_supllier (FK) Inteiro 11 Sim Número que identifica fornecedor do produto

product_supplier_referen ce

Varcha r

100 Sim Descrição da referencia do fornecedor do profuto

(57)

id_currency (FK) Inteiro 11 Sim Número que identifica a moeda

Tabela 9 Dicionário de Dados: ps_product_supplier

5.7.5 Estrutura da Tabela ps_orders

Campo Tipo Tamanho Obrigatório Descrição

id_order (PK) Inteiro 10 Sim/automático Número sequencial que identifica univocamente cada encomenda

reference Varchar 9 Sim Descrição da referência da encomenda

id_shop_group (FK) Inteiro 11 Sim Número que identifica o grupo de loja

id_shop (FK) Inteiro 11 Sim Número que identifica a loja id_carrier (FK) Inteiro 10 Sim Número que identifica o

portador

id_lang (FK) Inteiro 10 Sim Número que identifica id_customer (FK) Inteiro 10 Sim Número que identifica o

cliente

id_cart (FK) Inteiro 10 Sim Número que identifica o carrinho

id_currency (FK) Inteiro 10 Sim Número que identifica a moeda

id_address_delivery (FK)

Inteiro 10 Sim Número que identifica o endereço de entrega

id_address_invoice (FK)

Inteiro 10 Sim Número que identifica o endereço da fatura

current_state Inteiro 10 Sim Número que identifica o estado atual da encomenda secure_key Varchar 32 Sim Descrição da chave segura

payment Varchar 255 Sim Descrição do pagamento

conversion_rate Decimal 13,6 Sim Descrição da taxa de conversão

(58)

shipping_number Varchar 32 Sim Descrição de número de chip total_discounts Decimal 17,2 Sim Descrição dos descontos total_discounts_tax_inc

l

Decimal 17,2 Sim Descrição com taxa de descontos incluídos

total_discounts_tax_ex cl

Decimal 17,2 Sim Descrição sem taxa de descontos

total_paid Decimal 17,2 Sim Descrição do preço total pago

total_paid_tax_incl Decimal 17,2 Sim Descrição do preço total pago com taxa incluída total_paid_tax_excl Decimal 17,2 Sim Descrição do preço total

pago sem taxa incluída total_paid_real Decimal 17,2 Sim Descrição do preço total

pago na hora

total_products Decimal 17,2 Sim Descrição do preço total do preço de produtos

total_products_wt Decimal 17,2 Sim Descrição do preço total do preço de produtos por peso total_shipping Decima 17,2 Sim Descrição do preço total por

remessas

Tabela 10 Dicionário de Dados: ps_orders

5.7.6 Estrutura de Tabela ps_supplier

Campo Tipo Tamanho Obrigatório Descrição

id_ supplier (PK) Inteiro 10 Sim/automático Número sequencial que identifica univocamente cada fornecedor name Varchar 64 Sim Descrição do nome do fornecedor date_add Datetime 18 Sim Descrição da data adesão

date_upd Datetime 18 Sim Descrição da data de atualização dos dados

active Tinyint 1 Não Se está ativo ou não

(59)

5.7.7 Estrutura da Tabela ps_category

Campo Tipo Tamanho Obrigatório Descrição

id_ category (PK)

Inteiro 10 Sim/automático Número sequencial que identifica univocamente cada categoria id_product (FK) Inteiro 10 Sim Número que identifica o produto position Inteiro 10 Sim Número que identifica a posição

Tabela 12 Dicionário de Dados: ps_category

5.7.8 Estrutura da Tabela ps_order_payment

Campo Tipo Tamanho Obrigatório Descrição

id_order_payment (PK)

Inteiro 10 Sim/automático Número sequencial que identifica univocamente cada pagamento encomenda

order_reference Varchar 9 Sim Descrição da referência da encomenda

id_currency (FK) Inteiro 10 Sim Número que identifica a moeda

amount Decimal 10,2 Sim Quantidade em valor

payment_methodo Varchar 255 Sim Descrição do método de pagamento

conversion_rate Decimal 13,6 Sim Descrição da taxa de conversão transaction_id Varchar 254 Sim Descrição da transação

card_number Varchar 254 Sim Descrição de número de cartão card_brand Varchar 254 Sim Descrição da banda do cartão card_expiration Char 7 Sim Descrição da expiração do

cartão

card_holder Varchar 254 Sim Descrição do titular de cartão

date_add Datetime Sim Descrição da data de adesão

(60)

5.7.9 Estrutura da Tabela ps_product

Campo Tipo Tamanho Obrigatório Descrição

id_product (PK) Inteiro 10 Sim/automático Número sequencial que identifica univocamente cada produto

id_supplier (FK) Inteiro 10 Sim Número que identifica o fornecedor

id_manufacturer (FK) Inteiro 10 Sim Número que identifica o fabricante de produto

id_category_default (FK)

Inteiro 10 Sim Número que identifica padrão de categoria

id_tax_rules_group (FK)

Inteiro 11 Sim Número que identifica regra da taxa do grupo

on_sales Tinyint 1 Sim Se está disponível para venda online_only Tinyint 1 Sim Se apenas está disponível

online

ean13 Varchar 13 Sim Descrição de código de barra de referência europeia

Upc Varchar 12 Sim Descrição de código de barra de referência Americana

ecotax Decimal 17,6 Sim Taxa ecológica

quantity Inteiro 10 Sim Descrição da quantidade do produto

minimal_quantity Inteiro 10 Sim Quantidade mínima do produto

price Decimal 20,6 Sim Descrição do preço

wholesale_price Decimal 20,6 Sim Descrição do preço de venda

unity Varchar 255 Sim Descrição da unidade

unit_price_ratio Decimal 20,6 Sim Descrição do preço unitário additional_shipping_co

st

Decimal 20,2 Sim Descrição do custo adicional

reference Varchar 32 Sim Descrição da referência do produto

supplier_reference Varchar 32 Sim Descrição da referência do fornecedor

location Varchar 64 Sim Descrição da localização

(61)

depth Float Sim Descrição da profundidade

weight Float Sim Descrição do peso

out_of_Stock Inteiro 10 Sim Descrição do produto fora do Stock

quantity_descount Tinyint 1 Sim Descrição do desconto da quantidade

customizable Tinyint 2 Não

uploadable_files Tinyint 4 Não Descrição de ficheiro a carregar

text_fields Tinyint 4 Não

active Tinyint 1 Não

Tabela 14 Dicionário de Dados: ps_product

5.7.10

Estrutura da Tabela ps_order_detail

Campo Tipo Tamanho Obrigatório Descrição

id_order_detail (PK) Inteiro 10 Sim/automático

Número sequencial que identifica univocamente cada detalhe de encomenda

id_order (FK) Inteiro 10 Sim Número que identifica a encomenda

id_order_invoice (FK) Inteiro 10 Sim Número que identifica faturas da encomenda id_warehouse (FK) Inteiro 10 Sim Número que identifica o

armazém

product_id (FK) Inteiro 10 Sim Número que identifica o produto

product_attribute_id (FK) Inteiro 10 Sim Número que identifica atributo de produto

product_name Varchar 255 Sim Descrição do nome de produto

product_quantity_in_Stock Inteiro 10 Sim Descrição da quantidade em Stock

(62)

product_quantity_reinjecte d

Inteiro 10 Sim Quantidade de produto introduzido

product_price Decimal 20,6 Sim Descrição do preço de produto

redution_amount_tax_incl Decimal 20,6 Sim redution_amount_tax_excl Decimal 20,6 Sim group_reduction Decimal 10,6 Sim

product_quantity_discount Decimal 20,6 Sim Quantidade de produto com desconto

product_ean13 Varchar 13 Sim Descrição da referência código de barra Europeia product_upc Varchar 12 Sim Descrição de referência de

código de barra Americana product_reference Varchar 32 Sim Descrição da referência de

produto product_supplier_referenc

e

Varchar 32 Sim Descrição da referência de produto por fornecedor

product_weight Float Sim Descrição do peso do

produto tax_computation_method Tinyint 1 Sim

tax_name Varchar 16 Sim Descrição da taxa

tax_rate Decimal 10,3 Sim Taxa imposto

ecotax Decimal 21,6 Sim Taxa Ecológica

ecotax_tax_rate Decimal 5,3 Sim Imposto da Taxa Ecológica discount_quantity_applied Tinyint 1 Sim Desconto na quantidade

aplicada

(63)

5.8 Diagrama de Atividades

O diagrama de atividades constitui um elemento de modelação simples, mas eficaz, para descrever fluxos de trabalho numa organização ou para detalhar operações de uma classe, incluindo comportamentos que possuam processamento paralelo, como mostra na Figura 16.

(64)

5.8.1 Distribuir Encomendas

(65)

5.9 Diagrama de Instalação

O Diagrama de instalação é definido pela Linguagem de Modelagem Unificada (UML), descreve os componentes de Hardware e Software e a sua interação com outros elementos de suporte ao processamento.

Portanto, são representados também os Softwares que são executados em partes do Hardware, como mostra na Figura 18.

(66)

Capítulo V

6 Implementação da Solução

O Prestashop disponibiliza na sua página oficial um conjunto de Add-ons, módulos, temas de modo a ter eficiência e o funcionamento da aplicação, manual de configuração e instruções para quem pretende trabalhar com esta ferramenta Open

Source.

Portanto existem alguns módulos que são pagos, que provavelmente oferecem ainda melhor a qualidade de otimização. Por isso, será explícito em Anexo, uma parte de trabalho que foi desenvolvido pelo aluno.

6.1 Descrição

Uma vez que, não foi exigida uma linguagem específica para desenvolver site, e escolhemos o Prestasho, isto porque, é fácil, prático e viável, totalmente grátis. Por outro lado, tem recursos as várias tecnologias tanto para design da aplicação, da interação, no caso de ligações a base de dados (MYSQL) como restrições através do servidor (Usbwebserver v8.6.). Todos estes tópicos serão aqui descritos e exemplificados de acordo com a aplicação

(67)

6.2 Implementar Responsive Web Design

Hoje em dia, seria muito cansativo e perca de tempo desenhar múltiplas versões para um só site, por exemplo, desenhar para serem visualizados nos telemóveis smartphone computador isto porque já existem ferramentas com essas características.

O Responsive Web Design é uma das soluções técnicas, permite programar um

site de forma automaticamente à largura de tela do dispositivo no qual ele está sendo

visualizado. Um Responsive Web Desin permite:

Adaptar o layout da página de acordo com a resolução visualizada;

 Redimensionar as imagens automaticamente para que caibam na tela;

 Simplificar elementos da tela para dispositivos móveis, isto porque o utilizador tem menos tempo e menos atenção durante a navegação;

Adaptar tamanho de botões e links para interfaces touch e substituí o ponteiro do rato pelo dedo do utilizador;

 Utiliza Geolocalização e mudança na orientação do aparelho (horizontal ou vertical) de forma inteligente.

Figura 19 Responsivo Web Design. Fonte: [23]

Para implementar isso no site, deve fazer download de resposive Template na google e guarda-se numa pasta (pasta.zip) no seu computador ou numa pen. Depois entra no Painel de Controlo do prestashop  Preferências Temas Adicionar

(68)

6.3 Construção do Templates

A parte da implementação será a construção de Templates para as páginas Web. Inicialmente o prestashop disponibiliza um Templates, como mostra na Figura 20.

(69)

Como podem observar nas Figura 21 e Figura 22 são totalmente diferentes em comparação com o Templates original.

Para fazer a tal alteração, é necessário entrar no modo Painel de Controlo e escolher o formato desejável. Sobretudo, no Item catálogo onde encontrará um conjunto de páginas como Produtos, Categorias e outras relacionadas aos Produtos. Poderá entrar e alterar consoante a loja ( Templates Continuação).

Figura 21 Templates - Página Principal

(70)

Esta página refere-se à página início, onde estão categorias de produtos, sobretudo a categoria cozinha, como mostram nas Figura 23, Figura 24 e Figura 25.

Figura 23 Templates - Página Início

(71)
(72)

6.4 Base de Dados

Diagrama de classe do Sistema visualizado na Figura 14 era muito complexa, deste modo tentamos simplifica-la e obtivemos a base de dados, que se observa na Figura 26, de modo a ter uma perceção daquilo que estaria a ser mais utilizado para o trabalho em si. Não significa que outras trabelas não são importantes, antes pelo contrário.

Referências

Documentos relacionados

Para entender o supermercado como possível espaço de exercício cidadão, ainda, é importante retomar alguns pontos tratados anteriormente: (a) as compras entendidas como

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

Estes modelos podem representar propriedades de segurança (ex.: expressão lógica que caracterize a confidencialidade ou autenticidade do sistema), ou vulnerabilidades (ex.:

Considerando a importância dos tratores agrícolas e características dos seus rodados pneumáticos em desenvolver força de tração e flutuação no solo, o presente trabalho

A simple experimental arrangement consisting of a mechanical system of colliding balls and an electrical circuit containing a crystal oscillator and an electronic counter is used

Porém, afirma que na escola raramente existem oportunidades para se ouvir rádio e acredita que essa ferramenta pode ajudar muito no desenvolvimento da aprendizagem.... A maioria

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for