Vous êtes sur la page 1sur 88

1

PONTIFCIA UNIVERSIDADE CATLICA DE MINAS GERAIS


Instituto de Informtica
Campus Arcos
Bacharelado em Sistemas de Informao

DESENVOLVIMENTO DE UMA FERRAMENTA DE AUXLIO


CONSTRUO DE WEBSITES

Slvio Garbes Lara

Arcos
2007

2
Slvio Garbes Lara

DESENVOLVIMENTO DE UMA FERRAMENTA DE AUXLIO


CONSTRUO DE WEBSITES

Monografia apresentada disciplina Trabalho de


Diplomao do Curso de Sistemas de Informao
da Pontifcia Universidade Catlica de Minas
Gerais, campus Arcos, como requisito parcial para
a obteno do grau de Bacharel em Sistemas de
Informao.
Orientador: Prof. Fbio Martins de Oliveira.

Arcos
2007

3
Slvio Garbes Lara
Desenvolvimento de uma ferramenta de auxlio construo de Websites
Monografia apresentada disciplina Trabalho de Diplomao do Curso de Sistemas
de Informao da Pontifcia Universidade Catlica de Minas Gerais, campus Arcos,
como requisito parcial para a obteno do grau de Bacharel em Sistemas de
Informao.
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

A meus pais, Vicente Paulo Lara e ris Iolanda


Ferreira Lara e a meus irmos, Srgio Garbes
Lara e Solange Garbes Lara, que me apoiaram
psicologicamente e financeiramente.
Aos futuros Webmasters que iro utilizar essa
ferramenta para o crescimento tecnolgico na
Web.

5
Agradecimentos

Em primeiro lugar agradeo a Deus, por estar presente em todos os lugares


que 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 meu
trabalho e me auxiliaram no desenvolvimento do mesmo, durante as disciplinas
cursadas. Agradeo por ter conhecido e convivido com vocs, pelo apoio, pelos
momentos 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 isso
eu no esquecerei jamais
Aos meus professores que me auxiliaram diretamente ou indiretamente na
documentao dessa monografia.
Ao meus orientadores lisson (Trabalho Diplomao I) e Fbio (Trabalho
Diplomao II), que com suas sabedorias me guiaram para o caminho certo no
desenvolvimento de minha primeira monografia.
Ao professor Cssio, que desde o primeiro perodo ofereceu-me oportunidade
para que eu pudesse expressar o meu talento.
A minha namorada Gabriela Teodoro Paiva de Oliveira que acreditou em meu
trabalho e me apoiou diretamente.
Por fim, a todos que me acompanharam durante o perodo que estive
cursando a graduao em Sistemas de Informao da PUC Minas Arcos.

A unio faz o que sozinho um no consegue


fazer.
Slvio Garbes Lara

7
RESUMO
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 contedo esttico, passando a exibir contedos
dinmicos. Mas, para que contedos dinmicos sejam criados, utiliza-se tcnicas de
programao e de desenvolvimento de software. Tcnicas de desenvolvimento de
software esto sempre sendo melhoradas, afim de se conseguir maximizar a
produtividade. A rea da tecnologia da informao (TI) que estuda essas tcnicas
chama-se Engenharia de Software. Atualmente, utilizar tcnicas da Engenharia de
software para se criar Websites extremamente importante. Uma vez que, os
Websites esto 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 avalizao de desempenho do sistema proposto pde comprovar
que respostas de Websites que utilizam essa ferramenta so obtidas mais
rapidamente. Ao final do projeto, pde-se concluir que essa ferramenta tem grande
chance para se tornar um ambiente de desenvolvimento em comum entre diversos
Webmasters.
Palavras-chave: Web; Internet; Ferramentas; Plataforma de desenvolvimento;
Reuso; Engenharia de software.

8
LISTA DE FIGURAS

Figura 1: Exemplo de um caso de uso......................................................................................22


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

9
LISTA DE GRFICOS

Grfico 1: Crescimento da rede Internet: ela dobra a cada 15 meses.......................................18


Grfico 2: Nmero de servidores da teia mundial WWW: ele dobra a cada 14 semanas.........19
Grfico 3: Comparando o desempenho de um sistema que fica armazenado em cdigo fonte e
o mesmo sistema armazenado dentro de um banco de dados...................................................50

10
LISTA DE QUADROS

Quadro 1: Diferenas entre armazenamento de cdigos, utilizando arquiteturas tradicionais e


utilizando arquitetura do sistemas Garbes 1.0..........................................................................37
Quadro 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 para
Investigao 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 Produtos
para 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
SUMRIO
1 INTRODUO........................................................................................................14
1.1 Objetivos........................................................................................................14
1.1.1 Objetivos Gerais.........................................................................................14
1.1.2 Objetivos Especficos................................................................................15
1.2 Motivao.......................................................................................................16
1.3 Metodologia....................................................................................................16
2 REVISO BIBLIOGRFICA..................................................................................17
2.1 Internet............................................................................................................17
2.2 Engenharia de Software................................................................................20
2.2.1 Processos de desenvolvimento de software...........................................22
2.2.2 Modelo de ciclo de vida por entrega evolutiva........................................23
2.3 Banco de Dados.............................................................................................24
2.4 Ferramentas...................................................................................................27
2.4.1 PHP: Hypertext Preprocessor...................................................................27
2.4.2 MySQL.........................................................................................................28
2.4.3 DBDesigner Fork........................................................................................29
2.5 URL Amigvel.................................................................................................29
3 DOCUMENTAO DO SISTEMA..........................................................................31
3.1 Casos de Uso.................................................................................................33
3.2 Projeto do Banco de Dados..........................................................................34
4 APRESENTAO DO SISTEMA...........................................................................36
4.1 Arquitetura de sistemas Webs tradicionais................................................36
4.2 Arquitetura do sistema Garbes 1.0 ..............................................................36
4.2.1 Visualizando graficamente essas diferenas...........................................37
4.3 Conhecendo a ferramenta GARBES 1.0......................................................38
4.3.1 Arquivos no servidor Web.........................................................................38
4.3.2 Telas de Interface e Descrio do Funcionamento do Sistema.............38
4.3.2.1 Autenticar Webmaster.............................................................................38
4.3.2.2 Gerenciar Webmaster..............................................................................40
4.3.2.3 Gerenciar Sistemas.................................................................................41
4.3.2.4 Gerenciar Permisses.............................................................................42
4.3.2.5 Gerenciar Mdulos..................................................................................42
4.3.2.6 Gerenciar Extenso.................................................................................45
4.3.3 Desenvolvendo um sistema com a ferramenta Garbes 1.0....................46
4.3.3.1 Criando um sistema................................................................................46
4.3.3.2 Criando os mdulos do sistema............................................................46
4.3.3.3 Associando os mdulos ao sistema.....................................................48
4.3.3.4 Testando o sistema.................................................................................49
4.4 Avaliao de desempenho............................................................................50
5 CONCLUSO ........................................................................................................52
5.1 Dificuldade Encontradas ..............................................................................53
5.2 Contribuies do Trabalho ..........................................................................53
5.3 Propostas de Trabalhos Futuros..................................................................54
5.4 Consideraes Finais....................................................................................54
REFERNCIAS.........................................................................................................55
APNDICE................................................................................................................58

