CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA



Documentos relacionados
Introdução à Linguagem Java

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

VIAÇÃO SÃO BENTO LTDA.

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

Guia Site Empresarial

ÍNDICE. 1. Introdução O que é o Sistema Mo Porã Como acessar o Site Mo Porã Cadastro do Sistema Mo Porã...

MANUAL DE UTILIZAÇÃO

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Cadastramento de Computadores. Manual do Usuário

Manual do Painel Administrativo

Sistema de Controle de Solicitação de Desenvolvimento

MANUAL DE REFERÊNCIA DO CLIENTE S

Em 2012, a Prosoft planejou o lançamento da Versão 5 dos seus produtos.

MANUAL DO GERENCIADOR ESCOLAR WEB

PORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO

Plano de Carreira Sistema de Apoio à Gestão de Planos de Carreira

MANUAL PARA UTILIZAÇÃO DO MOODLE FACULDADE INTERAÇÃO AMERICANA VIRTUAL - Versão: Aluno

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Mostrar área de trabalho.scf. Manual do Produto EDI.

Manual Operacional SIGA

O Oficina Integrada é um sistema completo para o controle e gerenciamento de oficinas mecânicas. É o primeiro e único software que controla o fluxo

Manual do usuário. v1.0

INSTRUMENTO NORMATIVO 004 IN004

Portal Sindical. Manual Operacional Empresas/Escritórios

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

Manual do Anunciante

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

MANUAL VTWEB CLIENT URBANO

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

1. Tela de Acesso pg Cadastro pg Abas de navegação pg Abas dados cadastrais pg Aba grupo de usuários pg.

Sumário. Apresentação O que é o Centro de Gerenciamento de Serviços (CGS) NTI? Terminologia Status do seu chamado Utilização do Portal Web

Manual SAGe Versão 1.2 (a partir da versão )

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

ÍNDICE MANUAL SITE ADMINISTRÁVEL TV. 1. Introdução 2. Acessando o site administrável/webtv SITE ADMINISTRÁVEL 3. CONFIGURAÇÕES

Sistema de Chamados Protega

Guia do Usuário. versão 1.2. GiuSoft Tecnologia -

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Sistema de de Bilhetagem Eletrônica MANUAL MÓDULO PDV

Grupo Projeção. Portal Acadêmico. - Ambiente do Aluno -

Guia Sphinx: instalação, reposição e renovação

MANUAL COTAÇAO WEB MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA. [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de ]

BEM-VINDO AO dhl PROVIEW

Manual do Sistema de Apoio Operadores CDL

Manual do Sistema de Cadastro de Cultivares Locais, Tradicionais e Crioulas

1 Sumário O Easy Chat Conceitos Perfil Categoria Instalação O Aplicativo HTML...

Olimpíada Brasileira de Robótica. Manual de Inscrição. Sistema OLIMPO Instruções

Módulo e-rede Prestashop v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Manual do Usuário Central de Agendamento. Versão 1.1

Relatórios Documentos Simulador Quadrante Quadrante Quadrante Quadrante Alterar Senha...

Livro Caixa. Copyright ControleNaNet

MANUAL DA SECRETARIA

Manual de Utilização

1. Plataforma Sage Primeiro Acesso Configurações Relacionamento Folha de Pagamento esocial...

Sistema de Gerenciamento Remoto

Resumo das funcionalidades

02 - Usando o SiteMaster - Informações importantes

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Consultório On-line. Tudo o que você precisa em um só lugar.

Manual de usuário. do sistema multicálculo CotakWeb

Manual do usuário - Service Desk SDM - COPASA. Service Desk

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE

COORDENAÇÃO DE ENSINO A DISTÂNCIA - EaD

Sistema de Controle. Como entrar no sistema. Tela inicial. Funcionalidades do sistema. Controle de permissões. Menu Aplicativo

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Perfil - selecione o perfil de quem será o dono da festa. Categoria - descreva o tipo de festa. Exemplo: Casamento/Bodas

Anote aqui as informações necessárias:

MANUAL LOJA VIRTUAL - PORTAL PHARMA LINK

Manual de Utilização das Funções Básicas do Sistema ClinicWeb

Manual de Instalação. SafeSign Standard (Para MAC OS 10.7)

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA

SUAP Módulo Protocolo Manual do Usuário DTI DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SEÇÃO DE PROJETOS, SISTEMAS E PROCESSOS DE NEGÓCIO

Manual de utilização do sistema OTRS (Atendimento) Cliente Externo

O GEM é um software 100% Web, ou seja, você poderá acessar de qualquer local através da Internet.

UNIMED-BH MANUAL DE AGENDAMENTO ON-LINE. acesse

Como funciona? SUMÁRIO

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

WebEDI - Tumelero Manual de Utilização

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

1. Escritório Virtual Atualização do sistema Instalação e ativação do sistema de Conexão...5

MANUAL DE MEMBRO COMUNIDADE DO AMIGO

Manual do Usuário Cidadão SIC Serviço de informação ao cidadão

Manual da Turma Virtual: MATERIAIS. Para acessar a turma virtual com o perfil Docente, siga o caminho indicado abaixo:

Manual UNICURITIBA VIRTUAL para Professores

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas

MANUAL DE INSTALAÇÃO DO ODONTO TECHNOLOGY

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

Procedimentos para Reinstalação do Sisloc

Google Drive. Passos. Configurando o Google Drive

1.INDÍCE... ERROR! BOOKMARK NOT DEFINED. 3.CONSULTA CIRCULARES PROMOÇÕES E EVENTOS Consultando Promoções e Eventos 8.

Transcrição:

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS APARECIDO MARCELO GOMES DESENVOLVIMENTO DE SISTEMA WEB DE CLASSIFICADOS DE VEÍCULOS LINS/SP 1 SEMESTRE/2014

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS APARECIDO MARCELO GOMES DESENVOLVIMENTO DE SISTEMA WEB DE CLASSIFICADOS DE VEÍCULOS Trabalho de Conclusão de Curso apresentado à Faculdade de Tecnologia de Lins para obtenção do Título de Tecnólogo em Banco de Dados. Orientador: Prof. Me. Luiz Fernando de Oliveira Silva LINS/SP 1 SEMESTRE/2014

APARECIDO MARCELO GOMES DESENVOLVIMENTO DE SISTEMA WEB DE CLASSIFICADOS DE VEÍCULOS Trabalho de Conclusão de Curso apresentado à Faculdade de Tecnologia de Lins, como parte dos requisitos necessários para a obtenção do título de Tecnólogo em Banco de Dados sob orientação do Prof. Me. Luiz Fernando de Oliveira Silva. Data de aprovação: 09/06/2014 Orientador: Prof. Me. Luiz Fernando de Oliveira Silva Prof. Me. Mário Henrique de Souza Pardo Profa. Me. Gisele Molina Becari

Dedico a Deus, a minha esposa Deisy, minhas filhas Valentina e Veridiana e aos meus pais Sebastião e Josefa. Aparecido Marcelo Gomes

AGRADECIMENTOS Agradeço a minha família pelo amor, apoio, compreensão e incentivo durante a realização deste trabalho. A todos os amigos, professores e funcionários da FATEC, em especial ao meu orientador Professor Me. Luiz Fernando de Oliveira Silva pelo suporte e atenção dedicados na orientação.

RESUMO O presente trabalho tem por objetivo o desenvolvimento de um sistema web de classificados de veículos com foco no atendimento da cidade de Lins e sua região no interior do estado de São Paulo, visando atender uma possível oportunidade de negócio, pois de acordo com a Federação (2014), a região à qual a cidade faz parte tem forte potencial no setor de venda de automóveis. Com este objetivo definido, foi realizada uma análise por meio de pesquisa nos sistemas de duas empresas atuantes no setor, sendo uma no âmbito nacional e outra regional. Esta pesquisa foi essencial para entender quais os tipos de tecnologias utilizadas e a partir deste conhecimento, realizar um levantamento teórico das tecnologias que atendessem as necessidades do desenvolvimento. As tecnologias escolhidas foram JSF e Primefaces para criação de interfaces de usuário, Hibernate para persistência de dados, Spring Security para segurança do sistema e o banco de dados relacional Mysql. Com estas informações, foi efetuada a análise e projeto do sistema abordando um estudo de caso de uso através de diagramas e levantamento de requisitos necessários para o desenvolvimento do sistema proposto. Os resultados obtidos atenderam aos requisitos propostos no capítulo de análise e projeto do sistema utilizando as tecnologias citadas. Palavras-chave: sistema web, sistema de classificados de veículos, banco de dados Mysql.

ABSTRACT This work aims to develop a web system classified vehicles focusing on serving the city of Lins and its region in the state of São Paulo, to meet a possible business opportunity because accordance with Federação (2014), the region to which the city is located has a strong potential in the car sales industry. With this defined objective, a analysis was performed through searching the systems of two operating companies in the sector, one in national scope and another regional. This research was essential to understand what types of technologies utilized and from this knowledge, conduct a theoretical survey of technologies that would meet the needs of development. The technologies have been chosen JSF and Primefaces for creating user interfaces, Hibernate for data persistence, Spring Security for security system and relational database MySQL. With this information, was performed the analysis and design of the system addressing a case study through the use of diagrams and survey requirements for the development of the proposed system. The results obtained attended to requirements proposed in chapter analysis and design System using the technologies mentioned. Keywords: Web system, system of classifieds for vehicles, Mysql database.

LISTA DE ILUSTRAÇÕES Figura 1.1 Menu de opções de navegação do site Webmotors... 17 Figura 1.2 Página da opção comprar e seus filtros para pesquisa... 17 Figura 1.3 Assistente de busca... 18 Figura 1.4 - Busca avançada... 18 Figura 1.5 Assistente de busca... 19 Figura 1.6 Assistente de busca... 19 Figura 1.7 Página com dados do veículo... 20 Figura 1.8 Página vender... 21 Figura 1.9 Planos oferecidos às pessoas físicas... 22 Figura 1.10 Planos oferecidos à pessoas jurídicas... 23 Figura 1.11 Trecho da página de cadastro de dados do veículo... 24 Figura 1.12 Etapa quatro com dados pessoais do usuário para confirmação.... 24 Figura 1.13 Etapa quatro com dados do veículo para confirmação... 25 Figura 1.14 Etapa quatro com dados do plano para confirmação... 25 Figura 1.15 Etapa quatro com termo de adesão e botão para confirmar... 25 Figura 1.16 Página da Tabela FIPE e Webmotors com formulário preenchido... 26 Figura 1.17 Resultado da avaliação nas tabelas FIPE e Webmotors... 27 Figura 1.18 Página da opção Financiar e formulário preenchido... 27 Figura 1.19 Página da opção Financiar e o resultado da simulação... 28 Figura 1.20 Trecho da página da opção Seguro... 29 Figura 1.21 Trecho da página da opção Revista... 29 Figura 1.22 Trecho da página da opção Serviços... 30 Figura 1.23 Resultado da busca por oficinas... 30 Figura 1.24 Detalhes de oficina cadastrada... 31 Figura 1.25 Check-up Gratuito... 32 Figura 1.26 Agenda do Carro... 32 Figura 1.27 Agenda do Consorcio.... 33 Figura 1.28 Infomotors... 33 Figura 1.29 Trecho da página de log in da sessão Minha Webmotors... 34 Figura 1.30 Página de cadastro da sessão Minha Webmotors... 35 Figura 1.31 Menu de opções do site Compreauto... 37

Figura 1.32 Página da opção Quem Somos... 37 Figura 1.33 Trecho da página Destaques... 38 Figura 1.34 Janela de exibição de anúncio... 38 Figura 1.35 Planos de anúncio.... 39 Figura 1.36 Página de autenticação de usuários... 39 Figura 1.37 Página de autenticação de usuários... 40 Figura 1.38 Revenas de Veículos... 41 Figura 1.39 Fale Conosco... 41 Figura 1.40 Central do Cliente... 42 Figura 1.41 Central do Cliente em ambiente autenticado... 43 Figura 1.42 Trecho do formulário para cadastro de um anúncio... 43 Figura 1.43 Área para inserção de imagens... 44 Figura 1.44 Planos de anúncio... 45 Figura 1.45 Página de Redirecionamento... 46 Figura 1.46 Gerenciamento dos anúncios... 46 Figura 1.47 Gerenciamento dos anúncios... 47 Figura 2.1 Ambiente Java... 53 Figura 2.2 Código-fonte, bytecodes e código nativo.... 53 Figura 2.3 Camadas da plataforma Java EE... 55 Figura 2.4 Exemplo de DataTable - Sorting.... 57 Figura 2.5 Código-fonte do DataTable - Sorting.... 58 Figura 2.6 Arquitetura do Hibernate.... 59 Figura 2.7 Fluxograma do funcionamento geral do Spring Security... 61 Figura 3.1 Diagrama de caso de uso.... 66 Figura 3.2 Diagrama de caso de implantação... 67 Figura 3.3 Diagrama de entidade e relacionamento.... 68 Figura 3.4 Diagrama de caso de uso.... 69 Figura 3.5 Diagrama de atividade Abrir chamado.... 69 Figura 3.6 Diagrama de atividade Autorizar publicação de anúncio... 70 Figura 3.7 Diagrama de atividade cadastrar cliente... 70 Figura 3.8 Diagrama de atividade cadastrar marca.... 71 Figura 3.9 Diagrama de atividade cadastrar modelo.... 71 Figura 3.10 Diagrama de atividade cadastrar proposta.... 72 Figura 3.11 Diagrama de atividade consultar cliente.... 72

