Académique Documents
Professionnel Documents
Culture Documents
Assis
2014
FREDERICO MANOEL BERTOLUCI REIS
Assis
2014
FICHA CATALOGRFICA
CDD: 001.6
Biblioteca da FEMA
Desenvolvimento de um sistema Web em Java para criao de
mdulos baseados em conceitos de segurana da informao.
Assis
2014
DEDICATRIA
Previously the issue of information security was not very complicated, because the
information was stored in many roles that could be locked physically, but with the
arrival of the technological era and communication, the issue was much more
complex, today most of the devices connects internet and consequently the internet
connects to them, moreover, we know that digital data are portable, this fact did that
information become attractive to thieves.
Unfortunately what we see in practice is that many companies do not give due weight
to this issue and often the price is very high, so the best way is to reduce the
maximum any risks to information, following a single path in order to maintain
integrity and availability of information systems. To implement an effective
information security within an organization should be alert to such issues as a good
risk analysis, the definition of the Security Policy and lastly a contingency plan.
With this, this paper aims to show some rules we should adopt as design patterns to
ensure good security software on the web.
1. INTRODUO
Cada vez mais empresas aderem aos sistemas web. A web est deixando de ser
usada somente para redes sociais e outras particularidades, e est comeando a
entrar na era do cloud computing (Computao em nuvem). Desta forma, vrias
empresas esto incorporando os sistemas web.
ao sistema. Ullman (2008), explica um modo de como criar um web site com o
sistema de login, tambm inteiramente acoplado. Em praticamente todos os livros
que se encontra hoje, o mtodo de desenvolvimento com o login acoplado ao
sistema web.
Desta forma, poder ser realizada uma programao em mdulos respectivos, como
por exemplo, no sistema de um banco: a funcionalidade que gerencia o saldo ficar
separada da funcionalidade de extratos a qual ser independente da funcionalidade
de abertura de contas e assim por diante. Com isso, se um cliente acessar o sistema
do banco para ver seu saldo, e a funcionalidade de abertura de contas estiver em
manuteno, este no precisar retornar mais tarde, j que a funo do sistema que
ir utilizar ainda estar disponvel.
1.1. OBJETIVO
1.2 JUSTIFICATIVA
1.3 PROBLEMA
A ideia para este projeto surgiu junto com um trabalho proposto em sala de aula,
quando houve a necessidade de manuteno de um sistema j em funcionamento.
A partir deste trabalho se observou a necessidade de retirar um sistema inteiro do ar
para uma atualizao de uma nica pagina.
Para solucionar este problema, este projeto prope a criao de um mdulo de login
onde todos os outros se conectam a ele, assim evitando que o sistema pare por
completo por causa de pequenas atualizaes ou manutenes.
2. REVISO DA LITERATURA
A informao uma arma importante para qualquer empresa nos tempos modernos
e tambm um recurso que pode alavancar ou falir a empresa. A segurana da
informao de vital importncia, alm de ser uma forma de gesto para muitas
organizaes. Porm, muitas organizaes no prestam ateno no valor da
informao at que as perdem. Ainda se encontra uma grande dificuldade por parte
das empresas para se entender a importncia da segurana da informao. Muitas
empresas descartam a importncia da segurana da informao apenas por
acharem que no passa de um custo desnecessrio para investir em sua empresa.
Porem quando seus dados so roubados ou perdidos por falta de manuteno que
as empresas percebem o beneficio do investimento que aparente no tem retorno,
JUKEMURA (2006).
Spanceski (2004) diz que o maior desafio de fazer o cliente entender que a
segurana da informao no resulta em melhorias nas quais todos perceberam que
algo foi feito, e sim que uma soluo de segurana geralmente imensurvel.
Integridade: atributo de segurana que indica se uma informao pode ser alterada
somente de forma autorizada.
Contudo, Fabrcio Alves e Andr Alves (2009) comentam que os aspectos citados
acima so importantes sim, porm as ferramentas de desenvolvimento so to
22
Este mdulo de login proposto seguir os aspectos e normas citados acima, alm de
um levantamento minucioso das tecnologias empregadas para seu desenvolvimento,
para que se possa garantir a segurana da informao que estar trafegando pela
internet.
No desenvolvimento deste projeto foi utilizada a linguagem Java por ser uma
linguagem de programao totalmente orientada a objetos. Tambm foi utilizado o
framework JSF (Java Server Faces) para desenvolver as telas do sistema, junto com
o JSF, foi utilizado o Prime faces, que um componente baseado em JSF. A
ferramenta de desenvolvimento foi escolhido o NetBeans 7.2 por sua facilidade e
popularidade com a linguagem.
O banco de dados foi o PostgreSQL, que foi escolhido por facilidade de integrao
ao Java e por desempenho estvel quando utilizado em sistema web, para se
trabalhar com o PostgreSql foi escolhido o PgAdim 3, por ser uma ferramenta grfica
para utilizao direta ao banco de dados e por ter uma interface grfica simples. E
por final, mas no menos importante a ferramenta utilizada para produo da UML e
documentao do sistema foi o Astah Community.
3.1.1. NETBEANS
3.1.2. J AVA
Java uma linguagem de programao 100% orientada a objetos, que foi lanada
em 1995 pela Sun Microsystems, porm segundo o DEITEL (2003), a criao do
Java se iniciou em 1991 inicialmente com o nome de Green. Esta linguagem base
para praticamente todo tipo de aplicativos de rede.
Seu criador, James Gosling, o batizou com o nome de Oak, que era uma rvore que
ele sempre observava, porm, depois de muito estudo, foi descoberto que j existia
uma linguagem chamada de Oak.
Segundo Pacievitch, em 2006, o Java j tinha sido quase todo convertido para a
licena de Software livre, criando assim uma comunidade de desenvolvimento
global. Sua utilizao relativamente simples, por isso a quantidade de
25
Com sua enorme aceitao, grandes empresas como a IBM, anunciaram que
ajudariam no suporte ao Java. Com isso, as empresas fariam seus produtos
aceitarem aplicativos feitos em Java. Segundo estudos, Java foi a tecnologia
adotada mais rapidamente na histria da informtica.
3.1.3. POSTGRESQL
3.1.4. PGADMIN 3
PgAdmin vem na instalao padro na maioria das distribuies Linux, como Red
Hat, Fedora, Debian e Ubuntu. Se necessrio uma verso diferente do includo na
distribuio, poder ser feita uma atualizao pelos repositrios de cada verso do
Linux.
3.1.6. PRIMEFACES
Cada biblioteca oferece ShowCases na web para mostrar seus componentes e suas
funcionalidades. Onde se pode ver o showcase do PrimeFaces no endereo
http://www.primefaces.org.
No seu demo online, se pode ver uma lista de componentes disponveis, como
inputs, painis, botes diversos, menus, grficos e componentes drag & drop, que
vo muito alm das especificaes, ainda mantendo a facilidade de uso:
A anlise orientada a objetos surgiu na dcada de 1990. Aps algum tempo surge a
UML (Unified Modeling Language, Unified Modeling Language), aprovada como
padro de pelo OMG (Object Management Group), que uma organizao
internacional que aprova padres abertos para aplicaes orientadas a objetos
(BEZERRA, 2002).
A UML uma linguagem visual para modelar sistemas orientados a objetos. Isso
quer dizer que a UML uma linguagem constituda de elementos grficos (visuais)
29
4. DOCUMENTAO
R:
R:
R:
R:
31
R:
Cadastrar usurios;
Cadastrar grupos
Cadastrar Sistemas;
Cadastrar Eventos;
Sempre necessitar de acesso internet por ser um sistema web, porm no ser
necessrio muitos recursos de hardware, j que o sistema ser desenvolvido com
compatibilidade para quase todos os navegadores disponveis.
32
Sim ( ) No ( )
Sim ( ) No ( )
Sim ( ) No ( )
Sim ( ) No ( )
Sim ( ) No ( )
Informaes adicionais:
______________________________
4.1.4.1. ESCOPO
As permisses de acesso sero divididas em quatro nveis, que sero ler (somente a
visualizao do evento), inserir (poder gravar informaes no evento), alterar
(poder alterar informaes do evento) e excluir (permitir remover informaes do
evento).
Ser permitido a cada usurio a marcao de seus eventos favoritos. Esses eventos
ficaro disponveis em uma lista de eventos na tela principal de acesso para facilitar
sua utilizao.
Cada usurio ter acesso para alterar informaes em seu perfil. Essas alteraes
sero restringidas a alterao de telefone, endereo, e-mail, login ou senha de
acesso.
Manter Usurio
Manter Grupo
Manter evento
Manter sistema
Manter permisses
34
Manter favoritos
Manter mensagens
Esto reunidos neste tpico, todos os diagramas de caso de uso junto com os
diagramas de sequencia de cada parte do projeto desenvolvido.
35
Finalidade/Objetivo:
Atores:
Usurio e Administrador.
Evento Inicial:
Fluxo Principal:
Fluxos Alternativos:
Fluxos de Exceo:
Ps-Condies:
Casos de Testes:
Finalidade/Objetivo:
Atores:
Usurio e administrador.
Evento Inicial:
Fluxo Principal:
Ps-Condies:
Casos de Testes:
Finalidade/Objetivo:
Atores:
Usurio e Administrador.
38
Pr-condies:
Fluxo Principal:
Fluxos Alternativos:
Fluxos de Exceo:
O evento no ser mais exibido caso as permisses seja removida daquele usurio.
Casos de Testes:
Validao das permisses que o usurio tem para cada evento cadastrado em seus
favoritos.
Finalidade/Objetivo:
Atores:
Usurio e Administrador.
Pr-condies:
Evento Inicial:
Fluxo Principal:
39
4.2.1.6. FAVORITOS
Finalidade/Objetivo:
Atores:
Usurio e Administrador.
Pr-condies:
Evento Inicial:
Fluxo Principal:
Fluxos Alternativos:
Ps-Condies:
Fluxos de Exceo:
O evento ser eliminado das duas listas caso a permisso seja retirada do usurio.
Casos de Testes:
Finalidade/Objetivo:
Permitir adicionar eventos de uso frequente a sua lista de favoritos que mostrada
na pgina principal.
Atores:
Usurio/Administrador
Pr-condies:
42
Evento Inicial:
Fluxo Principal:
Ps-Condies:
Fluxos de Exceo:
O evento ser eliminado das duas listas caso a permisso seja retirada do usurio.
Casos de Testes:
Finalidade/Objetivo:
Listar todos os eventos disponveis para cadastrar nos favoritos e tambem listar
todos os eventos favoritos.
Atores:
Usurio/Administrador
Pr-condies:
Evento Inicial:
Fluxos de Exceo:
O evento ser eliminado das duas listas caso a permisso seja retirada do usurio.
43
Casos de Testes:
Finalidade/Objetivo:
Atores:
Usurio/Administrador
Pr-condies:
Evento Inicial:
Fluxo Principal:
Ps-Condies:
Fluxos de Exceo:
O evento ser eliminado das duas listas caso a permisso seja retirada do usurio.
Casos de Testes:
4.2.1.11. EVENTOS
Finalidade/Objetivo:
Atores:
Usurio/Administrador
Pr-condies:
Evento Inicial:
Fluxo Principal:
Ps-Condies:
Fluxos de Exceo:
45
Casos de Testes:
Finalidade/Objetivo:
Atores:
Usurio e Administrador
Pr-condies:
46
Evento Inicial:
Fluxo Principal:
Ps-Condies:
Fluxos de Exceo:
Casos de Testes:
Finalidade/Objetivo:
Atores:
Usurio e Administrador
Pr-condies:
Evento Inicial:
Fluxo Principal:
47
Fluxos de Exceo:
Casos de Testes:
4.2.1.15. PERFIL
Finalidade/Objetivo:
Atores:
Usurios e Administrador.
Pr-condies:
Evento Inicial:
48
Fluxo Principal:
Ps-Condies:
Fluxos de Exceo:
Finalidade/Objetivo:
Atores:
Usurios e Administrador.
Pr-condies:
Evento Inicial:
Fluxo Principal:
Ps-Condies:
Fluxos de Exceo:
Casos de Testes:
Validar usurio na sesso logo aps o login ser efetuado, e validao dos novos
dados inseridos.
50
Finalidade/Objetivo:
Atores:
Administrador
Pr-condies:
Evento Inicial:
Fluxo Principal:
Ps-Condies:
Casos de Testes:
Finalidade/Objetivo:
Atores:
Administrador
Pr-condies:
Evento Inicial:
Fluxo Principal:
Ps-Condies:
53
Casos de Testes:
Finalidade/Objetivo:
Atores:
Administrador
Pr-condies:
Evento Inicial:
Fluxo Principal:
Ps-Condies:
55
Casos de Testes:
Finalidade/Objetivo:
Atores:
Administrador
Pr-condies:
Evento Inicial:
Fluxo Principal:
Ps-Condies:
57
Casos de Testes:
Finalidade/Objetivo:
Atores:
Administrador
Pr-condies:
Evento Inicial:
Fluxo Principal:
Ps-Condies:
Casos de Testes:
Finalidade/Objetivo:
Atores:
Administrador
Pr-condies:
Evento Inicial:
Fluxo Principal:
Ps-Condies:
Casos de Testes:
A figura a seguir apresenta o caso de uso global, onde se tem uma viso geral de
todos casos de uso citados anteriormente.
Dentro do pacote dao, est todas as classes que servem para a persistncia dos
dados no banco de dados.
Caso de Uso;
Diagrama de classes;
Diagrama de atividades;
Programao;
Testes;
Treinamento.
1 (um) Notebook;
1 (uma) Impressora;
Aplicativos: LibreOffice.
Analista de Sistema
Quantidade de horas: 24
Custo total: (Total de dias * Custo dirio) = R$ 1.400,00 (mil e quatrocentos reais)
Programador
Custo total: (Total de dias * Custo dirio) = R$ 9.600,00 (nove mil e seiscentos reais)
Notebook
Custo dia: (R$ 68,75 / 30 dias) = R$ 2,30 (dois reais e trinta centavos) por dia
Custo do Notebook: (Total de dias * Custo dia) = R$ 75,90 (setenta e cinco reais e
noventa centavos)
Impressora
Custo dia: (R$ 18,75 / 30 dias) = R$ 0,63 (sessenta e trs centavos) por dia
Custo da Impressora: (Total de dias * Custo dia) = R$ 6,30 (seis reais e trinta
centavos)
Custo dia: (R$ 27,30 / 30 dias) = R$ 0,91 (noventa e um centavos) por dia
Aplicativos LibreOffice.
Recursos Valor
Notebook R$ 75,90
Impressora R$ 6,30
Recursos Valor
Notebook R$ 75,90
Impressora R$ 6,30
Utilizar internacionalizao.
REFERNCIAS
Deitel, H. M.; Deitel P. J. Java como programar. Trad. Lisba, Carlos Arthur Lang,.
4.ed. Porto Alegre, RS : BOOKMAN Companhia Editora, 2003.
ULLMAN, Larry. PHP 6 and MySQL 5 for Dynamic Web Sites. 1. ed. Brasil: Editora
Peachpit Press, 2008.
80
APNDICE A
Abaixo esta representada a tela inicial do projeto, onde nota-se o login juntamente
com o captcha desenvolvido para este projeto.
Figura 30 LOGIN
Figura 31 MENU
81