14
1

INTRODUO

Segundo Melo (2004), a produtividade de software aumentou nas ltimas


dcadas, mas no o suficiente para acompanhar a exigente demanda da indstria. A
reutilizao apareceu como uma das poucas abordagens reais para tratar o
problema, aumentando a produtividade e a qualidade que a indstria necessitava.
Vrios avanos foram conseguidos em bibliotecas de software, tcnicas de
classificao, criao e distribuio de artefatos reutilizveis, ambientes de apoio
reutilizao, entre outros. Mesmo assim, o grau de reutilizao manteve-se muito
aqum das expectativas.
Na internet, o mesmo problema vem acontecendo. Para tentar maximizar a
produtividade no desenvolvimento de software para a internet, foi desenvolvida uma
ferramenta que propicia a reutilizao, documentao, e centralizao dos cdigos
de vrios sistemas.
Essa ferramenta chama-se Garbes 1.0. Com ela possvel fornecer mais
produtividade aos desenvolvedores proporcionando aumento da qualidade, reduo
dos custos, reduo no tempo de entrega, padronizao, interoperabilidade,
previsibilidade, confiabilidade e reduo de riscos.

1.1

1.1.1

Objetivos

Objetivos Gerais

Havendo a possibilidade de reutilizar melhor dos cdigos fontes de um


sistema, 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 projetos
diferentes.

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

Armazenar de forma organizada e documentada os mdulos e sistemas


criados.

Utilizar a ferramenta atravs da internet.

16
1.2

Motivao

A possibilidade de facilitar o desenvolvimento de sistemas para Web, e a


necessidade de se criar sistemas mais rapidamente, foram os fatores motivacionais
que influenciaram na criao dessa ferramenta de desenvolvimento.

1.3

Metodologia

O projeto esta dividido em seis etapas. Abaixo segue a descrio de cada


etapa 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

2.1

REVISO BIBLIOGRFICA

Internet

A rede mundial foi criada a partir de um projeto militar norte-americano. Nos


anos 60, no auge da Guerra Fria, o departamento de defesa dos Estados Unidos
decidiu desenvolver uma rede de computadores que no pudesse ser destruda por
bombardeios 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 sistema
no qual todos os pontos (os ns da rede) tivessem a mesma importncia e por onde
os dados fossem transmitidos em qualquer sentido (sem uma ordem definida).
Estava delineada a ARPAnet, o projeto realizado pela Agncia de Projetos de
Pesquisa Avanada (Advanced Research Projects Agency) do governo dos EUA
(REDAO TERRA, 2005).
Em 1970, a rede interligava quatro universidades norte-americanas. Quatro
anos depois, o nmero de instituies participantes subiu para 40. A troca de
mensagens e de arquivos j era uma realidade. No mesmo ano, foi criada a Telenet,
o primeiro servio comercial de acesso rede dos Estados Unidos (REDAO
TERRA, 2005).
O nome Internet comeou a ser usado apenas em 1982. Em 1983, foi
estabelecido o TCP/IP (Transmission Control Protocol/Internet Protocol), a
linguagem comum usada por todos os computadores conectados rede at hoje. No
entanto, a Internet ainda no funcionava como atualmente. Foi s em 1991 que foi
criado o sistema de hipertexto World Wide Web (WWW), o que facilitou a navegao
pela rede. Hoje seria impensvel navegar sem o sistema WWW (REDAO TERRA,
2005). O uso da rede aumentou para patamares nunca antes imaginados e continua
crescendo no seu ritmo exponencial. O Grfico 1 mostra que o nmero de
computadores na ARPANET/Internet dobra a cada 15 meses, aproximadamente.

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

Grfico 1: Crescimento da rede Internet: ela dobra a cada 15 meses.


Fonte: SIMON, 1997

Em maro de 1989, na Organizao Europia para Investigao Nuclear


(European Organization for Nuclear Research, CERN), o fsico Tim Berners-Lee
circulou uma proposta para o gerenciamento facilitado de informao baseado em
documentos hipertextos, que poderia ser transferida facilmente sobre a Internet. No
ano seguinte a proposta foi recirculada e, somente ento, Berners-Lee recebeu
permisso para criar o sistema.
A idia era conectar os hipertextos com a Internet e os computadores
pessoais. Desse modo, teria-se uma nica rede de informao para ajudar os fsicos
do CERN a compartilhar de todos os computadores informaes armazenadas no

19
laboratrio. Em maio de 1990, a organizao define o nome para essa rede de
hipertextos, sendo chamada de World Wide Web (WWW).
Em novembro de 1990, durante os testes da aplicao, entrou em
funcionamento o primeiro servidor Web da histria. No final daquele ano, a aplicao
estava pronta para demonstrao. A Web finalmente nascia. A partir da, a Web
evoluiu rapidamente e estima-se que hoje h mais de 80 milhes de sites na internet
e centena de milhes de usurios conectados a ela (CERN). O Grfico 2 mostra que
o nmero de servidores da teia mundial dobra a cada 14 semanas, desde o seu
advento em 1993. Este crescimento extremamente rpido provocado pela adoo
quase instantnea da nova tecnologia pela Internet j existente. provvel que
passado o perodo de adoo inicial o crescimento da teia passe a acompanhar o
crescimento da Internet (SIMON, 1997).

20
A segunda gerao da WWW, conhecida como Web 2.0, est mudando o
paradigma dos aplicativos usados nos sistemas operacionais. A tendncia dessa
tecnologia visa no s manter a exibio de hipertexto, mas tambm utilizar a Web
como um ambiente de trabalho, onde possvel trabalhar de qualquer computador
conectado 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", o
conceito de Web 2.0 comeou com uma conferncia de brainstorming entre a
OReilly e a MediaLive International. Dale Doughherty, pioneiro da Web e
vicepresidente da OReilly, notou que a Web estava mais importante do que nunca,
apresentando instigantes aplicaes novas e sites eclodindo com surpreendente
regularidade. Nasceu ento a Conferncia Web 2.0.

2.2

Engenharia de Software

Segundo Carvalho e Chiossi (2001), a Engenharia de Software uma