Figura 3.12 Diagrama de atividade efetuar login (administrador)... 73 Figura 3.13 Diagrama de atividade efetuar login (cliente).... 73 Figura 3.14 Diagrama de atividade manter anúncio.... 74 Figura 3.15 MVC abrir chamado.... 75 Figura 3.16 MVC autorizar publicação de anúncio.... 75 Figura 3.17 MVC cadastrar cliente.... 76 Figura 3.18 MVC cadastrar marca.... 76 Figura 3.19 MVC cadastrar modelo.... 77 Figura 3.20 MVC cadastrar proposta.... 77 Figura 3.21 MVC consultar Cliente.... 78 Figura 3.22 MVC efetuar login (administrador)... 79 Figura 3.23 MVC efetuar login (cliente)... 79 Figura 3.24 MVC manter anúncio.... 80 Figura 3.25 Diagrama de sequência abrir chamado.... 81 Figura 3.26 Diagrama de sequência autorizar publicação de anúncio.... 81 Figura 3.27 Diagrama de sequência cadastrar cliente.... 82 Figura 3.28 Diagrama de sequência cadastrar marca... 82 Figura 3.29 Diagrama de sequência cadastrar modelo.... 83 Figura 3.30 Diagrama de sequência cadastrar proposta.... 83 Figura 3.31 Diagrama de sequência consultar cliente.... 84 Figura 3.32 Diagrama de sequência efetuar login (administrador)... 84 Figura 3.33 Diagrama de sequência efetuar login (cliente)... 85 Figura 3.34 Diagrama de sequência manter anúncio.... 85 Figura 4.1 Página principal do site.... 88 Figura 4.2 Trecho da página de login.... 88 Figura 4.3 Trecho da página de cadastro de usuário... 89 Figura 4.4 Trecho da página da área do administrador.... 90 Figura 4.5 Código-fonte do método aprovarpagamento.... 91 Figura 4.6 Trecho da página de cadastro de modelos.... 92 Figura 4.7 Trecho da página da área do cliente.... 94 Figura 4.8 Página de cadastro de anúncio.... 95 Figura 4.9 Trecho da página de anúncios com prazo de validade vigente... 96 Figura 4.10 Trecho da página de anúncios com prazo de validade expirado... 97 Figura 4.11 Trecho da página de renovação de plano do anúncio.... 97

Figura 4.12 Trecho da página de abertura de chamados.... 98 Figura 4.13 Página de visualização de anúncio.... 99 Figura 4.14 Página exibindo a visualização de fotos do anúncio ampliadas... 100 Figura 4.15 Página exibindo o formulário para envio de proposta.... 101 Figura 4.16 Página exibindo a mensagem de confirmação de envio proposta... 101

LISTAS DE ABREVIATURAS E SIGLAS AJAX Asynchronous JavaScript and Extensible Markup Language API - Application Programming Interface EIS Enterprise Information Systems GUI - Graphical User Interface JDBC Java Database Connectivity JDK Java Development Kit JEE Java Enterprise Edition JME Java Micro Edition JPA Java Persistence API JSE Java Standart Edition JSF Java Server Faces JVM Java Virtual Machine MVC Model View Controller SQL Structured Query Language XML Extensible Markup Languague

SUMÁRIO INTRODUÇÃO... 14 1 ANÁLISE DE SITES DE CLASSIFICADOS DE VEÍCULOS... 16 1.1 WEBMOTORS... 16 1.1.1 Navegação e funcionalidades... 16 1.1.2 Considerações sobre a análise da Webmotors... 36 1.2 COMPREAUTO... 36 1.2.1 Navegação e funcionalidades... 36 1.2.2 Considerações sobre a análise da Compreauto... 47 1.3 CONSIDERAÇÕES SOBRE O CAPÍTULO... 47 2 TECNOLOGIAS APLICADAS NO DESENVOLVIMENTO... 49 2.1 JAVA...... 49 2.1.1 Histórico Da Linguagem... 50 2.1.2 O Ambiente Java... 52 2.1.3 Java Enterprise Edition... 54 2.1.4 Java Server Faces... 55 2.2 PRIMEFACES... 56 2.3 HIBERNATE... 58 2.4 MYSQL...... 59 2.5 APACHE TOMCAT... 60 2.6 SPRING FRAMEWORK E SPRING SECURITY... 60 2.7 CONSIDERAÇÕES SOBRE O CAPÍTULO... 61 3 ANÁLISE E PROJETO DE SISTEMA... 62 3.1 ANÁLISE DE NEGÓCIO... 62 3.1.1 Instrução do Problema... 62 3.1.2 Análise de Mercado... 62 3.1.3 Atores e Envolvidos no Processo... 62 3.1.4 Descrição do Ambiente Atual... 63 3.2 VISÃO GERAL DO PRODUTO... 63 3.2.1 Perspectiva do Produto... 63 3.2.2 Premissas e Dependências... 63

3.2.3 Características... 63 3.2.4 Outros Requisitos do Produto... 65 3.3 ANÁLISE DE REQUISITOS... 65 3.3.1 Análise de Requisitos Funcionais... 65 3.4 ANÁLISE E DESIGN... 67 3.4.1 Diagrama de Implantação (Componentes)... 67 3.4.2 Projeto de Banco de Dados... 67 3.4.3 Diagrama de Atividades... 69 3.4.4 MVC...... 74 3.4.5 Diagrama de Sequência... 81 3.5 CONSIDERAÇÕES SOBRE O CAPÍTULO... 85 4 IMPLEMENTAÇÃO... 87 4.1 ÁREA DO ADMINISTRADOR... 89 4.2 ÁREA DO CLIENTE VENDEDOR... 93 4.3 ÁREA DO CLIENTE COMPRADOR... 99 4.4 CONSIDERAÇÕES SOBRE O CAPÍTULO... 101 CONCLUSÃO... 102 REFERÊNCIAS BIBLIOGRÁFICAS... 103

14 INTRODUÇÃO Atualmente o setor de auto veículos que engloba automóveis e comerciais leves mostra-se bastante desenvolvido e promissor, pois de acordo com a Associação (2014), no ano de 2013 foram licenciados 3.767.370 unidades contra 1.428.610 no ano de 2003, o que representa um crescimento de aproximadamente 164%. Por sua vez, a indústria nacional também demonstrou grande aumento em sua produção, foram 3.712.380 unidades produzidas em 2013 contra 1.684.715 em 2003, demonstrando um crescimento de pouco mais de 120%. Neste intervalo de 10 anos, o setor vem mantendo um bom índice anual, sempre com crescimento. Ainda de acordo com dados da Federação (2014), na região operacional em que a cidade de Lins está incluída, foram emplacadas 3.308 unidades em 2013 contra 981 unidades em 2003, o que analiticamente reflete um crescimento de 237%, percentual este muito superior ao crescimento registrado no país. Seguindo este ritmo de crescimento, o setor de comércio eletrônico também alcançou crescimento notável, pois segundo o site E-commerce (2014), o setor no Brasil faturou R$ 28 bilhões em 2013 contra R$ 1,18 bilhões em 2003, isso sem considerar as vendas de automóveis, passagens aéreas e leilões on-line. Tendo este cenário como base, percebe-se que a cidade de Lins, no estado de São Paulo, tem potencial para unir estas duas vertentes e trata-se, visivelmente, de uma boa oportunidade comercial, pois a cidade não possui um site que atue no setor de classificados de veículos com foco em seu município, pois todos os sites atuantes no setor são de cidades maiores. Observando a grande quantidade de revendas de veículos na cidade e suas participações em sites de cidades vizinhas, percebe-se que um site de classificados propriamente linense seria viável, uma vez que não há concorrência com expressividade instalada no local. Sendo assim, o objetivo deste trabalho é o desenvolvimento de um sistema web de classificados de veículos que atenda a demanda da cidade de Lins como foco principal e posteriormente as regiões vizinhas, utilizando-se das tecnologias Java Enterprise Edition (JEE), Java Server Faces (JSF), Primefaces, Hibernate e banco de dados Mysql.

15 A organização do trabalho segue com o primeiro capítulo que realiza uma análise de dois sites de classificados de veículos, sendo um atuante no âmbito nacional e outro no regional, extraindo o máximo de informações referentes ao modelo de negócio exercido e compreensão das necessidades que um site de classificados de veículos deve atender. O segundo capítulo descreve as tecnologias escolhidas por meio de estudo para melhor atender os requisitos do sistema. No terceiro capítulo, há a análise e projeto do sistema e por fim no quarto capítulo a implementação do sistema desenvolvido com apresentação das funcionalidades e navegação.

16 1 ANÁLISE DE SITES DE CLASSIFICADOS DE VEÍCULOS Este capítulo tem por objetivo expor uma análise de sites de classificados de veículos brasileiros que atuam no setor de classificados de venda de veículos e expor informações sobre a área operacional de atuação, tecnologias utilizadas, recursos disponíveis e tipos de serviços prestados. Esta análise é de suma importância para a escolha das tecnologias e funcionalidades para a aplicação proposta. 1.1 WEBMOTORS O Webmotors é um site que oferece como principal serviço, exposição de classificados para venda de veículos automotores. Sua área de atuação é a nível nacional e por mês são disponibilizados cerca de 200 mil anúncios que podem ser feitos tanto por pessoas físicas, quanto por pessoas jurídicas. (WEBMOTORS, 2014a) O site foi fundado em 1995 logo no início da internet brasileira e ao longo dos anos conquistou o posto de maior portal atuante no setor automobilístico. (WEBMOTORS, 2014a) No ano de 2002 foi adquirido pelo antigo ABN AMRO, hoje pertencente ao Grupo Santander Brasil que é um dos maiores bancos do mundo e um dos fomentadores do mercado de automóveis através de sua financeira Santander Financiamentos. (WEBMOTORS, 2014a) 1.1.1 Navegação e funcionalidades Ao acessar o site através do endereço http://www.webmotors.com.br/, o usuário visualizará a página inicial ou home que contém um resumo de todas as opções de navegação possíveis facilitando assim a escolha do serviço pretendido. Estas opções também estão organizadas em um menu no topo do site, conforme ilustra a figura 1.1, sendo opções comprar, vender, tabela Webmotors, financiar, seguro, serviços, central do revendedor e minha Webmotors. Os parágrafos seguintes são destinados a explicar detalhadamente quais as funcionalidades destas opções e como funciona a navegação entre elas. (WEBMOTORS, 2014b)

17 Figura 1.1 Menu de opções de navegação do site Webmotors Fonte: Webmotors, 2014b 1.1.1.1 Comprar A opção comprar exibe uma página totalmente voltada à pesquisa de ofertas de veículos e motos no banco de dados do site, conforme ilustra a figura 1.2. (WEBMOTORS, 2014c) Figura 1.2 Trecho da página da opção comprar e seus filtros para pesquisa Fonte: Webmotors, 2014c A ferramenta de busca está dividida em quatro tipos específicos como busca clássica, assistente de busca, busca avançada e mais buscados. (WEBMOTORS, 2014c)

18 A busca clássica realiza pesquisas mais simples com dados menos específicos e também pode ser visualizada na figura anterior. (WEBMOTORS, 2014c) O assistente de busca oferece um passo-a-passo para o usuário selecionar as opções por etapas conforme a figura 1.3. (WEBMOTORS, 2014c) Figura 1.3 Assistente de busca Fonte: Webmotors, 2014c Seguindo a ordem, há a opção busca avançada que como o próprio nome sugere, trata-se de uma pesquisa com muitos detalhes específicos do veículo de interesse e possibilita ao usuário selecionar um opcional específico, cor, quilometragem e até mesmo procurar por veículos que sejam de único dono ou com uma condição de negócio em que o vendedor aceite outro veículo na troca. Esta pesquisa pode ser observada na figura 1.4. (WEBMOTORS, 2014c) Figura 1.4 - Busca avançada Fonte: Webmotors, 2014c

