desenvolvimento de uma ferramenta de auxílio à construção de websites

Upload: silviogarbes

Post on 11-Mar-2016

218 views

Category:

Documents


0 download

DESCRIPTION

Em 1990 é criado a World Wide Web (WWW), uma tecnologia que conectaria hipertextos a Internet e os computadores pessoais. A WWW evoluiu-se rapidamente, deixando de simplesmente exibir conteúdo estático, passando a exibir conteúdos dinâmicos. Mas, para que conteúdos dinâmicos sejam criados, utiliza-se técnicas de programação e de desenvolvimento de software. Técnicas de desenvolvimento de software estão sempre sendo melhoradas, afim de se conseguir maximizar a produtividade. A área da tecnologia da informação (TI) que estuda essas técnicas chama-se Engenharia de Software. Atualmente, utilizar técnicas da Engenharia de software para se criar Websites é extremamente importante. Uma vez que, os Websites estão sendo muito utilizado para executar aplicativos online. E é na área dos aplicativos online que esse projeto teve como objetivo principal mostrar uma ferramenta que poderá auxiliar no desenvolvimento desses. Foi apresentado que utilizando-se essa ferramenta, o desenvolvimento de software fica mais ágil e organizado. Uma avalização de desempenho do sistema proposto pôde comprovar que respostas de Websites que utilizam essa ferramenta são obtidas mais rapidamente. Ao final do projeto, pôde-se concluir que essa ferramenta tem grande chance para se tornar um ambiente de desenvolvimento em comum entre diversos Webmasters.