disciplina que rene metodologias, mtodos e ferramentas a serem utilizados, desde
a percepo do problema at o momento que o sistema desenvolvido deixa de ser
operacional, visando resolver problemas inerentes ao processo de desenvolvimento
e 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 do
software. A reusabilidade tem como objetivos principais a qualidade, a produtividade
e a efetividade no desenvolvimento e manuteno de software. Na medida em que
os engenheiros de software utilizam partes de software j avaliadas, bem como de
partes de software j prontos, no ser necessrio sua digitao, codificao e
verificao 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 para
criao de sistemas, mas tambm o trabalho em equipe, e em tempo real,
possibilitando assim maior performance e agilidade no desenvolvimento de
softwares.
Um dos requisitos necessrios para que um software seja de qualidade a
documentao. Dentre as diversas formas de se documentar um software sero
utilizados o diagrama Entidade-Relacionamento (DER), que esta descrito no captulo
2.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 padronizao
unificada de modelagem (diagramao e desenvolvimento) de software que
congrega esforos de vrios pesquisadores e consultores da rea da tecnologia da
informao. Ela se constitui numa linguagem de modelagem e no numa
metodologia de desenvolvimento de sistemas ou software.
Dos noves diagramas da UML existentes, ser explicado sucintamente o
funcionamento somente do diagrama de casos de uso, por ser o nico necessrio
para o entendimento da ferramenta desenvolvida.
Segundo Booch, Rumbaugh e Jacobson (2000), um diagrama de Casos de
Uso um diagrama que mostra um conjunto de casos de uso e atores e seus
relacionamentos. O contedo bsico para um diagrama de caso de uso : casos de
uso, atores, relacionamentos de dependncia, generalizao e associao.
Melo (2002) descreve os casos de uso como uma seqncia de aes que
representam um cenrio principal e cenrios alternativos, com o objetivo de
demonstrar o comportamento de um sistema, atravs de interaes com atores.
Na Figura 1 apresentado um diagrama de casos de uso bsico.

22

Figura 1: Exemplo de um caso de uso.

Pode-se ver na Figura 1 que o ator funcionrio est ligado ao caso de uso
cadastrar 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 as
caractersticas do ator funcionrio e ainda pode gerar um relatrio de vendas.
Percebe-se que a Engenharia de Software todo o planejamento para a
construo de um software. E um bom planejamento pode trazer resultados
bastantes satisfatrios para a construo de um software.

2.2.1

Processos de desenvolvimento de software

Segundo Paula Filho (2001), processo um conjunto de passos parcialmente


ordenados, constitudos por atividades, mtodos, prticas e transformaes, usado
para atingir uma meta. Essa meta geralmente est associada a um ou mais
resultados concretos finais, que so os produtos da execuo do processo. Em
engenharia de software, processos podem ser definidos para atividades como
desenvolvimento, manuteno, aquisio e contratao de software.

23
Em um processo de desenvolvimento de software, o ponto de partida para a
arquitetura de um processo a escolha de um modelo de ciclo de vida. Dentre os
modelos de ciclo de vida, podemos destacar: em cascata, em cascata com
realimentao, espiral, prototipagem evolutiva e entrega evolutiva.
Para o desenvolvimento da ferramenta proposta neste trabalho foi utilizado o
modelo de ciclo de vida evolutiva, por ser um modelo que permite visualizar o projeto
como um todo e possibilita trabalhar separadamente cada parte do produto. Alm de
poder facilitar o acompanhamento do projeto. Na seo 2.2.2 visto mais
detalhadamente sobre esse modelo.

2.2.2

Modelo de ciclo de vida por entrega evolutiva

Segundo Paula Filho (2001), uma combinao dos modelos em cascata e


prototipagem evolutiva forma o modelo de Entrega Evolutiva (Figura 2). Esse modelo
permite que, em pontos bem-definidos, os usurios possam avaliar partes do
produto e fornecer realimentao quanto s decises tomadas. Facilita tambm o
acompanhamento do progresso de cada projeto, tanto por parte de seus gerentes
como dos clientes. A principal dificuldade a realizao do desenho arquitetnico
(isto , dos aspectos de mais alto nvel de abstrao): ele deve produzir uma
arquitetura de produto robusta, que se mantenha ntegra ao longo dos ciclos de
liberaes parciais.

24

2.3

Banco de Dados

Segundo Heuser (2001), banco de dados um conjunto de dados integrados


que tem por objetivo atender a uma comunidade de usurios.
A modelagem de um banco de dados pode ser categorizada como
conceitual, lgicos ou fsicos. O modelo conceitual descreve o banco de dados
como ele no mundo real, sem a preocupao com o nvel fsico. O modelo lgico
descreve como uma coleo de registros. E o modelo fsico descreve no nvel fsico
de 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 modelos

relacional, hierrquico, de redes, orientado a objetos, entre outros. Nesse projeto foi
utilizado o modelo relacional, por ser o mais utilizado no mercado atualmente. Para
facilitar 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 um
SGBD particular. A tcnica mais difundida de modelagem conceitual a abordagem
entidade-relacionamento (ER). Nesta tcnica, um modelo conceitual usualmente
representado

atravs

de

um

diagrama,

chamado

diagrama

Entidade-

Relacionamento (DER). A Figura 3 apresenta um DER parcial como exemplo.

Figura 3: Exemplo de modelo conceitual

Entre outras coisas, este modelo informa que o banco de dados contm
dados sobre empregado e sobre departamento. Para cada empregado, o banco de
dados 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 do
departamento.
Heuser (2001) diz que um modelo lgico um modelo de dados que
representa a estrutura de dados de um banco de dados conforme vista pelo usurio
do SGBD. A Figura 4 mostra um exemplo de um modelo lgico equivalente ao
modelo conceitual da Figura 3.

26

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

A Figura 5 mostra um exemplo de tabela de banco de dados relacional


projetado a partir do modelo lgico mostrado na Figura 4.

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

Heuser (2001) diz que os modelos fsicos so usados apenas por


profissionais que fazem sintonia de banco de dados, procurando otimizar a sua
performance. As linguagens e notaes para o modelo fsico no so padronizadas
e variam de produto a produto. A tendncia em produtos mais modernos esconder
o modelo fsico do usurio e transferir a tarefa de otimizao ao prprio SGBD.

27
2.4

2.4.1

Ferramentas

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 aplicaes
Web embutveis dentro do HyperText Markup Language (HTML). Os cdigos
desenvolvidos em PHP so executado e interpretados no servidor. Para que as
pginas 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 ou
browser. A nica coisa necessria o interpretador. Esse tipo de uso ideal para
script executados usando o cron ou o Agendador de Tarefas (no Microsoft Windows).
O PHP pode ser utilizado na maioria dos sistemas operacionais, incluindo
Linux, vrias variantes Unix (incluindo HP-UX, Solaris e OpenBSD), Microsoft
Windows, Mac OS X, RISC OS, entre outros. O PHP tambm suportado pela
maioria dos servidores Web atuais, incluindo Apache, Microsoft Internet Information
Server, Personal Web Server, Netscape and iPlanet Servers, Oreilly Website Pro
Server, Caudium, Xitami, OmniHTTPd, e muitos outros.
O PHP no est limitado a gerar somente HTML. As habilidades do PHP
incluem gerao de imagens, arquivos PDF e animaes Flash criados
dinamicamente.
O PHP possui suporte a uma ampla variedade de SGBDs, entre eles
podemos destacar o InterBase, MySQL, Oracle, PostgreSQL e o IBM DB2.
O PHP tambm tem suporte para comunicao com outros servios utilizando
protocolos como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (em Windows) e
outros. Pode abrir sockets de rede e interagir diretamente com qualquer protocolo. A
Figura 6 mostra um exemplo introdutrio de como pode ser escrito um script na

28
linguagem PHP.

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


Fonte: Manual do PHP.

2.4.2

MySQL

O MySQL um sistema de gerenciamento de bancos de dados relacional e