19 E por fim, a última das opções, a mais buscados exibe um conjunto de modelos que apareceram mais vezes em todas as pesquisas realizadas pelos usuários e pode ser visualizada na figura 1.5. (WEBMOTORS, 2014c) Figura 1.5 Assistente de busca Fonte: Webmotors, 2014c Ao final da etapa de escolha dos parâmetros para cada pesquisa, uma página é gerada com os resultados. Estes resultados podem ser ordenados por marca e modelo, ano, quilometragem, preço e voltar à ordenação original. Pode-se inclusive comparar dois veículos. Um exemplo pode ser visto na figura 1.6. (WEBMOTORS, 2014c) Figura 1.6 Assistente de busca Fonte: Webmotors, 2014c

20 Caso o usuário clique em algum dos anúncios, conforme a figura 1.7 mostra, uma página mais detalhada será carregada contendo informações sobre o veículo, dados do vendedor, cotação nas tabelas FIPE e Webmotors, maior e menor preço anunciado no site para o mesmo modelo, além de atalhos para simulação e contratação de serviços de financiamento e seguro. Caso o usuário tenha interesse na aquisição do veículo, pode simplesmente entrar em contato com o vendedor por telefone, comparecer no endereço indicado ou preencher uma proposta online na própria página e aguardar a resposta diretamente em seu e-mail sem necessidade de efetuar login no site. (WEBMOTORS, 2014c) Figura 1.7 Página com dados do veículo Fonte: Webmotors, 2014c

21 1.1.1.2 Vender A opção vender exibe uma página direcionada para a venda de veículos. Nesta página há possibilidade do usuário iniciar a inclusão de um anúncio, visualizar opiniões de clientes que já anunciaram, preços e condições e também exibe as vantagens de anunciar no site. A imagem 1.8 mostra a página comprar. (WEBMOTORS, 2014d) Figura 1.8 Página vender Fonte: Webmotors, 2014d

22 Para incluir anúncios existem duas categorias. A categoria pessoa física e pessoa jurídica. Para pessoas físicas os planos são individuais e para pessoas jurídicas os planos são por quantidades mínimas de anúncios. (WEBMOTORS, 2014d) Para exemplificar uma inclusão, foi realizado um cadastro de usuário no site como pessoa física. O cadastro será explicado detalhadamente na seção 1.1.1.9 Minha Webmotors. Primeiramente, o formulário Inicie seu anúncio foi preenchido e em seguida foi escolhida a opção anunciar. Este formulário pode ser visto na figura 1.8 já preenchido. (WEBMOTORS, 2014d) Em seguida, iniciou-se a primeira de quatro etapas. Na primeira foi necessário escolher o plano. O escolhido foi o plano de 30 dias que pode ser visualizado na figura 1.9. (WEBMOTORS, 2014e) Figura 1.9 Planos oferecidos às pessoas físicas Fonte: Webmotors, 2014e Apenas para ilustração, a figura 1.10 mostra os planos oferecidos à pessoas jurídicas (revendedores) todos com foco em uma quantidade mínima de carros para anúnciar.

23 Figura 1.10 Planos oferecidos à pessoas jurídicas Fonte: Webmotors, 2014f A segunda etapa Dados do veículo é onde serão informados os dados do cadastro do veículo. As informações necessárias são marca, modelo, ano de modelo, ano de fabricação, versão, placa, blindado sim ou não, preço, carroceria, quilometragem, número de portas, cor, combustível, RENAVAM. Na sequência podem ser informados alguns dados extras sobre a situação do veículo em relação a impostos, quantos donos o possuíram, revisões dentre outros itens. Também há a possibilidade de selecionar os opcionais do veículo e, por fim, cadastrar uma observação do vendedor. A figura 1.11 mostra uma parte da tela de cadastro do veículo. (WEBMOTORS, 2014g) A terceira etapa denominada Identificação requer que o usuário preencha seus dados pessoais com nome, e-mail, sexo, data de nascimento, CPF, endereço e telefones para contato. (WEBMOTORS, 2014w)

24 Figura 1.11 Trecho da página de cadastro de dados do veículo Fonte: Webmotors, 2014g A quarta e última etapa denominada pagamento disponibiliza todos os dados informados no decorrer das etapas anteriores para confirmação e correção caso seja necessário, conforme as figuras 1.12 e 1.13 e também a confirmação do plano na figura 1.14. Existe a possibilidade da escolha do método para pagamento como mostra a figura 1.15 oferecendo as modalidades cartão de crédito, boleto, depósito bancário ou empresa terceirizada de pagamentos. Após confirmar os dados e selecionar a forma de pagamento, o usuário deve concordar com os termos e condições para publicação do anúncio e para finalizar selecionar confirmar de acordo com a figura 1.16. O anúncio irá ao ar cerca de três à seis horas após a confirmação do pagamento que pode variar de acordo com a opção selecionada. (WEBMOTORS, 2014h) Figura 1.12 Etapa quatro com dados pessoais do usuário para confirmação. Fonte: Webmotors, 2014h.

25 Figura 1.13 Etapa quatro com dados do veículo para confirmação Fonte: Webmotors, 2014h Figura 1.14 Etapa quatro com dados do plano para confirmação Fonte: Webmotors, 2014h Figura 1.15 Etapa quatro com termo de adesão e botão para confirmar Fonte: Webmotors, 2014h Após estas etapas, o veículo está pronto para ser consultado através da opção comprar do menu do site.

26 1.1.1.3 Tabela FIPE e Webmotors A opção Tabela FIPE e Webmotors exibe uma página contendo um formulário para veículos conforme figura 1.16, que pode ser preenchido com os dados do veículo que o usuário queira vender ou comprar para ser avaliado e consequentemente receber os preços constantes nestas duas tabelas que são praticados no mercado de acordo com a região escolhida. (WEBMOTORS, 2014i) A Fundação Instituto de Pesquisas Econômicas (FIPE) realiza pesquisas e é reconhecida por divulgar preços médios de mercado que servem para parametrizar negociações e avaliações. Além da FIPE, a Webmotors também disponibiliza seus preços de acordo com sua base de dados. (WEBMOTORS, 2014i) Figura 1.16 Página da Tabela FIPE e Webmotors com formulário preenchido Fonte: Webmotors, 2014i Ao selecionar o botão Avaliar é carregada uma página com o valor do veículo na tabela FIPE e os valores mínimo, médio e máximo da tabela Webmotors no estado selecionado e no Brasil conforme figura 1.17. (WEBMOTORS, 2014i)

27 Figura 1.17 Resultado da avaliação nas tabelas FIPE e Webmotors Fonte: Webmotors, 2014i 1.1.1.4 Financiar Ao clicar em Financiar é carregada uma página que possibilita simular os valores para financiamento no banco Santander além de vantagens e facilidades relativas à burocracia do processo. A figura 1.18 mostra esta página e também o formulário preenchido para demonstração. (WEBMOTORS, 2014j) Figura 1.18 Página da opção Financiar e formulário preenchido Fonte: Webmotors, 2014j

28 Após o preencher e clicar em Continuar, o usuário é redirecionado para uma página com o resultado da simulação contendo valores de parcelas em vários prazos possíveis conforme mostra a figura 1.19. (WEBMOTORS, 2014k) Caso o usuário tenha interesse nos valores demonstrados, ele pode simplesmente efetuar uma ligação telefônica em qualquer um dos números disponibilizados ou clicar no botão Faça uma Proposta e preencher seus dados pessoais e financeiros e aguardar por aprovação da financeira. (WEBMOTORS, 2014k) Figura 1.19 Página da opção Financiar e o resultado da simulação Fonte: Webmotors, 2014k 1.1.1.5 Seguro Nesta opção o usuário encontrará uma página conforme a figura 1.20, orientando como cotar o seguro de seu veículo e explicando as vantagens envolvidas, tais como cotações em diversas seguradoras, economia e atendimento

29 personalizado. Ao clicar em Consulte Agora o usuário é redirecionado para uma página terceirizada de simulação de seguros. (WEBMOTORS, 2014m) Figura 1.20 Trecho da página da opção Seguro Fonte: Webmotors, 2014m 1.1.1.6 Revista A opção Revista contém uma página de informações e notícias sobre o setor automotivo e possui as seções segredos, guia de compras, testes e comparativos, lançamentos, direção sustentável, meu carro e eu, mercado, antigos, opinião, motos, vídeos e salões. A página pode ser vista na figura 1.21. (WEBMOTORS, 2014n) Figura 1.21 Trecho da página da opção Revista Fonte: Webmotors, 2014n

30 1.1.1.7 Serviços A opção Serviços oferece uma página que permite ao usuário buscar por oficinas especializadas onde pode até mesmo efetuar uma inspeção gratuita e no site pode criar uma agenda de revisões e reparos para seu veículo. (WEBMOTORS, 2014o) Para localizar uma oficina, basta que o usuário preencha o formulário Busca de oficinas com informações sobre a região em que precisa e em seguida clicar em Buscar, conforme ilustra a figura 1.22. (WEBMOTORS, 2014o) Figura 1.22 Trecho da página da opção Serviços Fonte: Webmotors, 2014n O resultado da pesquisa pode ser observado na figura 1.23. É retornada a quantidade de oficinas encontradas, o nome dos estabelecimentos, a especialização e o contato. (WEBMOTORS, 2014o) Figura 1.23 Resultado da busca por oficinas Fonte: Webmotors, 2014o

31 Ao clicar na opção Ver mais detalhes de uma das oficinas, uma página detalhada é carregada contendo informações como endereço, serviços oferecidos, formas de pagamento e a possibilidade de preencher um formulário para contato (figura 1.24). (WEBMOTORS, 2014o) Figura 1.24 Detalhes de oficina cadastrada Fonte: Webmotors, 2014o Além de oferecer o serviço de busca de oficinas, o site também oferece um serviço de inspeção de veículo, onde o usuário imprime um check-list e leva seu veículo até uma oficina credenciada para fazer um check-up grátis (figura 1.25). O seguinte serviço disponível é a Agenda do Carro ou Agenda da Moto. De acordo com Webmotors (2014q), é uma agenda exclusiva para cadastrar informações do veículo e receber avisos sobre compromissos, tais como manutenções preventivas, vencimentos das parcelas de financiamentos, seguros e impostos, check-up grátis e ainda contar com uma lista de oficinas certificadas. Com esta agenda, segundo o site, é possível economizar até 800% com manutenção além de manter o veículo circulando com segurança. (WEBMOTORS, 2014q)

32 Figura 1.25 Check-up Gratuito Fonte: Webmotors, 2014p Para acessar a agenda é necessário que o usuário clique em Cadastre-se Aqui para caso ainda não possua cadastro ou caso contrário, clicar em Administrar minha agenda (figura 1.26). (WEBMOTORS, 2014q) Figura 1.26 Agenda do Carro Fonte: Webmotors, 2014q

33 Na sequência está a Agenda do Consórcio que semelhantemente a Agenda do Carro, possibilita o controle ao andamento dos grupos de consórcio do usuário e o gerenciamento de prazos e valores. Para acessar a agenda é necessário que o usuário clique em Cadastre-se Aqui caso ainda não possua cadastro ou caso contrário, clicar em Administrar minha agenda (figura 1.27). (WEBMOTORS, 2014r) Figura 1.27 Agenda do Consorcio. Fonte: Webmotors, 2014r. Ainda na sessão de serviços, a Webmotors em parceria com a Checkauto indica e oferece um serviço terceirizado chamado Infomotors, que é uma consulta de histórico veicular que contém mais de 40 informações relacionadas a multas, bloqueios judiciais, boletins de ocorrência entre outros itens que ajudam na hora de realizar uma negociação segura e livre de problemas. Ao clicar em Compre Agora (figura 1.28) o usuário é automaticamente direcionado ao site da Infomotors. (WEBMOTORS, 2014s) Figura 1.28 Infomotors Fonte: Webmotors, 2014s

34 Com estes recursos explicados resume-se a opção Serviços. 1.1.1.8 Central do Revendedor A Central do Revendedor é uma página destinada a revendas ou pessoas jurídicas, preparada para o gerenciamento de múltiplos veículos cadastrados, conforme a possibilidade de planos disponíveis segundo Webmotors (2014f). 1.1.1.9 Minha Webmotors A sessão Minha Webmotors é uma página destinada a pessoas físicas, preparada para o gerenciamento dos anúncios feitos e também para utilização dos serviços disponíveis para este público alvo, sendo estes serviços Agenda do Carro, Agenda da Moto e Agenda do Consórcio. Além disso, também é a tela de log in oficial do site, uma vez que toda a sessão que necessita de autenticação redireciona o usuário para Minha Webmotors. (WEBMOTORS, 2014t) Ao ser redirecionado, ou acessar esta sessão diretamente, o usuário tem duas opções, sendo, efetuar o log in (autenticação) caso já possua cadastro ou caso contrário, efetuar o cadastro, conforme figura 1.29. Para se cadastrar, o usuário tem que digitar seu endereço eletrônico no campo e-mail do formulário Quero me cadastrar e clicar em Criar Conta. (WEBMOTORS, 2014t) Figura 1.29 Trecho da página de log in da sessão Minha Webmotors Fonte: Webmotors, 2014t

