Académique Documents
Professionnel Documents
Culture Documents
Arcos
2007
2
Slvio Garbes Lara
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.
Jandu Tupinambs
_________________________________________
Jandu Tupinambs PUC Minas
5
Agradecimentos
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
9
LISTA DE GRFICOS
10
LISTA DE QUADROS
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
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
1.1
1.1.1
Objetivos
Objetivos Gerais
15
ferramenta de desenvolvimento que minimize tais problemas.
1.1.2
Objetivos Especficos
Aumentar a produtividade.
Padronizar os mdulos.
Reduzir riscos.
Tornar portvel os cdigos fontes criados, para qualquer banco de dados que
utilize essa mesma modelagem do banco de dados.
16
1.2
Motivao
1.3
Metodologia
17
2
2.1
REVISO BIBLIOGRFICA
Internet
18
Mantido este ritmo de crescimento, a Internet ter tantos computadores quantos so
os habitantes do planeta terra no ano de 2011 (SIMON, 1997).
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
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
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
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
24
2.3
Banco de Dados
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-
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
27
2.4
2.4.1
Ferramentas
28
linguagem PHP.
2.4.2
MySQL
MaxDB e
29
2.4.3
DBDesigner Fork
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:
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
31
3
DOCUMENTAO DO SISTEMA
32
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
34
3.2
35
36
4
APRESENTAO DO SISTEMA
4.1
4.2
37
4.2.1
38
4.3
4.3.1
4.3.2
4.3.2.1
Autenticar Webmaster
39
40
4.3.2.2
Gerenciar Webmaster
41
4.3.2.3
Gerenciar Sistemas
42
4.3.2.4
Gerenciar Permisses
4.3.2.5
Gerenciar Mdulos
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.
44
45
4.3.2.6
Gerenciar Extenso
46
4.3.3
4.3.3.1
Criando um sistema
4.3.3.2
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
49
4.3.3.4
Testando o sistema
50
4.4
Avaliao de desempenho
(Linux,
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.
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%
52
5
CONCLUSO
53
caractersticas necessrias para se ter um melhor rendimento no desenvolvimento
de sistemas Web.
5.1
Dificuldade Encontradas
5.2
Contribuies do Trabalho
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
54
5.3
5.4
Consideraes Finais
55
REFERNCIAS
CERN. The website of the world's first-ever web server. Disponvel em:
<http://info.cern.ch/> Acesso em: 25 mar. 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).
56
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.
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.
57
ed. Rio de Janeiro: Brasport, 2005.
TORRES, Bruno. Gerenciamento de URLs com PHP. 19 Mar. 2005. Disponvel em:
<http://brunotorres.net/urls-php> Acesso em: 25 mar. 2007.
58
APNDICE
Um mdulo pblico pode ter como pai somente outro mdulo pblico.
59
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
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
66
67
APNDICE B Avalizao de desempenho da ferramenta utilizada.
1 Ambiente de testes
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
1.2.1 Hardware
68
1.2.2 Software
2 Mtricas
3 Parmetros
Parmetro
Memria
512 MB
+- 20000
20
69
4 Experimentos
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
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
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
110
110
100
90
80
70
60
256 MB
50
512 MB
40
30
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
256 MB
Usurios Concorrentes
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
130
100
90
80
70
256 MB
60
512 MB
50
40
30
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
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
10
20
10
0
+- 15
10
20
+- 20000
Qtd registro no BD
Usurios concorrentes
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
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
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
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
110
120
100
110
90
80
70
256 MB
512 MB
60
50
40
30
20
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
256 MB
Usurios Concorrentes
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
130
100
90
80
70
256 MB
512 MB
60
50
40
30
110
110
100
90
80
70
10
20
60
50
40
30
20
20
10
10
256 MB
10
Memria
20
Usurios concorrentes
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
10
20
50
40
30
20
10
0
+- 15
10
+- 20000
Qtd registro no BD
20
Usurios concorrentes
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
Sistema no banco
Sistema fora do banco
Em arquivo
Cdigo da comparao
Sistema no banco
Sistema em arquivo
120
120
110
110
100
100
90
80
70
60
256 MB
50
512 MB
40
30
20
10
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
120
120
110
110
100
90
80
70
60
+- 15
+- 20000
50
40
30
20
10
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
130
130
120
120
110
110
100
90
80
70
256 MB
60
512 MB
50
40
30
20
10
100
90
80
70
512 MB
50
40
30
20
10
0
10
20
10
Usurios concorrentes
120
120
110
100
90
80
10
20
50
40
30
20
10
0
130
70
60
20
Usurios concorrentes
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
512 MB
83
140
130
120
110
100
90
80
70
60
50
40
30
20
10
0
+- 15
+- 20000
10
140
130
120
110
100
90
80
70
60
+- 20000
50
40
30
20
10
0
20
10
Usurios concorrentes
20
Usurios concorrentes
140
130
120
110
100
90
80
70
60
50
40
30
20
10
0
10
20
+- 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
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.
86
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
88
CREATE TABLE modulo_dependente (
modulo_filho INTEGER(11) NOT NULL ,
modulo_pai INTEGER(11) NOT NULL