de cdigo aberto. Possui alguns recursos como Stored procedures, Views, Triggers,
consistncia de tipos, backup on-line (InnoDB), replicao unidirecional e
bidirecional, integridade referencial / foreign key constraints (InnoDB,

MaxDB e

Cluster), Table space (InnoDB), controle de transaes (InnoDB e Cluster), multi


verses e transaes ACID, Clustering + Load balancing = High availability (alta
disponibilidade), Query cache, Sub-select's e conexo segura entre cliente e servidor
com SSL.
O MySQL usa a GPL (GNU General Public License - Licena Pblica Geral
GNU) para definir o que pode e no pode fazer com o software em diferentes
situaes. Caso seja necessrio embutir o MySQL em uma aplicao comercial
pode-se adquirir a verso comercial licenciada.
O MySQL suportado por diversos sistemas operacionais, dentre eles o
Linux, FreeBSD, Sun Solaris e Microsoft Windows.

29
2.4.3

DBDesigner Fork

DBDesigner 4 uma ferramenta case para criar, modelar e efetuar


manutenes em bancos de dados. licenciado como software livre e disponvel
para os sistemas operacionais Windows e Linux. O DBDesigner Fork herda todas as
caractersticas do DBDesigner 4 e ainda h a possibilidade de trabalhar com os
SGBDs Firebird/InterBase, Microsoft SQL Server, MySQL, Oracle e PostgreSQL.
A possibilidade de trabalhar com diversos SGBDs foi o que levou escolha
desse sistema para o desenvolvimento da modelagem do banco de dados da
ferramenta proposta. Assim, um projeto criado para um SGBD especfico, pode ser
utilizado para diversos outros bancos de dados.

2.5

URL Amigvel

Torres (2004) diz que hoje em dia muito comum o uso de scripts que rodam
no 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, que
podem 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. Mas
para memorizar uma URL desse tipo seria complicado. Seria muito melhor que fosse
algo 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, por


causa 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 de

segurana e, hoje em dia, qualquer cuidado com segurana, mesmo que pequeno,
importante. E, alm disso, com a mudana da tecnologia usada, todos os links e
bookmarks que existam para o site sero quebrados.
Para resolver esses tipos de problemas basta mapear as URLs reais para
URLs virtuais, ficando assim mais fceis de compreender e indexar, e funciona
independente da tecnologia utilizada. Esse tratamento da URL configurado no
servidor Web, fazendo como que todas as URL's requisitadas sejam antes reescritas
usando expresses regulares. como se fosse um redirecionamento, s que o
usurio no fica sabendo que a pgina foi reescrita, j que o endereo na barra de
endereos do navegador de internet no muda e nenhum cabealho HyperText
Transfer Protocol (HTTP) 3xx enviado.
Um exemplo de arquivo de configurao (.htaccess) para utilizar URL
amigvel no servidor Web Apache, seria o seguinte:
Options +FollowSymLinks
RewriteEngine On
RewriteRule !.(gif|jpg|png)$ urls.php

Onde a opo Options +FollowSymLinks determina que o Apache dever


solicitar 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 um


comparativo de como normalmente funciona o desenvolvimento de sites de forma
tradicional e o desenvolvimento de sites utilizando a ferramenta Garbes 1.0.
Para se criar um site, no modelo tradicional, primeiramente cria-se um
diretrio onde ficaro armazenados os arquivos do site. Posteriormente, os arquivos
so criados e armazenados nesse diretrio. Com o site criado e pronto para
publicao, estes so enviados para o servidor. Na necessidade de se criar um novo
site, os mdulos que podero ser aproveitados, so copiados para este, havendo
assim, 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 no
desenvolvimento de sites, mas tambm, o compartilhamento de mdulos entre
diversos sites. Primeiramente, vale ressaltar que todos os mdulos que os
Webmasters iro trabalhar ficaro armazenados num banco de dados. A ferramenta
Garbes 1.0 o ambiente que far o gerenciamento dos dados armazenados no
SGBD. Esse ambiente permite que vrios Webmasters trabalhem em projetos
diferentes, compartilhando entre si mdulos em comum. Isso significa que, quando
um Webmaster cria um mdulo para seu sistema, ele tem a opo de compartilhar
esse mdulo com outros sistemas.
Graficamente, a Figura 7 mostra a metodologia de como projetar um site de
forma tradicional, enquanto a Figura 8 mostra a criao de um site utilizando a
ferramenta 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 mais
rapidamente, uma vez que existir o reaproveitamento de arquivos e a possibilidade
de 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 a
possibilidade de gerenciar seus sistemas criados e aqueles que ele tem permisso,
gerenciar mdulos e conceder permisses a outros Webmasters para gerenciar seus
sistemas. O ator Administrador tem permisso de tudo que o Webmaster faz, alm
de 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 por


oito 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 diversos
sistemas.
7. modulo_dependente: relacionamento entre mdulos que dependem uns dos
outros para funcionar.
8. extensao: extenses que um arquivo pode ter.
A Figura 10 mostra o diagrama Entidade Relacionamento, criado com o
software 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 funciona
hoje. O Quadro 1 mostra uma comparao entre a metodologia de desenvolvimento
de 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 no


banco de dados.

37
4.2.1

Visualizando graficamente essas diferenas

Sistemas Webs tradicionais

Sistema com Garbes 1.0


Sistemas

Os sistemas sistema1 e sistema2 so Os sistemas so apenas registros em


diretrios dentro da pasta www, que a uma tabela do banco de dados.
raiz do servidor Web.
Mdulos

Os mdulos so arquivos de ficam Os mdulos so registros em outra


armazenados dentro do diretrio do tabela do banco de dados, mas ainda
sistema criado.
no existe uma associao com algum
sistema.
Reutilizando cdigos

Para reaproveitar um mdulo no sistema


sistema2, necessrio fazer a cpia
desse, gastando mais espao no disco.
Caso seja necessrio fazer uma
alterao, tem-se que percorrer todos os
diretrios que utilizam esse arquivo e
alterar um a um.

Numa terceira tabela do banco de dados,


existe a associao entre o cdigo do
sistema com os mdulos necessrios
para
funcionar.
Pode-se
tambm
compartilhar um mesmo mdulo para
diversos sistemas, bastando apenas criar
essas associaes.

Quadro 1: Diferenas entre armazenamento de cdigos, utilizando arquiteturas tradicionais e


utilizando 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 servidor


Web. O arquivo .htaccess uma configurao para o servidor Web Apache que
permite que urls amigveis sejam utilizadas. J o arquivo urls.php o responsvel,
propriamente dito, pela localizao, interpretao e execuo dos cdigos fontes
armazenados no banco de dados. No diretrio imagens armazenado todas as
imagens dos sistemas que esto dentro do sistema Garbes 1.0.

4.3.2

4.3.2.1

Telas de Interface e Descrio do Funcionamento do Sistema

Autenticar Webmaster

39

O objetivo permitir que um Webmaster previamente cadastrado possa