35 O usuário é direcionado para a página de cadastro onde são solicitados alguns dados pessoais básicos, conforme mostra a figura 1.30. (Webmotors, 2014u) Figura 1.30 Página de cadastro da sessão Minha Webmotors Fonte: Webmotors, 2014u Após o cadastro, o usuário é direcionado a página principal da sessão Minha Webmotors e já pode visualizar seus anúncios com a possibilidade de alterá-los, pode utilizar os serviços Agenda do Carro ou Moto e Agenda do Consórcio, além

36 também de alterar ou incluir dados pessoais e quando desejar, terminar sua sessão executando o log out. (WEBMOTORS, 2014u) 1.1.2 Considerações sobre a análise da Webmotors O site Webmotors é um exemplo de quão longe e eficiente uma página de internet pode chegar. O serviço prestado é completo, seu foco é estar presente em todos os momentos relacionados ao veículo, pois o usuário acessa o site, pesquisa o veículo, visualiza todas as informações sobre o mesmo, tem acesso à informações de mercado e preços praticados, simula e contrata serviços e ainda pode contar com referências e indicações para reparos do veículo. Para este trabalho, a análise deste site contribuiu grandemente para o planejamento da estruturação e implementação da navegação, de funcionalidades, recursos e tecnologias a serem utilizadas. Enfim, o Webmotors mostra-se de acordo com os tempos atuais e serve como exemplo de excelência a ser seguido. 1.2 COMPREAUTO O Compreauto é um site de classificados de carros, motos e caminhões online de São José do Rio Preto interior do estado de São Paulo que também abrange toda região do interior paulista. O site foi inaugurado em 2004 e continua no ar até a presente data e afirma ser o maior e mais completo site de veículos do interior Paulista. (COMPREAUTO, 2014a) 1.2.1 Navegação e funcionalidades Ao acessar o site através do endereço http://www.compreauto.com.br/, o usuário visualizará a página inicial ou home que contêm um resumo de todas as opções de navegação possíveis, facilitando assim sua escolha. Estas opções também estão organizadas em um menu no topo do site, conforme ilustra a figura 1.31, sendo opções: quem somos, destaques, anuncie seu veículo, carros favoritos, revendas e fale conosco. Os seguintes parágrafos são destinados a explicar detalhadamente quais as funcionalidades destas opções e como funciona a navegação entre elas. (COMPREAUTO, 2014b)

37 Figura 1.31 Menu de opções do site Compreauto Fonte: Compreauto, 2014b 1.2.1.1 Quem Somos Na página correspondente a opção quem somos (figura 1.32), o usuário encontra informações sobre a empresa Compreauto, tais como história, trajetória e ainda expõe as vantagens oferecidas para seus clientes. (COMPREAUTO, 2014c) Figura 1.32 Página da opção Quem Somos Fonte: Compreauto, 2014c 1.2.1.2 Destaques A página da opção destaques (figura 1.33) disponibiliza uma lista com alguns veículos cadastrados no site classificados como destaques. A página contém

38 uma foto de cada veículo, uma breve descrição e preço. É possível alterar a ordem de exibição por valor, ano e marca / modelo. (COMPREAUTO, 2014c) Figura 1.33 Trecho da página Destaques Fonte: Compreauto, 2014d Ao clicar em um dos veículos, uma janela se abre trazendo na tela informações completas do veículo, tais como principais características, fotos, dados do vendedor para contato e também as opções de enviar uma proposta, adicionar aos favoritos, imprimir e enviar para um amigo. A imagem da janela pode ser conferida na figura 1.34. (COMPREAUTO, 2014d) Figura 1.34 Janela de exibição do anúncio Fonte: Compreauto, 2014d

39 Caso o usuário selecione adicionar aos favoritos, o veículo será marcado e posteriormente poderá ser visualizado na opção Carros Favoritos do menu principal juntamente com todos os outros veículos que venham a ser marcados. (COMPREAUTO, 2014d) 1.2.1.3 Anuncie Seu Veículo Quando a opção Anuncie Seu Veículo é escolhida, uma página é carregada trazendo informações para o usuário que deseja anunciar seu veículo. São exibidos quatro planos com prazos e valores diferentes que podem ser vistos na figura 1.35. (COMPREAUTO, 2014e) Figura 1.35 Planos de anúncio. Fonte: Compreauto, 2014e. Para escolher um plano, é preciso clicar no botão Anunciar respectivo ao mesmo. (COMPREAUTO, 2014e) Após escolher, o site redirecionará para página de autenticação de usuários ou log in chamada de Central do Cliente. Nela o usuário terá a opção de cadastrarse caso não o tenha feito ou simplesmente autenticar-se. Esta página pode ser visualizada na figura 1.36. (COMPREAUTO, 2014f) Figura 1.36 Página de autenticação de usuários Fonte: Compreauto, 2014f

40 Para exemplificar, um cadastro de usuário foi realizado e também a simulação do cadastro de um anúncio, ambos abordados na seção 1.2.1.7 Central do cliente. 1.2.1.4 Carros Favoritos Conforme explicado anteriormente na seção Destaques, ao acessar uma página detalhada de um veículo, o usuário pode marcar a opção Adicionar Favoritos e fazer o mesmo com vários outros veículos sem a necessidade de estar autenticado no site. (COMPREAUTO, 2014g) Quando o usuário acessar esta opção do menu, automaticamente é gerada uma relação contendo todos os veículos que foram marcados com Adicionar Favoritos conforme mostra a figura 1.37. (COMPREAUTO, 2014g) Nesta lista, existem duas caixas de seleção que quando marcadas, comparam informações dos respectivos veículos que representam quando acionado o botão Comparar Selecionados que pode ser visto também na figura 1.37. Quando isto acontece, uma página é carregada listando os dados dos veículos ladoa-lado para comparação. (COMPREAUTO, 2014g) Figura 1.37 Página de autenticação de usuários Fonte: Compreauto, 2014g

41 1.2.1.5 Revenda de Veículos Ao acessar a opção Revenda de Veículos, é gerada uma página que relaciona todas as revendas cadastradas no site, dando a possibilidade de realizar buscas por nome, cidade e por iniciais alfabéticas conforme a figura 1.38. (COMPREAUTO, 2014h) Figura 1.38 Revenas de Veículos Fonte: Compreauto, 2014h 1.2.1.6 Fale Conosco O Fale Conosco é uma página que pode ser acessada na opção Fale Conosco no menu principal. Nesta página encontram-se todos os canais para contato com a empresa Compreauto. Há um formulário para preenchimento online, endereço e telefones para contato. A figura 1.39 mostra esta página. (COMPREAUTO, 2014i) Figura 1.39 Fale Conosco Fonte: Compreauto, 2014i

42 1.2.1.7 Central do Cliente A Central do Cliente não está em nenhum menu exposto no site, porém, sempre que o usuário solicite alguma área que necessite autenticação, a mesma é carregada. Seu endereço para acesso é http://www.compreauto.com.br/login. (COMPREAUTO, 2014f) Para realizar um cadastro de usuário, é necessário preencher os campos Nome completo e E-mail contidos no formulário Ainda não sou cadastrado. Caso o usuário já tenha cadastro, basta preencher os campos E-mail e Senha do formulário Já Sou Cadastrado. A figura 1.40 mostra a Central do Cliente. (COMPREAUTO, 2014f) Como citado anteriormente, o processo de cadastro de usuário será explicado. Primeiramente, deve-se preencher as informações do formulário Ainda não sou cadastrado conforme a figura 1.40 e clicar no botão OK, em seguida a página Cadastro será carregada. (COMPREAUTO, 2014j) O Cadastro de Usuário é uma página com campos que devem ser preenchidos com os dados pessoais do usuário como nome, e-mail, endereço, CPF, RG e também definir uma senha. Após preencher estes dados o usuário deve clicar em Cadastrar. Um e-mail é enviado para o usuário contendo um link para confirmação do cadastro. Feito o procedimento, o cadastro estará ativo. (COMPREAUTO, 2014j) Figura 1.40 Central do Cliente Fonte: Compreauto, 2014f

43 Para autenticar-se, basta acessar http://www.compreauto.com.br/login e preencher os campos E-mail e Senha do formulário Já Sou Cadastrado. (COMPREAUTO, 2014f) Após a autenticação, a página Central do Cliente mostrada na figura 1.41 é apresentada com todos os recursos disponíveis. Um menu lateral contendo as opções incluir anúncio, listar anuncio, propostas recebidas, atualizar meus dados, trocar senha e sair. (COMPREAUTO, 2014k) Figura 1.41 Central do Cliente em ambiente autenticado Fonte: Compreauto, 2014k A opção Incluir Anúncio carrega uma página chamada Cadastrar um novo anúncio com um formulário que pode ser visto na figura 1.42 e que contém é um questionário totalmente voltado aos dados do veículo que será exposto. Os dados são todos voltados às características do veículo. Uma informação que merece destaque é a possibilidade de efetuar o cadastro de qualquer tipo de veículo, desde bicicletas a barcos, pois ao selecionar o tipo de veículo, o formulário se adapta com as informações necessárias. Também disponibiliza a oportunidade de incluir o endereço de vídeo no site de vídeos Youtube. Para esta ocasião, o exemplo seguiu com o cadastro de um automóvel. (COMPREAUTO, 2014l) Figura 1.42 Trecho do formulário para cadastro de um anúncio Fonte: Compreauto, 2014l

44 Após o preenchimento, o usuário tem duas opções sendo salvar para gravar os dados do veículo ou Salvar e inserir imagens que grava os dados e remete a página para realização da inserção de imagens. Para este exemplo a opção escolhida foi Salvar e inserir imagens que redireciona para a página Inserir imagens. (COMPREAUTO, 2014l) A página Inserir imagens contém um botão chamado selecionar arquivos e imagens que ao ser acionado permite que o usuário localize uma imagem em seu computador para inserir no anúncio. Após inserir todas as imagens, o botão Desejo salvar as imagens que enviei deverá ser acionado e na sequência são trazidas na tela as imagens em tamanho maior para conferência e o botão Efetuar o pagamento do meu anúncio aparece para dar procedimento ao processo, conforme a figura 1.43. (COMPREAUTO, 2014m) Figura 1.43 Área para inserção de imagens Fonte: Compreauto, 2014m Na sequência, após clicar no botão Efetuar o pagamento do meu anúncio a página Escolha seu plano e o tipo de destaque é carregada. (COMPREAUTO, 2014m)

45 São quatro planos disponíveis com valores que variam de acordo com os períodos do anúncio e o plano escolhido para este exemplo foi o plano 1. Também é possível adquirir um plano de destaque para ter privilégios nos resultados das buscas. Após as escolhas, o usuário deve acionar o botão Concluir e efetuar o pagamento, conforme figura 1.44. (COMPREAUTO, 2014n) Figura 1.44 Planos de anúncio Fonte: Compreauto, 2014n Logo após, uma página de confirmação é carregada contendo informações sobre o prazo para liberação do anúncio e disponibilizando um canal para tirar dúvidas do anunciante. Além disso, o botão Clique para efetuar o pagamento aparece para dar continuidade ao processo ao ser acionado, conforme a figura 1.45 mostra. Ao clicar neste botão, o usuário é redirecionado a uma empresa terceirizada de pagamentos chamada Pagseguro e ao efetuar o pagamento o processo de inclusão de um anúncio está concluído. (COMPREAUTO, 2014o)

46 Figura 1.45 Página de Redirecionamento Fonte: Compreauto, 2014o Dando sequência às explicações, a próxima opção do menu esquerdo é Listar anúncios, que como o título sugere, gera uma lista de anúncios inclusos pelo usuário. Esta página chama-se Gerenciar Anúncios e nela é possível gerenciar os anúncios tal como, excluir o anúncio, editar campos específicos, visualizar estatísticas de propostas feitas no anúncio por período, visualizar o anúncio como aparece para os demais usuários do site, conferir o prazo para vencimento e a situação ou status do anúncio, que pode ser visualizado na figura 1.46. (COMPREAUTO, 2014p) Figura 1.46 Gerenciamento dos anúncios Fonte: Compreauto, 2014p A próxima opção do menu da esquerda é Propostas Recebidas que direciona para a página Propostas. Esta página gera uma relação de todas as propostas feitas pelos visitantes do site para os anúncios do usuário. Estas propostas contêm nome e telefone do interessado, código, modelo, ano de fabricação e ano do modelo do veículo e a data do envio. Assim o usuário pode

