FÁBIO ALESSANDRE DE SOUZA ESTÁGIO CURRICULAR I/II PESQUISA E DESENVOLVIMENTO DE PROTÓTIPO COM JQUERY MOBILE E DELPHI EMPRESA: SOFtran Informática do Transporte Ltda SETOR: Tecnologia SUPERVISOR: Cristiano Luiz de Carvalho ORIENTADOR: André Tavares da Silva TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS CENTRO DE CIÊNCIAS TECNOLÓGIAS - CCT UNIVERSIDADE DO ESTADO DE SANTA CATARINA UDESC JOINVILLE SANTA CATARINA - BRASIL 05/2012 i
APROVADO EM.../.../... Professor André Tavares da Silva Doutor em Engenharia Elétrica - Unicamp Professor Orientador Professor Guilherme Koslovski Doutor em Informática ENS Lyon 2011 Professor Cláudio César de Sá Doutor em Ciências da Computação ITA 1997 Cristiano Luiz de Carvalho Supervisor da Concedente ii
Carimbo da Empresa UNIDADE CONCEDENTE Razão Social: SOFtran Informática do Transporte Ltda CNPJ: 00.194.584/0001-83 Endereço: Av. Antônio Ramos Alvin, 892 Bairro: Floresta CEP: 89211-460 Cidade: Joinville UF: SC Fone: (47) 3145-5555 Supervisor: Cristiano Luiz de Carvalho Cargo: Gerente Desenvolvimento ESTAGIÁRIO Nome : Fábio Alessandre de Souza Matrícula: 211220733 Endereço: Rua Otto Boehm, 805 Apto 704 Bairro: América CEP: 89201-700 Cidade: Joinville UF: SC Fone: (47) 3025-7231 Curso de : TADS - Tecnologia em Análise e Desenvolvimento de Sistemas Título do Estágio: Período: 19/03/2012/ a 15/05/2012 Carga horária: 240 AVALIAÇÃO FINAL DO ESTÁGIO I/II PELO CENTRO DE CIÊNCIAS TECNOLÓGICAS Representada pelo Professor Orientador: André Tavares da Silva CONCEITO FINAL DO ESTÁGIO I/II Excelente (9,1 a 10) Muito Bom (8,1 a 9,0) Bom (7,1 a 8,0) Regular (5,0 a 7,0) Reprovado (0,0 a 4,9) NOTA ETG I (Média do Processo) NOTA ETG II (Média do Processo) Rubrica do Professor da Disciplina Joinville / / iii
Nome do Estagiário : Fábio Alessandre de Souza QUADRO I AVALIAÇÃO NOS ASPECTOS PROFISSIONAIS QUALIDADE DO TRABALHO: Considerando o possível. ENGENHOSIDADE: Capacidade de sugerir, projetar, executar modificações ou inovações. CONHECIMENTO: Demonstrado no desenvolvimento das atividades programadas. CUMPRIMENTO DAS TAREFAS: Considerar o volume de atividades dentro do padrão razoável. ESPÍRITO INQUISITIVO: Disposição demonstrada para aprender. INICIATIVA: No desenvolvimento das atividades. SOMA Pontos QUADRO II AVALIAÇÃO DOS ASPECTOS HUMANOS ASSIDUIDADE: Cumprimento do horário e ausência de faltas. DISCIPLINA: Observância das normas internas da Empresa. SOCIABILIDADE: Facilidade de se integrar com os outros no ambiente de trabalho. COOPERAÇÃO: Disposição para cooperar com os demais para atender as atividades. SENSO DE RESPONSABILIDADE: Zelo pelo material, equipamentos e bens da empresa. SOMA Pontos PONTUAÇÃO PARA O QUADRO I E II Sofrível - 1 ponto, Regular - 2 pontos, Bom - 3 pontos, Muito Bom - 4 pontos, Excelente - 5 pontos LIMITES PARA CONCEITUAÇÃO AVALIAÇÃO FINAL Pontos De 57 a 101 - SOFRÍVEL SOMA do Quadro I multiplicada por 7 De 102 a 147 - REGULAR SOMA do Quadro II multiplicada por 3 De 148 a 194 - BOM SOMA TOTAL De 195 a 240 - MUITO BOM De 241 a 285 - EXCELENTE Nome da Empresa: SOFtran Informática do Transporte Ltda Representada pelo Supervisor: Cristiano Luiz de Carvalho CONCEITO CONFORME SOMA TOTAL Rubrica do Supervisor da Empresa Local: Data : Carimbo da Empresa iv
UDESC UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS - CCT PLANO DE ESTÁGIO CURRICULAR I/II ESTAGIÁRIO Nome: Fábio Alessandre de Souza Matrícula: 211220733 Endereço (Em Jlle): Rua Otto Boem, 805 Ap 704 Bairro: América CEP: 89201-700 Cidade: Joinville UF: SC Fone: (47) 3025-7231 Endereço (Local estágio): Av. Antônio Ramos Alvin, 892 Bairro: Floresta CEP: 89211-460 Cidade: Joinville UF: SC Fone: (47) 3145-5555 Regularmente matriculado no semestre: 2012/1 Curso: TADS Formatura (prevista) Semestre/Ano: 2012/1 UNIDADE CONCEDENTE Razão Social: SOFtran Informática do Transporte Ltda CNPJ: 00.194.584/0001-83 Endereço: Av. Antônio Ramos Alvin, 892 Bairro: Floresta CEP: 89211-460 Cidade: Joinville UF: SC Fone: (47) 3145-5555 Atividade Principal : Desenvolvimento de Softwares Supervisor: Cristiano Luiz de Carvalho Cargo: Gerente Desenv. Sistemas DADOS DO ESTÁGIO Área de atuação: Desenvolvimento Departamento de atuação: Tecnologia Fone: 3145-5555 Ramal: 5569 Horário do estágio: 08:00 às 12:00 / 13:30 às 15:30 Total de horas: 240 Período: 19/03/2012 até 15/05/2012 Nome do Professor Orientador: : André Tavares da Silva Departamento: DCC Disciplina(s) simultânea(s) com o estágio Quantas: 0 Quais: OBJETIVO GERAL Pesquisa sobre a utilização da ferramenta de desenvolvimento Delphi com o framework JQuery Mobile para desenvolvimento de aplicativos Web voltados para utilização em dispositivos móveis, e desenvolvimento de um protótipo de aplicativo Web para automação comercial de empresas de transporte. v
ATIVIDADES OBJETIVO ESPECÍFICO HORAS Pesquisa Levantamento de informações sobre o funcionamento do framework JQuery Mobile e possibilidades de integração com a ferramenta RAD Delphi. 30 Análise de Requisitos Levantamento e documentação de requisitos do cliente e casos de uso para desenvolvimento do protótipo. 24 Desenvolvimento Implementação dos requisitos de sistema levantados, definição de classes, webservices, geração de fontes de programas. 144 Testes Funcionais e correções Simulações de utilização do software, com o objetivo de detectar anomalias no funcionamento das rotinas, e correção de erros encontrados durantes os testes. 30 Testes de Performance TOTAL Simulações em rotinas do aplicativo, com o objetivo de estressar o servidor de aplicação e SGBD buscando possíveis gargalos de performance. 12 240 Rubrica do Professor Orientador Rubrica do Comitê de Estágios Rubrica do Coordenador de Estágios Rubrica do Supervisor da Empresa Data: Data: Data: Data: Carimbo da Empresa vi
vii CRONOGRAMA FÍSICO E REAL Período (6 horas) ATIVIDADES 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 Pesquisa P R Análise de Requisitos P R Desenvolvimento P R Testes Funcionais e Correções P R Testes de Performance P R
À minha esposa Melissa Aos meus filhos Luana e Felipe À minha mãe Edda Aos meus sócios Paulo e Karin viii
AGRADECIMENTOS Seria muito difícil relacionar todas as pessoas importantes que influenciaram de uma forma ou outra a realização deste trabalho, mas posso destacar: Minha mãe, real motivo por eu ter buscado a conclusão de minha graduação após tanto tempo. Minha esposa Melissa, e meus filhos Luana e Felipe, pelo seu amor e incentivo. E por suportar os momentos de mau humor após longas jornadas de trabalho e estudo. Meus sócios Paulo e Karin, pela amizade, honestidade e por me ensinarem tanto sobre tudo. O professor André Tavares da Silva, cuja aula sobre o framework JQuery despertou meu interesse em buscar mais conhecimento sobre o assunto, e por ser meu orientador neste estágio. Os professores em geral da UDESC Joinville, pela incessante busca de melhoria contínua para fornecer um estudo de qualidade. ix
SUMÁRIO AGRADECIMENTOS... IX SUMÁRIO... X RESUMO... XI INTRODUÇÃO... 12 1.1. OBJETIVOS... 12 1.1.1. Geral... 12 1.1.2. Específicos... 12 1.1.3. Justificativa... 13 1.2. ORGANIZAÇÃO DO ESTUDO... 14 2. A EMPRESA... 15 2.1. HISTÓRICO... 15 2.2. PRINCIPAIS PRODUTOS... 15 2.3. PRINCIPAIS CLIENTES... 16 2.4. CONSIDERAÇÕES GERAIS... 17 3. DESENVOLVIMENTO... 18 3.1. PESQUISA... 18 3.1.1. JQUERY MOBILE... 18 3.1.1.1. Características... 19 3.1.1.2. Plataformas Suportadas... 20 3.1.1.3. Principais Componentes... 20 3.1.2. DELPHI... 20 3.1.2.1. WebBroker... 21 3.1.2.2. Integração com JQuery Mobile... 21 3.2 PROTÓTIPO... 23 3.2.1 Requisitos... 23 3.2.2 Casos de Uso... 25 3.2.3 Modelagem de Dados... 25 3.2.4. Telas... 26 3.2.5. Testes funcionais e correções... 28 3.2.6. Testes de Performance... 28 CONSIDERAÇÕES FINAIS... 31 GLOSSÁRIO... XXXII REFERÊNCIAS BIBLIOGRÁFICAS... XXXV x
RESUMO O presente relatório descreve as atividades realizadas nas disciplinas de Estágio Curricular Obrigatório I e II do curso de Tecnologia em Análise e Desenvolvimento de Sistemas da Universidade do Estado de Santa Catarina, desempenhadas na empresa SOFtran Informática do Transporte Ltda no primeiro semestre de 2012, no departamento de Tecnologia. As atividades envolveram a pesquisa sobre o framework JQuery Mobile e sua possível integração com a ferramenta de desenvolvimento Delphi XE, além do desenvolvimento de um protótipo de automação comercial para empresas de transporte. O objetivo deste estágio não é terminar com um produto final para ser comercializado, mas servir como experimento para avaliação do protótipo criado, e dependendo dos resultados adotar ou não esta tecnologia para desenvolvimento dos produtos Mobile. Palavras-chave: SOFtran. Mobile. JQuery Mobile. Delphi XE.. xi
INTRODUÇÃO A SOFtran possui um ERP com recursos destinados a atender todas as necessidades de uma empresa de transportes e/ou logística. Grande parte do sistema é acessada por equipamentos desktop, porém algumas rotinas podem utilizar equipamentos como coletores de dados, celulares ou smartphones. Um exemplo para utilização de celulares é a baixa de entregas de mercadorias pelos motoristas que fazem os roteiros de entregas. Como SGBD s estão homologados o MSSQL Server e o ORACLE. Este relatório tem como finalidade principal detalhar as atividades realizadas pelo acadêmico Fábio Alessandre de Souza na pesquisa de meios para integrar a linguagem de desenvolvimento utilizada pela empresa com o framework JQuery Mobile, permitindo assim estender a utilização do sistema à dispositivos móveis, como tablet s e smartphones. 1.1. OBJETIVOS 1.1.1. Geral Pesquisa sobre a utilização da ferramenta de desenvolvimento Delphi com o framework JQuery Mobile para desenvolvimento de aplicativos web voltados para utilização em dispositivos móveis, e desenvolvimento de um protótipo de aplicativo web para automação comercial de empresas de transporte. 1.1.2. Específicos. Levantamento de informações sobre o funcionamento do framework JQuery Mobile e possibilidades de integração com a ferramenta RAD Delphi. 12
. Levantamento e documentação de requisitos do cliente e casos de uso para desenvolvimento do protótipo.. Implementação dos requisitos de sistema levantados, definição de classes, webservices, geração de fontes de programas.. Simulações de utilização do software, com o objetivo de detectar anomalias no funcionamento das rotinas, e correção de erros encontrados durante os testes.. Simulações em rotinas do aplicativo com o objetivo de estressar o servidor de aplicação e SGBD buscando possíveis gargalos de performance. 1.1.3. Justificativa Os produtos SOFtran são desenvolvidos com a ferramenta Delphi, que apresenta uma grande produtividade, riqueza de recursos e curva de aprendizado bastante baixa. Porém, há tempos o mercado vem exigindo soluções que rodem na plataforma web. Isto fez a SOFtran investir em pesquisa e desenvolvimento de protótipos em ferramentas baseadas no.net e Java com o intuito de avaliar o grau de dificuldade de uma migração e linguagem. Porém, um levantamento mais aprofundado levou à conclusão de que o tempo necessário para migração de todos os fontes de programas já existentes na linguagem Delphi gerariam um custo muito alto sem um real benefício para a empresa e seus clientes. Alguns números que levaram a esta conclusão: o banco de dados utilizado pelo ERP possui mais de 2.200 tabelas de dados, e mais de 15.000 programas precisariam ser reescritos. Além disto, as grandes melhorias que a Embarcadero vem apresentando na ferramenta Delphi permitem que grande parte dos fontes de programas sejam utilizados com pouco ou nenhum ajuste para utilização de qualquer tecnologia existente. O sucesso do trabalho realizado neste estágio permitirá a utilização de grande parte dos fontes de programas para o desenvolvimento de aplicativos para plataformas 13
móveis e também para web, com um esforço muito mais reduzido, principalmente pela curva de aprendizado muito pequena para os programadores. 1.2. ORGANIZAÇÃO DO ESTUDO O relatório é apresentado em 3 capítulos assim descritos: Primeiro Capítulo: Mostra o objetivo geral, objetivos específicos, justificativa e a organização do estudo deste relatório. Segundo Capítulo: Mostra um breve histórico, características e principais clientes da empresa em que o estágio foi realizado. Terceiro Capítulo: Mostra o conteúdo desenvolvido pelo acadêmico, durante o estágio. Ao final do relatório são apresentadas as considerações gerais. 14
2. A EMPRESA 2.1. Histórico A SOFtran Informática do Transporte foi fundada em 12 de setembro de 1994, com o objetivo de desenvolver softwares e soluções para empresas de transportes. Em 2001 conquistou a certificação ISO 9001 pelo BVQI, em 2003 adequou-se à versão 2000 desta norma, e em 2012 iniciou um projeto para certificação pelas normas do MPS.BR. A empresa possui filial na cidade de São Paulo e pontos de apoio em Farroupilha (RS) e Curitiba (PR). Seus produtos são comercializados em todo o território nacional. Sua missão: Oferecer ao transportador e aos seus clientes tecnologia e conhecimento, aliados a um ERP específico para transporte e logística, que permitam automatizar os processos, aumentando qualidade, desempenho e lucratividade. Seus principais valores: Inovação, Responsabilidade Social, Ética, Transparência, Criatividade, Iniciativa e Compromisso. 2.2. Principais Produtos Os produtos abaixo relacionados compõem o ERP SOFtran, e permitem o controle de todos os processos de uma empresa de transportes e logística:. TMS (Transport Management System). Frota (Controle de Frotas de Veículos). Gestão Financeira. WMS (Warehouse Management System). Suprimentos. RH. Gestão Contábil Fiscal 15
. CRM. SPED. Portal Web. BI. Mobile. Automação de Depósito 2.3. Principais Clientes A SOFtran possui aproximadamente 130 clientes na área de transportes e logística, podendo destacar:. Transville Transportes e Serviços (Joinville, SC). Transmagna Transportes (Guaramirin, SC). Transportadora Plimor (Farroupilha, RS). Translovato Transportes (Caxias do Sul, RS). Transligue Transportes (Joinville, SC). SEQTRA Engenharia logística (Belo Horizonte, MG). Transportes MANN (Joinville, SC). SEKA Transportes (Rio Negrinho, SC). Risso Transportes (Barra Bonita, SP). Transportadora Ociani (Blumenau, SC). Transportes Diamante (Curitiba, PR). Expresso Joinvilense (Joinville, SC). Malta Transportes (Curitiba, PR). MTR Transportes (Blumenau, SC)]. Transportes Letsara (Ijuí, RS). Maringá Transportes (Maringá, PR). Matsuda (Maringá, PR) 16
2.4. Considerações Gerais A SOFtran conta atualmente com 60 funcionários, divididos nos departamentos administrativo, helpdesk, consultoria, vendas, desenvolvimento e tecnologia. Desde sua criação, a empresa focou seu trabalho no desenvolvimento de soluções para o setor de transporte e logística, tendo em sua equipe indivíduos com mais de 20 anos de experiência nesta área. A empresa mantém um departamento de tecnologia, que tem por principal objetivo pesquisar novas tecnologias que possam ser utilizadas para o desenvolvimento de soluções para o setor de atuação. Neste departamento foram executados os trabalhos deste estágio. 17
3. DESENVOLVIMENTO O objetivo deste estágio foi a pesquisa do framework JQuery Mobile, suas características e funcionalidades, visando a integração com a ferramenta de desenvolvimento Delphi, e o desenvolvimento de um protótipo de software para Automação Comercial de uma empresa de transportes, que servirá como laboratório para exercitar a implementação e avaliar a viabilidade de adoção deste modelo de desenvolvimento para o produto Mobile da SOFtran. O objetivo deste estágio não é criar um aplicativo completo para automação comercial, mas desenvolver algumas funcionalidades que permitam testar a produtividade, curva de aprendizado e qualidade do aplicativo gerado. 3.1. Pesquisa Nesta seção são mostradas as tecnologias utilizadas ao longo do estágio, Delphi e jquery Mobile. 3.1.1. JQuery Mobile O jquery Mobile é uma biblioteca JavaScript open source que visa simplificar a utilização do javascript em páginas HTML permitindo desenvolver rapidamente aplicativos com interfaces ricas e leves para dispositivos móveis, usando como base o HTML5. Foi construído a partir do jquery e o jquery UI Foundation, frameworks já consolidados no mercado de desenvolvimento de aplicativos web. O jquery foi projetado para rodar principalmente em navegadores desktop, no jquery Mobile foram adicionados vários recursos e elementos de interface com o usuário específicos para utilização em dispositivos móveis. 18
3.1.1.1. Características. Construído sobre códigos do jquery.. Compatível com a mais parte dos dispositivos móveis, tablets, e-readers e desktops.. Arquitetura modular, permitindo incluir somente recursos necessários para cada tipo de aplicação.. Compatível com o HTML 5.. Suporte a eventos de toque e mouse.. Poderoso suporte ao AJAX.. Excelente performance,. Facilidade em incluir suporte a temas nos aplicativos. A figura 1 mostra uma página padrão do jquery Mobile, normalmente utilizada como ponto de partida para o desenvolvimento de um aplicativo. A leitura das bibliotecas do jquery Mobile é feita na seção <head>. A interface é definida na seção <body> e é dividida em 3 partes: cabeçalho, corpo e rodapé da página. Figura 1. Modelo padrão de página no jquery Mobile 19
3.1.1.2. Plataformas Suportadas Um dos principais atrativos do JQuery Mobile é sua portabilidade, possuindo suporte para a grande maioria de desktops, smartphones, tablets e e-readers. A versão 1.1.0, última versão estável liberada quando o estágio foi feito, suporta os seguintes sistemas operacionais: IOS Android Blackberry Bada Windows Phone Palm WebOS Symbian Meego 3.1.1.3. Principais Componentes Páginas e Diálogos Barras de Comandos Botões Formatação de conteúdo Elementos de formulário 3.1.2. Delphi O Delphi é uma ferramenta RAD para desenvolvimento de aplicativos. Mais especificamente, é um compilador com uma IDE e uma linguagem de programação. Foi desenvolvido pela Borland, tendo sido lançado em 1995 e originalmente direcionado para o desenvolvimento de aplicativos para a plataforma Windows. É muito utilizado para o desenvolvimento de aplicações desktops, multicamadas e cliente servidor. Com o 20
tempo foram sendo incorporados à ferramenta vários recursos para desenvolvimento web. Em 2008, o Delphi foi vendido para a Embarcadero Tecnologies, que tem trabalhado muito na ferramenta e incorporando a ela muitos recursos. 3.1.2.1. WebBroker O WebBroker é uma tecnologia desenvolvida pela Borland que permite desenvolver em Delphi aplicativos que podem ser configurados junto à um servidor web para responder à requisições HTTP, gerando como resposta códigos HTML e JavaScript para a geração de páginas HTML estáticas ou dinâmicas. Isto permite a um programador Delphi utilizar todo o seu conhecimento da linguagem e o poder de grande parte dos componentes que compõem a ferramenta de desenvolvimento e também uma grande quantidade de componentes desenvolvidos por empresas parceiras da Embarcadero pelo mundo. 3.1.2.2. Integração com JQuery Mobile O WebBroker mostrou se uma tecnologia muito simples para gerar códigos HTML e JavaScript. Isto, associado à simplicidade de programação que o jquery Mobile oferece, mostrou-se uma solução muito interessante para a SOFtran por apresentar uma produtividade muito boa e de fácil aprendizagem por programadores Delphi. O WebBroker trabalha basicamente com actions, que são algo parecido com funções que atendem à requisições HTTP geradas pelo aplicativo no browser. A figura 2 mostra uma lista de actions definidas no protótipo. 21
Figura 2. Actions definidas no protótipo Quando a função de uma action é apresentar uma página web, podem ser definidos page producers, que são componentes do Delphi que montam o HTML e JavaScript que irão compor a página. A figura 3 mostra como isto é definido visualmente no ambiente da IDE do Delphi. Figura 3. IDE do Delphi, mostrando uma parte do aplicativo onde estão definidas as Page Producers Estes componentes page producers, quando acessados, disparam um evento no objeto, onde são montadas as sentenças HTML e jquery Mobile. A Figura 4 mostra o 22
código fonte de uma função definido em um evento do objeto que cria a seção body da página utilizando comandos do jquery Mobile. Figura 4. Montagem da seção body da página web. 3.2 Protótipo Para desenvolvimento de um protótipo para aplicação do conhecimento adquirido, escolhemos desenvolver parte de um aplicativo para automação comercial para empresas de transporte e logística, considerando necessidades já mencionadas por clientes que possuem representantes que fazem visitas a clientes, com o objetivo de oferecer o serviço de transporte de mercadorias. O departamento comercial de uma empresa de transportes tem muita necessidade de poder acessar remotamente informações contidas no ERP, para facilitar o processo de negociação. 3.2.1 Requisitos F1 Agenda de visitas Descrição: O aplicativo deve permitir que o representante consulte sua agenda de visitas agendadas no período, apresentando as seguintes informações: Data e hora prevista da visita, nome do cliente. Requisitos não Funcionais 23
Nome NF.1.1 Ordenação NF.1.2 Privacidade NF 1.3 Login Restrição O sistema deverá apresentar a agenda ordenada por data e hora da visita. O sistema apresentar somente informações do representante logado no aplicativo. Só serão permitidas consultas por um usuário logado no aplicativo F2 Histórico de carregamento Descrição: O aplicativo deve permitir que o representante consulte o histórico dos últimos 3 meses de carregamento de um cliente, apresentando as seguintes informações: mês/ano, peso carregado, valor do frete, peso médio por volume, valor médio de frete por conhecimento de frete. Requisitos não Funcionais Nome Restrição NF.1.1 Ordenação NF 1.2 Login O sistema deverá apresentar o histórico de carregamento dos últimos 3 meses, ordenados por mês de carregamento. Só serão permitidas consultas por um usuário logado no aplicativo F3 Consulta cadastro cliente Descrição: O aplicativo deve permitir que o representante consulte, pela seleção do nome do cliente em uma lista, os dados cadastrais como: CNPJ, Nome, Endereço, Cidade, UF, CEP, Telefone Requisitos não Funcionais Nome Restrição NF.1.1 Ordenação NF 1.2 Login O sistema deverá apresentar o histórico de carregamento dos últimos 3 meses, ordenados por mês de carregamento. Só serão permitidas consultas por um usuário logado no aplicativo F4 Consulta à localização geográfica do cliente Descrição: O aplicativo deve permitir que o representante possa visualizar em um mapa o endereço do cliente. Requisitos não Funcionais Nome Restrição NF.1.1 Login Só serão permitidas consultas por um usuário logado no aplicativo 24
3.2.2 Casos de Uso Nome Atores Descrição Referência Consulta agenda Representante O representante poderá selecionar de uma lista os compromissos agendados. F1 Consulta histórico de carregamento Representante O representante selecionará em uma lista o cliente a ser consultado, e então o aplicativo irá apresentar o histórico de carregamento de mercadorias. F2 Consulta cadastro cliente Representante O representante selecionará em uma lista o cliente a ser consultado, e então os dados do cliente serão apresentados. F3 Consulta localização geográfica do cliente Representante O representante selecionará em uma lista o cliente a ser consultado, e então será apresentando um mapa indicando a localização geográfica do cliente. F4 3.2.3 Modelagem de Dados A figura 5 mostra o modelo entidade-relacionamento relativo às tabelas de dados que foram utilizadas no desenvolvimento deste protótipo, e as colunas envolvidas. Figura 5. Modelo ER 25
3.2.4. Telas Abaixo seguem algumas telas do aplicativo para facilitar o entendimento do software que foi produzido como resultado deste estágio. Figura 6. Tela de Login Figura 7. Tela do menu geral 26
Figura 8. Seleção de Clientes Figura 9. Tela de localização do cliente 27
3.2.5. Testes funcionais e correções Com o objetivo de verificar o comportamento do aplicativo e possíveis falhas no desenvolvimento, foram feitos testes de funcionalidades de cada rotina, simulando a utilização em condições normais. Os testes foram realizados em uma estação de trabalho através de um simulador de smartphone, utilizando um plugin instalado no browser Chrome, chamado Smartphone Simulator. Além disto, foram realizados testes acessando o aplicativo a partir de um tablet Motorola Xoom e de um smartphone Samsung Galaxy SII, ambos através de uma conexão 3G. Também foi criado um Banco de Dados no SGBD MSSQL Server, que foi alimentado com dados fictícios de clientes, agenda de visitas, documentos fiscais emitidos e cadastro de representantes, utilizando para isto o sistema ERP. Pequenos bugs foram encontrados durante esta fase de testes, sendo devidamente corrigidos. A maioria dos erros tinha referência com ordem de navegação das páginas do aplicativo e ortografia. Apenas um erro levou mais tempo para ser corrigido, referente a um mau funcionamento das API s de mapas do Google, utilizadas para a tela da rotina de localização geográfica do cliente. 3.2.6. Testes de Performance Para os testes de performance do aplicativo, foi utilizada a ferramenta WAPT, na sua última versão disponível (7.5). O WAPT foi escolhido pela facilidade de sua utilização, devido à interface clara e intuitiva. Esta ferramenta permite gravar todas as URL s percorridas e todas as informações digitadas durante o acesso ao aplicativo através de um navegador web, para depois repetir todos os passos realizados como se fossem realizados simultaneamente por vários usuários. Isto permite uma estimativa da quantidade máxima de acessos simultâneos que o aplicativo pode suportar mantendo um tempo de resposta aceitável. A figura 10 mostra uma tela da ferramenta WAPT com os resultados de um teste com 50 usuários simultâneos acessando o aplicativo, simulando o acesso às telas do 28
aplicativo. O eixo X demonstra o tempo de execução (1 minuto), com um aumento gradativo da quantidade de usuários, iniciando em 1 e finalizando em 50. O eixo Y mostra o tempo de resposta médio de resposta das requisições, que marcaram o máximo de 0,35 segundos com 50 usuários. Figura 10. Tela de resultados do WAPT Isto não representa necessariamente o tempo máximo de resposta que o usuário pode experimentar quando utilizar o aplicativo em seu smartphone ou tablet na vida real, pois isto depende de muitos outros fatores, como qualidade do sinal da rede GPRS ou 3G utilizada, velocidade do processador do dispositivo utilizado, memória, entre outros. Como não temos domínio sobre estes fatores, podemos apenas garantir que o aplicativo estará respondendo rapidamente dentro de situações normais de utilização, e isto pode ser verificado nestes testes. Como ambiente de testes foi utilizado um servidor web instalado em uma máquina virtual, utilizando o recurso Hyper-V do Windows 2008 Server. Como estação rodando a ferramenta WAPT para simular as conexões de usuário foi utilizado um notebook. Abaixo seguem as características dos equipamentos: 29
Servidor: DELL PowerEdge 1850 1 núcleo de um processador Intel Xeon E5645, 2.4GHz Sistema Operacional Windows 2008 R2 Web Edition 64bits 2GB de memória RAM Microsoft Internet Information Server 7.5 Estação: Notebook Sony VAIO Processador Intel I5 2430M, 2,4GHz Sistema Operacional Windows 7 Professional 6GB de memória RAM 30
CONSIDERAÇÕES FINAIS O trabalho realizado neste estágio foi muito importante para avaliar a integração entre o Delphi e o jquery Mobile, no que diz respeito à produtividade no desenvolvimento, curva de aprendizado e qualidade do aplicativo desenvolvido. Chegamos à conclusão que a utilização destas ferramentas para o desenvolvimento de aplicativos para dispositivos móveis é viável para a empresa, pois permite a reutilização de códigos-fonte já existentes nas camadas de negócio do ERP, baixa curva de aprendizado, alta produtividade no desenvolvimento de programas e boa performance nas respostas do aplicativo desenvolvido. O conhecimento adquirido servirá de base para a criação de padrões para o desenvolvimento de aplicativos para plataformas móveis e desktop via web, que serão utilizados para o desenvolvimento de novos produtos da empresa. O jquery e o jquery Mobile continuarão a ser estudados, por ainda existem muitos recursos que podem ser utilizados, como integração do software com recursos dos dispositivos móveis como GPS, acelerômetro, câmera fotográfica, entre outros. 31
GLOSSÁRIO API Do inglês Application Programming Interface, é um conjunto de rotinas e padrões estabelecidos por um software para que este possa ser utilizado por outros softwares, sem a necessidade de conhecimento de sua implementação, mas apenas de seus serviços. AJAX Do inglês Asyncronous JavaScript and XML, é o uso de técnicas do JavaScript e XML, para tornar páginas web mais interativas com o usuário, utilizando-se de solicitações assíncronas ao servidor web. BDE Sigla para Borland Database Engine, é a camada de software responsável pela conectividade com SGBD s para versões mais antigas do Delphi. BORLAND Empresa de software americana americana que criou o Delphi. BUG Termo comumente utilizado para designar um defeito em um software. BVQI Sigla para Bureau Veritas Quality International, empresa privada que realiza certificações de empresas em normas como a ISO. DELPHI É uma ferramenta para desenvolvimento de software envolvendo compilador, IDE e uma linguagem de programação, originalmente criada pela Borland Software Corporation, e atualmente mantida pela Embarcadero Corp. ERP Sigla para Enterprise Resource Planning, são sistemas de informação que i ntegram todos os dados e processos de uma organização em um único sistema. FRAMEWORK xxxii
É um conjunto de classes e interfaces que colaboram para resolver um problema de software de uma família de problemas semelhantes. GOOGLE Empresa americana de software e serviços online, entre eles o sistema de pesquisa que leva o próprio nome da empresa, serviço de mapas GoogleMaps, entre outros. GPS Do inglês Global Positioning System, em português Sistema de Posicionamento Global, é um sistema de navegação orientado por satélites que fornece à um receptor móvel as coordenadas da posição geográfica do mesmo. IDE Do inglês Integrated Development Environment, ou Ambiente Integrado de desenvolvimento, é um programa de software que reúne características e ferramentas de apoio ao desenvolvimento de software com o objetivo de agilizar este processo. JQUERY É uma biblioteca JavaScript que permite um rápido desenvolvimento de aplicatvos web MPS.BR Sigla para Melhoria de Processos de Software Brasileiro, é um modelo de qualidade de processos para desenvolvimento de software, baseado no CMMI, nas normas ISO/IEC 12207 e ISO/IEC 15504, adaptados para a realidade do mercado de software brasileiro. MSSQL É um SGBD desenvolvido e comercializado pela Microsoft. ORACLE É um SGBD desenvolvido e comercializado pela Oracle Corporation. RAD Sigla para Rapid Application Development, ou Desenvolvimento Rápido de Aplicações em português. SGBD Sigla para Sistema Gerenciador de Banco de Dados, é um conjunto de programas de computador responsáveis pelo gerenciamento de uma base de dados. Seu xxxiii