acessar o sistema. Nessa tela o Webmaster informa seu login de acesso e sua
senha. O sistema verifica se as informaes esto corretas e autoriza, ou no, o
acesso. Caso o Webmaster esquea sua senha, este pode acessar a tela de
recuperar senha e solicitar a recuperao da senha. O sistema gera uma nova
senha e envia para o e-mail do Webmaster. A Figura 12 mostra o diagrama de caso
de uso Autenticar Webmaster, a Figura 13 corresponde tela principal desse caso
de uso implementado no sistema.

40
4.3.2.2

Gerenciar Webmaster

O objetivo visualizar, incluir, alterar e apagar os Webmaster e


Administradores que podem utilizar o sistema. O Webmaster pode ser cadastrado
como Webmaster ou Administrador. Cadastrando-se como administrador, este
poder gerenciar as contas de outros Webmasters e gerenciar extenses de cdigos
fontes que podem ser armazenados no sistema. A Figura 14 mostra o diagrama de
caso de uso gerenciar webmaster, a Figura 15 corresponde a tela principal desse
caso de uso implementado no sistema.

41
4.3.2.3

Gerenciar Sistemas

O objetivo visualizar, incluir, alterar e apagar os sistemas no banco de


dados. 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 um
sistema, selecionar mdulos que iro compor o contedo (cdigo-fonte) do sistema
criado. 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 uso
gerenciar sistemas e a Figura 17 corresponde tela principal desse caso de uso
implementado no sistema.

42
4.3.2.4

Gerenciar Permisses

O objetivo conceder privilgios de visualizao, incluso, alterao e


excluso de mdulos a outros Webmasters. A Figura 18 mostra o diagrama de caso
de 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 relacionar


mdulos dependentes de outros mdulos. Os mdulos podem ser categorizados em
trs reas: Pblica, Privada ou Protegida.
Um mdulo pblico tem como principal caracterstica ficar visvel para todos
os 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 utilizar
dependncia somente de outros mdulos que estejam na rea pblica.
O mdulo protegido no fica visvel para todos, e o Webmaster que criou esse
mdulo pode utiliz-lo em qualquer de seus sistemas. Mdulos dessa rea podem
depender de mdulos pblicos e mdulos protegidos.
J o mdulo privado pode ser utilizado por somente um sistema. Aps sua
utilizao, este no pode ser utilizado em outro sistema, mesmo que seja do mesmo
Webmaster. Sua dependncia para funcionamento pode incluir todas as categorias
de mdulos, ou seja, mdulos pblicos, mdulos privados e mdulos protegidos
podem ser utilizados.
A Figura 19 mostra o diagrama de caso de uso Gerenciar Mdulos. A Figura
20 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 ao
navegador de internet como deve ser exibido um determinado mdulo. Um exemplo
seria a extenso html, o sistema Garbes 1.0 envia o cabealho text/html para o
navegador de internet, o navegador de internet recebe esse cabealho e interpreta o
cdigo fonte recebido como um sistema no formato html. A Figura 23 mostra o
diagrama de caso de uso desse mdulo, e a Figura 24 mostra a tela principal desse
caso 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 um


sistema denominado monitor.

4.3.3.2

Criando os mdulos do sistema

Em seguida, criamos os mdulos do sistema. A Figura 26 mostra a criao de


um mdulo denominado monitor, com extenso html e localizado na rea
Protegida. Outros mdulos foram criados utilizando a mesma tcnica.

47

Para cada mdulo criado foi necessrio editar o cdigo fonte. A Figura 27
mostra 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 aos


sistema. A Figura 28 mostra a tela onde so feito essas associaes.

Agora o sistema esta quase pronto. Faltando apenas colocar as imagens do


sistema criado no diretrio imagens. A Figura 29 mostra como fica o diretrio de
imagens.

49
4.3.3.4

Testando o sistema

Para visualizar o sistema, basta abrir o navegador de internet e digitar a URL


correspondente ao sistema criado. Nesse caso seria http://localhost/monitor/html,
onde localhost seria o servidor Web local, monitor o mdulo principal do
sistema, e html a exteno do mdulo principal. A Figura 30 exibe como ficou o
sistema 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 em


banco 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 e
armazena seus dados e o uso do otimizador de consulta.
O Grfico 3 mostra uma avaliao de desempenho comparando um sistema
feito para ser executado diretamente em arquivos, e o mesmo sistema cujo cdigo
fonte est armazenado no banco de dados. As mtricas utilizadas para esse teste
foram: memria, quantidade de registro armazenado em cada tabela do banco de
dados e quantidade de usurios concorrentes que esto acessando o sistema ao
mesmo tempo.

Transaes por segundo

Cdigo fonte no BD X Cdigo fonte em Arquivo


140
130
120
110
100
90
80
70
60
50
40
30
20
10
0

Sistema no banco
Sistema fora do banco
Em arquivo

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

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

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 arquivo
Cd. da
Memria Qtd registro Usurios
Cd. fonte Cd. Fonte Diferena Porcentagem
comparao
no BD
concorrentes no banco em arquivo
1

256 MB

+- 15

10

92,68

76,33

16,35

17,64%

256 MB

+- 15

20

130,24

88,52

41,72

32,03%

512 MB

+- 15

10

92,52

73,72

18,81

20,33%

512 MB

+- 15

20

130,43

86,44

43,99

33,73%

256 MB

+- 20000

10

90,45

69,07

21,38

23,64%

256 MB

+- 20000

20

120,2

77,57

42,63

35,46%

512 MB

+- 20000

10

92,1

68,5

23,6

25,62%

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 no


banco de dados, em todos os casos, obteve uma quantidade de transaes por
segundo superior ao sistema cujo o cdigo fonte est armazenado em arquivo. Vale
observar 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 desenvolvimento


Web padro. Alm de estar preparada com novas tecnologias, existem as
possibilidades de:

Trabalhar em equipe, aumentando assim a qualidade do software, a


padronizao dos mdulos criados, reduzindo riscos e obtendo uma maior
confiabilidade 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. Sendo
no mesmo projeto ou projetos diferentes.

Importar e exportar sistemas, possibilitando que os cdigos fontes sejam


transportados facilmente para outros SGBDs que utilizam a mesma
modelagem 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. Isso
permite que o armazenamento e recuperao da documentao seja feita de
forma 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 desenvolvimento
de 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).

5.2

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

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 e
compartilhem

com

outros

Webmasters

possibilitando

assim,

um

desenvolvimento gil nas aplicaes.

A ferramenta desenvolvida pode ser muito bem utilizada em ambientes onde


o 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;

5.4

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.

Consideraes Finais

Os cdigos fontes da ferramenta Garbes 1.0 esto armazenados no prprio


contedo do banco de dados o qual ele administra. O segredo para que isso
acontea 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 necessrios
para sua execuo, gera um script na memria e executa esse script. O resultado
desse 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:
<http://info.cern.ch/> Acesso em: 25 mar. 2007.

DB Designer FORK. Disponvel em: <http://sourceforge.net/projects/dbdesignerfork> Acesso em: 21 mai. 2007.

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

MELO, Cludia de Oliveira. Reutilizao de Software: Classificao e Seleo de


Artefatos Reutilizveis, 2004. Disponvel em:
<http://www.ime.usp.br/~yw/2004/mac5701i/monografias/claudia-acvm.pdf>. Acesso
em: 24 ago. 2007.