47 facilmente gerenciar e responder as propostas feitas em seu anúncio. A figura 1.47 mostra as colunas da relação das propostas. (COMPREAUTO, 2014q) Figura 1.47 Gerenciamento dos anúncios Fonte: Compreauto, 2014q Seguindo o menu esquerdo, a opção seguinte é Atualizar meus dados, que simplesmente é uma página que disponibiliza os dados do usuário com a possibilidade de alterar esses dados, com exceção de nome, CPF e e-mail. (COMPREAUTO, 2014r) Logo depois, vem a opção Trocar senha que trás três campos de texto sendo: senha atual, nova senha e confirmação de senha. Após preencher estes campos e acionar o botão salvar, a senha do usuário será trocada. (COMPREAUTO, 2014s) Por fim, a última opção do menu é Sair que efetua a saída da sessão ou log off do usuário, redirecionando para a página inicial do site. 1.2.2 Considerações sobre a análise da Compreauto O site Compreauto oferece muitas funcionalidades e apresenta um ótimo exemplo a ser seguido para o trabalho aqui proposto. Inclusive para posteriores aprimoramentos além do foco pretendido. No quesito regionalização, o padrão é o que mais se encaixa com o planejamento do trabalho e pode inspirar na implementação de vários recursos, funcionalidades e navegação. 1.3 CONSIDERAÇÕES SOBRE O CAPÍTULO A análise dos sites Webmotors e Compreauto foram cruciais para um entendimento de como um site de classificados de veículos deve ser. Sua

48 colaboração foi de grande valia pelo resultado obtido com a pesquisa e análise sobre as funcionalidades. Estas pesquisas deixaram claro sobre quais os requisitos importantes para criação do site, sendo estes: Desenvolver áreas específicas para cadastro de usuários e anúncios. Desenvolver perfis para usuários e administradores. Desenvolver restrições de acesso, dando permissões aos usuários conforme a necessidade de acesso a determinadas áreas. Desenvolver sistema de log in e log out. Disponibilização de consultas de anúncios disponíveis no banco de dados para usuários sem a necessidade de autenticação. Disponibilização de geração de relatórios para usuários cadastrados. Desenvolver cadastro de propostas para usuários não autenticados O capítulo seguinte abordará as tecnologias empregadas para realização deste trabalho.

49 2 TECNOLOGIAS APLICADAS NO DESENVOLVIMENTO Este capítulo destina-se a apresentação das tecnologias aplicadas no desenvolvimento do sistema web de classificados de veículos. 2.1 JAVA Java é uma Linguagem de Programação Orientada a Objetos (LPOO) que possui neutralidade de plataforma, segurança e foi projetada para ser de fácil aprendizado. Por tratar-se de uma linguagem totalmente orientada a objetos, utiliza uma metodologia de desenvolvimento de software em que um programa é representado por um grupo de objetos que trabalham unidos. Estes objetos são criados com moldes chamados de classes, que contêm dados e as instruções para usá-los. (CADENHEAD; LEMAY, 2005) Semelhantemente, Jandl (2013) explica que características importantes diferenciam Java das demais linguagens de programação, destacando que a mesma é orientada a objetos, independe de plataforma, não possui ponteiros, possui boa performance, segurança e é multithreaded. Além disso, o autor explica detalhadamente cada uma dessas características conforme a seguir: Orientada a objetos É puramente orientada a objetos, pois oferece mecanismos de abstração, encapsulamento e hereditariedade. Tudo em Java são classes ou instâncias de classes, com exceção de seus tipos primitivos de dados. Independe de plataforma Os programas em Java não são compilados pela plataforma de hardware específica, mas sim, compilados como bytecodes, uma forma de código que funciona como uma linguagem de máquina para Java Virtual Machine (JVM). Esta JVM interpreta os bytecodes para a plataforma na qual é executada. Por esta razão, Java não depende de plataforma, podendo ser executado em qualquer arquitetura. Não possui ponteiros Por não possuir ponteiros, não permite que haja manipulação de memória e nem exige a destruição de objetos, o que livra os programadores desta tarefa complexa. Toda a manipulação de variáveis e objetos é realizada através de referencias, pois a JVM inclui o

50 automatic garbage collector, ou coletor de lixo automático, que é um mecanismo de gerenciamento de memória que recupera a memória alocada para objetos que não estão referenciados pelo programa. Performance Características como linguagem compacta, independente de plataforma e para utilização em rede, levaram Java ao esquema de interpretação de bytecodes que oferecia performance apenas razoável nas primeiras versões. Mas com a incorporação de um compilador Just In Time (JIT) na JVM, possibilitou que essa limitação fosse superada, pois durante a carga do programa, o mesmo converte os bytecodes em código nativo, possibilitando uma melhoria significativa no desempenho dos programas Java. Segurança Devido à possibilidade de obtenção de aplicações de uma rede, mecanismos de segurança contidos no Java podem evitar quaisquer operações no sistema de arquivos da máquina-alvo, o que minimiza os riscos. Estes mecanismos tem flexibilidade suficiente para delimitar níveis de acesso ao sistema-alvo e ainda determinar se um applet (miniaplicativo) é considerado seguro. Multithreaded É a execução de múltiplas rotinas, utilização de fluxos de execução independentes, que possibilita o desenvolvimento de aplicações sofisticadas. Além de oferecer suporte ao uso de threads, Java também possibilita sua sincronização. Para entender melhor esta fantástica linguagem de programação, é imprescindível conhecer um pouco de sua origem que será explicada na sequência. 2.1.1 Histórico Da Linguagem De acordo com Cadenhead e Lemay (2005), tudo começou em meados de 1990 quando James Gosling juntamente com outros desenvolvedores da Sun Microsystems estavam trabalhando em um projeto, que segundo Luckow e Melo (2010), era chamado de Green Project e seu objetivo era possibilitar a convergência entre computadores, eletrodomésticos e equipamentos eletrônicos. Porém Gosling sentiu-se frustrado com a linguagem que estava sendo utilizada. Esta linguagem era C++, uma LPOO que foi desenvolvida cerca de 10

51 anos antes por Bjarne Stroustrup na AT&T Bell Laboratories para ser uma extensão da linguagem C. (CADENHEAD; LEMAY, 2005) Em virtude das frustações com C++, Goslin desenvolveu uma nova linguagem adequada para as necessidades do Green Project. O ano era 1991 e esta linguagem foi batizada de Oak, que em português significa carvalho, árvore a qual Goslin avistava pela janela da sede onde atuava. (LUCKOW; MELO, 2010) Conforme afirma Luckow e Melo (2010), o resultado do projeto foi um controle remoto chamado *7 ou StarSeven, que possuía uma interface gráfica com sensibilidade ao toque com capacidade de interagir com diversos equipamentos. A linguagem Oak era utilizada para controlar este equipamento. O StarSeven estava muito a frente de seu tempo e por este motivo as empresas de TV a cabo e vídeo por demanda não tinham capacidade suficiente para viabilizar o negócio, fato este que fez com que o mesmo não prosperasse. (LUCKOW; MELO, 2010) Embora no presente Java esteja ligada ao ambiente online, a Internet não era o foco inicial quando a mesma ainda era chamada de Oak. A princípio, foi desenvolvida para ser uma linguagem independente da plataforma em que fosse aplicada e para desenvolvimento de softwares que seriam embutidos em dispositivos eletrônicos dos mais diversos tipos, tais como controles remotos, fornos de micro-ondas entre outros. Cada dispositivo deste tipo era composto de uma Central Processing Unit (CPU) específica que executavam instruções em forma de código de máquina resultantes da compilação dos códigos de uma linguagem de programação. (SCHILDT; SKRIEN, 2013) Naquela época, por exemplo, C++ era uma linguagem de programação capaz de ser embutida em dispositivos diferentes, porém necessitava de um compilador C++ completo capaz de compilar linguagem de programação em código de máquina. Por este motivo, caso o software fosse portado para outro dispositivo com uma CPU diferente, seria necessária a criação de um novo compilador para compilar o código de máquina específico. Ciente deste fato, James Gosling enfrentou o desafio de aperfeiçoar a Oak para que fosse capaz abster-se deste processo de compilação, pois o processo de criação de compiladores era muito oneroso e moroso. Foi então que Gosling e sua equipe trabalharam para encontrar uma melhor solução, desenvolvendo portabilidade entre plataformas com possibilidade de produzir código

52 executável em várias CPUs com ambientes diferentes através de um compilador universal. (SCHILDT; SKRIEN, 2013) Embora a motivação inicial partisse da criação de uma linguagem de programação independente de arquitetura, em 1993 a equipe chegou à conclusão que os problemas de portabilidade de códigos para controladores embutidos também estavam sendo encontrados na criação de código para a Internet. Devido a este advento, o foco da linguagem mudou de utensílios eletrônicos domésticos para programação na Internet. (SCHILDT; SKRIEN, 2013) Em 1995 a linguagem foi renomeada e então passou a chamar-se Java e no segundo semestre deste mesmo ano, a Sun Microsystem lançou a LPOO Java em um kit de desenvolvimento gratuito disponibilizado para download no site da empresa. Mesmo que uma grande parte dos recursos da linguagem fossem primitivos se comparados com C++ e até mesmo a Java de hoje, os programas Java chamados de applets poderiam ser executados como parte das páginas Web no navegador Netscape. Funcionalidade esta que lhe concedeu o título de primeira programação interativa disponível na Web. Este título contribuiu muito nos seus primeiros seis meses para que centenas de milhares de desenvolvedores tivessem interesse por Java. (CADENHEAD; LEMAY, 2005) Nos anos seguintes, sempre que a Sun Microsystems lançava uma nova versão do Java, também lançava um kit de desenvolvimento gratuito para dar suporte a essa versão. (CADENHEAD; LEMAY, 2005) No ano de 2009 a Sun Microsystems foi comprada pela Oracle, mas isso não alterou a trajetória das versões do Java, sendo que a versão 7 foi liberada em 2011 e trouxe muitas novidades e melhorias. (JANDL, 2013) A seguir, será apresentada uma explicação mais detalhada sobre Java e sua plataforma. 2.1.2 O Ambiente Java O ambiente, ou plataforma Java é composto por JVM, Application Programming Interface (API) e por classes da aplicação, como mostra a figura 2.1. (JANDL, 2013)

53 Figura 2.1 Ambiente Java. Fonte: Jandl, 2013, p.22. Para o desenvolvimento de programas em Java, de acordo com Jandl (2013), é requerido um editor que permita salvar o programa fonte como arquivos de extensão.java. Por meio de um compilador Java chamado Javac, esse programa fonte é compilado em bytecodes que por sua vez são salvos em arquivos de classe com a extensão.class. Por fim, para execução destes arquivos de classe é necessária uma JVM para realizar a interpretação dos mesmos (Figura 2.2), usando direta ou indiretamente o código nativo do sistema e então concluindo a execução da aplicação Java. Figura 2.2 Código-fonte, bytecodes e código nativo. Fonte: Jandl, 2013, p.22. Para que este processo ocorra e possa ser executado no computador do usuário comum, é necessário que o computador tenha o Java Runtime Environment (JRE) instalado, que nada mais é que um ambiente mínimo que permite apenas a execução de aplicações Java e que pode ser adquirido através de download gratuito no site http://www.oracle.com. (JANDL, 2013) Todavia, Jandl (2013) afirma que para desenvolver na plataforma Java, é necessário que o computador tenha também o Java Development Kit (JDK) instalado para proporcionar um ambiente de desenvolvimento mínimo para construção de aplicações Java. O JDK também pode ser adquirido gratuitamente e é um conjunto útil de ferramentas considerado padrão e que já inclui o JRE.