TRANSCRIPT

  • 1PONTIFCIA UNIVERSIDADE CATLICA DE MINAS GERAISInstituto de Informtica

    Campus ArcosBacharelado em Sistemas de Informao

    DESENVOLVIMENTO DE UMA FERRAMENTA DE AUXLIO CONSTRUO DE WEBSITES

    Slvio Garbes Lara

    Arcos2007

  • 2Slvio Garbes Lara

    DESENVOLVIMENTO DE UMA FERRAMENTA DE AUXLIO CONSTRUO DE WEBSITES

    Monografia apresentada disciplina Trabalho deDiplomao do Curso de Sistemas de Informaoda Pontifcia Universidade Catlica de MinasGerais, campus Arcos, como requisito parcial paraa obteno do grau de Bacharel em Sistemas deInformao.

    Orientador: Prof. Fbio Martins de Oliveira.

    Arcos2007

  • 3Slvio Garbes LaraDesenvolvimento de uma ferramenta de auxlio construo de Websites

    Monografia apresentada disciplina Trabalho de Diplomao do Curso de Sistemasde Informao da Pontifcia Universidade Catlica de Minas Gerais, campus Arcos,como requisito parcial para a obteno do grau de Bacharel em Sistemas deInformao.Arcos, 2007.

    Fbio Martins de Oliveira

    _________________________________________

    Fbio Martins de Oliveira (Orientador) PUC Minas

    Cssio Alexandre Pereira de Castro

    _________________________________________

    Cssio Alexandre Pereira de Castro PUC Minas

    Jandu Tupinambs

    _________________________________________

    Jandu Tupinambs PUC Minas

  • 4A meus pais, Vicente Paulo Lara e ris IolandaFerreira Lara e a meus irmos, Srgio GarbesLara e Solange Garbes Lara, que me apoiarampsicologicamente e financeiramente.

    Aos futuros Webmasters que iro utilizar essaferramenta para o crescimento tecnolgico naWeb.

  • 5Agradecimentos

    Em primeiro lugar agradeo a Deus, por estar presente em todos os lugaresque estive, por confiar em mim e no meu trabalho, por me dar tudo que precisei,principalmente a vida, a amizade, o amor, o carinho, a paixo, a sabedoria.

    Aos meus colegas de sala, Alexandre, Amilton, Bruno, Cristiano, Josiel,Michelle, Mikel, Priscila, e todos aqueles no citados mas que acreditaram em meutrabalho e me auxiliaram no desenvolvimento do mesmo, durante as disciplinascursadas. Agradeo por ter conhecido e convivido com vocs, pelo apoio, pelosmomentos difceis aos quais sempre pude contar incondicionalmente com vocs.Pessoas as quais compartilhei boas risadas, tristezas, trabalhos, e madrugadas frente do computador, so amigos como vocs que fazem tudo ter um sentido e issoeu no esquecerei jamais

    Aos meus professores que me auxiliaram diretamente ou indiretamente nadocumentao dessa monografia.

    Ao meus orientadores lisson (Trabalho Diplomao I) e Fbio (TrabalhoDiplomao II), que com suas sabedorias me guiaram para o caminho certo nodesenvolvimento de minha primeira monografia.

    Ao professor Cssio, que desde o primeiro perodo ofereceu-me oportunidadepara que eu pudesse expressar o meu talento.

    A minha namorada Gabriela Teodoro Paiva de Oliveira que acreditou em meutrabalho e me apoiou diretamente.

    Por fim, a todos que me acompanharam durante o perodo que estivecursando a graduao em Sistemas de Informao da PUC Minas Arcos.

  • 6A unio faz o que sozinho um no conseguefazer.

    Slvio Garbes Lara

  • 7RESUMO

    Em 1990 criado a World Wide Web (WWW), uma tecnologia que conectariahipertextos a Internet e os computadores pessoais. A WWW evoluiu-se rapidamente,deixando de simplesmente exibir contedo esttico, passando a exibir contedosdinmicos. Mas, para que contedos dinmicos sejam criados, utiliza-se tcnicas deprogramao e de desenvolvimento de software. Tcnicas de desenvolvimento desoftware esto sempre sendo melhoradas, afim de se conseguir maximizar aprodutividade. A rea da tecnologia da informao (TI) que estuda essas tcnicaschama-se Engenharia de Software. Atualmente, utilizar tcnicas da Engenharia desoftware para se criar Websites extremamente importante. Uma vez que, osWebsites esto sendo muito utilizado para executar aplicativos online. E na reados aplicativos online que esse projeto teve como objetivo principal mostrar umaferramenta que poder auxiliar no desenvolvimento desses. Foi apresentado queutilizando-se essa ferramenta, o desenvolvimento de software fica mais gil eorganizado. Uma avalizao de desempenho do sistema proposto pde comprovarque respostas de Websites que utilizam essa ferramenta so obtidas maisrapidamente. Ao final do projeto, pde-se concluir que essa ferramenta tem grandechance para se tornar um ambiente de desenvolvimento em comum entre diversosWebmasters.

    Palavras-chave: Web; Internet; Ferramentas; Plataforma de desenvolvimento; Reuso; Engenharia de software.

  • 8LISTA DE FIGURAS

    Figura 1: Exemplo de um caso de uso......................................................................................22Figura 2: Modelo de ciclo de vida de Entrega Evolutiva..........................................................24Figura 3: Exemplo de modelo conceitual.................................................................................25Figura 4: Exemplo de um modelo lgico para o SGBD MySQL.............................................26Figura 5: Exemplo de tabelas de banco de dados relacional.....................................................26Figura 6: Exemplo introdutrio de um cdigo feito em PHP....................................................28Figura 7: Mdulo copiado quando trabalhado de forma tradicional.........................................32Figura 8: Mdulo compartilhado quando trabalhado com a ferramenta Garbes 1.0................32Figura 9: Casos de uso do ambiente..........................................................................................33Figura 10: Diagrama entidade relacionamento da ferramenta Garbes 1.0................................35Figura 11: Arquivos da ferramenta Garbes 1.0 que ficam armazenados na raiz do servidorWeb...........................................................................................................................................38Figura 12: Diagrama de caso de uso Autenticar Webmaster (CSU01).....................................39Figura 13: Tela de acesso..........................................................................................................39Figura 14: Diagrama de caso de uso Gerenciar Webmaster (CSU02)......................................40Figura 15: Tela Gerenciar Webmaster.......................................................................................40Figura 16: Diagrama de caso de uso Gerenciar Sistemas (CSU03, CSU07)............................41Figura 17: Tela Gerenciar Sistemas..........................................................................................41Figura 18: Diagrama de caso de uso Gerenciar Permisses (CSU05, CSU06, CSU08)..........42Figura 19: Diagrama de caso de uso Gerenciar Mdulos (CSU04)..........................................42Figura 20: Tela Gerenciar Mdulos..........................................................................................43Figura 21: Tela de edio do cdigo fonte................................................................................44Figura 22: Tela de edio da documentao.............................................................................44Figura 23: Diagrama de caso de uso Gerenciar Extenso (CSU09).........................................45Figura 24: Tela Gerenciar Extenso..........................................................................................45Figura 25: Criando um sistema.................................................................................................46Figura 26: Criando um mdulo.................................................................................................47Figura 27: Editando o cdigo fonte do mdulo criado.............................................................47Figura 28: Associando os mdulos ao sistema..........................................................................48Figura 29: Diretrio de imagens...............................................................................................48Figura 30: Tela do sistema monitor.......................................................................................49

  • 9LISTA DE GRFICOS

    Grfico 1: Crescimento da rede Internet: ela dobra a cada 15 meses.......................................18Grfico 2: Nmero de servidores da teia mundial WWW: ele dobra a cada 14 semanas.........19Grfico 3: Comparando o desempenho de um sistema que fica armazenado em cdigo fonte eo mesmo sistema armazenado dentro de um banco de dados...................................................50

  • 10

    LISTA DE QUADROS

    Quadro 1: Diferenas entre armazenamento de cdigos, utilizando arquiteturas tradicionais eutilizando arquitetura do sistemas Garbes 1.0..........................................................................37Quadro 2: Comparao da avaliao de desempenho...............................................................51

  • 11

    LISTA DE ABREVIATURAS

    Cd. - Cdigo.LAMP - Linux, Apache, MySQL e PHP.Qtd - Quantidade.Seg - Segundos.SO - Sistema Operacional.Trans. - Transaes.Web - World Wide Web.

  • 12

    LISTA DE SIGLAS

    ARPANet - Advanced Research Projects Agency Network.ASP - Active Server Pages.CERN - European Organization for Nuclear Research (Organizao Europia paraInvestigao Nuclear).DER - Diagrama Entidade-Relacionamento.ER - Entidade-Relacionamento.ERP - Enterprise Resource Planning (Sistema de Gesto Empresarial).GDM - GNOME Display Manager.GPL - GNU General Public License (Licena Pblica Geral GNU).HTML - HyperText Markup Language.HTTP - HyperText Transfer Protocol.IP - Internet Protocol.KDE - K Desktop Environment.PHP - PHP: Hypertext Preprocessor.SAP System Analyse and Programmentwicklung (Sistemas, Aplicaes e Produtospara Processamento de Dados).SGBD - Sistema Gerenciador de Banco de Dados.TCP - Transmission Control Protocol.TI - Tecnologia da Informao.UML - Unified Modeling Language.URL - Uniform Resource Locator.WWW - World Wide Web.

  • 13

    SUMRIO1 INTRODUO........................................................................................................14

    1.1 Objetivos........................................................................................................141.1.1 Objetivos Gerais.........................................................................................141.1.2 Objetivos Especficos................................................................................151.2 Motivao.......................................................................................................161.3 Metodologia....................................................................................................16

    2 REVISO BIBLIOGRFICA..................................................................................172.1 Internet............................................................................................................172.2 Engenharia de Software................................................................................202.2.1 Processos de desenvolvimento de software...........................................222.2.2 Modelo de ciclo de vida por entrega evolutiva........................................232.3 Banco de Dados.............................................................................................242.4 Ferramentas...................................................................................................272.4.1 PHP: Hypertext Preprocessor...................................................................272.4.2 MySQL.........................................................................................................282.4.3 DBDesigner Fork........................................................................................292.5 URL Amigvel.................................................................................................29

    3 DOCUMENTAO DO SISTEMA..........................................................................313.1 Casos de Uso.................................................................................................333.2 Projeto do Banco de Dados..........................................................................34

    4 APRESENTAO DO SISTEMA...........................................................................364.1 Arquitetura de sistemas Webs tradicionais................................................364.2 Arquitetura do sistema Garbes 1.0 ..............................................................364.2.1 Visualizando graficamente essas diferenas...........................................374.3 Conhecendo a ferramenta GARBES 1.0......................................................384.3.1 Arquivos no servidor Web.........................................................................384.3.2 Telas de Interface e Descrio do Funcionamento do Sistema.............384.3.2.1 Autenticar Webmaster.............................................................................384.3.2.2 Gerenciar Webmaster..............................................................................404.3.2.3 Gerenciar Sistemas.................................................................................414.3.2.4 Gerenciar Permisses.............................................................................424.3.2.5 Gerenciar Mdulos..................................................................................424.3.2.6 Gerenciar Extenso.................................................................................454.3.3 Desenvolvendo um sistema com a ferramenta Garbes 1.0....................464.3.3.1 Criando um sistema................................................................................464.3.3.2 Criando os mdulos do sistema............................................................464.3.3.3 Associando os mdulos ao sistema.....................................................484.3.3.4 Testando o sistema.................................................................................494.4 Avaliao de desempenho............................................................................50

    5 CONCLUSO ........................................................................................................525.1 Dificuldade Encontradas ..............................................................................535.2 Contribuies do Trabalho ..........................................................................535.3 Propostas de Trabalhos Futuros..................................................................545.4 Consideraes Finais....................................................................................54

    REFERNCIAS.........................................................................................................55APNDICE................................................................................................................58

  • 14

    1 INTRODUO

    Segundo Melo (2004), a produtividade de software aumentou nas ltimasdcadas, mas no o suficiente para acompanhar a exigente demanda da indstria. Areutilizao apareceu como uma das poucas abordagens reais para tratar oproblema, aumentando a produtividade e a qualidade que a indstria necessitava.

    Vrios avanos foram conseguidos em bibliotecas de software, tcnicas declassificao, criao e distribuio de artefatos reutilizveis, ambientes de apoio reutilizao, entre outros. Mesmo assim, o grau de reutilizao manteve-se muitoaqum das expectativas.

    Na internet, o mesmo problema vem acontecendo. Para tentar maximizar aprodutividade no desenvolvimento de software para a internet, foi desenvolvida umaferramenta que propicia a reutilizao, documentao, e centralizao dos cdigosde vrios sistemas.

    Essa ferramenta chama-se Garbes 1.0. Com ela possvel fornecer maisprodutividade aos desenvolvedores proporcionando aumento da qualidade, reduodos custos, reduo no tempo de entrega, padronizao, interoperabilidade,previsibilidade, confiabilidade e reduo de riscos.

    1.1 Objetivos

    1.1.1 Objetivos Gerais

    Havendo a possibilidade de reutilizar melhor dos cdigos fontes de umsistema, a possibilidade de que vrios sistemas compartilhem os mesmos mdulos,e a diminuio do tempo em se construir sistemas, foi proposto nesse trabalho uma

  • 15

    ferramenta de desenvolvimento que minimize tais problemas.

    1.1.2 Objetivos Especficos

    Os objetivos especficos so:

    Aumentar a produtividade. Aumentar a qualidade do software. Reduzir custos de implementao. Reduzir tempo de entrega de sistemas. Padronizar os mdulos. Reduzir riscos. Obter maior confiabilidade sobre os sistemas desenvolvidos. Centralizar em um mesmo ambiente, mdulos de vrios sistemas. Armazenar no banco de dados, mdulos de vrios sistemas. Reutilizar um mesmo mdulo em vrios sistemas. Facilitar o desenvolvimento de sistemas Web. Possibilitar vrios Webmasters trabalharem no mesmo ambiente de

    desenvolvimento, ao mesmo tempo. Sendo no mesmo projeto ou projetosdiferentes.

    Tornar portvel os cdigos fontes criados, para qualquer banco de dados queutilize essa mesma modelagem do banco de dados.

    Armazenar de forma organizada e documentada os mdulos e sistemascriados.

    Utilizar a ferramenta atravs da internet.

  • 16

    1.2 Motivao

    A possibilidade de facilitar o desenvolvimento de sistemas para Web, e anecessidade de se criar sistemas mais rapidamente, foram os fatores motivacionaisque influenciaram na criao dessa ferramenta de desenvolvimento.

    1.3 Metodologia

    O projeto esta dividido em seis etapas. Abaixo segue a descrio de cadaetapa a ser seguida:

    1. Criar e implementar a modelagem do banco de dados.2. Criar o arquivo principal que far a interligao do Sistema Gerenciador de

    Banco de Dados (SGBD) com o servidor Web.3. Criar os diagramas de Casos de Uso.4. Implementar a ferramenta de desenvolvimento.5. Fazer uma avaliao de desempenho da ferramenta.6. Documentar todo o projeto.

  • 17

    2 REVISO BIBLIOGRFICA

    2.1 Internet

    A rede mundial foi criada a partir de um projeto militar norte-americano. Nosanos 60, no auge da Guerra Fria, o departamento de defesa dos Estados Unidosdecidiu desenvolver uma rede de computadores que no pudesse ser destruda porbombardeios e que conseguisse ligar pontos considerados estratgicos para o pas,como bases militares e centros de pesquisa e tecnologia (REDAO TERRA, 2005).

    A idia era montar uma rede sem um comando central, ou seja, um sistemano qual todos os pontos (os ns da rede) tivessem a mesma importncia e por ondeos dados fossem transmitidos em qualquer sentido (sem uma ordem definida).Estava delineada a ARPAnet, o projeto realizado pela Agncia de Projetos dePesquisa Avanada (Advanced Research Projects Agency) do governo dos EUA(REDAO TERRA, 2005).

    Em 1970, a rede interligava quatro universidades norte-americanas. Quatroanos depois, o nmero de instituies participantes subiu para 40. A troca demensagens e de arquivos j era uma realidade. No mesmo ano, foi criada a Telenet,o primeiro servio comercial de acesso rede dos Estados Unidos (REDAOTERRA, 2005).

    O nome Internet comeou a ser usado apenas em 1982. Em 1983, foiestabelecido o TCP/IP (Transmission Control Protocol/Internet Protocol), alinguagem comum usada por todos os computadores conectados rede at hoje. Noentanto, a Internet ainda no funcionava como atualmente. Foi s em 1991 que foicriado o sistema de hipertexto World Wide Web (WWW), o que facilitou a navegaopela rede. Hoje seria impensvel navegar sem o sistema WWW (REDAO TERRA,2005). O uso da rede aumentou para patamares nunca antes imaginados e continuacrescendo no seu ritmo exponencial. O Grfico 1 mostra que o nmero decomputadores na ARPANET/Internet dobra a cada 15 meses, aproximadamente.

  • 18

    Mantido este ritmo de crescimento, a Internet ter tantos computadores quantos soos habitantes do planeta terra no ano de 2011 (SIMON, 1997).

    Em maro de 1989, na Organizao Europia para Investigao Nuclear(European Organization for Nuclear Research, CERN), o fsico Tim Berners-Leecirculou uma proposta para o gerenciamento facilitado de informao baseado emdocumentos hipertextos, que poderia ser transferida facilmente sobre a Internet. Noano seguinte a proposta foi recirculada e, somente ento, Berners-Lee recebeupermisso para criar o sistema.

    A idia era conectar os hipertextos com a Internet e os computadorespessoais. Desse modo, teria-se uma nica rede de informao para ajudar os fsicosdo CERN a compartilhar de todos os computadores informaes armazenadas no

    Fonte: SIMON, 1997Grfico 1: Crescimento da rede Internet: ela dobra a cada 15 meses.

  • 19

    laboratrio. Em maio de 1990, a organizao define o nome para essa rede dehipertextos, sendo chamada de World Wide Web (WWW).

    Em novembro de 1990, durante os testes da aplicao, entrou emfuncionamento o primeiro servidor Web da histria. No final daquele ano, a aplicaoestava pronta para demonstrao. A Web finalmente nascia. A partir da, a Webevoluiu rapidamente e estima-se que hoje h mais de 80 milhes de sites na internete centena de milhes de usurios conectados a ela (CERN). O Grfico 2 mostra queo nmero de servidores da teia mundial dobra a cada 14 semanas, desde o seuadvento em 1993. Este crescimento extremamente rpido provocado pela adooquase instantnea da nova tecnologia pela Internet j existente. provvel quepassado o perodo de adoo inicial o crescimento da teia passe a acompanhar ocrescimento da Internet (SIMON, 1997).

  • 20

    A segunda gerao da WWW, conhecida como Web 2.0, est mudando oparadigma dos aplicativos usados nos sistemas operacionais. A tendncia dessatecnologia visa no s manter a exibio de hipertexto, mas tambm utilizar a Webcomo um ambiente de trabalho, onde possvel trabalhar de qualquer computadorconectado internet, e utilizar suas ferramentas de trabalho, como, por exemplo,uma ferramenta de escritrio (editor de textos, planilha eletrnica, criao de slides,entre outros).

    Segundo Tim O'Reilly (2005), considerado o criador do termo "Web 2.0", oconceito de Web 2.0 comeou com uma conferncia de brainstorming entre aOReilly e a MediaLive International. Dale Doughherty, pioneiro da Web evicepresidente da OReilly, notou que a Web estava mais importante do que nunca,apresentando instigantes aplicaes novas e sites eclodindo com surpreendenteregularidade. Nasceu ento a Conferncia Web 2.0.

    2.2 Engenharia de Software

    Segundo Carvalho e Chiossi (2001), a Engenharia de Software umadisciplina que rene metodologias, mtodos e ferramentas a serem utilizados, desdea percepo do problema at o momento que o sistema desenvolvido deixa de seroperacional, visando resolver problemas inerentes ao processo de desenvolvimentoe ao produto de software.

    Rezende (2005) diz que todo e qualquer processo, mdulo, objeto, ou seja,partes de software, podem ser reusveis vrias vezes e em vrios locais dosoftware. A reusabilidade tem como objetivos principais a qualidade, a produtividadee a efetividade no desenvolvimento e manuteno de software. Na medida em queos engenheiros de software utilizam partes de software j avaliadas, bem como departes de software j prontos, no ser necessrio sua digitao, codificao everificao de erros. Desta forma, o tempo de trabalho ser reduzido e,conseqentemente, a qualidade j garantida.

  • 21

    A ferramenta desenvolvida visa no somente a reutilizao de cdigos paracriao de sistemas, mas tambm o trabalho em equipe, e em tempo real,possibilitando assim maior performance e agilidade no desenvolvimento desoftwares.

    Um dos requisitos necessrios para que um software seja de qualidade adocumentao. Dentre as diversas formas de se documentar um software seroutilizados o diagrama Entidade-Relacionamento (DER), que esta descrito no captulo2.3, e o digrama de Casos de Uso. Mas, antes disso, necessrio apresentar o que a notao Unified Modeling Language (UML).

    Segundo Rezende (2005), a UML uma notao ou uma padronizaounificada de modelagem (diagramao e desenvolvimento) de software quecongrega esforos de vrios pesquisadores e consultores da rea da tecnologia dainformao. Ela se constitui numa linguagem de modelagem e no numametodologia de desenvolvimento de sistemas ou software.

    Dos noves diagramas da UML existentes, ser explicado sucintamente ofuncionamento somente do diagrama de casos de uso, por ser o nico necessriopara o entendimento da ferramenta desenvolvida.

    Segundo Booch, Rumbaugh e Jacobson (2000), um diagrama de Casos deUso um diagrama que mostra um conjunto de casos de uso e atores e seusrelacionamentos. O contedo bsico para um diagrama de caso de uso : casos deuso, atores, relacionamentos de dependncia, generalizao e associao.

    Melo (2002) descreve os casos de uso como uma seqncia de aes querepresentam um cenrio principal e cenrios alternativos, com o objetivo dedemonstrar o comportamento de um sistema, atravs de interaes com atores.

    Na Figura 1 apresentado um diagrama de casos de uso bsico.

  • 22

    Pode-se ver na Figura 1 que o ator funcionrio est ligado ao caso de usocadastrar cliente, que por sua vez existe uma obrigatoriedade de validar o CPF.Existe tambm a possibilidade de localizar CEP ao efetuar o cadastro de um cliente.Existe um segundo ator identificado como gerente. Esse ator herda todas ascaractersticas do ator funcionrio e ainda pode gerar um relatrio de vendas.

    Percebe-se que a Engenharia de Software todo o planejamento para aconstruo de um software. E um bom planejamento pode trazer resultadosbastantes satisfatrios para a construo de um software.

    2.2.1 Processos de desenvolvimento de software

    Segundo Paula Filho (2001), processo um conjunto de passos parcialmenteordenados, constitudos por atividades, mtodos, prticas e transformaes, usadopara atingir uma meta. Essa meta geralmente est associada a um ou maisresultados concretos finais, que so os produtos da execuo do processo. Emengenharia de software, processos podem ser definidos para atividades comodesenvolvimento, manuteno, aquisio e contratao de software.

    Figura 1: Exemplo de um caso de uso.

  • 23

    Em um processo de desenvolvimento de software, o ponto de partida para aarquitetura de um processo a escolha de um modelo de ciclo de vida. Dentre osmodelos de ciclo de vida, podemos destacar: em cascata, em cascata comrealimentao, espiral, prototipagem evolutiva e entrega evolutiva.

    Para o desenvolvimento da ferramenta proposta neste trabalho foi utilizado omodelo de ciclo de vida evolutiva, por ser um modelo que permite visualizar o projetocomo um todo e possibilita trabalhar separadamente cada parte do produto. Alm depoder facilitar o acompanhamento do projeto. Na seo 2.2.2 visto maisdetalhadamente sobre esse modelo.

    2.2.2 Modelo de ciclo de vida por entrega evolutiva

    Segundo Paula Filho (2001), uma combinao dos modelos em cascata eprototipagem evolutiva forma o modelo de Entrega Evolutiva (Figura 2). Esse modelopermite que, em pontos bem-definidos, os usurios possam avaliar partes doproduto e fornecer realimentao quanto s decises tomadas. Facilita tambm oacompanhamento do progresso de cada projeto, tanto por parte de seus gerentescomo dos clientes. A principal dificuldade a realizao do desenho arquitetnico(isto , dos aspectos de mais alto nvel de abstrao): ele deve produzir umaarquitetura de produto robusta, que se mantenha ntegra ao longo dos ciclos deliberaes parciais.

  • 24

    2.3 Banco de Dados

    Segundo Heuser (2001), banco de dados um conjunto de dados integradosque tem por objetivo atender a uma comunidade de usurios.

    A modelagem de um banco de dados pode ser categorizada comoconceitual, lgicos ou fsicos. O modelo conceitual descreve o banco de dadoscomo ele no mundo real, sem a preocupao com o nvel fsico. O modelo lgicodescreve como uma coleo de registros. E o modelo fsico descreve no nvel fsicode armazenamento.

    Existem ferramentas que tm como objetivo gerenciar uma base de dados.Essas ferramentas so chamadas de Sistemas de Gerncia de Banco de Dados(SGBD). No mercado, h vrios tipos de SGBDs, que trabalham com modelosrelacional, hierrquico, de redes, orientado a objetos, entre outros. Nesse projeto foiutilizado o modelo relacional, por ser o mais utilizado no mercado atualmente. Parafacilitar o entendimento, est descrito abaixo o funcionamento dessa modelagem.

  • 25

    Heuser (2001) diz que um modelo conceitual um modelo de dados abstrato,que descreve a estrutura de um banco de dados de forma independente de umSGBD particular. A tcnica mais difundida de modelagem conceitual a abordagementidade-relacionamento (ER). Nesta tcnica, um modelo conceitual usualmenterepresentado atravs de um diagrama, chamado diagrama Entidade-Relacionamento (DER). A Figura 3 apresenta um DER parcial como exemplo.

    Entre outras coisas, este modelo informa que o banco de dados contmdados sobre empregado e sobre departamento. Para cada empregado, o banco dedados armazena o CPF, o nome, bem como o departamento ao qual est associado.Para cada departamento, o banco de dados armazena o cdigo e o nome dodepartamento.

    Heuser (2001) diz que um modelo lgico um modelo de dados querepresenta a estrutura de dados de um banco de dados conforme vista pelo usuriodo SGBD. A Figura 4 mostra um exemplo de um modelo lgico equivalente aomodelo conceitual da Figura 3.

    Figura 3: Exemplo de modelo conceitual

  • 26

    A Figura 5 mostra um exemplo de tabela de banco de dados relacionalprojetado a partir do modelo lgico mostrado na Figura 4.

    Heuser (2001) diz que os modelos fsicos so usados apenas porprofissionais que fazem sintonia de banco de dados, procurando otimizar a suaperformance. As linguagens e notaes para o modelo fsico no so padronizadase variam de produto a produto. A tendncia em produtos mais modernos escondero modelo fsico do usurio e transferir a tarefa de otimizao ao prprio SGBD.

    Figura 4: Exemplo de um modelo lgico para o SGBD MySQL.

    Figura 5: Exemplo de tabelas de banco de dados relacional.

  • 27

    2.4 Ferramentas

    2.4.1 PHP: Hypertext Preprocessor

    Segundo o manual do PHP, o PHP (um acrnimo recursivo para "PHP:Hypertext Preprocessor") uma linguagem de script de cdigo aberto de uso geral,muito utilizada e especialmente guarnecida para o desenvolvimento de aplicaesWeb embutveis dentro do HyperText Markup Language (HTML). Os cdigosdesenvolvidos em PHP so executado e interpretados no servidor. Para que aspginas desenvolvidas em PHP funcionem, necessrio o interpretador do PHP(como CGI ou mdulo), um servidor Web e um navegador de internet.

    Pode-se tambm fazer um script PHP funcionar sem um servidor Web oubrowser. A nica coisa necessria o interpretador. Esse tipo de uso ideal parascript executados usando o cron ou o Agendador de Tarefas (no Microsoft Windows).

    O PHP pode ser utilizado na maioria dos sistemas operacionais, incluindoLinux, vrias variantes Unix (incluindo HP-UX, Solaris e OpenBSD), MicrosoftWindows, Mac OS X, RISC OS, entre outros. O PHP tambm suportado pelamaioria dos servidores Web atuais, incluindo Apache, Microsoft Internet InformationServer, Personal Web Server, Netscape and iPlanet Servers, Oreilly Website ProServer, Caudium, Xitami, OmniHTTPd, e muitos outros.

    O PHP no est limitado a gerar somente HTML. As habilidades do PHPincluem gerao de imagens, arquivos PDF e animaes Flash criadosdinamicamente.

    O PHP possui suporte a uma ampla variedade de SGBDs, entre elespodemos destacar o InterBase, MySQL, Oracle, PostgreSQL e o IBM DB2.

    O PHP tambm tem suporte para comunicao com outros servios utilizandoprotocolos como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (em Windows) eoutros. Pode abrir sockets de rede e interagir diretamente com qualquer protocolo. AFigura 6 mostra um exemplo introdutrio de como pode ser escrito um script na

  • 28

    linguagem PHP.

    2.4.2 MySQL

    O MySQL um sistema de gerenciamento de bancos de dados relacional ede cdigo aberto. Possui alguns recursos como Stored procedures, Views, Triggers,consistncia de tipos, backup on-line (InnoDB), replicao unidirecional ebidirecional, integridade referencial / foreign key constraints (InnoDB, MaxDB eCluster), Table space (InnoDB), controle de transaes (InnoDB e Cluster), multi verses e transaes ACID, Clustering + Load balancing = High availability (altadisponibilidade), Query cache, Sub-select's e conexo segura entre cliente e servidorcom SSL.

    O MySQL usa a GPL (GNU General Public License - Licena Pblica GeralGNU) para definir o que pode e no pode fazer com o software em diferentessituaes. Caso seja necessrio embutir o MySQL em uma aplicao comercialpode-se adquirir a verso comercial licenciada.

    O MySQL suportado por diversos sistemas operacionais, dentre eles oLinux, FreeBSD, Sun Solaris e Microsoft Windows.

    Fonte: Manual do PHP.Figura 6: Exemplo introdutrio de um cdigo feito em PHP.

  • 29

    2.4.3 DBDesigner Fork

    DBDesigner 4 uma ferramenta case para criar, modelar e efetuarmanutenes em bancos de dados. licenciado como software livre e disponvelpara os sistemas operacionais Windows e Linux. O DBDesigner Fork herda todas ascaractersticas do DBDesigner 4 e ainda h a possibilidade de trabalhar com osSGBDs Firebird/InterBase, Microsoft SQL Server, MySQL, Oracle e PostgreSQL.

    A possibilidade de trabalhar com diversos SGBDs foi o que levou escolhadesse sistema para o desenvolvimento da modelagem do banco de dados daferramenta proposta. Assim, um projeto criado para um SGBD especfico, pode serutilizado para diversos outros bancos de dados.

    2.5 URL Amigvel

    Torres (2004) diz que hoje em dia muito comum o uso de scripts que rodamno servidor (server-side) para gerar contedo dinmico em pginas Web. Isto muito interessante, mas gera um problema: Uniform Resource Locator (URL)grandes ou complicadas demais, difceis de memorizar e sem significado, quepodem at mesmo dificultar a indexao do site por mecanismos de busca.

    comum URLs do tipo: "index.php?section=artigos&data=09-08-2004" ou"index.php?s=web&p=1". A princpio no h problema algum com essas URLs. Maspara memorizar uma URL desse tipo seria complicado. Seria muito melhor que fossealgo do tipo: "www.site.com/artigos/09/08/2004" ou "www.site.com/web/1".

    Alm do problema da complexidade, essas URLs geram outros problemas:

    Alguns mecanismos de busca podem deixar de indexar estas pginas, porcausa dos caracteres ? e &.

    A tecnologia usada na construo do site est sendo exposta.

  • 30

    Se for necessrio mudar a tecnologia do site (php para asp, por exemplo),todas as URLs tero que ser mudadas.

    Expor a tecnologia usada para fazer um site pode ser um problema desegurana e, hoje em dia, qualquer cuidado com segurana, mesmo que pequeno, importante. E, alm disso, com a mudana da tecnologia usada, todos os links ebookmarks que existam para o site sero quebrados.

    Para resolver esses tipos de problemas basta mapear as URLs reais paraURLs virtuais, ficando assim mais fceis de compreender e indexar, e funcionaindependente da tecnologia utilizada. Esse tratamento da URL configurado noservidor Web, fazendo como que todas as URL's requisitadas sejam antes reescritasusando expresses regulares. como se fosse um redirecionamento, s que ousurio no fica sabendo que a pgina foi reescrita, j que o endereo na barra deendereos do navegador de internet no muda e nenhum cabealho HyperTextTransfer Protocol (HTTP) 3xx enviado.

    Um exemplo de arquivo de configurao (.htaccess) para utilizar URLamigvel no servidor Web Apache, seria o seguinte:

    Options +FollowSymLinksRewriteEngine OnRewriteRule !.(gif|jpg|png)$ urls.php

    Onde a opo Options +FollowSymLinks determina que o Apache deversolicitar o arquivo real do link simblico que ser criado.

    A opo RewriteEngine On ativa a engine (motor) do rewrite.Por fim, a opo RewriteRule !.(gif|jpg|png)$ urls.php, utilizando expresso

    regular, a criao da regra que ser utilizada na montagem da nova URL.

  • 31

    3 DOCUMENTAO DO SISTEMA

    Para facilitar o entendimento do sistema desenvolvido, ser feito umcomparativo de como normalmente funciona o desenvolvimento de sites de formatradicional e o desenvolvimento de sites utilizando a ferramenta Garbes 1.0.

    Para se criar um site, no modelo tradicional, primeiramente cria-se umdiretrio onde ficaro armazenados os arquivos do site. Posteriormente, os arquivosso criados e armazenados nesse diretrio. Com o site criado e pronto parapublicao, estes so enviados para o servidor. Na necessidade de se criar um novosite, os mdulos que podero ser aproveitados, so copiados para este, havendoassim, uma duplicao de arquivos.

    A metodologia da ferramenta Garbes 1.0 vem com um paradigma diferente.Projetada para trabalhar em equipe, ela visa, no somente agilidade nodesenvolvimento de sites, mas tambm, o compartilhamento de mdulos entrediversos sites. Primeiramente, vale ressaltar que todos os mdulos que osWebmasters iro trabalhar ficaro armazenados num banco de dados. A ferramentaGarbes 1.0 o ambiente que far o gerenciamento dos dados armazenados noSGBD. Esse ambiente permite que vrios Webmasters trabalhem em projetosdiferentes, compartilhando entre si mdulos em comum. Isso significa que, quandoum Webmaster cria um mdulo para seu sistema, ele tem a opo de compartilharesse mdulo com outros sistemas.

    Graficamente, a Figura 7 mostra a metodologia de como projetar um site deforma tradicional, enquanto a Figura 8 mostra a criao de um site utilizando aferramenta Garbes 1.0.

  • 32

    Figura 7: Mdulo copiado quando trabalhado de forma tradicional.

    Figura 8: Mdulo compartilhado quando trabalhado com a ferramenta Garbes 1.0.

  • 33

    Utilizar a ferramenta Garbes 1.0 resultar na criao de sites maisrapidamente, uma vez que existir o reaproveitamento de arquivos e a possibilidadede trabalhar em equipe.

    3.1 Casos de Uso

    Sucintamente, como se pode ver na Figura 9, o caso de uso do sistema composto pelos atores Webmaster e Administrador. O ator Webmaster tem apossibilidade de gerenciar seus sistemas criados e aqueles que ele tem permisso,gerenciar mdulos e conceder permisses a outros Webmasters para gerenciar seussistemas. O ator Administrador tem permisso de tudo que o Webmaster faz, almde poder criar contas de Webmasters e gerenciar extenses.

    No Apndice A est a descrio de cada caso de uso.

    Figura 9: Casos de uso do ambiente.

  • 34

    3.2 Projeto do Banco de Dados

    A modelagem do banco de dados da ferramenta Garbes 1.0 composta poroito entidades:

    1. webmaster: informaes relacionadas ao Webmaster.2. administrador: administradores do sistema.3. sistema: sistemas dos Webmasters.4. modulo: mdulos criados pelos Webmasters.5. permissao: permisses concedidas por um Webmaster a outros Webmasters

    afim de permitir que esse administrem seus mdulos ou sistemas criados.6. sistema_modulo: Associao entre mdulos e sistemas. Permite que um

    sistema possua vrios mdulos, e que um mdulo seja possudo por diversossistemas.

    7. modulo_dependente: relacionamento entre mdulos que dependem uns dosoutros para funcionar.

    8. extensao: extenses que um arquivo pode ter.

    A Figura 10 mostra o diagrama Entidade Relacionamento, criado com osoftware DBDesigner Fork, da ferramenta projetada.

  • 35

    Figura 10: Diagrama entidade relacionamento da ferramenta Garbes 1.0.

  • 36

    4 APRESENTAO DO SISTEMA

    Para que seja possvel entender o funcionamento da ferramenta Garbes 1.0 necessrio primeiramente visualizar como a maioria dos sistemas Web funcionahoje. O Quadro 1 mostra uma comparao entre a metodologia de desenvolvimentode sistemas Webs de forma tradicional e utilizando a ferramenta Garbes 1.0.

    4.1 Arquitetura de sistemas Webs tradicionais

    Os sistemas so separados por diretrios. Os mdulos dos sistemas ficam armazenados dentro dos diretrios. As documentaes geralmente so separadas em um diretrio especfico. Normalmente quando se precisa reaproveitar um mdulo em outro sistema,

    estes so copiados para o diretrio de destino.

    4.2 Arquitetura do sistema Garbes 1.0

    Todos os cdigos ficam armazenados em registros dentro de tabelas nobanco de dados.

  • 37

    4.2.1 Visualizando graficamente essas diferenas

    Sistemas Webs tradicionais Sistema com Garbes 1.0Sistemas

    Os sistemas sistema1 e sistema2 sodiretrios dentro da pasta www, que araiz do servidor Web.

    Os sistemas so apenas registros emuma tabela do banco de dados.

    Mdulos

    Os mdulos so arquivos de ficamarmazenados dentro do diretrio dosistema criado.

    Os mdulos so registros em outratabela do banco de dados, mas aindano existe uma associao com algumsistema.

    Reutilizando cdigos

    Para reaproveitar um mdulo no sistemasistema2, necessrio fazer a cpiadesse, gastando mais espao no disco.Caso seja necessrio fazer umaalterao, tem-se que percorrer todos osdiretrios que utilizam esse arquivo ealterar um a um.

    Numa terceira tabela do banco de dados,existe a associao entre o cdigo dosistema com os mdulos necessriospara funcionar. Pode-se tambmcompartilhar um mesmo mdulo paradiversos sistemas, bastando apenas criaressas associaes.

    Quadro 1: Diferenas entre armazenamento de cdigos, utilizando arquiteturas tradicionais eutilizando arquitetura do sistemas Garbes 1.0.

  • 38

    4.3 Conhecendo a ferramenta GARBES 1.0

    4.3.1 Arquivos no servidor Web

    A Figura 11 mostra os arquivos que so armazenados na raiz do servidorWeb. O arquivo .htaccess uma configurao para o servidor Web Apache quepermite que urls amigveis sejam utilizadas. J o arquivo urls.php o responsvel,propriamente dito, pela localizao, interpretao e execuo dos cdigos fontesarmazenados no banco de dados. No diretrio imagens armazenado todas asimagens dos sistemas que esto dentro do sistema Garbes 1.0.

    4.3.2 Telas de Interface e Descrio do Funcionamento do Sistema

    4.3.2.1 Autenticar Webmaster

  • 39

    O objetivo permitir que um Webmaster previamente cadastrado possaacessar o sistema. Nessa tela o Webmaster informa seu login de acesso e suasenha. O sistema verifica se as informaes esto corretas e autoriza, ou no, oacesso. Caso o Webmaster esquea sua senha, este pode acessar a tela derecuperar senha e solicitar a recuperao da senha. O sistema gera uma novasenha e envia para o e-mail do Webmaster. A Figura 12 mostra o diagrama de casode uso Autenticar Webmaster, a Figura 13 corresponde tela principal desse casode uso implementado no sistema.

  • 40

    4.3.2.2 Gerenciar Webmaster

    O objetivo visualizar, incluir, alterar e apagar os Webmaster eAdministradores que podem utilizar o sistema. O Webmaster pode ser cadastradocomo Webmaster ou Administrador. Cadastrando-se como administrador, estepoder gerenciar as contas de outros Webmasters e gerenciar extenses de cdigosfontes que podem ser armazenados no sistema. A Figura 14 mostra o diagrama decaso de uso gerenciar webmaster, a Figura 15 corresponde a tela principal dessecaso de uso implementado no sistema.

  • 41

    4.3.2.3 Gerenciar Sistemas

    O objetivo visualizar, incluir, alterar e apagar os sistemas no banco dedados. Pode-se tambm importar e exportar sistemas (mdulo no implementado)para outros bancos de dados, cuja modelagem do banco de dados seja a mesma.

    O Webmaster, atravs dessa tela (Figura 17), poder, aps criado umsistema, selecionar mdulos que iro compor o contedo (cdigo-fonte) do sistemacriado. Mas, para que isso acontea, deve-se estar cadastrado no banco de dados,os mdulos a serem utilizados. A Figura 16 mostra o diagrama de caso de usogerenciar sistemas e a Figura 17 corresponde tela principal desse caso de usoimplementado no sistema.

  • 42

    4.3.2.4 Gerenciar Permisses

    O objetivo conceder privilgios de visualizao, incluso, alterao eexcluso de mdulos a outros Webmasters. A Figura 18 mostra o diagrama de casode uso gerenciar permisses. A implementao desse caso de uso no foi efetuada.

    4.3.2.5 Gerenciar Mdulos

    O objetivo visualizar, incluir, alterar, apagar, documentar e relacionarmdulos dependentes de outros mdulos. Os mdulos podem ser categorizados emtrs reas: Pblica, Privada ou Protegida.

    Um mdulo pblico tem como principal caracterstica ficar visvel para todosos sistemas que precisarem deste, independente de quem seja o usurio. Em contra

  • 43

    partida, a regra do negcio permite que essa categoria de mdulo possa utilizardependncia somente de outros mdulos que estejam na rea pblica.

    O mdulo protegido no fica visvel para todos, e o Webmaster que criou essemdulo pode utiliz-lo em qualquer de seus sistemas. Mdulos dessa rea podemdepender de mdulos pblicos e mdulos protegidos.

    J o mdulo privado pode ser utilizado por somente um sistema. Aps suautilizao, este no pode ser utilizado em outro sistema, mesmo que seja do mesmoWebmaster. Sua dependncia para funcionamento pode incluir todas as categoriasde mdulos, ou seja, mdulos pblicos, mdulos privados e mdulos protegidospodem ser utilizados.

    A Figura 19 mostra o diagrama de caso de uso Gerenciar Mdulos. A Figura20 mostra a tela principal desse caso de uso implementado.

    A Figura 21 mostra a tela onde se edita o cdigo fonte dos mdulos.

  • 44

    A Figura 22 mostra a tela onde se documenta os mdulos criados.

  • 45

    4.3.2.6 Gerenciar Extenso

    O objetivo visualizar, incluir, alterar e apagar extenses no banco de dados.A utilizao de extenso necessria para que o sistema possa identificar aonavegador de internet como deve ser exibido um determinado mdulo. Um exemploseria a extenso html, o sistema Garbes 1.0 envia o cabealho text/html para onavegador de internet, o navegador de internet recebe esse cabealho e interpreta ocdigo fonte recebido como um sistema no formato html. A Figura 23 mostra odiagrama de caso de uso desse mdulo, e a Figura 24 mostra a tela principal dessecaso de uso implementado.

  • 46

    4.3.3 Desenvolvendo um sistema com a ferramenta Garbes 1.0

    4.3.3.1 Criando um sistema

    Primeiramente deve-se criar o sistema. A Figura 25 mostra a criao de umsistema denominado monitor.

    4.3.3.2 Criando os mdulos do sistema

    Em seguida, criamos os mdulos do sistema. A Figura 26 mostra a criao deum mdulo denominado monitor, com extenso html e localizado na reaProtegida. Outros mdulos foram criados utilizando a mesma tcnica.

  • 47

    Para cada mdulo criado foi necessrio editar o cdigo fonte. A Figura 27mostra a tela de edio dos cdigos.

  • 48

    4.3.3.3 Associando os mdulos ao sistema

    Com o sistema e os mdulos criados, hora de associar os mdulos aossistema. A Figura 28 mostra a tela onde so feito essas associaes.

    Agora o sistema esta quase pronto. Faltando apenas colocar as imagens dosistema criado no diretrio imagens. A Figura 29 mostra como fica o diretrio deimagens.

  • 49

    4.3.3.4 Testando o sistema

    Para visualizar o sistema, basta abrir o navegador de internet e digitar a URLcorrespondente ao sistema criado. Nesse caso seria http://localhost/monitor/html,onde localhost seria o servidor Web local, monitor o mdulo principal dosistema, e html a exteno do mdulo principal. A Figura 30 exibe como ficou osistema monitor.

  • 50

    4.4 Avaliao de desempenho

    Testes realizados em laboratrios, utilizando o ambiente LAMP (Linux,Apache, MySQL e PHP), mostram que armazenando o cdigo fonte do sistema embanco de dados, obtm-se um melhor desempenho nas transaes por segundo.Isso possvel por causa da utilizao de ndice, a forma como o SGBD organiza earmazena seus dados e o uso do otimizador de consulta.

    O Grfico 3 mostra uma avaliao de desempenho comparando um sistemafeito para ser executado diretamente em arquivos, e o mesmo sistema cujo cdigofonte est armazenado no banco de dados. As mtricas utilizadas para esse testeforam: memria, quantidade de registro armazenado em cada tabela do banco dedados e quantidade de usurios concorrentes que esto acessando o sistema aomesmo tempo.

    Em complemento ao Grfico 3, o Quadro 2 exibe a descrio de cada

    Grfico 3: Comparando o desempenho de um sistema que fica armazenado em cdigo fonte e omesmo sistema armazenado dentro de um banco de dados.

    1 2 3 4 5 6 7 80

    102030405060708090

    100110120130140

    Cdigo fonte no BD X Cdigo fonte em Arquivo

    Sistema no bancoSistema fora do banco Em arquivo

    Cdigo da comparao

    Tran

    sa

    es po

    r se

    gundo

  • 51

    comparao.Diferena quando o cdigo fonte do sistema esta armazenado no banco de dados e quando o

    cdigo fonte do sistema esta armazenado em arquivoCd. dacomparao

    Memria Qtd registrono BD

    Usuriosconcorrentes

    Cd. fonteno banco

    Cd. Fonteem arquivo

    Diferena Porcentagem

    1 256 MB +- 15 10 92,68 76,33 16,35 17,64%2 256 MB +- 15 20 130,24 88,52 41,72 32,03%3 512 MB +- 15 10 92,52 73,72 18,81 20,33%4 512 MB +- 15 20 130,43 86,44 43,99 33,73%5 256 MB +- 20000 10 90,45 69,07 21,38 23,64%6 256 MB +- 20000 20 120,2 77,57 42,63 35,46%7 512 MB +- 20000 10 92,1 68,5 23,6 25,62%8 512 MB +- 20000 20 119,45 78,14 41,31 34,59%

    Quadro 2: Comparao da avaliao de desempenho.

    Pode-se notar que quando o cdigo fonte do sistema fica armazenado nobanco de dados, em todos os casos, obteve uma quantidade de transaes porsegundo superior ao sistema cujo o cdigo fonte est armazenado em arquivo. Valeobservar que o ambiente de teste foi o mesmo.

    Maiores detalhes sobre os testes podem ser vistos no Apndice B.

  • 52

    5 CONCLUSO

    A ferramenta Garbes 1.0 poder torna-se uma plataforma de desenvolvimentoWeb padro. Alm de estar preparada com novas tecnologias, existem aspossibilidades de:

    Trabalhar em equipe, aumentando assim a qualidade do software, apadronizao dos mdulos criados, reduzindo riscos e obtendo uma maiorconfiabilidade sobre os sistemas desenvolvidos.

    Desenvolver sistemas mais rapidamente, aumentando a produtividade. Utilizar mdulos j existentes, reduzindo o custo de implementao, o tempo

    de entrega de sistemas e facilitando o desenvolvimento de sistemas Web. Centralizar em um mesmo ambiente, mdulos de vrios sistemas.

    Possibilitando o reuso de um mesmo mdulo em vrios sistemas, Viabilizar um ambiente cooperativo, possibilitando que vrios Webmasters

    trabalhem no mesmo ambiente de desenvolvimento, ao mesmo tempo. Sendono mesmo projeto ou projetos diferentes.

    Importar e exportar sistemas, possibilitando que os cdigos fontes sejamtransportados facilmente para outros SGBDs que utilizam a mesmamodelagem do banco de dados.

    Armazenar de forma organizada os mdulos dos sistemas. Documentar os mdulos de forma que fique vinculada ao cdigo fonte do

    mdulo criado, possibilitando assim uma interligao entre os registros. Issopermite que o armazenamento e recuperao da documentao seja feita deforma mais rpida e organizada.

    Tornar o desempenho melhor que desenvolvendo de forma tradicional. Utilizar diversas linguagens de programao, possibilitando obter de melhor o

    que cada linguagem de programao oferece. Utilizar a ferramenta atravs da internet, permitindo o compartilhamento de

    mdulos entre diversos Webmasters.

    Assim, podemos concluir que a plataforma Garbes 1.0 oferece muitas das

  • 53

    caractersticas necessrias para se ter um melhor rendimento no desenvolvimentode sistemas Web.

    5.1 Dificuldade Encontradas

    Criar o arquivo que faz a ligao entre o servidor Web e o SGBD. Criar uma padronizao de nomenclaturas utilizadas nos nomes dos mdulos.

    (Este ainda no foi realizado, tornando-se um trabalho futuro). Gerenciar Permisses (Mdulo no implementado, tornando-se um trabalho

    futuro). Criar o cdigo fonte do sistema Garbes 1.0 direto no banco de dados.

    5.2 Contribuies do Trabalho

    Um novo paradigma em se criar sistemas Webs. Garbes 1.0 pode-se tornar uma plataforma padro para desenvolver sistemas

    Webs. Uma vez adotada, ser possvel que Webmasters criem mdulos ecompartilhem com outros Webmasters possibilitando assim, umdesenvolvimento gil nas aplicaes.

    A ferramenta desenvolvida pode ser muito bem utilizada em ambientes ondeo trabalho em equipe fundamental.

  • 54

    5.3 Propostas de Trabalhos Futuros

    Implementar a funcionalidade importar e exportar sistemas. Implementar a funcionalidade importar e exportar mdulos. Implementar o mdulo gerenciar permisses. Fazer uma nova avaliao de desempenho colocando-se uma maior carga de

    usurio simultneos; Na rea onde se digita os cdigos fontes do mdulo, destacar os termos que

    so palavras chaves e colocar um contador de linha e coluna; Tornar o sistema multi-idiomas; Tornar o sistema compatvel com diversos SGBD's; Criar uma padronizao de nomenclaturas utilizadas nos nomes dos mdulos; Tornar o sistema compatvel com os navegadores de internet mais usados; Melhorar a interface e a usabilidade; Melhorar a segurana do sistema. Criar um Help com a documentao dos mdulos desenvolvidos.

    5.4 Consideraes Finais

    Os cdigos fontes da ferramenta Garbes 1.0 esto armazenados no prpriocontedo do banco de dados o qual ele administra. O segredo para que issoacontea est no arquivo principal que faz a ligao entre o servidor Web e o SGBD.Este arquivo, quando requisitado por um usurio, recebe alguns parmetros,organiza os dados recebidos, consulta o SGBD, seleciona os mdulos necessriospara sua execuo, gera um script na memria e executa esse script. O resultadodesse script exibido no navegador de internet do usurio.

  • 55

    REFERNCIAS

    BEZERRA, Eduardo. Princpios de Anlise e Projetos de Sistemas com UML. 9.ed. Rio de Janeiro: Elsevier, 2002

    BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML, guia do usurio.Traduo de SILVA, Fbio Freitas da. 9 Tiragem Rio de Janeiro: Campus, 2000.

    CERN. The website of the world's first-ever web server. Disponvel em: Acesso em: 25 mar. 2007.

    DB Designer FORK. Disponvel em: Acesso em: 21 mai. 2007.

    HEUSER, Carlos Alberto. Projeto de banco de dados. 4. ed. Porto Alegre: Institutode Informtica da UFRGS: Sagra Luzzatto, 2001. (Srie livros didticos, nmero 4).

    MELO, Cludia de Oliveira. Reutilizao de Software: Classificao e Seleo deArtefatos Reutilizveis, 2004. Disponvel em:. Acessoem: 24 ago. 2007.

    MySQL. Manual de Referncia do MySQL 4.1. Disponvel em: Acesso em: 21 mai. 2007.

    NIELSEN, Jakob. Projetando Websites. 2. Tiragem. Traduo de Ana Gibson. Riode Janeiro: Campos, 2000.

  • 56

    O'REILLY, Tim. What Is Web 2.0. 30 set. 2005. Disponvel em:

    Acesso em: 10 mai. 2007.

    O'REILLY, Tim; MEDEIROS, Miriam. O que a Web 2.0. 30 set. 2005. Disponvelem: Acesso em: 10 mai.2007.

    PAULA FILHO, Wilson de Pdua. Engenharia de Software Fundamentos,Mtodos e Padres. 2 ed. Rio de Janeiro, RJ, 2003.

    PHP. Manual do PHP. Disponvel em: Acessoem: 21 mai. 2007.

    QUACK, Till. How to Succeed With URLs. 12 out. 2001. Disponvel em: Acesso em: 25 mar. 2007.

    REDAO TERRA. Anos 60: a origem militar. Terra, 31 mai. 2005. Disponvel em:

    Acesso em: 7 mai. 2007.

    REDAO TERRA. Em 10 anos, Internet cresceu em diversas reas. Terra, 7 jun.2005. Disponvel em:

    Acesso em: 25 mar. 2007.

    REZENDE, Denis Alcides. Engenharia de software e sistemas de informao. 3.

  • 57

    ed. Rio de Janeiro: Brasport, 2005.

    SIMON, Imre. Crescimento Exponencial. 16 jul. 1997. Disponvel em: Acesso em: 25 mar. 2007.

    TORRES, Bruno. Gerenciamento de URLs com PHP. 19 Mar. 2005. Disponvel em: Acesso em: 25 mar. 2007.

    TORRES, Bruno. Gerenciamento de URLs - Criando URLs amigveis. 9 Ago.2004. Disponvel em: Acesso em: 25 mar. 2007.

    TORRES, Bruno. URLs amigveis - esclarecendo dvidas. 1 Fev. 2005.Disponvel em: Acesso em: 25 mar. 2007.

  • 58

    APNDICE

    APNDICE A Descrio dos casos de uso apresentado na sesso 3.1

    Dependncia de um mdulo pblico (RN01)Descrio Um mdulo pblico pode ter como pai somente outro mdulo pblico.

    Dependncia de um mdulo protegido (RN02)Descrio Um mdulo protegido pode ter como pai um mdulo pblico ou um

    mdulo protegido.

    Dependncia de um mdulo privado (RN03)Descrio Um mdulo privado pode ter como pai um mdulo pblico, um mdulo

    protegido ou um mdulo privado.

    Autenticar Webmaster (CSU01)Sumrio: Esse caso de uso permite identificar o Webmaster no sistema.

    Ator Primrio: Webmaster

    Pr-condies: Webmaster possui um cadastro no sistema e no esta identificadopelo mesmo.

    Fluxo principal:

    1. Webmaster abre o navegador de internet.2. Webmaster digita a url do site que contm o sistema Garbes 1.0 instalado.3. Servidor Web exibe na tela do navegador de internet do Webmaster o

    sistema Garbes 1.0. Essa tela apresenta os campos login e senha.4. Webmaster preenche os campos login, senha e clica no boto Acessar.5. Sistema verifica no banco de dados as informaes recebidas pelo

    Webmaster.6. As informaes coincidem. O Sistema autoriza o acesso do Webmaster e

    carrega a tela principal do sistema. O caso de uso termina.

  • 59

    Fluxo Alternativo (4): Recuperar Senhaa) Webmaster esqueceu a senha de acesso. Ento clica no link Recuperar

    Senha.b) Sistema solicita o login de acesso.c) Webmaster informar login de acesso e clica em recuperar.d) Sistema verifica no banco de dados se o login de acesso existe.e) Sistema gera uma nova senha.f) Sistema grava a nova senha no banco de dados.g) Sistema localiza o e-mail do Webmaster no banco de dados e envia a senha

    por e-mail.h) Sistema exibe uma mensagem para o Webmaster dizendo que foi enviado a

    senha por e-mail.i) O caso de uso retorna ao passo 3.

    Fluxo de exceo (6):a) As informaes no coincidem. O Sistema no autoriza o acesso do

    Webmaster ao sistema.b) O caso de uso retorna ao passo 3.

    Ps-condies: O Webmaster foi identificado pelo sistema.

    Gerenciar Webmaster (CSU02)Sumrio: Esse caso de uso permite gerenciar contas dos Webmasters quepodero utilizar o sistema.

    Ator Primrio: Administrador

    Ator Secundrio: Webmaster

    Pr-condies: Administrador deve possui uma conta no sistema e deve estarautenticado pelo sistema.

    Fluxo principal:

    1. Administrador clica no link Webmaster.2. Sistema consulta no banco de dados os Webmasters cadastrados.3. Sistema lista os Webmasters cadastrados no sistema e apresenta as

    operaes que podem ser realizadas: a incluso de um novo Webmaster, aalterao dos dados de um Webmaster, a excluso de um Webmaster, alocalizao de um Webmaster e a troca de senha do administrador.

    4. O Administrador indica a opo a realizar ou opta por finalizar o caso de uso.5. O Administrador seleciona a operao desejada: Incluso, Excluso,

  • 60

    Alterao, Localizao ou troca de senha.6. Se o Administrador deseja continuar com a gerncia dos Webmasters, o

    caso de uso retorna ao passo 3; caso contrrio, o caso de uso termina.

    Fluxo Alternativo (5): Inserir Webmastera) O Administrador requisita a incluso de um novo Webmaster. b) O sistema apresenta um formulrio em branco para que os dados do

    Webmaster (Login, Nome, E-mail e se Administrador ou no) sejamincludos.

    c) O Administrador fornece os dados do novo Webmaster e clica em Inserir.d) O sistema verifica a validade dos dados. Se os dados forem vlidos, inclui o

    novo Webmaster; caso contrrio, o sistema reporta o fato, solicita novosdados e repete a verificao.

    Fluxo Alternativo (5): Localizar Webmastera) O Administrador preenche um campo na tela e solicita a busca. b) O sistema procura no banco de dados linhas das tabelas que contm a

    palavra chave desejada. c) O sistema mostra a lista de resultados encontrados.

    Fluxo Alternativo (5): Alterar Webmastera) O Administrador acessa a lista de Webmaster e clica no campo destinado a

    alterao dos dados do Webmaster. b) O Administrador faz as alteraes necessrias e clica em salvar. c) O sistema salva os dados no banco de dados e emite uma mensagem.

    Fluxo Alternativo (5): Apagar Webmastera) O Administrador acessa a lista de Webmaster e clica no campo destinado a

    excluso do Webmaster. b) O sistema solicita confirmao da excluso. c) Administrador confirma excluso. d) Sistema apaga no banco de dados os dados do Webmaster.

    Fluxo Alternativo (6): Trocar senhaa) O Administrador clica no link Alterar Senha.b) O sistema exibe um formulrio em branco com os campos: Senha atual,

    Nova senha e Confirmar nova senha.c) O Administrador preenche os dados e clica em Alterar.d) O sistema valida os dados e emite uma mensagem.

    Ps-condies: Administrador visualizou / inseriu / alterou / apagou dados deWebmaster, ou trocou a senha do Administrador.

  • 61

    Gerenciar Sistema (CSU03)Sumrio: Esse caso de uso permite gerenciar os sistemas criados pelosWebmasters.

    Ator Primrio: Webmaster

    Pr-condies: Webmaster deve estar autenticado pelo sistema.

    Fluxo principal:

    1. Webmaster acessa uma rea destinada a gerenciar os Sistemas. 2. Sistema lista Sistemas do Webmaster.

    Fluxo Alternativo (2): Inserir Sistemaa) O Webmaster acessa a rea destinada a incluir um novo Sistema. b) O Webmaster preenche os campos necessrios para se criar o Sistema e

    solicita ao sistema o salvamento. c) Sistema salva dados no banco de dados.

    Fluxo Alternativo (2): Localizar Sistemaa) O Webmaster preenche um campo na tela e solicita a busca. b) O sistema procura no banco de dados linhas das tabelas que contm a

    palavra chave desejada. c) O sistema mostra a lista de resultados encontrados.

    Fluxo Alternativo (2): Alterar Sistemaa) O Webmaster acessa a lista de Sistemas e clica no campo destinado a

    alterao dos dados do Sistema. b) O Webmaster faz as alteraes necessrias e clica em salvar. c) O sistema salva os dados no banco de dados e emite um mensagem.

    Fluxo Alternativo (2): Apagar Sistemaa) O Webmaster acessa a lista de Sistemas e clica no campo destinado a

    excluso do Sistema. b) O sistema solicita confirmao da excluso. c) Webmaster confirma excluso. d) Sistema apaga no banco de dados o Sistema solicitado.

    Fluxo Alternativo (2): Visualizar Mduloa) Webmaster seleciona o Sistema ao qual pretende visualizar os mdulos

    associados. b) Sistema lista mdulos associados ao sistema.

  • 62

    Fluxo Alternativo (2): Adicionar Mduloa) Webmaster seleciona o Sistema ao qual pretende inserir mdulos. b) Sistema lista mdulos disponveis para ser inserido. c) Webmaster pede ao sistema para adicionar mdulos ao Sistema

    selecionado. d) Sistema cria referncias no banco de dados fazendo com que o mdulo

    desejado faa parte do Sistema selecionado.Fluxo Alternativo (2): Apagar Mdulo

    a) Webmaster seleciona o Sistema ao qual pretende apagar mdulos. b) Sistema lista mdulos do Sistema. c) Webmaster pede ao sistema para apagar mdulos do Sistema selecionado. d) Sistema apaga as referncias no banco de dados que fazem com que o

    mdulo desejado faa parte do Sistema selecionado.Fluxo Alternativo (2): Exportar Sistema

    a) Webmaster seleciona o sistema ao qual pretende exportar. b) Webmaster clica no link Exportar Sistema.c) Sistema localiza todos os mdulos necessrio para aquele sistema

    funcionar.d) Sistema gera um arquivo com extenso .garbes com todos os mdulos do

    sistema e guarda em um local temporrio.e) Sistema localiza no diretrio raiz /imagens/{nome do sistema} todas as

    imagens do sistema e copia para uma rea temporria.f) Sistema compacta o arquivo com extenso .garbes e o diretrio das

    imagens, localizados na rea temporria. Gerando um arquivo {nome dosistema}.zip.

    g) Sistema solicita ao Webmaster um local para salvar o arquivo compactado.h) Webmaster seleciona um diretrio e salva o arquivo.i) Sistema apaga todos os arquivos utilizados que esto armazenado na rea

    temporria.

    Fluxo Alternativo (2): Importar Sistemaa) Webmaster clica no link Importar Sistema.b) Sistema solicita ao Webmaster o local onde esta o arquivo {nome do

    sistema}.zip.c) Webmaster informa o caminho e clica no boto Importar.d) Sistema faz um upload do arquivo e salva em uma rea temporria.e) Sistema descompacta o arquivo.f) Sistema interpreta o cdigo armazenado no arquivo .garbes e cria os

    mdulos no banco de dados.g) Sistema move o diretrio que esto as imagens do sistema importado para a

    raiz do diretrio de imagens do sistema Garbes 1.0.

  • 63

    h) Sistema apaga todos os arquivos utilizados que esto armazenado na reatemporria.

    i) Sistema emite uma mensagem para o Webmaster.Ps-condies: Webmaster visualizou / inseriu / alterou / apagou / importou eexportou sistemas, adicinou / removeu mdulos associados.

    Gerenciar Mdulos (CSU04)Sumrio: Esse caso de uso permite gerenciar os mdulos disponveis criadospelos Webmasters.

    Ator Primrio: Webmaster

    Pr-condies: Webmaster deve estar autenticado pelo sistema.

    Fluxo principal:

    1. Webmaster acessa uma rea destinada a trabalhar com Mdulos.2. Sistema lista os Mdulos existentes.

    Fluxo Alternativo (2): Inserir Mduloa) O Webmaster acessa a rea destinada a incluir um novo mdulo.b) O Webmaster preenche os campos necessrios para se criar o mdulo e

    solicita ao sistema o salvamento.c) Sistema salva dados no banco de dados.

    Fluxo Alternativo (2): Localizar Mduloa) O Webmaster preenche um campo na tela e solicita a busca.b) O sistema procura no banco de dados linhas das tabelas que contm a

    palavra chave desejada.c) O sistema mostra a lista de resultados encontrados.

    Fluxo Alternativo (2): Alterar Mduloa) O Webmaster acessa a lista de Mdulos, categorizados por nvel de

    permisso, e clica no campo destinado a alterao dos dados do Mdulo.b) O Webmaster faz as alteraes necessrias e clica em salvar.c) O sistema salva os dados no banco de dados e emite um mensagem.

    Fluxo Alternativo (2): Apagar Mduloa) O Webmaster acessa a lista de Mdulos e clica no campo destinado a

    excluso do Mdulo.b) O sistema solicita confirmao da excluso.

  • 64

    c) Webmaster confirma excluso.d) Sistema apaga no banco de dados o mdulo solicitado.

    Ps-condies: Webmaster visualizou / inseriu / alterou / apagou mdulos.

    Regras de Negcio: RN01, RN02, RN03

    Localizar Webmaster (CSU05)Sumrio: Esse caso de uso permite localizar Webmasters cadastrado no sistema.

    Ator Primrio: Webmaster

    Pr-condies: Webmaster deve estar autenticado pelo sistema.

    Fluxo principal:

    1. Webmaster solicita ao sistema lista de Webmasters cadastrados.2. Sistema faz a consulta no banco de dados e lista Webmasters cadastrados.

    Ps-condies: Lista os Webmasters cadastrados no sistema.

    Localizar Sistema (CSU06)Sumrio: Esse caso de uso permite localizar Sistemas cadastrado no banco dedados.

    Ator Primrio: Webmaster

    Pr-condies: Webmaster deve estar autenticado pelo sistema.

    Fluxo principal:

    1. Webmaster solicita ao sistema lista de Sistemas cadastrado no banco dedados.

    2. Sistema faz a consulta no banco de dados e lista Sistemas disponveis.

    Ps-condies: Lista os Sistemas criados no banco de dados.

    Localizar Mdulo (CSU07)Sumrio: Esse caso de uso permite localizar mdulos disponveis no sitema para oWebmaster autenticado no momento.

    Ator Primrio: Webmaster

  • 65

    Pr-condies: Webmaster deve estar autenticado pelo sistema.

    Fluxo principal:

    1. Webmaster solicita ao sistema lista de mdulos disponveis para oWebmaster.

    2. Sistema faz a consulta no banco de dados e lista mdulos disponveis para oWebmaster.

    Ps-condies: Lista dos mdulos disponveis para associar algum Sistema doWebmaster.

    Gerenciar Permisso (CSU08)Sumrio: Esse caso de uso permite gerenciar privilgios de administrao emMdulos e Sistemas para outros Webmasters.

    Ator Primrio: Webmaster

    Pr-condies: Webmaster deve estar autenticado pelo sistema.

    Fluxo principal:

    1. Webmaster acessa uma rea destinada a trabalhar com Permisses.2. Sistema lista os Mdulos e Sistemas existentes do Webmaster. E os logins

    dos Webmasters cadastrados.3. Webmaster seleciona Sistema ou Mdulos para atribuir tipo de permisso a

    algum Webmaster previamente selecionado.4. Webmaster solicita ao sistema a atribuio da permisso.5. Sistema cadastra no banco de dados as atribuies concedidas.

    Fluxo Alternativo (2): Alterar Permissoa) Webmaster acessa uma rea destinada a trabalhar com Permisses.b) Sistema lista os Mdulos e Sistemas com atribuies de permisso

    concedidas.c) Webmaster altera os tipos de permisso e salva.d) Sistema salva as alteraes no banco de dados.

    Fluxo Alternativo (2): Apagar Permissoa) Webmaster acessa uma rea destinada a trabalhar com Permisses.b) Sistema lista os Mdulos e Sistemas com atribuies de permisso

    concedidas.c) Webmaster seleciona Mdulo ou Sistema, e apaga a permisso.d) Sistema retira a permisso solicitada no banco de dados.

  • 66

    Ps-condies: Webmaster visualizou / inseriu / alterou / apagou permisses.

    Gerenciar Extenso (CSU09)Sumrio: Esse caso de uso permite gerenciar os tipos de arquivos suportados pelosistema.

    Ator Primrio: Administrador

    Pr-condies: Administrador deve estar autenticado pelo sistema.

    Fluxo principal:

    1. Administrador acessa uma rea destinada a trabalhar com Extenso.2. Sistema lista as Extenses existentes.

    Fluxo Alternativo (2): Inserir Extensoa) O Administrador acessa a rea destinada a incluir nova extenso.b) O Administrador preenche os campos necessrios para a incluso e solicita

    ao sistema o salvamento.c) Sistema salva dados no banco de dados.

    Fluxo Alternativo (2): Localizar Extensoa) O Administrador preenche um campo na tela e solicita a busca.b) O sistema procura no banco de dados linhas das tabelas que contm a

    palavra chave desejada.c) O sistema mostra a lista de resultados encontrados.

    Fluxo Alternativo (2): Alterar Extensoa) O Administrador acessa a lista de Extenses, e clica no campo destinado a

    alterao da mesma.b) O Administrador faz as alteraes necessrias e clica em salvar.c) O sistema salva os dados no banco de dados e emite um mensagem.

    Fluxo Alternativo (2): Apagar Extensoa) O Administrador acessa a lista de Extenses e clica no campo destinado a

    excluso da Extenso.b) O sistema solicita confirmao da excluso.c) Administrador confirma excluso.d) Sistema apaga no banco de dados a Extenso solicitada.

    Ps-condies: Administrador visualizou / inseriu / alterou / apagou extenses.

  • 67

    APNDICE B Avalizao de desempenho da ferramenta utilizada.

    1 Ambiente de testes

    1.1 Estao Servidor

    1.1.1 Hardware

    O computador utilizado foi um HP d325 ut, com processador AMD 2600+ 1.91Ghz, e com memria RAM de 1024 MB RAM DDR + 128 MB RAM DDR. Uma switch3COM 4400 fazia a ligao entre o computador cliente e o servidor.

    1.1.2 Software

    Os testes foram realizados em uma mquina virtual cujo sistema operacional(SO) principal do computador o Ubuntu 7.0.4 (com interface grfica (KDE) ligada).Nesse SO rodava o software VMWare Server 1.0.3 com SO Ubuntu 7.0.4 (gdm emmodo stop), servidor Web Apache 2.2.3, mdulo PHP 5.2.1, servidor BD MySQL5.0.38 sendo as tabelas no formato MyIsam.

    1.2 Estao Cliente

    1.2.1 Hardware

    O computador utilizado foi um Intel Celeron 1100 Mhz, 512 MB RAM.

  • 68

    1.2.2 Software

    O SO utilizado foi o Windows XP SP2 com navegador de internet MozillaFirefox 2.0.0.7. Para simular a quantidade de usurios simultneos acessando oservidor foi utilizado o software Proxy Sniffer V3.1 Free Edition, configurado parater um Loop por usurio igual a 10, Timeout igual 60 segundos, Delay por usurioigual a 500 milisegundos e simulado uma navegao com apenas consultas.

    O software Proxy Sniffer funciona como uma camada intermediria entre aestao cliente e a estao servidor. Quando este est no modo gravando, socapturadas todas as url's que o navegador de internet requisitou. Para simular ostestes ele gera um script que faz a requisio de toda a navegao gravada,simulando a quantidade de usurios concorrentes e a quantidade de vezes cadausurio simulado vai fazer o mesmo teste, previamente configurado.

    2 Mtricas

    Comparar a quantidade de transaes por segundo consegue-se obter, sobessas configuraes de hardware e software, quando o cdigo fonte de um sistemafica armazenado em banco de dados e quando o cdigo fonte do mesmo sistemafica armazenado em arquivo.

    3 Parmetros

    Parmetro Valores dos ParmetrosMemria 256 MB 512 MBQuantidade de registro armazenado emcada tabela do banco de dados

    +- 15 +- 20000

    Quantidade de usurios concorrentesesto acessando o sistema ao mesmotempo.

    10 20

  • 69

    4 Experimentos

    4.1 Cdigo fonte do sistema armazenado no banco de dados

    4.1.1 Sequncia de testes

    A sequncia de teste apresentada foi retirada do relatrio gerado pelosoftware proxy sniffer. O sistema testado estava configurado para utilizar URLamigvel, ver captulo 2.5.

    [0] Page #1: Start Page[1] GET http://192.168.221.88:80/[2] GET http://192.168.221.88:80/ajax/js[3] GET http://192.168.221.88:80/monografia/js[4] GET http://192.168.221.88:80/imagens/monografia/monografia.png[5] GET http://192.168.221.88:80/favicon.ico[6] GET http://192.168.221.88:80/telaPrincipal[7] GET http://192.168.221.88:80/garbes/css[8] GET http://192.168.221.88:80/ajax/js[9] GET http://192.168.221.88:80/monografia/js[10] GET http://192.168.221.88:80/imagens/monografia/permissao.jpg[11] GET http://192.168.221.88:80/imagens/monografia/sistema.jpg[12] GET http://192.168.221.88:80/imagens/monografia/webmaster.jpg[13] GET http://192.168.221.88:80/imagens/monografia/background.png[14] GET http://192.168.221.88:80/imagens/monografia/sobre.jpg[15] GET http://192.168.221.88:80/imagens/monografia/extensao.jpg[16] GET http://192.168.221.88:80/imagens/monografia/modulo.jpg[17] GET http://192.168.221.88:80/imagens/monografia/barra.gif[18] GET http://192.168.221.88:80/imagens/monografia/sair.png[19] GET http://192.168.221.88:80/imagens/monografia/ico.ico[20] GET http://192.168.221.88:80/tela/php/recuperarSenha/1[21] POST http://192.168.221.88:80/tela/php/recuperarSenhaConfirma/1[22] GET http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/visualizar[23] POST http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/visualizar[24] GET http://192.168.221.88:80/imagens/monografia/alterar_senha.jpg[25] GET http://192.168.221.88:80/imagens/monografia/alterar_dados.png[26] GET http://192.168.221.88:80/imagens/monografia/localizar.jpg[27] GET http://192.168.221.88:80/imagens/monografia/inserir_webmaster.png[28] GET http://192.168.221.88:80/imagens/monografia/webmaster.gif[29] GET http://192.168.221.88:80/imagens/monografia/apagar.gif[30] GET http://192.168.221.88:80/imagens/monografia/alterar.gif[31] GET http://192.168.221.88:80/imagens/monografia/administrador.gif[32] GET http://192.168.221.88:80/imagens/monografia/seta_dir.jpg[33] GET http://192.168.221.88:80/imagens/monografia/seta_esq.jpg[34] GET http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/visualizar[35] GET http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/inserir[36] GET http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/alterar/login/silviogarbes[37] GET http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/alterarSenha

  • 70

    [38] GET http://192.168.221.88:80/tela/php/tabela/sistema/opcao/visualizar[39] GET http://192.168.221.88:80/imagens/monografia/exportar_sistema.png[40] GET http://192.168.221.88:80/imagens/monografia/importar_sistema.png[41] GET http://192.168.221.88:80/imagens/monografia/inserir_sistema.png[42] GET http://192.168.221.88:80/tela/php/tabela/modulo/opcao/alterar/codigo/[43] GET http://192.168.221.88:80/garbes/css[44] GET http://192.168.221.88:80/ajax/js[45] GET http://192.168.221.88:80/monografia/js[46] GET http://192.168.221.88:80/imagens/monografia/salvar.jpg[47] GET http://192.168.221.88:80/imagens/monografia/analisar_sintaxe.jpg[48] GET http://192.168.221.88:80/imagens/monografia/documentar.jpg[49] GET http://192.168.221.88:80/tela/php/tabela/modulo/opcao/visualizar[50] GET http://192.168.221.88:80/imagens/monografia/inserir_modulo.png[51] GET http://192.168.221.88:80/tela/php/tabela/modulo/opcao/alterar/codigo/1[52] GET http://192.168.221.88:80/garbes/css[53] GET http://192.168.221.88:80/ajax/js[54] GET http://192.168.221.88:80/monografia/js[55] GET http://192.168.221.88:80/imagens/monografia/documentar.jpg[56] GET http://192.168.221.88:80/tela/php/tabela/modulo/opcao/alterar/codigo/21[57] GET http://192.168.221.88:80/garbes/css[58] GET http://192.168.221.88:80/ajax/js[59] GET http://192.168.221.88:80/monografia/js[60] GET http://192.168.221.88:80/imagens/monografia/documentar.jpg[61] GET http://192.168.221.88:80/tela/php/tabela/sistema/opcao/visualizar[62] GET http://192.168.221.88:80/imagens/monografia/importar_sistema.png[63] GET http://192.168.221.88:80/imagens/monografia/exportar_sistema.png[64] GET http://192.168.221.88:80/tela/php/sair/1[65] GET http://192.168.221.88:80/tela/php/sair/1

    4.1.2 Ordem de Yates

    Cdigo fonte do sistema armazenado no banco de dadosCd. doteste

    Memria Qtd registrono BD

    Usuriosconcorrentes

    Trans / seg(Teste 1)

    Trans / seg(Teste 2)

    Trans / seg(Teste 3)

    Trans / seg(Mdia)

    1 256 MB +- 15 10 97,21 87,83 92,99 92,682 256 MB +- 15 20 134,83 127,2 128,7 130,243 512 MB +- 15 10 90,2 94,67 92,7 92,524 512 MB +- 15 20 131,79 130,36 129,13 130,435 256 MB +- 20000 10 91,64 93,12 86,59 90,456 256 MB +- 20000 20 120,49 120,28 119,84 120,27 512 MB +- 20000 10 91,65 92,87 91,77 92,18 512 MB +- 20000 20 120,43 117,96 119,97 119,45

  • 71

    4.1.3 Clculos dos efeitos simples

    Memria Qtd registro no BD Usurios concorrentes256 MB 512 MB +- 15 +- 20000 10 20

    92,68 92,52 92,68 90,45 92,68 130,24130,24 130,43 130,24 120,2 92,52 130,4390,45 92,1 92,52 92,1 90,45 120,2120,2 119,45 130,43 119,45 92,1 119,45108,39 108,63 111,47 105,55 91,94 125,08Diferena igual 0,23 Diferena igual 5,92 Diferena igual 33,15

    4.1.4 Clculos dos efeitos combinados

    Memria x Qtd registro no BD

    Memria256 MB 512 MB

    Qtd

    regi

    stro

    n

    o B

    D +- 15

    Mdia

    92,68 92,52130,24 130,43111,46 111,48

    +- 20000

    Mdia

    90,45 92,1120,2 119,45105,33 105,78

  • 72

    Memria x Usurios Concorrentes

    Memria256 MB 512 MB

    Usu

    rio

    s Co

    nco

    rren

    tes 10

    Mdia

    92,68 92,5290,45 92,191,56 92,31

    20

    Mdia

    130,24 130,43120,2 119,45125,22 124,94

    +- 15 +- 200000

    102030405060708090

    100110120

    Memria x Qtd registro no BD

    256 MB512 MB

    Qtd registros no BD

    Tra

    nsa

    e

    s po

    r se

    gund

    o

    256 MB 512 MB0

    102030405060708090

    100110120

    Memria x Qtd registro no BD

    +- 15+- 20000

    MemriaTr

    ansa

    es

    po

    r se

    gundo

  • 73

    Usurios concorrentes x Qtd registro no BD

    Qtd registro no banco+- 15 +- 20000

    Usu

    rio

    s co

    nco

    rren

    tes 10

    Mdia

    92,68 90,4592,52 92,192,6 91,27

    20

    Mdia

    130,24 120,2130,43 119,45130,34 119,83

    10 200

    102030405060708090

    100110120130

    Memria x Usurios concorrentes

    256 MB512 MB

    Usurios concorrentes

    Tra

    nsa

    e

    s po

    r se

    gund

    o

    256 MB 512 MB0

    102030405060708090

    100110120130

    Memria x Usurios concorrentes

    1020

    MemriaTr

    an

    sa

    es po

    r se

    gun

    do

  • 74

    4.2 Cdigo fonte do sistema armazenado em arquivo

    4.2.1 Sequncia de testes

    A sequncia de teste apresentada foi retirada do relatrio gerado pelosoftware proxy sniffer. O sistema testado estava configurado para utilizar URLamigvel, ver captulo 2.5.

    [0] Page #1: Start Page[1] GET http://192.168.221.88:80/[2] GET http://192.168.221.88:80/ajax/js[3] GET http://192.168.221.88:80/monografia/js[4] GET http://192.168.221.88:80/telaPrincipal[5] GET http://192.168.221.88:80/garbes/css[6] GET http://192.168.221.88:80/ajax/js[7] GET http://192.168.221.88:80/monografia/js[8] GET http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/visualizar[9] GET http://192.168.221.88:80/tela/php/sair/1[10] POST http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/visualizar[11] GET http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/inserir[12] GET http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/alterar/login/silviogarbes[13] POST http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/localizar[14] POST http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/localizar[15] GET http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/alterarSenha[16] GET http://192.168.221.88:80/tela/php/tabela/sistema/opcao/visualizar[17] GET http://192.168.221.88:80/imagens/monografia/importar_sistema.png[18] GET http://192.168.221.88:80/imagens/monografia/exportar_sistema.png

    10 200

    102030405060708090

    100110120130140

    Qtd registro no BD x Usurios concorrentes

    +- 15+- 20000

    Usurios concorrentes

    Tra

    nsa

    e

    s po

    r se

    gund

    o

    +- 15 +- 200000

    102030405060708090

    100110120130140

    Qtd registro no BD x Usurios concorrentes

    1020

    Qtd registro no BDTr

    an

    sa

    es po

    r se

    gun

    do

  • 75

    [19] GET http://192.168.221.88:80/tela/php/sair/1[20] GET http://192.168.221.88:80/tela/php/tabela/sistema/opcao/visualizar[21] GET http://192.168.221.88:80/tela/php/tabela/modulo/opcao/visualizar[22] POST http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/visualizar[23] GET http://192.168.221.88:80/tela/php/tabela/modulo/opcao/visualizar[24] GET http://192.168.221.88:80/imagens/monografia/inserir_modulo.png[25] GET http://192.168.221.88:80/tela/php/tabela/modulo/opcao/alterar/codigo/1[26] GET http://192.168.221.88:80/garbes/css[27] GET http://192.168.221.88:80/ajax/js[28] GET http://192.168.221.88:80/monografia/js[29] GET http://192.168.221.88:80/imagens/monografia/salvar.jpg[30] GET http://192.168.221.88:80/imagens/monografia/analisar_sintaxe.jpg[31] GET http://192.168.221.88:80/imagens/monografia/documentar.jpg[32] GET http://192.168.221.88:80/tela/php/tabela/modulo/opcao/alterar/codigo/21[33] GET http://192.168.221.88:80/garbes/css[34] GET http://192.168.221.88:80/ajax/js[35] GET http://192.168.221.88:80/monografia/js[36] GET http://192.168.221.88:80/imagens/monografia/documentar.jpg[37] GET http://192.168.221.88:80/tela/php/sair/1[38] GET http://192.168.221.88:80/telaPrincipal[39] GET http://192.168.221.88:80/garbes/css[40] GET http://192.168.221.88:80/ajax/js[41] GET http://192.168.221.88:80/monografia/js[42] POST http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/visualizar[43] GET http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/visualizar[44] GET http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/alterar/login/silviogarbes[45] POST http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/localizar[46] GET http://192.168.221.88:80/tela/php/tabela/modulo/opcao/visualizar[47] GET http://192.168.221.88:80/tela/php/sair/1[48] POST http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/visualizar[49] GET http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/alterarSenha[50] GET http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/alterar/login/silviogarbes[51] GET http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/inserir[52] GET http://192.168.221.88:80/tela/php/tabela/webmaster/opcao/visualizar[53] GET http://192.168.221.88:80/tela/php/tabela/sistema/opcao/visualizar[54] GET http://192.168.221.88:80/imagens/monografia/importar_sistema.png[55] GET http://192.168.221.88:80/imagens/monografia/exportar_sistema.png[56] GET http://192.168.221.88:80/tela/php/tabela/sistema/opcao/inserir[57] GET http://192.168.221.88:80/tela/php/sair/1

    4.2.2 Ordem de Yates

    Cdigo fonte do sistema armazenado em arquivoCd. doteste

    Memria Qtd registrono BD

    Usuriosconcorrentes

    Trans / seg(Teste 1)

    Trans / seg(Teste 2)

    Trans / seg(Teste 3)

    Trans / seg(Mdia)

    9 256 MB +- 15 10 74,25 78,94 75,8 76,3310 256 MB +- 15 20 89,64 87,24 88,69 88,5211 512 MB +- 15 10 72,1 74,05 75 73,7212 512 MB +- 15 20 86,13 85,85 87,34 86,4413 256 MB +- 20000 10 70,24 66,77 70,2 69,07

  • 76

    14 256 MB +- 20000 20 79,63 78,08 75,01 77,5715 512 MB +- 20000 10 69,23 70,06 66,21 68,5

    16 512 MB +- 20000 20 80,5 77,15 76,77 78,14

    4.2.3 Clculos dos efeitos simples

    Memria Qtd registro no BD Usurios concorrentes256 MB 512 MB +- 15 +- 20000 10 20

    76,33 73,72 76,33 69,07 76,33 88,5288,52 86,44 88,52 77,57 73,72 86,4469,07 68,5 73,72 68,5 69,07 77,5777,57 78,14 86,44 78,14 68,5 78,1477,87 76,7 81,25 73,32 71,9 82,67Diferena igual 1,18 Diferena igual 7,93 Diferena igual 10,77

    4.2.4 Clculos dos efeitos combinados

    Memria x Qtd registro no BD

    Memria256 MB 512 MB

    Qtd

    regi

    stro

    n

    o B

    D +- 15

    Mdia

    76,33 73,7288,52 86,4482,43 80,08

    +- 20000

    Mdia

    69,07 68,577,57 78,1473,32 73,32

  • 77

    Memria x Usurios Concorrentes

    Memria256 MB 512 MB

    Usu

    rio

    s Co

    nco

    rren

    tes 10

    Mdia

    76,33 73,7269,07 68,572,7 71,11

    20

    Mdia

    88,52 86,4477,57 78,1483,05 82,29

    +- 15 +- 200000

    102030405060708090

    100110120

    Memria x Qtd registro no BD

    256 MB512 MB

    Qtd registros no BD

    Tra

    nsa

    e

    s po

    r se

    gund

    o

    256 MB 512 MB0

    102030405060708090

    100110120

    Memria x Qtd registro no BD

    +- 15+- 20000

    MemriaTr

    ansa

    es

    por

    segu

    ndo

  • 78

    Usurios concorrentes x Qtd registro no BD

    Qtd registro no banco+- 15 +- 20000

    Usu

    rio

    s co

    nco

    rren

    tes 10

    Mdia

    76,33 69,0773,72 68,575,02 68,79

    20

    Mdia

    88,52 77,5786,44 78,1487,48 77,86

    10 200

    102030405060708090

    100110120130

    Memria x Usurios concorrentes

    256 MB512 MB

    Usurios concorrentes

    Tra

    nsa

    e

    s po

    r se

    gund

    o

    256 MB 512 MB0

    102030405060708090

    100110120130

    Memria x Usurios concorrentes

    1020

    MemriaTr

    ansa

    es

    por

    segu

    ndo

  • 79

    4.3 Comparando os experimentos.

    4.3.1 Ordem de Yates

    Diferena quando o cdigo fonte do sistema esta armazenado no banco de dados e quando ocdigo fonte do sistema esta armazenado em arquivo

    Cd. dacomparao

    Memria Qtd registrono BD

    Usuriosconcorrentes

    Cd. fonteno banco

    Cd. Fonteem arquivo

    Diferena Porcentagem

    1 256 MB +- 15 1