MySQL. Manual de Referncia do MySQL 4.1. Disponvel em:


<http://dev.mysql.com/doc/refman/4.1/pt/index.html> Acesso em: 21 mai. 2007.

NIELSEN, Jakob. Projetando Websites. 2. Tiragem. Traduo de Ana Gibson. Rio


de Janeiro: Campos, 2000.

56

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


<http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html>
Acesso em: 10 mai. 2007.

O'REILLY, Tim; MEDEIROS, Miriam. O que a Web 2.0. 30 set. 2005. Disponvel
em: <http://juliopreuss.com/blog/2006/12/13/o-que-e-a-web-20/> 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: <http://www.php.net/manual/pt_BR/> Acesso


em: 21 mai. 2007.

QUACK, Till. How to Succeed With URLs. 12 out. 2001. Disponvel em:
<http://www.alistapart.com/articles/succeed/> Acesso em: 25 mar. 2007.

REDAO TERRA. Anos 60: a origem militar. Terra, 31 mai. 2005. Disponvel em:
<http://tecnologia.terra.com.br/internet10anos/interna/0,,OI541817-EI5026,00.html>
Acesso em: 7 mai. 2007.

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


2005. Disponvel em:
<http://tecnologia.terra.com.br/internet10anos/interna/0,,OI546299-EI5026,00.html>
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:


<http://www.ime.usp.br/~is/abc/abc/node17.html> Acesso em: 25 mar. 2007.

TORRES, Bruno. Gerenciamento de URLs com PHP. 19 Mar. 2005. Disponvel em:
<http://brunotorres.net/urls-php> Acesso em: 25 mar. 2007.

TORRES, Bruno. Gerenciamento de URLs - Criando URLs amigveis. 9 Ago.


2004. Disponvel em: <http://brunotorres.net/web/urls> Acesso em: 25 mar. 2007.

TORRES, Bruno. URLs amigveis - esclarecendo dvidas. 1 Fev. 2005.


Disponvel em: <http://brunotorres.net/urls-again> 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 identificado
pelo 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 Senha


a) 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 que
podero utilizar o sistema.
Ator Primrio: Administrador
Ator Secundrio: Webmaster
Pr-condies: Administrador deve possui uma conta no sistema e deve estar
autenticado 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, a
alterao dos dados de um Webmaster, a excluso de um Webmaster, a
localizao 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 Webmaster
a) 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) sejam
includos.
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 novos
dados e repete a verificao.
Fluxo Alternativo (5): Localizar Webmaster
a) 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 Webmaster
a) 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 Webmaster
a) 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 senha
a) 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 de
Webmaster, ou trocou a senha do Administrador.

61
Gerenciar Sistema (CSU03)
Sumrio: Esse caso de uso permite gerenciar os sistemas criados pelos
Webmasters.
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 Sistema
a) 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 Sistema
a) 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 Sistema
a) 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 Sistema
a) 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 Mdulo
a) Webmaster seleciona o Sistema ao qual pretende visualizar os mdulos
associados.
b) Sistema lista mdulos associados ao sistema.

62

Fluxo Alternativo (2): Adicionar Mdulo


a) 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)
b)
c)
d)

Webmaster seleciona o Sistema ao qual pretende apagar mdulos.


Sistema lista mdulos do Sistema.
Webmaster pede ao sistema para apagar mdulos do Sistema selecionado.
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 do
sistema}.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 Sistema
a) 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 rea
temporria.
i) Sistema emite uma mensagem para o Webmaster.
Ps-condies: Webmaster visualizou / inseriu / alterou / apagou / importou e
exportou sistemas, adicinou / removeu mdulos associados.
Gerenciar Mdulos (CSU04)
Sumrio: Esse caso de uso permite gerenciar os mdulos disponveis criados
pelos 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 Mdulo
a) 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 Mdulo
a) 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 Mdulo
a) 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 Mdulo
a) 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 de
dados.
Ator Primrio: Webmaster
Pr-condies: Webmaster deve estar autenticado pelo sistema.
Fluxo principal:
1. Webmaster solicita ao sistema lista de Sistemas cadastrado no banco de
dados.
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 o
Webmaster 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 o
Webmaster.
2. Sistema faz a consulta no banco de dados e lista mdulos disponveis para o
Webmaster.
Ps-condies: Lista dos mdulos disponveis para associar algum Sistema do
Webmaster.
Gerenciar Permisso (CSU08)
Sumrio: Esse caso de uso permite gerenciar privilgios de administrao em
Mdulos 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 Permisso
a) 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 Permisso
a) 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 pelo
sistema.
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 Extenso
a) 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 Extenso
a) 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 Extenso
a) 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 Extenso
a) 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.91
Ghz, e com memria RAM de 1024 MB RAM DDR + 128 MB RAM DDR. Uma switch
3COM 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 em
modo stop), servidor Web Apache 2.2.3, mdulo PHP 5.2.1, servidor BD MySQL
5.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 Mozilla


Firefox 2.0.0.7. Para simular a quantidade de usurios simultneos acessando o
servidor foi utilizado o software Proxy Sniffer V3.1 Free Edition, configurado para
ter um Loop por usurio igual a 10, Timeout igual 60 segundos, Delay por usurio
igual a 500 milisegundos e simulado uma navegao com apenas consultas.
O software Proxy Sniffer funciona como uma camada intermediria entre a
estao cliente e a estao servidor. Quando este est no modo gravando, so
capturadas todas as url's que o navegador de internet requisitou. Para simular os
testes ele gera um script que faz a requisio de toda a navegao gravada,
simulando a quantidade de usurios concorrentes e a quantidade de vezes cada
usurio simulado vai fazer o mesmo teste, previamente configurado.

2 Mtricas

Comparar a quantidade de transaes por segundo consegue-se obter, sob


essas configuraes de hardware e software, quando o cdigo fonte de um sistema
fica armazenado em banco de dados e quando o cdigo fonte do mesmo sistema
fica armazenado em arquivo.

3 Parmetros

Parmetro
Memria

Valores dos Parmetros


256 MB

512 MB

Quantidade de registro armazenado em +- 15


cada tabela do banco de dados

+- 20000

Quantidade de usurios concorrentes 10


esto acessando o sistema ao mesmo
tempo.

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 pelo


software proxy sniffer. O sistema testado estava configurado para utilizar URL
amigvel, 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 dados


Cd. do Memria Qtd registro Usurios
teste
no BD
concorrentes

Trans / seg Trans / seg Trans / seg Trans / seg


(Teste 1)
(Teste 2)
(Teste 3)
(Mdia)

256 MB

+- 15

10

97,21

87,83

92,99

92,68

256 MB

+- 15

20

134,83

127,2

128,7

130,24

512 MB

+- 15

10

90,2

94,67

92,7

92,52

512 MB

+- 15

20

131,79

130,36

129,13

130,43

256 MB

+- 20000

10

91,64

93,12

86,59

90,45

256 MB

+- 20000

20

120,49

120,28

119,84

120,2

512 MB

+- 20000

10

91,65