54 Atualmente segundo Jandl (2013), a plataforma Java está organizada em três segmentos: JME (Java Micro Edition) Específica para dispositivos computacionais móveis. É composto de JVM optimizada para ambientes mais restritos, especificações de funcionalidades e uma API mais compacta. JSE (Java Standard Edition) Agrega os elementos padrão da plataforma que permite desenvolver aplicações de porte pequeno e médio. Conta com uma JVM padrão e todas as APIs de base. JEE (Java Enterprise Edition) Destinada a construção de aplicações corporativas mais complexas. Contém APIs específicas aos elementos padrão da plataforma. 2.1.3 Java Enterprise Edition O Java Enterprise Edition (JEE) é de acordo com Sampaio (2011, p.19): um conjunto de especificações publicadas pela Sun (hoje Oracle) e pelo Java Community Process (JCR) que criam toda a infraestrutura para o desenvolvimento de aplicações distribuídas corporativas. A tecnologia JEE é utilizada para construção de softwares robustos, distribuídos, escalonáveis e flexíveis, cujo principal foco é o desenvolvimento de aplicações para Web. (COSTA, 2008) Seu modelo de programação é baseado em contêineres, ou servidores de aplicação, que fornecem todos os serviços necessários para a aplicação corporativa. Assim, desta forma é possível desenvolver com menos código e consequentemente com diminuição do tempo de desenvolvimento, riscos e problemas de manutenção das aplicações. (SAMPAIO, 2011) Conforme explica Sampaio (2011), as aplicações corporativas do JEE podem ser vistas como um modelo de camadas (tiers) com separação de conceitos conforme a imagem 2.3 e a explicação da mesma a seguir: Camada Cliente Nesta camada localiza-se o navegador de Internet ou applets, que podem conter aplicações Java rodando dentro do Java EE client container.

55 Camada Apresentação Contém componentes como Java Server Pages (JSP), Servlets e Java Server Faces (JSF). Todos pertencentes à arquitetura JEE. Camada Negócio É nesta camada que rodam componentes remotos como Web Services e Enterprise Javabeans (EJB) que geralmente representam entidades de dados ou implementam regras de negócio. Camada Enterprise Information Systems (EIS) Por último nesta camada estão os servidores de recursos corporativos tais como servidores de banco de dados. É utilizado através de interfaces Java DataBase Connectivity (JDBC) e Java Connector Architeture (JCA). Figura 2.3 Camadas da plataforma Java EE. Fonte: Sampaio, 2011, p.19. Este Modelo de contêineres possibilita que o foco das preocupações fique somente com as funcionalidades das aplicações corporativas, que são executadas deixando os detalhes básicos para a API do contêiner. Ou seja, cada tipo de aplicação prevista no JEE possui um contêiner específico, tais como o Tomcat que é puramente Web e o Geronimo classificado como completo. (SAMPAIO, 2011) 2.1.4 Java Server Faces O Java Server Faces (JSF) é um framework que inicialmente foi desenvolvido pela Sun Microsystems e integra os componentes tecnológicos do JEE. Foi projetado para facilitar o desenvolvimento de aplicações Web por meio de Graphical

56 User Interface (GUI) ou interface de usuário e conectar estes componentes a objetos de negócios. (GONÇALVES, 2008) Este framework exerce controle sobre os componentes de interface guardando, manipulando e representando cada elemento como um objeto, organizando-os no formato de árvore de componentes. Cada elemento desta organização guarda o estado atual em que os componentes são exibidos na tela e quando cada evento é disparado, faz uma requisição ao JSF que se encarrega de atualizar as informações desta árvore logo no início da requisição. (SILVEIRA et al., 2012) Além disso, Silveira et al. (2012) escreve que o modelo Component Based utilizado pelo JSF, permite uma grande extensibilidade por possibilitar a criação de novos componentes. Fato este que leva empresas a desenvolverem componentes úteis, citando como exemplo o Richfaces, que aumenta a gama de componentes e funcionalidades do framework. O JSF também apresenta suporte nativo a Ajax, Facelets integrado, novos escopos, melhor suporte a GET e bookmarks. Um ponto forte do framework é sua integração com JEE, particularmente com validações simplificadas com Bean Validation, injeção de dependências com CDI e também transformação de managed beans em EJBs para obter serviços de contêiner. (SILVEIRA et al., 2012) Em suma, de acordo com Gonçalves (2008), o framework JSF é responsável pela interação com o usuário, fornecer ferramentas para apresentação visual, parte lógica e lógica de negócios de uma aplicação Web. Porém, o autor explica que o escopo de JSF se restringe à camada de apresentação e a persistência de banco de dados estão fora de seu escopo. 2.2 PRIMEFACES Segundo Luckow e Melo (2010), o Primefaces é uma biblioteca de componentes JSF que contém mais de 90 componentes e foi uma das primeiras a estar totalmente convertida para JSF 2.0. Foi desenvolvido e continua mantido pela companhia de desenvolvimento de softwares Prime Teknoloji especializada em Agile Software Development (ASD), JSF e JEE com sede na Turquia. Sua desenvolvedora oferece suporte através em seu

57 site http://www.primefaces.org/support.html. Atualmente é gratuito e sua licença de uso é a Apache Licence. (ÇIVICI, 2013) De acordo com Çivici (2013), o Primefaces é baseado em Ajax, é muito leve, possui apenas um arquivo jar, não requer nenhuma configuração extra e nem dependências. É um framework com possibilidade de troca de skins que dispõe de mais de 35 temas prontos, além oferecer suporte para desenvolver temas personalizados com ajuda de ferramentas. O Primefaces pode ser adquirido por download em seu site oficial no endereço http://www.primefaces.org/downloads sem nenhum custo. Ainda em seu site, no endereço http://www.primefaces.org/showcase/ui/home.jsf é possível visualizar o showcase, ou mostruário da biblioteca, que contém exemplos de utilização dos componentes, como são visualizados e qual o código-fonte utilizado para atingir o resultado. (ÇIVICI, 2013) Um exemplo de visualização de componente deste showcase pode ser visto na figura 2.4, onde uma tabela contendo dados possibilita ordenar o conteúdo de cada coluna por ordem alfabética e mais abaixo na figura 2.5, o código-fonte utilizado que também fica em exposição abaixo da tabela. Figura 2.4 Exemplo de DataTable - Sorting. Fonte: Primefaces, 2014.

58 Figura 2.5 Código-fonte do DataTable - Sorting. Fonte: Primefaces, 2014. 2.3 HIBERNATE O Hibernate é uma solução Object Relational Mapping (ORM), ou Mapeamento Objeto-Relacional para a linguagem Java que segue as especificações da Java Persistence API (JPA), que por sua vez é integrante de uma especificação maior, a Enterprise Java Beans (EJB) que é responsável por padronizar o modelo de programação EJB. (LUCKOW; MELO, 2010) O ORM é definido por Luckow e Melo (2010, p. 121) como: Uma forma automatizada e transparente de persistir objetos que pertencem a uma aplicação nas respectivas tabelas de um banco de dados relacional, ou seja, segundo JBOSS (2014), é para isso que existem tecnologias como o Hibernate. Segundo Luckow e Melo (2010), o Hibernate tem três frentes de software que serão explicas detalhadamente a seguir: Hibernate Core É a base do conjunto de soluções para persistência que contem uma API nativa e metadados de mapeamento guardados em arquivos XML. Possui uma linguagem própria chamada HQL, muito parecida com SQL. Além disso, conta com interfaces para realização de consultas, como a Criteria. Hibernate Annotations Annotation é um tipo de tag estilo Javadoc utilizada para fazer o mapeamento de objeto/relacional. O Hibernate segue o padrão JPA e

59 adiciona algumas tags próprias. A vantagem de utilizá-las consiste em redução do número de linhas para realizar um processo, se comparado ao tradicional uso do XML. Hibernate Entity Manager Esta camada atende aspectos da JPA, pois atende conceitos de programação de interfaces e funcionalidades de consultas. Ela lê o metadado ORM de uma entidade para realização de operações de persistência. A arquitetura do Hibernate é demonstrada de maneira simplificada na figura a seguir: Figura 2.6 Arquitetura do Hibernate. Fonte: Jboss, 2014, p.29. Nota-se que a figura lista duas técnicas de mapeamento (XML/annotations). Apesar desta possibilidade, não é recomendado a utilização das duas juntas. (LUCKOW; MELO, 2010) 2.4 MYSQL Segundo Luckow e Melo (2010), o MySQL é o banco de dados mais popular do mundo e sua instalações ao redor do mundo chegam à 70 milhões. Empresas como Amazon, Google, Nasa e Yahoo! Finance utilizam o MySQL. O código-fonte do MySQL é aberto, porém não significa que seja gratuito, isso depende de como será utilizado. Sua licença é a General Public License (GPL), caso seja para fins lucrativos passará a ser cobrado. (LUCKOW; MELO, 2010)

60 De acordo com Muto (2006), atualmente o MySQL pertence a Oracle, proprietária do banco de dados Oracle, e possui cerca de 500 desenvolvedores oficiais que trabalham em busca de melhorias. Ainda, segundo Muto (2006) possui portabilidade entre diversos sistemas operacionais sendo suportado por Windows, Linux, FreeBSB, Solaris e Mac OS. O Mysql tem suporte completo para integridade referencial e chaves estrangeiras, aceita Triggers, Views, Cursores e Store Procedures, consultas secundárias dentro de uma consulta principal e é compatível com grande diversidade de linguagens de programação. Possui grande número de ferramentas gráficas para construção de queries e manutenção no banco de dados. Além disso, tem portabilidade entre diversos sistemas operacionais, é open source e não exige grandes recursos de hardware. (MUTO, 2006) Assim, Muto (2006) afirma que o MySQL é indicado para aplicações de pequeno e médio porte e que disponham de orçamento reduzido. 2.5 APACHE TOMCAT De acordo com Luckow e Melo (2010), o Apache Tomcat se trata de um contêiner Java ao mesmo tempo em que também é um servidor Web. Tem suporte para tecnologias Java Servlet e Java Server Pages (JSP) disponibilizando o funcionamento do Java para um ambiente Web. O Apache Tomcat é conhecido também como Jakarta Tomcat, ou simplesmente Tomcat, é um software de código aberto sob a licença Apache License version 2. É desenvolvido pela Apache Software Foundation com a colaboração de vários desenvolvedores que seguem especificações da Java Community Process e seu download pode ser feito através do endereço http://tomcat.apache.org/index.html. (APACHE, 2014) 2.6 SPRING FRAMEWORK E SPRING SECURITY Spring Framework é um framework Java de código-fonte aberto para facilitação do desenvolvimento JavaEE. Sua base provém dos padrões de Inversão de Controle (IOC) e Injeção de Dependências. Basicamente sua função é instanciação de classes, realizando injeção de dependências baseadas em

61 definições em um arquivo XML criado pelo desenvolvedor, o que resulta em um baixo acoplamento entre classes. (LUCKOW; MELO, 2010) Segundo Luckow e Melo (2010), o Spring Framework fornece outros projetos que utilizam essa funcionalidade básica, sendo um destes o Spring Security, que é um framework de segurança responsável por autenticar e autorizar o acesso aos usuários cadastrados à um sistema. Através de permissões definidas em suas configurações é possível definir quais áreas específicas cada tipo de usuário pode acessar de acordo com o tipo de permissão. A seguir, a figura 2.6 exemplifica o processo de gerenciamento de acesso. Figura 2.7 Fluxograma do funcionamento geral do Spring Security. Fonte: Luckow e Melo, 2010, p.234. 2.7 CONSIDERAÇÕES SOBRE O CAPÍTULO Neste capítulo foram tratadas as tecnologias utilizadas para elaboração deste trabalho, especificando suas funções e principais usos. O próximo capítulo aborda a análise e projeto do sistema proposto.

62 3 ANÁLISE E PROJETO DE SISTEMA Este capítulo tem como objetivo detalhar todas as etapas da análise e projeto do sistema proposto, descrever sua estrutura com documentos e diagramas e assim demonstrar sua arquitetura e funcionalidades. 3.1 ANÁLISE DE NEGÓCIO A análise de negócio engloba uma série de características relativas à posição e o objetivo do sistema no mercado em que será inserido. Estas características podem ser vistas a seguir. 3.1.1 Instrução do Problema A cidade de Lins e sua região, não possui um site que promova o serviço de classificados de automóveis no mesmo nível dos principais sites do setor. Visando esta ausência, o presente trabalho almeja atender esta demanda e oferecer este serviço com foco na região, com o intuito de transmitir maior credibilidade, confiança e facilidade para vendedores e compradores. 3.1.2 Análise de Mercado O serviço oferecido pelo site é destinado tanto às pessoas que tenham interesse em vender seus veículos, disponibilizando-os para possíveis compradores. A princípio, o objetivo é atender a cidade de Lins e região, porém, é possível que o site rompa as delimitações regionais e expanda as ofertas registradas por várias outras regiões do país. 3.1.3 Atores e Envolvidos no Processo No processo estão envolvidos o administrador do site e os clientes que são os atores. O administrador é responsável por cadastrar marcas e modelos de veículos, autorizar a publicação de anúncios inseridos pelo cliente no site, consultar anúncios e clientes, sendo todas estas ações somente possíveis após efetuar o login.