92,87

91,77

92,1

512 MB

+- 20000

20

120,43

117,96

119,97

119,45

71
4.1.3 Clculos dos efeitos simples

Memria
256 MB

Qtd registro no BD

512 MB

+- 15

Usurios concorrentes

+- 20000

10

20

92,68

92,52

92,68

90,45

92,68

130,24

130,24

130,43

130,24

120,2

92,52

130,43

90,45

92,1

92,52

92,1

90,45

120,2

120,2

119,45

130,43

119,45

92,1

119,45

108,39

108,63

111,47

105,55

91,94

125,08

Diferena igual 0,23

Diferena igual 5,92

Diferena igual 33,15

4.1.4 Clculos dos efeitos combinados

Memria x Qtd registro no BD

Memria
Qtd registro no BD

256 MB

512 MB

92,68

92,52

130,24

130,43

Mdia

111,46

111,48

+- 20000

90,45

92,1

120,2

119,45

105,33

105,78

+- 15

Mdia

72

Memria x Qtd registro no BD

110

110

100
90
80
70
60

256 MB

50

512 MB

40
30

Transaes por segundo

120

120
100
90
80
70
60

+- 15
+- 20000

50
40
30
20

20

10

10

0
256 MB

0
+- 15

512 MB

Memria

+- 20000

Qtd registros no BD

Memria x Usurios Concorrentes

Memria
256 MB
Usurios Concorrentes

Transaes por segundo

Memria x Qtd registro no BD

512 MB

92,68

92,52

90,45

92,1

Mdia

91,56

92,31

20

130,24

130,43

120,2

119,45

125,22

124,94

10

Mdia

73

Memria x Usurios concorrentes

Memria x Usurios concorrentes


130
120

130

100
90
80
70

256 MB

60

512 MB

50
40
30

Transaes por segundo

110

110
100
90
80
70

10
20

60
50
40
30
20

20

10

10

0
256 MB

0
10

512 MB

Memria

20

Usurios concorrentes

Usurios concorrentes x Qtd registro no BD

Qtd registro no banco


+- 15
Usurios concorrentes

Transaes por segundo

120

+- 20000

92,68

90,45

92,52

92,1

Mdia

92,6

91,27

20

130,24

120,2

130,43

119,45

130,34

119,83

10

Mdia

74

140
130
120
110
100
90
80
70
60
50
40
30
20
10
0

+- 15
+- 20000

Transaes por segundo

Transaes por segundo

Qtd registro no BD x Usurios concorrentes Qtd registro no BD x Usurios concorrentes


140
130
120
110
100
90
80
70
60
50
40
30
20

10
20

10
0
+- 15

10

20

+- 20000

Qtd registro no BD

Usurios concorrentes

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 pelo


software proxy sniffer. O sistema testado estava configurado para utilizar URL
amigvel, 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

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 arquivo


Cd. do Memria Qtd registro Usurios
teste
no BD
concorrentes

Trans / seg Trans / seg Trans / seg Trans / seg


(Teste 1)
(Teste 2)
(Teste 3)
(Mdia)

256 MB

+- 15

10

74,25

78,94

75,8

76,33

10

256 MB

+- 15

20

89,64

87,24

88,69

88,52

11

512 MB

+- 15

10

72,1

74,05

75

73,72

12

512 MB

+- 15

20

86,13

85,85

87,34

86,44

13

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,57

15

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
256 MB

Qtd registro no BD

512 MB

+- 15

Usurios concorrentes

+- 20000

10

20

76,33

73,72

76,33

69,07

76,33

88,52

88,52

86,44

88,52

77,57

73,72

86,44

69,07

68,5

73,72

68,5

69,07

77,57

77,57

78,14

86,44

78,14

68,5

78,14

77,87

76,7

81,25

73,32

71,9

82,67

Diferena igual 1,18

Diferena igual 7,93

Diferena igual 10,77

4.2.4 Clculos dos efeitos combinados

Memria x Qtd registro no BD

Memria
Qtd registro no BD

256 MB

512 MB

76,33

73,72

88,52

86,44

Mdia

82,43

80,08

+- 20000

69,07

68,5

77,57

78,14

73,32

73,32

+- 15

Mdia

77

Memria x Qtd registro no BD

110

120

100

110

90
80
70
256 MB
512 MB

60
50
40
30
20

Transaes por segundo

120

100

10

90
80
70
60

+- 15
+- 20000

50
40
30
20
10

0
+- 15

+- 20000

256 MB

Qtd registros no BD

Memria

Memria x Usurios Concorrentes

Memria
256 MB
Usurios Concorrentes

Transaes por segundo

Memria x Qtd registro no BD

512 MB

76,33

73,72

69,07

68,5

Mdia

72,7

71,11

20

88,52

86,44

77,57

78,14

83,05

82,29

10

Mdia

512 MB

78

Memria x Usurios concorrentes

Memria x Usurios concorrentes


130
120

130

100
90
80
70

256 MB
512 MB

60
50
40
30

Transaes por segundo

110

110
100
90
80
70

10
20

60
50
40
30
20

20

10

10

256 MB

10

Memria

20

Usurios concorrentes

Usurios concorrentes x Qtd registro no BD

Qtd registro no banco


+- 15
Usurios concorrentes

Transaes por segundo

120

+- 20000

76,33

69,07

73,72

68,5

Mdia

75,02

68,79

20

88,52

77,57

86,44

78,14

87,48

77,86

10

Mdia

512 MB

79

140
130
120
110
100
90
80
70
60
50
40
30
20
10
0

+- 15
+- 20000

Transaes por segundo

Transaes por segundo

Qtd registro no BD x Usurios concorrentes Qtd registro no BD x Usurios concorrentes


140
130
120
110
100
90
80
70
60

10
20

50
40
30
20
10
0
+- 15

10

+- 20000

Qtd registro no BD

20

Usurios concorrentes

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 o
cdigo fonte do sistema esta armazenado em arquivo
Cd. da
Memria Qtd registro Usurios
Cd. fonte Cd. Fonte Diferena Porcentagem
comparao
no BD
concorrentes no banco em arquivo
1

256 MB

+- 15

10

92,68

76,33

16,35

17,64%

256 MB

+- 15

20

130,24

88,52

41,72

32,03%

512 MB

+- 15

10

92,52

73,72

18,81

20,33%

512 MB

+- 15

20

130,43

86,44

43,99

33,73%

256 MB

+- 20000

10

90,45

69,07

21,38

23,64%

256 MB

+- 20000

20

120,2

77,57

42,63

35,46%

512 MB

+- 20000

10

92,1

68,5

23,6

25,62%

512 MB

+- 20000

20

119,45

78,14

41,31

34,59%

80

Transaes por segundo

Cdigo fonte no BD X Cdigo fonte em Arquivo


140
130
120
110
100
90
80
70
60
50
40
30
20
10
0

Sistema no banco
Sistema fora do banco
Em arquivo

Cdigo da comparao

4.3.2 Clculos dos efeitos combinados

Sistema no banco

Sistema em arquivo

Memria x Qtd registro no BD

Memria x Qtd registro no BD

120

120

110