63 Os clientes podem atuar como compradores e vendedores. Os clientes vendedores devem cadastrar-se e efetuar login para incluir, alterar, excluir e consultar anúncios e dentro destes anúncios cadastrar veículos. Os clientes compradores não precisam efetuar o login, pois podem consultar os anúncios livremente e caso tenham interesse, podem cadastrar propostas para as ofertas do site. 3.1.4 Descrição do Ambiente Atual Atualmente não existe um site oficial de classificados de veículos especificamente da cidade de Lins. Os sites que atuam na cidade têm como suas bases cidades maiores e consequentemente acabam abrangendo a cidade de Lins em sua área operacional. 3.2 VISÃO GERAL DO PRODUTO Nesta seção estão assuntos relacionados às características do sistema e tem por objetivo demonstrar uma visão geral do produto. 3.2.1 Perspectiva do Produto O site estará disponível no ambiente da internet e exporá classificados de veículos no âmbito regional, dando a possibilidade do próprio cliente incluir seu anúncio ou entrar em contato com um vendedor. É um site independente e tem por objetivo atender Lins e região. 3.2.2 Premissas e Dependências Há necessidade de um computador com acesso à internet. Pois o site será hospedado em um servidor terceirizado na internet, sendo apenas carregado no navegador do computador do administrador. 3.2.3 Características São funcionalidades do site:

64 Efetuar login; É efetuada pelo administrador e pelo cliente para obter acesso a determinadas áreas do site. Há distinção de privilégios entre ambos, sendo que o usuário administrador é cadastrado pelos desenvolvedores do site. O cliente pode se cadastrar no próprio site e ter acesso apenas ao seu próprio conteúdo. Uma vez cadastrados, ambos poderão efetuar o login e acessar suas respectivas áreas conforme os privilégios. Cadastrar cliente; é efetuado pelo cliente no site, através da página de login que pode ser acessada através de link no site ou no momento que uma página restrita seja solicitada. Cadastrar marca; atividade realizada pelo administrador do site. Esta atividade permite incluir, atualizar e excluir as marcas de veículos que estarão disponíveis para os clientes. Cadastrar modelo; atividade realizada pelo administrador do site que pode incluir, atualizar e excluir os modelos de veículos disponibilizados para os clientes. Autorizar publicação; o administrador autoriza a publicação do anúncio cadastrado pelo cliente após a confirmação do pagamento e se o mesmo estiver de acordo com os padrões do site, tais como imagens, informações e afins. Consultar cliente; o administrador pode consultar os clientes cadastrados no site. Consultar anúncio; o administrador poderá consultar todos os anúncios cadastrados pelos clientes do site. Cadastrar anúncio; o cliente com login efetuado poderá cadastrar ou alterar um anúncio. Após o cadastro, o mesmo será redirecionado para um site terceirizado para efetuar o pagamento e após a confirmação, o administrador autorizará a publicação do anúncio. Cadastrar proposta; o cliente cadastra a proposta quando tiver interesse em um veículo que visualizar no site. Não é requerida a autenticação por login, pois a proposta não é vinculada ao proponente e sim apenas ao vendedor.

65 Consultar proposta; todas as propostas cadastradas para o anúncio poderão ser visualizadas através de consulta pelo cliente dono do anúncio. Abrir chamado; o cliente efetua um contato com o administrador do site sobre qualquer assunto ou problema relacionado ao site tais como solicitar cadastro de marcas e modelos de veículos quando indisponíveis. Estas informações são enviadas para o administrador. Para estas funcionalidades citadas anteriormente, faz-se necessário o uso de recursos como um Sistema Gerenciador de Banco de Dados (SGBD) e acesso a Internet. 3.2.4 Outros Requisitos do Produto Para que o produto seja disponibilizado para uso, o mesmo deve estar hospedado em servidor para então ser acessado pelos clientes através da Internet. 3.3 ANÁLISE DE REQUISITOS A análise de requisitos abordada nesta seção tem como intuito detalhar funcionalidades do sistema por meio de diagramas, atribuindo funcionalidades aos atores envolvidos e demonstrando todo o seu funcionamento. 3.3.1 Análise de Requisitos Funcionais Para o completo funcionamento do site, os atores, administrador e cliente utilizam as seguintes funcionalidades: efetuar login, cadastrar cliente, cadastrar marca, cadastrar modelo, autorizar publicação, consultar cliente, consultar anúncio, consultar propostas, cadastrar anúncio, cadastrar veículo, cadastrar proposta, consultar proposta e abrir chamado.

66 3.3.1.1 Diagrama de Caso de Uso Figura 3.1 Diagrama de caso de uso. Fonte: Elaborado pelo autor, 2014. 3.3.1.2 Especificação de Histórias Um empresário decide abrir um negócio virtual de classificados de veículos. Sendo assim o mesmo necessita de um sistema de classificados online que possibilite que seus potenciais clientes possam comprar e vender veículos. O único funcionário desta empresa é o proprietário do site, que atua como administrador do site. O cliente pode navegar pelo site e caso goste de um veículo, pode simplesmente cadastrar uma proposta sem a necessidade de efetuar o login e, em seguida, o dono do anúncio entrará em contato com o cliente a partir dos dados contidos na proposta. Caso o cliente queira anunciar no site, basta que o mesmo cadastre-se e efetue o login e a partir disso poderá cadastrar, alterar e excluir seus anúncios após

67 a confirmação do pagamento e aprovação do administrador e também consultar as propostas cadastradas para seus anúncios. O administrador é responsável por cadastrar marcas e modelos de veículos, aprovar a publicação de anúncios cadastrados pelos clientes mediante pagamento ou cumprimento dos requisitos necessários como legitimidade dos dados. O cadastro de marcas e modelos pode ser solicitado ao administrador pelo cliente caso não exista, bastando que o mesmo abra um chamado na área específica do site. 3.4 ANÁLISE E DESIGN Nesta etapa, é realizada uma análise específica para a elaboração da arquitetura do sistema ou também conhecida por design. 3.4.1 Diagrama de Implantação (Componentes) O diagrama a seguir mostra como funciona a implantação do site. Figura 3.2 Diagrama de caso de implantação. Fonte: Elaborado pelo autor, 2014. 3.4.2 Projeto de Banco de Dados A etapa de projeto de banco de dados reúne uma série de atividades para estruturação do banco de dados através de diagramas de entidade e relacionamento, diagrama de atividades, diagrama Modelo, Visão e Controle (MVC) e diagrama de sequência.

68 3.4.2.1 Diagrama de Entidade e Relacionamento Figura 3.3 Diagrama de entidade e relacionamento. Fonte: Elaborado pelo autor, 2014.

69 3.4.2.2 Mapeamento para Modelo Relacional e Projeto Físico Figura 3.4 Diagrama de caso de uso. Fonte: Elaborado pelo autor, 2014. 3.4.3 Diagrama de Atividades Nesta etapa serão apresentados os diagramas de atividades que demonstram o fluxo de atividade das funcionalidades. 3.4.3.1 Abrir Chamado Figura 3.5 Diagrama de atividade Abrir chamado. Fonte: Elaborado pelo autor, 2014.

70 3.4.3.2 Autorizar Publicação de Anúncio Figura 3.6 Diagrama de atividade Autorizar publicação de anúncio. Fonte: Elaborado pelo autor, 2014. 3.4.3.3 Cadastrar Cliente Figura 3.7 Diagrama de atividade cadastrar cliente. Fonte: Elaborado pelo autor, 2014.

71 3.4.3.4 Cadastrar Marca Figura 3.8 Diagrama de atividade cadastrar marca. Fonte: Elaborado pelo autor, 2014. 3.4.3.5 Cadastrar Modelo Figura 3.9 Diagrama de atividade cadastrar modelo. Fonte: Elaborado pelo autor, 2014.

72 3.4.3.6 Cadastrar Proposta Figura 3.10 Diagrama de atividade cadastrar proposta. Fonte: Elaborado pelo autor, 2014. 3.4.3.7 Consultar Cliente Figura 3.11 Diagrama de atividade consultar cliente. Fonte: Elaborado pelo autor, 2014. 3.4.3.8 Consultar Anúncio O diagrama de atividade deste caso de uso foi suprimido por conter fluxo semelhante ao representado na figura 3.11. 3.4.3.9 Consultar Proposta O diagrama de atividade deste caso de uso foi suprimido por conter fluxo semelhante ao representado na figura 3.11.

73 3.4.3.10 Efetuar Login (Administrador) Figura 3.12 Diagrama de atividade efetuar login (administrador). Fonte: Elaborado pelo autor, 2014. 3.4.3.11 Efetuar Login (Cliente) Figura 3.13 Diagrama de atividade efetuar login (cliente). Fonte: Elaborado pelo autor, 2014.

74 3.4.3.12 Manter Anúncio Figura 3.14 Diagrama de atividade manter anúncio. Fonte: Elaborado pelo autor, 2014. 3.4.4 MVC Nesta seção serão disponibilizados os diagramas MVC que mostram a aplicação em 3 camadas sendo Modelo, Visão e Controle.

75 3.4.4.1 Abrir Chamado Figura 3.15 MVC abrir chamado. Fonte: Elaborado pelo autor, 2014. 3.4.4.2 Autorizar Publicação de Anúncio Figura 3.16 MVC autorizar publicação de anúncio. Fonte: Elaborado pelo autor, 2014.

76 3.4.4.3 Cadastrar Cliente Figura 3.17 MVC cadastrar cliente. Fonte: Elaborado pelo autor, 2014. 3.4.4.4 Cadastrar Marca Figura 3.18 MVC cadastrar marca. Fonte: Elaborado pelo autor, 2014.

77 3.4.4.5 Cadastrar Modelo Figura 3.19 MVC cadastrar modelo. Fonte: Elaborado pelo autor, 2014. 3.4.4.6 Cadastrar Proposta Figura 3.20 MVC cadastrar proposta. Fonte: Elaborado pelo autor, 2014.

78 3.4.4.7 Consultar Cliente Figura 3.21 MVC consultar Cliente. Fonte: Elaborado pelo autor, 2014. 3.4.4.8 Consultar Anúncio O diagrama MVC deste caso de uso foi suprimido por conter fluxo semelhante ao representado na figura 3.21. 3.4.4.9 Consultar Proposta O diagrama MVC deste caso de uso foi suprimido por conter fluxo semelhante ao representado na figura 3.21.

79 3.4.4.10 Efetuar Login (Administrador) Figura 3.22 MVC efetuar login (administrador). Fonte: Elaborado pelo autor, 2014. 3.4.4.11 Efetuar Login (Cliente) Figura 3.23 MVC efetuar login (cliente). Fonte: Elaborado pelo autor, 2014.

80 3.4.4.12 Manter Anúncio Figura 3.24 MVC manter anúncio. Fonte: Elaborado pelo autor, 2014.

81 3.4.5 Diagrama de Sequência 3.4.5.1 Abrir Chamado Figura 3.25 Diagrama de sequência abrir chamado. Fonte: Elaborado pelo autor, 2014. 3.4.5.2 Autorizar Publicação de Anúncio Figura 3.26 Diagrama de sequência autorizar publicação de anúncio. Fonte: Elaborado pelo autor, 2014.

82 3.4.5.3 Cadastrar Cliente Figura 3.27 Diagrama de sequência cadastrar cliente. Fonte: Elaborado pelo autor, 2014. 3.4.5.4 Cadastrar Marca Figura 3.28 Diagrama de sequência cadastrar marca. Fonte: Elaborado pelo autor, 2014.

83 3.4.5.5 Cadastrar Modelo Figura 3.29 Diagrama de sequência cadastrar modelo. Fonte: Elaborado pelo autor, 2014. 3.4.5.6 Cadastrar Proposta Figura 3.30 Diagrama de sequência cadastrar proposta. Fonte: Elaborado pelo autor, 2014.

84 3.4.5.7 Consultar Cliente Figura 3.31 Diagrama de sequência consultar cliente. Fonte: Elaborado pelo autor, 2014. 3.4.5.8 Consultar Anúncio O diagrama de sequência deste caso de uso foi suprimido por conter fluxo semelhante ao representado na figura 3.31. 3.4.5.9 Consultar Proposta O diagrama de sequência deste caso de uso foi suprimido por conter fluxo semelhante ao representado na figura 3.31. 3.4.5.10 Efetuar Login (Administrador) Figura 3.32 Diagrama de sequência efetuar login (administrador). Fonte: Elaborado pelo autor, 2014.

85 3.4.5.11 Efetuar Login (Cliente) Figura 3.33 Diagrama de sequência efetuar login (cliente). Fonte: Elaborado pelo autor, 2014. 3.4.5.12 Manter Anúncio Figura 3.34 Diagrama de sequência manter anúncio. Fonte: Elaborado pelo autor, 2014. 3.5 CONSIDERAÇÕES SOBRE O CAPÍTULO Este capítulo abrangeu uma análise de negócio que considerou vários aspectos importantes relacionados ao ambiente e envolvidos no processo em que o sistema será implantado e também mostrou a análise de requisitos contendo

86 diagramas de atividades, sequência e MVC que são essenciais para o desenvolvimento do sistema proposto por este trabalho. O próximo capítulo é totalmente dedicado ao desenvolvimento do sistema.

87 4 IMPLEMENTAÇÃO Este capítulo apresenta o sistema finalizado e mostra a navegação através de suas telas, funcionalidades e recursos. Para o desenvolvimento do sistema foram utilizadas as tecnologias apresentadas no primeiro capítulo deste trabalho baseando-se no padrão MVC. Inicialmente foi criado um novo banco de dados MySql para ser utilizado pelo sistema. A criação das tabelas e seus relacionamentos no banco de dados foram realizados pelo framework Hibernate através de Hibernate annotations. Para o desenvolvimento da interface destinada a usuários, foram utilizados os frameworks JSF e Primefaces e para o controle de acessos de usuários foi utilizado o framework Spring Security. Para o funcionamento inicial do sistema, é necessário que o usuário administrador do sistema já esteja cadastrado no banco de dados pelo próprio desenvolvedor, pois o framework de segurança Spring Security utilizado neste sistema controla as sessões de usuários através de roles, que são papéis que cada tipo de usuário representa dentro do sistema. O administrador do sistema possui o papel de administrador que só pode ser incluso internamente pelo banco de dados e também o papel de usuário que é o padrão para quem se cadastra através do site. Ao acessar o site, a página inicial é exibida e nela estão as opções de navegação. Para ter acesso às áreas restritas do sistema, o administrador ou cliente vendedor deve escolher a opção Central do Cliente nas opções do site. A figura 4.1 mostra a página inicial e basicamente mostra o layout padrão de todas as áreas do site e do sistema. Automaticamente, o site redireciona o usuário para a tela de login (figura 4.2). Caso não possua cadastro, o usuário pode acionar o botão Registre-se e fazer um cadastro conforme ilustra a figura 4.3 e sequencialmente efetuar o login. A partir deste momento a explicação seguirá por três tipos possíveis de usuários do sistema que são: administrador, cliente vendedor e cliente comprador.

88 Figura 4.1 Página principal do site. Fonte: Elaborado pelo autor, 2014. Figura 4.2 Trecho da página de login. Fonte: Elaborado pelo autor, 2014. Na sequência, a figura 4.3 mostra o formulário de cadastro de usuário.

89 Figura 4.3 Trecho da página de cadastro de usuário. Fonte: Elaborado pelo autor, 2014. 4.1 ÁREA DO ADMINISTRADOR Após efetuar o login, o administrador acessa a área chamada Central do Cliente que é destinada ao cliente vendedor, pois o mesmo também pode realizar as mesmas tarefas que um usuário comum caso necessário, como incluir um anúncio próprio e etc. Esta área será explicada detalhadamente na seção 4.2 Cliente Vendedor. Além das opções comuns para clientes vendedores, uma opção chamada Central do Administrador é ativada quando o administrador está autenticado na sessão e como o nome sugere, redireciona o usuário à área destinada para o administrador do sistema. Uma vez na Central do Administrador (figura 4.4), o administrador tem acesso às opções subdivididas por categorias que serão explicadas na ordem em que aparecem. Na categoria Anúncios estão as opções Aprovar Pagamento, Aguardando Pagamento, Ativos e Todos.

90 Em Aprovar Pagamento, o administrador recebe uma lista de anúncios cadastrados por clientes vendedores. Para que estes anúncios sejam exibidos no site, é necessário que o administrador confirme o recebimento do pagamento feito pelo cliente referente ao período de exibição do anúncio no site e também verifique a qualidade dos dados inseridos no anúncio, verificando as imagens e informações atreladas ao anúncio. Figura 4.4 Trecho da página da área do administrador. Fonte: Elaborado pelo autor, 2014. Uma vez que todas estas informações estejam de acordo, o administrador aciona o botão Aprovar Anúncio e executa um método interno do sistema (figura 4.5) que automaticamente insere um prazo de validade no anúncio de acordo com o período adquirido pelo cliente. Para exemplificar, caso o cliente vendedor tenha escolhido um plano com período de 60 dias para exibição de seu anúncio, no momento em que o administrador aciona o botão de aprovação, o método inserirá um prazo de validade de 60 dias para a vinculação do anúncio contando a partir da data da aprovação.

91 Figura 4.5 Código-fonte do método aprovarpagamento. Fonte: Elaborado pelo autor, 2014. Nas opções seguintes são geradas listas com anúncios de acordo com sua situação no sistema, tais como: Ativos são anúncios com validade vigente, Expirados são anúncios com validade expirada e por fim Todos lista todos os anúncios independente de suas situações no sistema. Estas opções são para que o administrador possa executar um melhor gerenciamento dos anúncios contidos no sistema. A seguir está a categoria Cadastros. Esta categoria contém duas opções que são Marcas e Modelos. A opção Marcas exibe um formulário para que o administrador efetue o cadastro de marcas e abaixo uma lista com todas as marcas já cadastradas no sistema que se atualiza a cada cadastro realizado através do formulário. Para cadastrar basta preencher o campo Nome e em seguida acionar o botão Salvar e automaticamente a lista abaixo será atualizada. Caso necessite alterar o nome da marca, basta que o administrador acione o botão Editar que aparecerá em frente ao cadastro da marca na lista. Se o objetivo for excluir um cadastro, basta acionar o botão Excluir que também se posiciona em frente ao cadastro da marca na lista. Para realizar o cadastro de modelos, a opção a ser escolhida é Modelos (figura 4.6) que vem logo após a opção explicada anteriormente. O layout desta

92 página é semelhante ao cadastro de marcas, porém com mais campos. Ao acessar, o administrador tem à sua disposição um formulário de cadastro e abaixo uma lista com todos os modelos cadastrados. Para cadastrar um modelo deve-se preencher o campo Nome do modelo, selecionar uma marca (cadastrada através do cadastro de marcas) e selecionar uma categoria que contém opções padrões cadastradas pelo desenvolvedor do sistema e em seguida acionar o botão Salvar. A lista será atualizada e o processo de alteração segue semelhantemente ao processo da opção Marcas. Figura 4.6 Trecho da página de cadastro de modelos. Fonte: Elaborado pelo autor, 2014. Como foi visto, para realizar o cadastro de um modelo, primeiramente o administrador deve cadastrar uma marca. Quando um cliente vendedor for realizar o cadastro de um anúncio, precisará que a marca e modelo de seu veículo estejam cadastrados. Caso isso não tenha sido feito, o cliente vendedor abrirá um chamado solicitando o cadastro para o administrador. Esta etapa será explicada detalhadamente na seção 4.2 Cliente Vendedor.

93 Seguindo nas categorias, vem a categoria Suporte que contém as opções Atender Chamado e Chamados Finalizados. Através da opção Atender Chamado, o administrador pode visualizar uma lista com todos os chamados abertos pelos clientes vendedores e consequentemente buscar solução para o problema citado. Em frente de cada cadastro há dois botões, sendo Visualizar que ao ser acionado exibe uma página com todos os dados do chamado e ao lado o botão Finalizar que exibe uma página para finalização do chamado onde o administrador pode escrever uma mensagem para o cliente comprador e ao acionar o botão Confirmar Finalização executa um método interno que informa a data da finalização e grava o conteúdo da mensagem para futura visualização do cliente vendedor. Após um processo de finalização do chamado explicado na opção Atender Chamado, o registro contido em sua lista passa a fazer parte de uma lista que é visualizada pelo administrador quando o mesmo acessa a opção Chamados Finalizados. Nesta página são exibidos os últimos chamados finalizados apenas para fins de consulta. A categoria seguinte é Usuários que contém a opção Gerenciamento. Ao acessar esta opção o administrador tem acesso à uma lista contendo todos os usuários do sistema. Nesta lista há a possibilidade de desativar ou reativar um usuário do sistema apenas acionando um único botão. Ao ser desativado, o cliente vendedor perde o acesso ao site. O administrador também pode consultar as informações do cliente para um possível contato caso houver necessidade. E por fim, com término das categorias, vem as opções Sair que finaliza a sessão do usuário e o redireciona para a página principal do site e a opção Central do cliente que remete o administrador a Central do Cliente novamente. Assim, finaliza-se o processo envolvendo a sessão do usuário administrador. A seguir será explicada a sessão do usuário cliente vendedor. 4.2 ÁREA DO CLIENTE VENDEDOR Logo após efetuar o login, o usuário cliente vendedor é direcionado para a página Central do Cliente conforme mostra a figura 4.7.

94 Figura 4.7 Trecho da página da área do cliente. Fonte: Elaborado pelo autor, 2014. Esta área está organizada com o mesmo padrão da Central do Administrador, ou seja, as opções estão separadas por categorias. As próximas linhas são destinadas à explicar cada uma delas. Pela ordem, a primeira categoria é Meus Anúncios que contém as opções Cadastrar, Gerenciar, Aguardando Pagamento, Ativos, Expirados e Propostas Recebidas. A opção Cadastrar abre uma página com um formulário de cadastro de anúncio. Nele o cliente comprador deve informar todos os dados solicitados sobre seu veículo. Para efetuar o cadastro, o usuário deve selecionar um plano que contém um período para exibição de seu anúncio no site, sendo opções: 30 dias, 60 dias e 90 dias. Alguns campos devem ser preenchidos manualmente e entre estes estão campos com opções padrão para seleção, tais como: tipo de cambio, quantidade de portas, quilometragem, combustível e cor. A figura 4.8 exibe a página de cadastro de anúncio.

95 Figura 4.8 Página de cadastro de anúncio. Fonte: Elaborado pelo autor, 2014. Além destes campos, está o campo com opção selecionável modelo, que como visto na sessão 4.1 Administrador, é cadastrado pelo administrador do sistema. Ainda no formulário de cadastro, existem quatro componentes para realizar o upload de imagens do veículo, sendo que por padrão, a primeira sempre deve ser uma imagem frontal do veículo e as demais de acordo com a preferência do cliente vendedor. Ao finalizar o preenchimento do formulário de cadastro de anúncio, o botão Cadastrar deve ser acionado e automaticamente redireciona para uma página de confirmação com informações para o usuário e disponibilizando um botão chamado Confirmar Pagamento que redireciona para uma página terceirizada de

96 pagamentos online para efetivação do pagamento do anúncio de acordo com o plano escolhido. Continuando após o processo de cadastro, a opção seguinte Gerenciar tem por objetivo listar todos os anúncios do usuário, independentemente de sua situação no sistema. Seguindo o mesmo modelo de opções de lista visto nas explicações anteriores, existem dois botões, sendo um botão Editar que redireciona para uma página de alteração de dados do anúncio e o outro o botão Excluir que exclui o anúncio cadastrado. Na sequência estão duas opções de consulta, sendo Aguardando Pagamento e Ativos. Como os nomes sugerem, cada opção gera uma lista de anúncios com situações correspondentes aos títulos. Assim o usuário pode visualizar com facilidade quais anúncios estão aguardando pela confirmação de pagamento e quais estão ativos. Um exemplo pode ser visto na figura 4.9. Figura 4.9 Trecho da página de anúncios com prazo de validade vigente. Fonte: Elaborado pelo autor, 2014. Ainda na mesma sequência, está a opção Expirados, que também gera uma lista de anúncios com uma situação correspondente ao nome, porém, quando esta lista é gerada, à frente de cada anúncio está o botão Renovar, que ao ser acionado

97 redireciona para uma página onde o usuário pode selecionar um novo plano conforme feito no momento da inclusão, uma vez escolhido basta acionar o botão Confirmar e automaticamente será encaminhado para a página de confirmação de compra contendo o link para o site terceirizado de pagamentos online. A situação do anúncio é novamente alterada para Aguardando Pagamento e ficará a espera da autorização do administrador. Esta funcionalidade é muito importante, pois o cliente vendedor precisa cadastrar seu anúncio apenas uma vez e pode renová-lo quantas vezes quiser. As figuras 4.10 e 4.11 mostram as páginas de renovação. Figura 4.10 Trecho da página de anúncios com prazo de validade expirado. Fonte: Elaborado pelo autor, 2014. Na sequência a figura 4.11 exibe a página para seleção do plano à ser adiquirido para renovação do período de vinculação do anúncio no site. Figura 4.11 Trecho da página de renovação de plano do anúncio. Fonte: Elaborado pelo autor, 2014.