110

100

100

90
80
70
60

256 MB

50

512 MB

40
30
20
10

Transaes por segundo

Transaes por segundo

Memria x Qtd registro no BD

90
80
70
60

256 MB

50

512 MB

40
30
20
10

0
+- 15

+- 20000

Qtd registros no BD

+- 15

+- 20000

Qtd registros no BD

81

Memria x Qtd registro no BD

120

120

110

110

100
90
80
70
60

+- 15
+- 20000

50
40
30
20
10

Transaes por segundo

Transaes por segundo

Memria x Qtd registro no BD

100
90
80
70
60

+- 15
+- 20000

50
40
30
20
10

0
256 MB

Memria

512 MB

256 MB

Memria

512 MB

82
Memria x Usurios concorrentes

Memria x Usurios concorrentes

130

130

120

120

110

110

100
90
80
70

256 MB

60

512 MB

50
40
30
20

Transaes por segundo

Transaes por segundo

Memria x Usurios concorrentes

10

100
90
80
70

512 MB

50
40
30
20
10

0
10

20

10

Usurios concorrentes

Memria x Usurios concorrentes


130

120

120

110
100
90
80
10
20

50
40
30
20
10
0

Transaes por segundo

130

70
60

20

Usurios concorrentes

Memria x Usurios concorrentes


Transaes por segundo

256 MB

60

110
100
90
80
70
60

10
20

50
40
30
20
10
0

256 MB

Memria

512 MB

256 MB

Memria

Qtd registro no BD x Usurios concorrentes

512 MB

83

140
130
120
110
100
90
80
70
60
50
40
30
20
10
0

+- 15
+- 20000

10

Qtd registro no BD x Usurios concorrentes

Transaes por segundo

Transaes por segundo

Qtd registro no BD x Usurios concorrentes

140
130
120
110
100
90
80
70
60

+- 20000

50
40
30
20
10
0

20

10

Usurios concorrentes

20

Usurios concorrentes

Qtd registro no BD x Usurios concorrentes

Qtd registro no BD x Usurios concorrentes


140
130

140
130
120
110
100
90
80
70
60
50
40
30
20
10
0

10
20

Transaes por segundo

Transaes por segundo

+- 15

120
110
100
90
80
70
60
50
40
30
20
10

10
20

0
+- 15

+- 20000

Qtd registro no BD

+- 15

+- 20000

Qtd registro no BD

5 Concluses

Em todos os testes realizados, quando o cdigo fonte do sistema testado esta


armazenado no banco de dados obtm-se uma maior quantidade de
transaes por segundo.

O que mais influenciou na quantidade de transaes por segundo foi a


quantidade de usurios simultneos acessando o servidor.

Nos testes realizados, o pior caso de quando o sistema esta armazenado no

84
banco de dados, ainda foi melhor que o melhor caso de quando o sistema
esta armazenado na forma de arquivo.

85
APNDICE C Comando SQL do sistema Garbes 1.0.

CREATE DATABASE garbes;


USE garbes;
CREATE TABLE webmaster (
login VARCHAR(20) NOT NULL ,
senha VARCHAR(40) NOT NULL ,
nome VARCHAR(50) NOT NULL ,
email VARCHAR(50) NOT NULL

PRIMARY KEY (login) ,


UNIQUE (email)
)ENGINE = innodb;
CREATE TABLE administrador (
webmaster VARCHAR(20) NOT NULL

PRIMARY KEY (webmaster),


FOREIGN KEY (webmaster) REFERENCES webmaster (login)
ON DELETE CASCADE
ON UPDATE CASCADE
)ENGINE = innodb;
CREATE TABLE sistema (
codigo INTEGER(11) NOT NULL AUTO_INCREMENT,
nome VARCHAR(50) NOT NULL ,
descricao VARCHAR(255) ,
webmaster VARCHAR(20) NOT NULL
PRIMARY KEY (codigo) ,
UNIQUE (nome) ,

86

FOREIGN KEY (webmaster) REFERENCES webmaster (login)


)ENGINE = innodb;
CREATE TABLE extensao (
extensao VARCHAR(5) NOT NULL ,
cabecalho VARCHAR(50) NOT NULL ,
descricao VARCHAR(255) ,
PRIMARY KEY(extensao)
)ENGINE = innodb;
CREATE TABLE modulo (
codigo INTEGER(11) NOT NULL AUTO_INCREMENT,
nome VARCHAR(50) NOT NULL ,
extensao VARCHAR(5) NOT NULL ,
area ENUM("PUB","PRO","PRI") NOT NULL DEFAULT "PRO", /* PUBLICO,
PROTEGIDO, PRIVADO */
conteudo TEXT NOT NULL ,
documentacao TEXT ,
webmaster VARCHAR(20) NOT NULL

PRIMARY KEY (codigo) ,


UNIQUE (nome, extensao) ,
FOREIGN KEY (webmaster) REFERENCES webmaster (login)
ON DELETE NO ACTION
ON UPDATE CASCADE,
FOREIGN KEY (extensao) REFERENCES extensao (extensao)
ON DELETE NO ACTION
ON UPDATE CASCADE
)ENGINE = innodb;
CREATE TABLE permissao (
codigo INTEGER(11) NOT NULL AUTO_INCREMENT,

87
sistema INTEGER(11) NOT NULL ,
webmaster VARCHAR(20) NOT NULL ,
visualizar BOOL NOT NULL ,
inserir BOOL NOT NULL ,
alterar BOOL NOT NULL ,
apagar BOOL NOT NULL ,
webmaster_dono VARCHAR(20) NOT NULL

PRIMARY KEY (codigo) ,


UNIQUE (sistema, webmaster) ,
FOREIGN KEY (sistema) REFERENCES sistema (codigo)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (webmaster) REFERENCES webmaster (login)
ON DELETE NO ACTION
ON UPDATE CASCADE,
FOREIGN KEY (webmaster_dono) REFERENCES webmaster (login)
ON DELETE NO ACTION
ON UPDATE CASCADE
)ENGINE = innodb;
CREATE TABLE sistema_modulo (
sistema INTEGER(11) NOT NULL ,
modulo INTEGER(11) NOT NULL

PRIMARY KEY (sistema, modulo) ,


FOREIGN KEY (sistema) REFERENCES sistema (codigo)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (modulo) REFERENCES modulo (codigo)
ON DELETE NO ACTION
ON UPDATE CASCADE
)ENGINE = innodb;

88
CREATE TABLE modulo_dependente (
modulo_filho INTEGER(11) NOT NULL ,
modulo_pai INTEGER(11) NOT NULL

PRIMARY KEY (modulo_filho, modulo_pai) ,


FOREIGN KEY (modulo_filho) REFERENCES modulo (codigo)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (modulo_pai) REFERENCES modulo (codigo)
ON DELETE NO ACTION
ON UPDATE CASCADE
)ENGINE = innodb;
/* A senha no formato HASH corresponde a "123456". */
INSERT INTO webmaster VALUES
('demo','e10adc3949ba59abbe56e057f20f883e','Demonstracao','demo@silviogarbes.
com.br')

Vous aimerez peut-être aussi