Sistema Imobiliário

Propaganda
UNISALESIANO
Centro Universitário Católico Salesiano Auxilium
Curso de Tecnologia em Sistemas para Internet
Maria Eliza dos Santos Almeida
Pedro Henrique da Silva Brumati
SISTEMA IMOBILIÁRIO ON-LINE UTILIZANDO
LINGUAGEM JAVA
LINS – SP
2010
MARIA ELIZA DOS SANTOS ALMEIDA
PEDRO HENRIQUE DA SILVA BRUMATI
SISTEMA IMOBILÍARIO ON-LINE UTILIZANDO LINGUAGEM JAVA
Trabalho de Conclusão de Curso
apresentado à Banca Examinadora do
Centro Universitário Católico Salesiano
Auxilium, curso de Tecnologia em
Sistemas para Internet, sob a orientação
da Profª M.Sc Cibele Aparecida Rodrigues
Barbosa
LINS – SP
2010
Almeida, Maria Eliza dos Santos; Brumati, Pedro Henrique da Silva;
Sistema imobiliário on-line utilizando linguagem Java / Maria
A449s
Eliza dos Santos Almeida; Pedro Henrique da Silva Brumati -- Lins,
2010.
83p. il. 31cm.
Monografia apresentada ao Centro Universitário Católico
Salesiano Auxilium – UNISALESIANO, Lins – SP, para graduação
em Tecnologia em Sistemas para Internet, 2010
Orientadora: Cibele Aparecida Rodrigues Barbosa
1. J2EE. 2. Gerenciamento Imobiliário. 3. Aplicações Web. I
Título.
CDU 004
MARIA ELIZA DOS SANTOS ALMEIDA
PEDRO HENRIQUE DA SILVA BRUMATI
SISTEMA IMOBILIÁRIO ON-LINE UTILIZANDO LINGUAGEM JAVA
Monografia apresentada ao Centro Universitário Católico Salesiano Auxilium,
para obtenção do título de Tecnólogo em Sistemas para Internet.
Aprovada em: _____/______/_____
Banca Examinadora:
Profª Orientadora: M. Sc. Cibele Aparecida Rodrigues Barbosa
Titulação: Mestre em Engenharia de Produção pela Universidade de São Paulo
(USP).
Assinatura: _________________________________
1º Profº: M. Sc. Alexandre Ponce de Oliveira
Titulação: Mestre em Ciência da Computação pelo Centro Universitário
Eurípedes de Marília (Univem).
Assinatura: _________________________________
2º Profº: M. Sc. João João Artur Izzo
Titulação: Mestre em Comunicação pela Universidade Paulista (UNIP).
Assinatura: _________________________________
DEDICATÓRIA
A Isabel, por acreditar na minha capacidade, não medindo
esforços para que eu realizasse meus sonhos. Agradeço pela
dedicação, carinho, amor, pelo exemplo de coragem,
determinação e bondade, ao qual eu tenho orgulho de poder
chamá-la de Mãe.
Maria Eliza
Dedico esta monografia aos meus familiares, especialmente para
minha mãe Marli e minha avó Vicentina, que em nenhum
momento mediram esforços para a realização dos meus sonhos,
que sempre me mostraram os caminhos corretos e me ajudaram
a fazer as melhores escolhas.
Também dedico a minha companheira de monografia, Maria Eliza,
que sempre esteve me apoiando, motivando e ensinando-me a
ser uma pessoa melhor.
A vocês devo essa pessoa que me tornei, e tenho muito honra em
tê-los ao meu lado.
Pedro Henrique
AGRADECIMENTOS
Agradeço em primeiro lugar a Deus, que iluminou os meus passos
durante essa caminhada.
A minha mãe, Isabel, que sempre esteve ao meu lado me
apoiando e incentivando em todos os momentos.
Ao meu grande amigo e parceiro de monografia Pedro Henrique,
pela amizade, incentivo e pelo aprendizado.
A orientadora, Cibele, pela dedicação, confiança e auxílio na
realização desta monografia;
Ao professor João Artur, pelas conversas, conselhos e carinho
dedicado a nós. Obrigada pela amizade.
Ao professor Anderson Pazin, pela ajuda, confiança e dedicação
ao qual foi de extrema importância no desenvolvimento deste
trabalho.
Ao Coordenador Eduardo Bergamo, pela atenção, respeito e
confiança que sempre teve em nós.
Aos meus amigos em especial Bruno Regattieri, Débora Sallino,
Juliane, Leandro Pavoni e Murillo, pelos momentos de
descontração e incentivo.
Aos professores que sempre se dedicaram e nunca mediram
esforços para que pudéssemos aprender.
A todos muito obrigada!
Maria Eliza
AGRADECIMENTOS
A Deus, o que seria de mim sem a fé que tenho nele. Deus é
minha razão de ser e de viver.
Aos meus pais, minha irmã, meus avós e a toda minha família que
com muito carinho e apoio, não mediram esforços para que eu
chegasse até esta etapa de minha vida.
À professora Cibele pela paciência na orientação e incentivo, na
realização da conclusão desta monografia.
Aos professores Anderson Pazin e João Artur Izzo pelo apoio e
inspiração no amadurecimento dos meus conhecimentos e
conceitos que me levaram a execução e conclusão desta
monografia.
Ao professor e coordenador Eduardo Bergamo, pelo convívio,
pelo apoio, pela compreensão e pela amizade.
A todos os professores que foram tão importantes na minha vida
acadêmica e a todos que colaboraram no desenvolvimento desta
monografia.
Aos amigos e colegas, em especial: Leandro Pavoni e Bruno
Regattieri, pelo incentivo e pelo apoio constante durante todo o
curso.
Pedro Henrique
RESUMO
Este trabalho tem como objetivo mostrar o uso da plataforma Java 2
Enterprise Edition (J2EE), que possui inúmeros recursos para o
desenvolvimento de aplicações web. Seguindo a forte tendência de mercado
em se desenvolver aplicações baseadas em plataformas web, foi desenvolvido
para demonstração da plataforma, um software para gerenciamento imobiliário
on-line para pequenas e médias empresas, que visa atender as necessidades
básicas de uma imobiliária. Para o desenvolvimento desta ferramenta foram
integradas outras tecnologias que, em conjunto com a plataforma J2EE, pode
trazer maior flexibilidade e integração do sistema. Entre as demais tecnologias
usadas para o desenvolvimento desse sistema estão: Ajax, Cascading Style
Sheets (CSS) e Java Server Pages (JSP) que tornam a aplicação mais
dinâmica e interativa com o usuário, podendo ser personalizado de acordo com
as necessidades dele. Para o armazenamento de dados da imobiliária foi
utilizado o sistema gerenciador de banco de dados Oracle Express Edition.
Palavras-chave: J2EE. Gerenciamento Imobiliário. Aplicações Web.
ABSTRACT
This work aims to show the use of Java 2 Enterprise Edition (J2EE), that
has numerous features for developing web applications. Following the strong
market trend to develop applications based on web platforms, was developed to
demonstrate the platform, an on-line real estate management software for small
and medium enterprises, which aims to meet the basic needs of an real estate.
To develop this tool other technologies that were integrated in conjunction with
the J2EE platform can bring greater flexibility and system integration, among
the other technologies used to develop this system are: Ajax, Cascading Style
Sheets (CSS) and Java Server Pages (JSP) that make the application more
dynamic and interactive user, can be customized according to user needs. For
data storage system was used, real estate manager of Oracle Database
Express Edition.
Keywords: J2EE. Real Estate Management. Web Applications.
LISTA DE FIGURAS
Figura 1. Diagrama de Classe ........................................................................ 19
Figura 2. Diagrama de use-case..................................................................... 20
Figura 3. Diagrama de Sequência .................................................................. 20
Figura 4. Diagrama de Colaboração ............................................................... 21
Figura 5. Diagrama de Componentes ............................................................. 21
Figura 6. Comparação do modelo tradicional e Ajax ...................................... 26
Figura 7. Cadastro de cliente .......................................................................... 31
Figura 8. Cadastro de Imóvel.......................................................................... 31
Figura 9. Corretores........................................................................................ 32
Figura 10. Cadastro de Contrato .................................................................... 32
Figura 11. Cadastro de Recibo ....................................................................... 33
Figura 12. Agenda .......................................................................................... 33
Figura 13. Divulgar Lista ................................................................................. 34
Figura 14. Configurações ............................................................................... 34
Figura 15. Dados da imobiliária ...................................................................... 35
Figura 16. Backup........................................................................................... 35
Figura 17. Cadastro de Imóvel (dados pessoais) ........................................... 36
Figura 18. Cadastro de Imóveis (Dados do Imóvel)........................................ 37
Figura 19. Pesquisa de imóveis ...................................................................... 38
Figura 20. Use Case: Cadastrar funcionário ................................................... 45
Figura 21. Use Case: Cadastrar imóvel .......................................................... 46
Figura 22. Use Case: Cadastrar Proprietário .................................................. 47
Figura 23. Use Case: Cadastrar Inquilino ....................................................... 48
Figura 24. Use Case: Cadastrar fiador ........................................................... 49
Figura 25. Use Case: Efetuar pagamento de aluguel. .................................... 50
Figura 26. Use Case: Cadastrar locação ........................................................ 51
Figura 27. Use Case: Cadastrar venda .......................................................... 52
Figura 28. Use Case: Cadastrar comprador ................................................... 53
Figura 29. Use Case: Gerar relatório de funcionário ...................................... 54
Figura 30. Use Case: Gerar relatório de proprietário ...................................... 54
Figura 31. Use Case: Gerar relatório de imóvel.............................................. 54
Figura 32. Use Case: Gerar relatório de inquilino. .......................................... 55
Figura 33. Use Case: Gerar relatório de fiador. .............................................. 55
Figura 34. Use Case: Cadastrar tipo de imóvel. ............................................. 56
Figura 35. Diagrama de Classe ...................................................................... 57
Figura 36. Diagrama de Sequência 01: Funcionário solicita cadastro ............ 64
Figura 37. Diagrama de Sequência 02: Cadastro de Imóvel .......................... 64
Figura 38. Diagrama de Sequência 03: Cadastro de Proprietário .................. 65
Figura 39. Diagrama de Sequência 04: Cadastro de inquilino ........................ 65
Figura 40. Diagrama de Sequência 05: Cadastro de fiador ............................ 66
Figura 41. Diagrama de Sequência 06: Pagamento de aluguel ..................... 66
Figura 42. Diagrama de Sequência 08: funcionário efetua locação................ 67
Figura 43. Diagrama de Sequência 08: Funcionário efetua venda ................. 67
Figura 44. Diagrama de Sequência 06: Comprador solicita cadastro ............. 68
Figura 45. Diagrama de Sequência 08: Relatório de funcionário ................... 68
Figura 46. Diagrama de Sequência 09: Relatório de proprietário ................... 68
Figura 47. Diagrama de Sequência 10: Relatório de imóvel ........................... 69
Figura 48. Diagrama de Sequência 12: Relatório de inquilino ........................ 69
Figura 49. Diagrama de Sequência 13: Relatório de fiador ............................ 69
Figura 50. Diagrama de Sequência 13: Cadastro de tipo de imóvel ............... 70
Figura 51. Tela inicial do sistema ................................................................... 71
Figura 52. Tela inicial do sistema ................................................................... 72
Figura 53. Cadastro de pessoa física ............................................................. 72
Figura 54. Cadastro de pessoa jurídica .......................................................... 73
Figura 55. Cadastro de imóvel ........................................................................ 74
Figura 56. Cadastro de locação ...................................................................... 75
Figura 57. Efetuar venda ................................................................................ 76
Figura 58. Pagamento de aluguel ................................................................... 77
Figura 59. Relatório de pessoa ....................................................................... 77
Figura 60. Relatório de imóvel ........................................................................ 78
Figura 61. Cadastro de tipo de imóvel ............................................................ 78
LISTA DE QUADROS
Quadro 1. Lista de Use-Case ......................................................................... 44
Quadro 2. Estrutura da tabela imóvel ............................................................. 59
Quadro 3. Estrutura da tabela pessoa ............................................................ 59
Quadro 4. Estrutura da tabela fisica ............................................................... 60
Quadro 5. Estrutura da tabela juridica ............................................................ 60
Quadro 6. Estrutura da tabela funcionario ...................................................... 61
Quadro 7. Estrutura da tabela inquilinoFiador ................................................ 61
Quadro 8. Estrutura da tabela aluguel ............................................................ 62
Quadro 9. Estrutura da tabela locacao ........................................................... 62
Quadro 10. Estrutura da tabela venda ............................................................ 63
Quadro 11. Estrutura da tabela tipoImovel ..................................................... 63
LISTA DE SIGLAS E ABREVIATURAS
AJAX: Asynchronous JavaScript And XML
APIs: Application Programming Interfaces
CEP: Código de Endereçamento Postal
CGI :Common Gateway Interfaces
CNPJ: Cadastro Nacional de Pessoa Jurídica
CPF: Cadastro Nacional de Pessoa Física
CRECI: Conselho Regional de Corretores de Imóveis
DOM: Document Object Mode
EE: Enterprise Edition
HTML: HyperText Markup Language
HTTP: Hyper Text Transfer Protocol
IDE: Integrated Development Environment
IPTU: Imposto sobre a propriedade predial e territorial urbana
J2EE :Java 2 Enterprise Edition
J2ME :Java 2 Micro Edition
J2SE: Java 2 Standard Edition
JDBC : Java Database Connectivity
JSP: Java Server Pages
JVM: Java Virtual Machine
PL/SLQ :Procedural Language/Structured Query Language
SE: Standard Edition
SGBD: Sistema Gerenciador de Banco de Dados
SO: Sistema Operacional
SQL : Structured Query Language
UF: Unidade da federação
UML:Unified Modeling Language
XE: Express Edition
XHTML: Extensible Hypertext Markup Language
XML: Extensible Markup Language
XSLT: Extensible Stylesheet Language Transformations
SUMÁRIO
INTRODUÇÃO .................................................................................................. 14
1. FUNDAMENTOS CONCEITUAIS .............................................................. 17
1.1 UML – UNIFIED MODELING LANGUAGE...........................................................17
1.2 DIAGRAMAS UML .........................................................................................18
1.3 PLATAFORMAS TECNOLÓGICAS......................................................................22
1.3.1 JAVA .........................................................................................................22
1.3.2 J2EE - JAVA 2 ENTERPRISE EDITION ..........................................................23
1.3.3 JDBC - JAVA DATABASE CONNECTIVITY ......................................................24
1.3.4 SERVLETS .................................................................................................24
1.3.5 JSP – JAVASERVER PAGES .......................................................................25
1.3.6 AJAX ........................................................................................................26
1.3.7 CSS - CASCADING STYLE SHEETS ..............................................................27
1.4 SGBD - SISTEMA GERENCIADOR DE BANCO DE DADOS ..................................27
1.4.1 ORACLE.....................................................................................................27
1.4.2 ORACLE XE ...............................................................................................29
2 LEVANTAMENTO DE REQUISITOS .......................................................... 30
2.1 ANÁLISE DE MERCADO ..................................................................................30
2.2 DOCUMENTOS DE REQUISITOS.......................................................................40
2.2.1 VISÃO GERAL DO SISTEMA ...........................................................................40
2.2.2 REQUISITOS FUNCIONAIS ............................................................................40
2.2.3 IMPRESSÃO DE RELATÓRIOS........................................................................42
2.2.4 PROCESSAMENTOS ....................................................................................43
3 ANÁLISE ORIENTADA A OBJETOS ......................................................... 44
3.1 LISTA DE CASOS DE USO...............................................................................44
3.2 DIAGRAMA DE CASOS DE USO .......................................................................45
4 PROJETO DE BANCO DE DADOS ............................................................ 58
4.1 TABELAS ......................................................................................................58
5 PROJETO ORIENTADO A OBJETOS ....................................................... 64
5.1 DIAGRAMAS DE SEQUÊNCIA ...........................................................................64
5.1.1 - FUNCIONÁRIO SOLICITA CADASTRO ............................................................64
5.1.2 - FUNCIONÁRIO SOLICITA CADASTRO DE IMÓVEL............................................64
5.1.3 - PROPRIETÁRIO SOLICITA CADASTRO ..........................................................65
5.1.4 - INQUILINO SOLICITA CADASTRO..................................................................65
5.1.5 - FIADOR SOLICITA CADASTRO .....................................................................66
5.1.6 - FUNCIONÁRIO EFETUA PAGAMENTO DE ALUGUEL.........................................66
5.1.7 - FUNCIONÁRIO EFETUA LOCAÇÃO................................................................67
5.1.8 - FUNCIONÁRIO EFETUA VENDA ....................................................................67
5.1.9 - COMPRADOR SOLICITA CADASTRO .............................................................68
5.1.10 - FUNCIONÁRIO SOLICITA RELATÓRIO DE FUNCIONÁRIO .................................68
5.1.11 FUNCIONÁRIO SOLICITA RELATÓRIO DE PROPRIETÁRIO ..................................68
5.1.12 - FUNCIONÁRIO SOLICITA RELATÓRIO DE IMÓVEL ...........................................69
5.1.13 - FUNCIONÁRIO SOLICITA RELATÓRIO DE INQUILINO .......................................69
5.1.14 - FUNCIONÁRIO SOLICITA RELATÓRIO DE FIADOR ...........................................69
5.1.15 - FUNCIONÁRIO CADASTRA TIPO DE IMÓVEL.................................................. 70
6 IMPLEMENTAÇÃO ORIENTADA A OBJETOS ......................................... 71
6.1 LAYOUT DE TELAS........................................................................................ 71
CONCLUSÃO ................................................................................................... 80
REFERÊNCIAS ................................................................................................ 81
GLOSSÁRIO .................................................................................................... 83
14
INTRODUÇÃO
Com o passar dos anos, as empresas tendem a se informatizar e a
buscar soluções mais adequadas para gerenciar seus produtos e serviços. Os
sistemas on-line baseados nos conceitos de cloud computing (computação em
nuvem) tem sido uma das soluções mais procuradas por pequenas e médias
empresas pela facilidade de uso, flexibilidade e portabilidade, podendo ser
acessado de qualquer lugar que tenha conexão com a internet.
Esse tipo de sistema precisa apenas de browser para ser executado,
não requer instalação ou atualização de software, podendo rodar em qualquer
plataforma. A menor necessidade de processamento do sistema não exige que
o cliente troque a sua máquina para executar o sistema, facilitando e
diminuindo os gastos com hardware e software.
A flexibilidade traz ao usuário uma interação maior com o sistema,
podendo adaptá-lo conforme sua necessidade. O suporte torna-se mais fácil,
pois não há necessidade de deslocar um técnico ao local.
Dalfovo e Amorim (2000) explicam que é de extrema necessidade para
as organizações a missão de administrar as informações, pois existe uma
crescente demanda e sofisticação na tecnologia da informação de software e
hardware, e este recurso será de vital importância para a sobrevivência das
empresas.
Devido aos fatos já descritos, surgiu a idéia de desenvolver um sistema
que dará suporte para gerenciar e administrar os negócios de imobiliárias,
cuidando principalmente das locações e vendas dos imóveis, usando os
recursos on-line.
O sistema de gestão imobiliária on-line traz como proposta às empresas
a praticidade de terem seus cadastros sempre atualizados e acesso 24 horas,
sem a preocupação de realizar backups ou de perderem seus dados por falha
de equipamentos.
Seus principais recursos são a avançada tecnologia e a operação
simplificada. A partir do acesso de plataformas que possibilitam a integração de
base de dados na web, permite uma gestão completa na área imobiliária,
inteiramente aos negócios do cliente, armazenam dados que agilizam o
15
gerenciamento de informações da imobiliária, como gerenciamento de imóveis,
clientes, proprietários, descrição de imóveis, entre outras funcionalidades.
O principal objetivo é desenvolver um sistema web para imobiliárias, que
gerencie cadastros e consulta de dados de forma ágil, utilizando uma interface
intuitiva e usual de fácil manuseio, possibilitando assim que o usuário sinta-se
seguro em utilizar o sistema.
Automatizar a geração relatórios e impressão de contratos e recibos de
forma rápida, sem que haja necessidade de altos investimentos na empresa
em compra de sistemas ou máquinas de alto processamento.
Sobre a segurança das informações, o sistema tem um nível muito alto a
respeito da integridade dos dados, fazendo com que elas sejam atualizadas e
consistentes.
Os objetivos do sistema são:
a) automatizar as operações decorrentes da rotina imobiliária, como
cadastros, consultas, geração de relatórios, entre outros;
b) permitir a visualização de disponibilidades de imóveis;
c) disponibilizar controle de aluguéis;
d) organizar as informações registradas e
e) emitir relatórios com informações de imóveis e a consulta de imóveis.
O tema torna-se atual e necessário devido à propagação da internet que
possibilita a criação de um novo campo de desenvolvimento de sistemas, ao
qual é de grande importância desenvolver para a web, já que o mercado
necessita de novas ferramentas que sejam voltadas a web usando tecnologias
atuais como Java. A tecnologia J2EE(Java 2 Enterprise Edition) traz a
possibilidade de se desenvolver sistemas de grande porte para empresas,
voltados para internet.
O presente trabalho encontra-se dividido em seis capítulos além da
Introdução e Conclusão.
O primeiro capítulo - Fundamentos Conceituais, apresenta os conceitos
sobre as tecnologias utilizadas no desenvolvimento do sistema imobiliário.
O segundo capítulo - Levantamentos de Requisitos, apresenta-se uma
análise de mercado focando as ferramentas já existentes que desenvolvem as
mesmas tarefas do sistema imobiliário proposto. Além disso, mostra as
informações do sistema imobiliário com suas características e funcionalidades.
16
O terceiro capítulo - Análise Orientada a Objetos, descreve a análise
realizada para desenvolvimento desse sistema mostrando a lista de Caso de
Uso, os diagramas de Caso de Uso e Classe.
O
quarto
capítulo
-
Projeto
de
Banco
de
Dados,
mostra
o
desenvolvimento do banco de dados utilizado com tabelas criadas para o
sistema.
O quinto capítulo - Projeto Orientado a Objeto, mostra o projeto do
sistema através dos diagramas de sequência.
O sexto capítulo - Implementação Orientada a Objetos, faz a
demonstração dos layouts das telas criadas para o sistema.
17
1.
FUNDAMENTOS CONCEITUAIS
1.1 UML – Unified Modeling Language
De acordo com Silva (2001), UML é uma linguagem para especificar
documentação, visualização e desenvolver sistemas orientados a objetos. Une
os principais métodos existentes, sendo considerada uma das linguagens mais
expressivas para modelar sistemas orientados a objetos.
“UML é uma linguagem visual, constituída de elementos gráficos que
permite representar os conceitos de paradigmas para modelar sistemas
orientados a objetos (BEZERRA, 2006)”.
Nogueira (2005), explica que “a UML pode ser utilizada para representar
fases dos sistemas, desde os primeiros contatos até a programação, aplicada
em qualquer tipo de sistemas em termos de diagramas de orientação a objeto”.
Uma modelagem UML possibilita uma visão dos sistemas, que é
extremamente necessária para a compreensão, documentação e organização
dos sistemas.
Por meio de diagramas, é possível representar graficamente os sistemas
de diversas formas de visualização, que facilita o entendimento do sistema que
está sendo desenvolvido.
Basicamente a UML é composta de cinco fases no desenvolvimento de
software: análise de requisitos, análise, design (projeto), programação e testes
(SILVA, 2009).
Análise de requisitos: deve ser a primeira fase a ser realizada no
desenvolvimento de software, pois visa buscar as funcionalidades do sistema e
a necessidade do usuário, que são expressas através das funções de “UseCase” (SILVA, 2009).
Análise: esta fase faz as abstrações de classes e objetos e outros
mecanismos que possam estar presentes. As classes são modeladas e ligadas
através de relacionamentos com outras classes e descritas no diagrama de
classe. Classes que gerenciam o banco de dados, interface, concorrência e
outros não estarão presentes neste diagrama (SILVA, 2009).
18
Design (projeto): Nesta fase novas classes são criadas para representar
uma infraestrutura interface do usuário e de periféricos, gerenciamento de
banco de dados, comunicação com outros sistemas, dentre outros (SILVA,
2009).
Programação: Nesta fase as classes criadas na fase do design são
convertidas para a linguagem de programação orientada a objeto.
Testes: Esta fase realiza testes de unidades que são para classes
individuais ou grupo de classes, integração que são aplicados usando as
classes e componentes integrados para verificar se as mesmas estão
cooperando umas com as outras como especificado no modelo e aceitação que
verifica se o sistema está funcionando como especificados nos diagramas de
“Use-Case” (SILVA, 2009).
1.2
Diagramas UML
Os diagramas são representações gráficas do modelo que simplificam e
melhoram o entendimento do sistema a ser desenvolvido.
Os relacionamentos são representados por meio de associações,
herança, generalização ou refinamento.
Dentre os vários tipos de diagramas da UML, podem-se destacar cinco
deles: classes, use-case, sequência, colaboração e componentes.
Diagramas de Classes: usado para representar a estrutura estática de
uma classe de um sistema; as classes podem ser relacionadas com outras de
várias maneiras, como associação, especialização, dependências e em
pacotes. Os relacionamentos são mostrados no diagrama de classes
juntamente com as suas estruturas internas, que são os atributos e operações
(FLOWER, 2005).
A figura 1 exemplifica um modelo de diagrama de classe que gerencia
pedidos de clientes.
19
Fonte: FOWLER, 2005, p. 53
Figura 1. Diagrama de Classe
Diagrama de Use-Case: corresponde a uma visão externa do sistema e
representa graficamente os atores do sistema e relacionamento entre esses
elementos. O diagrama de use-case tem como objetivo ilustrar em um nível alto
de abstração quais elementos e funcionalidades do sistema (BEZERRA, 2006).
A figura 2 mostra um diagrama de Use-Case de compra de produto.
20
Fonte: FOWLER, 2005, p. 107
Figura 2.
Diagrama de use-case
Diagrama de sequência: representa uma sequência de processos do
sistema, descreve a maneira como os grupos de objetos colaboram em algum
comportamento ao longo do tempo. Ele registra o comportamento de um único
caso de uso e exibe os objetos e as mensagens passadas entre esses objetos
no caso de uso (FOWLER, 2009).
A figura de 3 mostra um diagrama de sequência de cálculo do valor de
pedido pelo cliente
Fonte: FOWLER, 2005, p. 69
Figura 3. Diagrama de Sequência
21
Diagrama de colaboração: semelhante ao diagrama de sequência
mostra a interação de objetos e seus relacionamentos e mensagens trocadas
entre eles (FOWLER, 2005).
A figura 4 demonstra um Diagrama de Colaboração que mostra a
interação da classe vendedor com as classes de compradores.
Fonte: Scott, 2002, p. 60
Figura 4. Diagrama de Colaboração
Diagrama de componente: mostra como as classes deverão se organizar
através da noção de componentes de trabalho. É utilizado quando se tem a
necessidade de dividir o sistema em componentes ou mostrar seus
relacionamentos por meio de interface (FOWLER, 2005).
A figura 5 mostra um modelo de Diagrama de Componentes,
demonstrando a interação de um caixa com o sistema de vendas.
Fonte:FOWLER, 2005, p. 135
Figura 5.
Diagrama de Componentes
22
1.3 Plataformas Tecnológicas
1.3.1
Java
Java é uma linguagem de programação de alto nível, muito similar a
linguagem C++, mas com características herdadas de outras linguagens.
Desenvolvida pela Sun Microsystem em 1991, tem como principais
características a programação orientada a objeto, a portabilidade por ser a
única linguagem multi-plataforma. Em maio de 1995, a plataforma Java foi
adotada mais rapidamente do que qualquer outra linguagem de programação
na história da computação (MORAES, 2009).
Em 2004, a linguagem Java já tinha atingido a marca de três milhões de
desenvolvedores em todo o mundo. Java continua crescendo e hoje é, com
certeza, um padrão para o mercado oferecendo qualidade, performance e
segurança ainda sem nenhum competidor a altura (MORAES, 2009).
Java tornou-se popular pelo uso na Internet e hoje possui seu ambiente
de execução presente em web browsers, mainframes, Sistemas Operacionais,
celulares, palmtops e cartões inteligentes (JAVA, 2009).
Deitel (2005) diz que “Java se tornou a linguagem preferida para
implementar aplicativos baseados na Intranet,
Internet e software para
dispositivos que se comunicam através de uma rede”.
A linguagem Java difere das outras linguagens, pois é compilada para
bytecodes, ao invés de linguagem de máquina como as outras linguagens
estáticas. Os bytecodes são interpretados pela Java Virtual Machine (JVM)
instalada na máquina do usuário, que os converte em códigos executáveis. A
JVM é responsável pelo gerenciamento dos aplicativos, à medida que são
executados (JAVA, 2009).
Pode ser encontrada em três plataformas principais de desenvolvimento:
J2SE (Java 2 Standard Edition) que é o ambiente de desenvolvimento mais
utilizado. Isso porque seu uso é voltado a computadores pessoais e servidores,
onde há bem mais necessidade de aplicações; J2EE (Java 2 Enterprise
Edition) utilizada no desenvolvimento de grandes aplicações voltadas ou não a
23
internet; J2ME (Java 2 Micro Edition) utilizada no desenvolvimento de
aplicativos para dispositivos móveis, como celulares (JAVA, 2009)
1.3.2 J2EE - Java 2 Enterprise Edition
J2EE consiste em um conjunto de serviços, APIs (Interfaces de
Programação de Aplicação) e protocolos, que oferecem a funcionalidade para o
desenvolvimento
de
aplicações
de
multicamadas,
baseadas
na
web
(OLIVEIRA, 2004).
O J2EE tem como objetivo fornecer uma plataforma independente,
portável, multiusuário, segura e padronizada de classe corporativa para
instalações do lado do servidor escrita na linguagem Java (ROMAN, AMBLER
E JEWELL, 2004).
Esta plataforma tem como objetivo facilitar o desenvolvimento de
software exatamente para o ambiente corporativo que tenha interfaces com a
internet. Formado por um conjunto de componentes de software padronizados
que fornecem os principais serviços necessários para desenvolver um sistema
multicamada de qualidade, o J2EE contém praticamente todas as APIs Java
que trabalham no lado do servidor (GOMES, 2000).
Sampaio (2005) afirma que o modelo de programação J2EE é baseado
em containers que fornecem todos os serviços necessários para a aplicação
corporativa. Isto faz com que os desenvolvedores escrevam menos códigos,
diminuindo o tempo de desenvolvimento e riscos dos projetos, e os problemas
de manutenção.
J2EE possui uma arquitetura dividida em três camadas lógicas as quais
separam os componentes da aplicação de modo a atribuir papéis e
responsabilidade para cada parte. A primeira camada é a de aplicação;
composta pelos componentes web, esta camada é responsável pela interação
com o cliente. A segunda camada é a de aplicação, que tem como função
armazenar toda a lógica de processamento; os componentes desta camada
recuperam os dados que estejam no banco de dados ou do sistema de
informação. A terceira camada é a de interação, faz a função de comunicar-se
24
com os sistemas de retaguarda, como banco de dados ou aplicações que
rodam em mainframes (ABINADER e LINS, 2006).
A plataforma possui diversas especificações, com funcionalidades
diferentes, entre elas estão: Java Database Connectivity (JDBC), Servlets, Java
Server Page (JSP).
1.3.3 JDBC - Java Database Connectivity
Os JDBC são conectores do pacote Java fornecido pelos fabricantes de
banco de dados ou terceiros, responsáveis por fazer a conexão com o banco
de dados (SANTOS, 2007).
JDBC oferece uma biblioteca padrão para acessar bancos de dados
relacionais. Usando a API JDBC, pode-se acessar uma variedade de diferentes
bases de dados SQL com exatamente a mesma sintaxe Java (HALL, 2001).
As APIs JDBC são implementadas via um gerenciador de driver que
pode suportar conexões a diferentes bancos de dados. O driver JDBC pode ser
escrito completamente em Java de forma que possa ser baixado como parte de
um applet, ou pode ser implementado usando métodos nativos que criariam
uma espécie de ponte para as bibliotecas existentes de acesso a banco de
dados (UMEDA, 2009).
1.3.4 Servlets
Servlets são classes Java que rodam em um servidor web, agindo como
um meio de camadas entre pedidos vindo de um navegador web, ou cliente
HTTP e outras bases de dados ou aplicações HTTP (HALL, 2001).
Como servlets são escritos em Java, eles criam extensões sofisticadas
em um servidor, independentemente do sistema operacional. Os servlets
podem ler dados enviados pelo usuário por meio de um formulário de uma
página web, podendo gerar conteúdos dinâmicos como uma página
personalizada, enviar uma mensagem de volta ao cliente com informações em
25
formatos HTML ou mesmo em outros formatos.
De acordo com Ambler (2006), os servlets recebem dados (uma
solicitação), realizando alguma lógica e gravando os dados (uma resposta). Os
servlets podem ser reutilizados, pois guardam os dados na memória podendo
ser usado repetidamente para atender a muitas solicitações, sem precisar
reiniciar o processo toda vez que for requisitado pela rede, diferente do CGI
(Common Gateway Interfaces) que precisa ser carregado toda vez que é
requisitado.
A utilização do servlet padroniza e torna portável a distribuição ou
implementação da aplicação. Cria uma solução de cliente/servidor, sendo
assim uma das melhores alternativas para criação de aplicação web.
1.3.5
JSP – JavaServer Pages
De acordo com Temple (2004), as páginas JSP foram criadas para
contornar algumas das limitações no desenvolvimento com Servlets: se em um
Servlet a formatação da página HTML resultante do processamento de uma
requisição mistura-se com a lógica da aplicação em si, dificultando a alteração
dessa formatação, em uma página JSP essa formatação encontra-se separada
da programação, podendo ser modificada sem afetar o restante da aplicação.
Por ser uma tecnologia baseada em Java, ela aproveita todos os
recursos e vantagens da linguagem.
O JSP pode conter HTML ou XML e tags JSP específicos, que podem
ou não conter código Java, para a geração dinâmica de uma página. O JSP
permite separar a programação lógica da programação visual, isto facilita o
desenvolvimento de aplicações maiores, onde programador e designer podem
trabalhar no mesmo projeto, mas de forma independente (GEHL e BUENO,
2009).
26
1.3.6 AJAX
Moroni (2007) diz AJAX é a abreviação de Asynchronous Javascript and
XML. Não é uma tecnologia, mas sim uma metodologia, que utiliza tecnologias
como JavaScript, DOM e XML. Com a utilização do AJAX, evita-se que a cada
solicitação do servidor a página seja recarregada completamente.
Para Sampaio (2007), AJAX é uma releitura de técnicas de script
dinâmico com o uso do objeto XmlHttpRequest, que é capaz de enviar
requisições HTTP de dentro do scripts Javascript. AJAX incorpora em suas
aplicações:
a) apresentação baseada em padrões, com a utilização de XHTML e
CSS;
b) exposição e interação dinâmica usando o DOM;
c) intercâmbio e manipulação de dados usando XML e XSLT;
d) recuperação
assíncrona
de
dados
usando
XMLHttpRequest;
e) JavaScript unindo todas elas em conjunto.
Fonte: GARRETT, 2005
Figura 6. Comparação do modelo tradicional e Ajax
o
objeto
27
Desenvolver aplicações utilizando AJAX traz uma interatividade maior
para o usuário, pois uma vez carregada a página, ela não necessita fazer a
requisição com o servidor a cada interação, como foi mostrado na figura 6.
A maior vantagem das aplicações AJAX é que elas rodam no próprio
browser desde que tenham sido lançados após 2001, são eles: Mozilla Firefox,
Internet Explorer 5 ou superior, Opera, Konqueror e Safari, os quais são os
mais utilizados.
1.3.7 CSS - Cascading Style Sheets
CSS ou folha de estilos de acordo com Flanagan(2004), é um padrão
para especificar a apresentação visual de documentos HTML(ou XML). Ao
invés de formatar a aparência do documento na marcação HTML, cria-se uma
folha de estilos para definir o aspecto visual do documento.
Com o uso do CSS, o código fonte do documento HTML fica com um
melhor entendimento, tornando mais fácil na hora de fazer alterações tanto no
documento quanto em seu visual.
1.4 SGBD - Sistema Gerenciador de Banco de Dados
Um SGBD é uma coleção de programas que permitem ao usuário
definir, construir e manipular Bases de Dados para as mais diversas
finalidades. (BERGAMO, 2008).
O SGBD armazena completamente toda a descrição dos dados
armazenados, e seus relacionamentos e a forma como esses dados são
acessados. (BERGAMO, 2008).
1.4.1 Oracle
O Sistema Gerenciador de Banco de Dados (SGBD) Oracle surgiu no
final da década de 70, quando Larry Ellison vislumbrou uma oportunidade que
28
outras companhias não haviam percebido. Ao encontrar a descrição de um
protótipo funcional de um banco de dados relacional, descobriu que nenhuma
empresa tinha se empenhado em comercializar essa tecnologia (ORACLE,
2009).
De acordo com Ramalho (1999), o Oracle é um sistema de
gerenciamento de banco de dados relacional que, além do banco de dados,
possui uma instância de servidor Oracle. O Oracle possui duas estruturas, a
física e a lógica. Elas são separadas, podendo-se gerenciar o armazenamento
físico sem afetar o acesso lógico de armazenamento.
O
SGBD
Oracle
utiliza
a
linguagem
PL/SLQ
(Procedural
Language/Structured Query Language), para tratar e gerenciar a base de
dados. Os SGBD Oracle estão divididos em seis grandes versões, segundo
Oracle (2009):
a) Standard Edition (SE) Possui funções básica de banco de dados.
Desenvolvido para pequenas e médias empresas;
b) Enterprise Edition (EE) Possui mais funcionalidades que a
Standard Edition, especialmente nas áreas de performance e
segurança.;
c) Standard Edition One, introduzido com o Oracle 10g, possui
algumas restrições de funcionalidades adicionais. Desenvolvido
para pequenas empresas com capital restrito;
d) Express Edition (XE) versão básica simplificada do banco de
dados, baseada no código do Oracle 10g Release 2 para
desenvolvimento, implementação e distribuição gratuitas;
e) Oracle Personal Edition: versão com as características e
funcionalidades da versão Enterprise Edition, mas voltada para
desenvolvedores e usuários;
f) Oracle Database Lite: versão de tamanho compacto desenvolvida
para rodar em dispositivos móveis.
29
1.4.2 Oracle XE
O Oracle XE é uma versão gratuita de SGDB da Oracle, que pode ser
desenvolvido e implementado em aplicativos de várias plataformas, trazendo
suporte para vários ambientes de desenvolvimento como Java, Net e Web em
geral.
Pode ser instalado em uma máquina local de baixa configuração. O XE
armazena até 4GB de dados do usuário, sendo disponível para Windows de 32
bits e também para uma grande variedade de SO.
30
2
LEVANTAMENTO DE REQUISITOS
2.1 Análise de Mercado
Após realizar uma pesquisa de software no ramo imobiliário, foram
encontradas várias ferramentas que proporcionam o gerenciamento imobiliário.
No entanto, elas não dispõem de alguns recursos como a personalização do
sistema e portabilidade.
Encontram-se
disponíveis
no
mercado
várias
ferramentas
para
gerenciamento de ambiente para locação de imóveis, todas com suas
características e particularidades. Assim serão descritas com mais detalhes as
ferramentas Ageo Profissional e Super Imobiliária on-line que, pelas suas
características e qualidades, são as mais requisitadas pelo mercado e também
por estarem mais próximas do Sistema Imobiliário proposto no presente
trabalho.
O Ageo Profissional é software local para gerenciamento imobiliário que
possui disponível os seguintes recursos:
a) cadastro de clientes;
b) cadastro de imóveis;
c) contrato simplificado;
d) recibo;
e) agenda;
f) divulgação dos imóveis cadastrados;
g) configurações;
h) cadastro de corretores;
i) dados da Imobiliária;
j) backup.
Na tela de Cadastro de Clientes (Figura 7), é possível realizar essa ação
diferenciando o cliente em pessoa física ou jurídica, com os seguintes atributos:
Nome, endereço, CEP, bairro, estado, cidade, se for pessoa física CPF, ou se
for jurídica CNPJ, RG, telefone, data de nascimento, fax, celular, e e-mail.
31
Também oferece a visualização dos imóveis do cliente.
Com as opções na parte superior da tela: novo, salvar, cancelar,
imprimir, excluir, atualizar, pesquisar e sair.
Fonte: Ageo Profissional
Figura 7. Cadastro de cliente
Fonte: Ageo Profissional
Figura 8. Cadastro de Imóvel
Cadastro de Imóveis (Figura 8): neste cadastro é obrigatório selecionar o
cliente dono no imóvel (proprietário) e possui os seguintes atributos: endereço,
32
bairro, CEP, cidade, estado, telefone, celular, tipo, categoria, modalidade,
status, quantidade de chaves, corretor, valor, hora visita, descrição, e inclusão
de fotos do imóvel.
Com as opções na parte superior da tela: novo, salvar, cancelar,
imprimir, excluir, atualizar, pesquisar e sair.
Corretores (Figura 9) nesta tela deverão ser fornecidos os dados do
corretor, o nome e telefone. Com as opções na parte superior da tela: novo,
salvar, cancelar, excluir, atualizar, pesquisar e sair
Fonte: Ageo Profissional
Figura 9.
Corretores
Contrato simplificado (Figura 10): São solicitados os seguintes atributos:
nome, endereço, bairro, CEP, cidade, estado, CPF, RG, órgão empresarial,
telefone, data, cláusulas e a opção obrigatória de buscas um cliente para
finalizar o contrato. Com as opções na parte superior da tela: novo, salvar,
cancelar, imprimir, excluir, atualizar, pesquisar e sair.
Fonte: Ageo Profissional
Figura 10. Cadastro de Contrato
33
Recibo (Figura 11): nessa tela, é solicitado nome, valor, referente,
cidade, data e campo para buscar o cliente para concretizar o recibo.
Com as opções na parte superior da tela: novo, salvar, cancelar,
imprimir, excluir, atualizar, pesquisar e sair.
Fonte: Ageo Profissional
Figura 11.
Cadastro de Recibo
Agenda (Figura 12): é solicitado nome, endereço, bairro, cidade,
telefone, celular, fax, e-mail, site e um campo de observações. Com as opções
na parte superior da tela: novo, salvar, cancelar, imprimir, excluir, atualizar,
pesquisar e sair.
Fonte: Ageo Profissional
Figura 12.
Agenda
34
A Figura 13 mostra a tela de divulgação dos imóveis cadastrados onde
são solicitados os seguintes atributos para a geração de uma lista de imóveis,
clientes, categoria, modalidade, tipo, status, valor mínimo e máximo. Depois de
fornecer os dados, é gerada a lista e também disponível a opção imprimir. Com
a opção na parte superior da tela: sair.
Fonte: Ageo Profissional
Figura 13.
Divulgar Lista
Fonte: Ageo Profissional
Figura 14. Configurações
35
Já a Figura 13 foca a tela de configurações que faz as alterações do
status do imóvel. Com as opções na parte superior da tela: atualizar e sair.
Dados da imobiliária representados pela Figura 14 deverão ser
informados os dados da imobiliária, com os seguintes atributos: nome,
endereço, bairro, CEP, cidade, telefone, fax, e-mail, site, CNPJ, IE, CRECI, e
logotipo. Com as opções na parte superior da tela: salvar, cancelar e sair
Fonte: Ageo Profissional
Figura 15. Dados da imobiliária
Fonte: Ageo Profissional
Figura 16.
Backup
36
A tela para backup, representada pela Figura 16, é onde o sistema tem
a opção de backup dos dados, que podem ser armazenados em disco. Com as
opções na parte superior da tela: atualizar e sair.
Este software é gratuito para testar, é preciso comprar a licença para
utilizar todos os seus recursos. Ele roda em sistema operacional Windows
98/Me/XP/2000.
Outra opção de ferramenta para gerenciamento de imobiliária é a Super
Imobiliária on-line, que trabalha com várias imobiliárias, porém com apenas
uma por região. As características do software são:
a) ofertas selecionadas
b) cadastro de imóvel
c) corretor virtual
d) central do cliente
e) imobiliárias
f) torne-se parceiro
g) mapa do site
Fonte: Super imobiliária
Figura 17.
Cadastro de Imóvel (dados pessoais)
37
Telas do site: Cadastro de imóvel (Figura17): são solicitados os dados
do proprietário com os seguintes atributos: nome do proprietário, e-mail,
telefone residencial, comercial e celular, endereço, complemento, bairro,
cidade, estado e CEP.
Na mesma tela, é necessário informar os dados do imóvel com os
seguintes atributos: tipo de transação (venda ou locação), finalidade
(residencial ou comercial) e tipo de imóvel.
Fonte: Super imobiliária
Figura 18. Cadastro de Imóveis (Dados do Imóvel)
Como mostra a figura 18, são solicitados os demais dados do imóvel
com os seguintes atributos: endereço, complemento, bairro, cidade, estado,
CEP, ocupação, área útil, área total, chaves, valor do IPTU, agenda de visita
com opção sim ou não, campos para informações, observações e descrição
interna do imóvel, posição do imóvel, quantidade de quartos e suítes, valor do
condomínio e vagas na garagem.
38
Fonte: Super imobiliária
Figura 19.
Pesquisa de imóveis
Na tela de pesquisa de imóveis (Figura 19), realiza a pesquisa de
imóveis cadastrados no sistema, a busca pode ser feita por: tipo de transação
(compra, locação vazio e locação mobiliado), finalidade (residencial ou
comercial), tipo de imóvel, localização (estado e bairro), valor do imóvel (valor
39
mínimo, valor máximo), números de quartos e vagas na garagem.
40
2.2 Documentos de Requisitos
2.2.1
Visão geral do sistema
O sistema para imobiliária on-line trata do gerenciamento de imóveis a
serem locados e vendidos. Também poderá realizar cadastros de funcionários,
imóveis, inquilinos, proprietários e fiadores. O sistema deverá vincular
proprietário por imóvel, vincular inquilino por fiador, inquilino por imóvel. O
sistema poderá gerar diversos relatórios como aluguel, proprietário, inquilino,
fiador, imóvel locado, imóvel disponível para venda ou locação, gerar
comprovante de pagamento de aluguel e impressão de contrato, controlar o
recebimento de aluguel.
Ao realizar uma locação ou venda, o sistema deverá atualizar
automaticamente o status do imóvel e as informações pertinentes a ele. O
imóvel deverá pertencer apenas a um proprietário devidamente cadastrado no
sistema; a locação só poderá ser gerada caso o fiador e inquilino estejam
cadastrados no sistema; o contrato deverá ser gerado após a confirmação da
locação. A venda só poderá ser efetuada caso o imóvel esteja disponível no
sistema e o comprador devidamente cadastrado.
2.2.2 Requisitos funcionais
O sistema deve permitir a inclusão, remoção e alteração de:
a) funcionários, com os seguintes atributos: código do funcionário, nome,
endereço, bairro, cidade, UF, CEP, CPF, telefone, celular, e-mail, login e
senha;
b) imóvel: código do imóvel, identificação do proprietário, endereço, bairro,
cidade, UF, CEP, referência, número da escritura, largura do terreno,
41
comprimento do terreno, quantidade de quartos, quantidade de salas,
quantidade de vagas na garagem, quantidade de banheiros, tipo de
imóvel (casa, apartamento, terreno, chácara, rancho, sitio, fazenda),
transação (aluguel ou venda), situação (disponível, alugado, vendido),
finalidade (comercial ou residencial), imagens do imóvel, valor de venda
do imóvel, valor do aluguel, valor do IPTU, observações;
c) proprietário: código do proprietário, nome, endereço, bairro, cidade, UF,
CEP, telefone, celular,
e-mail, data de nascimento, sexo, RG, CPF,
CNPJ, IE, razão social;
d) inquilino: código do inquilino, identificação do fiador, nome, endereço,
bairro, cidade, UF, CEP, telefone, celular, e-mail, data de nascimento,
sexo, RG, CPF, CNPJ, IE, razão social, renda mensal;
e) fiador: código do fiador, nome, endereço, bairro, cidade, UF, CEP,
telefone, celular e-mail, data de nascimento, sexo, RG, CPF, CNPJ, IE,
razão social, renda mensal;
f) locação: código da locação, identificação do inquilino, identificação do
fiador, identificação do imóvel, número do contrato, data da locação,
duração do contrato, dia do vencimento, valor do aluguel e observação;
g) venda: código da venda, identificação do imóvel, identificação do
comprador, valor do imóvel, financiadora, juros, multa e observação;
h) comprador: código do comprador, nome, endereço, bairro, cidade, UF,
CEP, telefone, celular e-mail, data de nascimento, sexo, RG, CPF,
CNPJ, IE e razão social;
i) tipo de imóvel: código do tipo e descrição;
42
2.2.3
Impressão de relatórios
O sistema permitirá a impressão dos seguintes relatórios:
a) Imóveis disponíveis para a locação ordenados por cidades, contendo
a descrição do imóvel, proprietário, endereço, valor do aluguel;
b) Imóveis disponíveis para a venda ordenados por cidades, contendo a
descrição do imóvel, proprietário, endereço, valor do imóvel;
c) Imóveis locados ordenados por cidades, contendo a descrição do
imóvel, proprietário, endereço, valor do aluguel, identificação do
inquilino;
d) Proprietários ordenados por nome, contendo a os dados do
proprietário e quantidade de imóveis;
e) Inquilino ordenados por nome, contendo os dados do inquilino, e
quantidade de imóveis locados;
f) Fiador ordenados por nome, contendo a os dados do fiador e os
inquilinos ligados a ele;
g) Comprador ordenados por nome, contendo a os dados do
comprador;
h) Funcionário ordenados por nome, contendo a os dados do
funcionário;
i) Imóveis por transação:
i.
Livre para locação ordenados por cidade, contendo a descrição
do imóvel e dados da locação;
ii.
Livre para venda ordenados por cidade, contendo a descrição do
imóvel e dados da venda; e
43
iii.
Locados ordenados por cidade, contendo a descrição do imóvel e
dados da venda;
2.2.4 Processamentos
a) Comprovante de pagamento de aluguel, com os seguintes atributos:
código do aluguel, número contrato, data de pagamento, multa, juros,
valor, valor total, forma de pagamento, vencimento e observação;
b) O sistema deve permitir o processamento de contrato de venda, com
seguintes atributos: data de venda, identificação do imóvel (previamente
cadastrado), identificação do comprador (previamente cadastrado), valor
da venda;
c) O sistema deve permitir o processamento de contrato de locação, com
seguintes atributos: data de locação, número do contrato, duração do
contrato, identificação do imóvel (previamente cadastrado), identificação
do inquilino (previamente cadastrado), identificação do proprietário
(previamente cadastrado), valor do aluguel, data vencimento; e
d) Prever situação de baixa de
aluguel: Ao gerar uma locação
automaticamente o sistema deverá gerar um aluguel mensal para o
inquilino com os seguintes atributos: código aluguel, identificação da
locação, identificação do inquilino (previamente cadastrado), valor da
locação, dia de vencimento, dia do pagamento, multa, juros, valor total,
situação (pago ou aberto). Quando o inquilino efetuar o pagamento do
aluguel, o sistema automaticamente atualizará a situação do aluguel.
44
3
ANÁLISE ORIENTADA A OBJETOS
3.1 Lista de Casos de Uso
Nº
Descrição
Evento
Use case
Resposta
01
Funcionário solicita
cadastro
Dados_funcionário
Cadastrar
funcionário
Msg01
02
Funcionário cadastra
imóvel
Dados_imóvel
Cadastrar
imóvel
Msg02
03
Proprietário solicita
cadastro
Dados_proprietário
Cadastrar
proprietário
Msg03
04
Inquilino solicita
cadastro
Dados_inquilino
Cadastrar
inquilino
Msg04
05
Fiador solicita
cadastro
Dados_fiador
Cadastrar fiador
Msg05
06
Funcionário efetua
pagamento de aluguel
Dados_aluguel
Efetuar
pagamento de
aluguel
Msg06
07
Funcionário efetua
locação
Dados_locação
Efetuar locação
Msg07
08
Funcionário registra
venda
Dados_venda
Efetua Venda
Msg08
09
Comprador solicita
cadastro
Dados_comprador
Cadastrar
comprador
Msg09
10
Funcionário solicita
relatório de
funcionário
Dados_Rel_funcionario
Gerar relatório
de funcionário
Rel01
11
Funcionário solicita
relatório de
proprietário
Dados_Rel_proprietário
Gerar relatório
de proprietário
Rel02
12
Funcionário solicita
relatório de imóvel
Dados_Rel_imovel
Gerar relatório
de imóvel
Rel03
13
Funcionário solicita
relatório de inquilino
Dados_Rel_inquilino
Gerar relatório
de inquilino
Rel04
14
Funcionário solicita
relatório de fiador
Gerar relatório
de fiador
Rel05
15
Funcionário cadastra
tipo de imóvel
Cadastrar tipo
de imóvel
Msg10
Dados_Rel_fiador
Dados_tipo_imovel
Fonte: Elaborada pelos autores, 2009
Quadro 1.
Lista de Use-Case
45
3.2 Diagrama de Casos de Uso
Número: 01 - Use Case: Cadastrar Funcionário:
Fonte: Elaborada pelos autores, 2009
Figura 20. Use Case: Cadastrar funcionário
Curso Normal
1- o funcionário deseja se cadastrar e informa seu cpf;
2- o sistema verifica se não existe funcionário associado ao cpf;
3- o funcionário informa seus demais dados e confirma cadastro;
4- o sistema cria instância na tabela pessoa;
4.1- o sistema cria instância na tabela física;
4.2- o sistema cria instância de funcionário; e
5- o sistema emite Msg01 informando "Funcionário cadastrado com
sucesso".
Curso Alternativo
Alternativa 2 - Caso exista o funcionário associado ao cpf
2.1- o sistema exibe os dados do funcionário e uma mensagem com a
opção para Alterar ou Excluir;
2.2- o funcionário escolhe a opção Excluir;
2.3- o sistema exclui o funcionário associado ao cpf; e
2.4- o sistema emite a Msg01 "Funcionário excluído com sucesso".
Alternativa 2.2 - O funcionário escolhe a opção Alterar
2.2.1- o funcionário altera seus dados;
2.2.2- o sistema atualiza os dados do funcionário associado ao cpf; e
2.2.3- o sistema emite a Msg01 "Dados do funcionário alterados com
sucesso".
46
Número: 02 - Use Case: Cadastrar Imóvel:
Fonte: Elaborada pelos autores, 2009
Figura 21.
Use Case: Cadastrar imóvel
Curso Normal:
1- o funcionário deseja cadastrar imóvel e informa o número da
escritura do imóvel;
2- o sistema verifica se não existe imóvel associado ao número da
escritura;
3- o funcionário informa os demais dados e confirma cadastro;
4- o sistema cria instância de imóvel; e
5- o sistema emite Msg02 informando "Imóvel cadastrado com sucesso".
Curso Alternativo:
Alternativa 2 - Caso exista o imóvel associado ao número da escritura:
2.1- o sistema exibe os dados do imóvel e uma mensagem com a opção
para Alterar ou Excluir;
2.2- o funcionário escolhe a opção Excluir;
2.3- o sistema exclui o imóvel associado a número da escritura; e
2.4- o sistema emite a Msg02 "Imóvel excluído com sucesso".
Alternativa 2.2 - O funcionário escolhe a opção Alterar
2.2.1- o funcionário altera seus dados;
2.2.2- o sistema atualiza os dados do imovel associado a número da
escritura; e
2.2.3- o sistema emite a Msg02 "Dados do imóvel alterados com
sucesso".
47
Número: 03 - Use Case: Cadastrar Proprietário:
Fonte: Elaborada pelos autores, 2009
Figura 22.
Use Case: Cadastrar Proprietário
Curso Normal:
1- o proprietário deseja se cadastrar e informa seu CPF ou CNPJ;
2- o sistema verifica se não existe proprietário associado ao CPF ou
CNPJ;
3- o proprietário informa seus demais dados e confirma cadastro;
4- o sistema cria instância na tabela pessoa;
4.1- se for pessoa física o sistema cria instância na tabela física;
4.2- se for pessoa jurídica o sistema cria instância tabela jurídica; e
5- o sistema emite Msg03 informando "Proprietário cadastrado com
sucesso".
Curso Alternativo
Alternativa 2 - Caso exista o proprietário associado ao CPF ou CNPJ:
2.1- o sistema exibe os dados do proprietário e uma mensagem com a
opção para Alterar ou Excluir;
2.2- o proprietário escolhe a opção Excluir;
2.3- o sistema exclui o proprietário associado ao CPF ou CNPJ; e
2.4- o sistema emite a Msg03 "Proprietário excluído com sucesso".
Alternativa 2.2 - O proprietário escolhe a opção Alterar:
2.2.1- o proprietário altera seus dados;
2.2.2- o sistema atualiza os dados do proprietário associado ao CPF ou
CNPJ; e
2.2.3- o sistema emite a Msg03 "Dados do proprietário alterados com
sucesso".
48
Número: 04 - Use Case: Cadastrar Inquilino:
Fonte: Elaborada pelos autores, 2009
Figura 23. Use Case: Cadastrar Inquilino
Curso Normal
1- o inquilino deseja se cadastrar e informa o CPF ou CNPJ;
2- o sistema verifica se não existe inquilino associado ao CPF ou CNPJ;
3- o Inquilino informa seus demais dados e confirma cadastro;
4- o sistema cria instância na tabela pessoa;
4.1- se for pessoa física o sistema cria instância na tabela física;
4.2- se for pessoa jurídica o sistema cria instância tabela jurídica; e
5- o sistema emite Msg04 informando "Inquilino cadastrado com
sucesso".
Curso Alternativo
Alternativa 2 - Caso exista o inquilino associado ao CPF ou CNPJ
2.1- o sistema exibe os dados do inquilino e uma mensagem com a
opção para Alterar ou Excluir;
2.2- o inquilino escolhe a opção Excluir;
2.3- o sistema exclui o inquilino associado ao CPF ou CNPJ; e
2.4- o sistema emite a Msg04 "Inquilino excluído com sucesso".
Alternativa 2.2 - O inquilino escolhe a opção Alterar
2.2.1- o inquilino altera seus dados;
2.2.2- o sistema atualiza os dados do inquilino associado ao CPF ou
CNPJ; e
2.2.3- o sistema emite a Msg04 "Dados do inquilino alterados com
sucesso".
49
Número: 05 - Use Case: Cadastrar Fiador:
Fonte: Elaborada pelos autores, 2009
Figura 24. Use Case: Cadastrar fiador
Curso Normal:
1- o fiador deseja se cadastrar e informa seu CPF ou CNPJ;
2- o sistema verifica se não existe fiador associado ao CPF ou CNPJ;
3- o fiador informa seus demais dados e confirma cadastro;
4- o sistema cria instância na tabela pessoa;
4.1- se for pessoa física o sistema cria instância na tabela física;
4.2- se for pessoa jurídica o sistema cria instância tabela jurídica; e
5- o sistema emite Msg05 informando "Fiador cadastrado".
Curso Alternativo:
Alternativa 2 - Caso exista o fiador associado ao CPF ou CNPJ
2.1- o sistema exibe os dados do fiador e uma mensagem com a opção
para Alterar ou Excluir;
2.2- o fiador escolhe a opção Excluir;
2.3- o sistema exclui o fiador associado ao CPF ou CNPJ; e
2.4- o sistema emite a Msg05 "Fiador excluído com sucesso".
Alternativa 2.2 - O fiador escolhe a opção Alterar
2.2.1- o fiador altera seus dados;
2.2.2- o sistema atualiza os dados do fiador associado ao CPF ou CNPJ;
e
2.2.3- o sistema emite a Msg05 "Dados do fiador alterados com
sucesso".
50
Número: 06 - Use Case: Efetuar pagamento de aluguel:
Fonte: Elaborada pelos autores, 2009
Figura 25. Use Case: Efetuar pagamento de aluguel.
Curso Normal:
1- o funcionário deseja efetuar de pagamento de aluguel e seleciona o
inquilino;
2- o sistema verifica se existe aluguel associado ao inquilino;
3- o funcionário informa os demais dados do aluguel e confirma;
4- o sistema altera o status do aluguel; e
5- o sistema emite Msg06 informando "Pagamento efetuado!" .
Curso Alternativo:
Alternativa 2 - Caso o pagamento já tenha sido efetuado;
2.1- o sistema exibe os dados da e uma mensagem com a opção para
Alterar ou Excluir;
2.2- o funcionário escolhe a opção Excluir;
2.3- o sistema exclui o aluguel associado ao código; e
2.4- o sistema emite a Msg06 "Aluguel excluído com sucesso".
Alternativa 2.2 - O funcionário escolhe a opção Alterar
2.2.1- o funcionário altera os dados do aluguel;
2.2.2- o sistema atualiza os dados do aluguel associado ao inquilino; e
2.3- o sistema emite a Msg06 "Aluguel alterado com sucesso".
51
Número: 07 - Use Case: Cadastrar Locação:
Fonte: Elaborada pelos autores, 2009
Figura 26.
Use Case: Cadastrar locação
Curso Normal:
1- o funcionário deseja efetuar locação e seleciona o imóvel em uma lista
de imóveis disponíveis para locação;
2- seleciona o inquilino em uma lista de inquilino já cadastrados;
3- seleciona o fiador em uma lista de fiadores já cadastrados;
4- o funcionário informa os demais dados da locação e confirma efetuação
de locação;
5- o sistema cria instância de locação; e
6- o sistema emite Msg07 informando "Locação efetuada!" e mostra tela de
contrato.
Curso Alternativo
Alternativa 2 - Caso exista o locação associada ao imóvel;
2.1- o sistema exibe os dados da locação e uma mensagem com a
opção para Alterar ou Excluir;
2.2- o funcionário escolhe a opção Excluir;
2.3- o sistema exclui a locação associada ao código;
2.4- o sistema emite a Msg07 "Locação excluída com sucesso".
Alternativa 2.2 - O funcionário escolhe a opção Alterar
2.2.1- o funcionário altera os dados da locação;
2.2.2- o sistema atualiza os dados da locação associado ao código; e
2.2.3- o sistema emite a Msg07 "Dados da locação alterados com
sucesso".
52
Número: 08 - Use Case: Cadastrar venda:
Fonte: Elaborada pelos autores, 2009
Figura 27.
Use Case: Cadastrar venda
Curso Normal:
1- o funcionário deseja cadastrar venda e seleciona o imóvel em uma
lista de imóveis disponíveis para venda;
2- seleciona o comprador em uma lista de compradores já cadastrados;
2- o sistema verifica se não existe venda associado ao imóvel;
4- o funcionário informa os demais dados do imóvel e confirma cadastro
de venda;
5- o sistema cria instância de venda; e
6- o sistema emite Msg08 informando "Venda realizada".
Curso Alternativo
Alternativa 2 - Caso exista venda associada ao código
2.1- o sistema exibe os dados da venda e uma mensagem com a opção
para Alterar ou Excluir;
2.2- o funcionário escolhe a opção Excluir;
2.3- o sistema exclui a venda associado ao código; e
2.4- o sistema emite a Msg08 "Venda excluída com sucesso".
Alternativa 2.2 - O funcionário escolhe a opção Alterar
2.2.1- o funcionário altera os dados da venda;
2.2.2- o sistema atualiza os dados da venda associado ao código; e
2.2.3- o sistema emite a Msg07 "Dados da venda alterados com
sucesso"
53
Número: 09 - Use Case: Cadastrar comprador:
Fonte: Elaborada pelos autores, 2009
Figura 28.
Use Case: Cadastrar comprador
Curso Normal:
1- o comprador deseja se cadastrar e informa seu CPF ou CNPJ;
2- o sistema verifica se não existe comprador associado ao CPF ou
CNPJ;
3- o comprador informa seus demais dados e confirma cadastro;
4- o sistema cria instância na tabela pessoa;
4.1- se for pessoa física o sistema cria instância na tabela física;
4.2- se for pessoa jurídica o sistema cria instância tabela jurídica; e
5- o sistema emite Msg09 informando "Comprador cadastrado com
sucesso".
Curso Alternativo
Alternativa 2 - Caso exista o comprador associado ao CPF ou CNPJ:
2.1- o sistema exibe os dados do comprador e uma mensagem com a
opção para Alterar ou Excluir;
2.2- o comprador escolhe a opção Excluir;
2.3- o sistema exclui o comprador associado ao CPF ou CNPJ; e
2.4- o sistema emite a Msg03 "Comprador excluído com sucesso".
Alternativa 2.2 - O comprador escolhe a opção Alterar
2.2.1- o comprador altera seus dados;
2.2.2- o sistema atualiza os dados do comprador associado ao CPF ou
CNPJ; e
2.2.3- o sistema emite a Msg03 "Dados do comprador alterados com
sucesso".
54
Número: 10 - Use Case: Gerar relatório de funcionário
Fonte: Elaborada pelos autores, 2010.
Figura 29.
Use Case: Gerar relatório de funcionário
Curso Normal:
1 - funcionário solicita relatório de funcionários;
2 - sistema mostra relatório Rel01 na tela.
Número: 11- Use Case: Gerar relatório de proprietário
Fonte: Elaborada pelos autores, 2010.
Figura 30.
Use Case: Gerar relatório de proprietário
Curso Normal:
1 - funcionário solicita relatório de proprietários.
2 -sistema mostra relatório Rel02 na tela.
Número: 12 - Use Case: Gerar relatório de imóvel:
Fonte: Elaborada pelos autores, 2010.
Figura 31.
Use Case: Gerar relatório de imóvel
55
Curso Normal:
1 - funcionário solicita relatório de imóvel;
2 - sistema mostra relatório Rel03 na tela.
Número: 13 - Use Case: Gerar relatório de inquilino:
Fonte: Elaborada pelos autores, 2010.
Figura 32.
Use Case: Gerar relatório de inquilino.
Curso Normal:
1 - funcionário solicita relatório de inquilino;
2 - sistema mostra relatório Rel04 na tela.
Número: 14 - Use Case: Gerar relatório de fiador:
Fonte: Elaborada pelos autores, 2010.
Figura 33.
Use Case: Gerar relatório de fiador.
Curso Normal:
1 - funcionário solicita relatório de fiador;
2 - sistema mostra relatório Rel05 na tela.
56
Número: 15 - Use Case: Cadastrar tipo de imóvel:
Fonte: Elaborada pelos autores, 2010.
Figura 34. Use Case: Cadastrar tipo de imóvel.
Curso Normal:
1- o funcionário deseja cadastrar um novo tipo de imóvel e informa o
código;
2- o sistema verifica se não existe tipo de imóvel associado ao código
4- o funcionário informa os demais dados do tipo de imóvel e confirma o
cadastro;
5- o sistema cria instância de tipo de imóvel; e
6- o sistema emite Msg10 informando "Tipo de imóvel cadastrado com
sucesso!".
Curso Alternativo
Alternativa 2 - Caso exista um tipo de imóvel associado ai código:
2.1- o sistema exibe os dados do tipo de imóvel e uma mensagem com a
opção para Alterar ou Excluir;
2.2- o funcionário escolhe a opção Excluir;
2.3- o sistema exclui o tipo de imóvel associado ao código; e
2.4- o sistema emite a Msg03 "Tipo de imóvel excluído com sucesso".
Alternativa 2.2 - o funcionário escolhe a opção Alterar
2.2.1- o funcionário altera seus dados;
2.2.2- o sistema atualiza os dados do tipo de imóvel associado ao
código; e
2.2.3- o sistema emite a Msg03 "Dados do tipo de imóvel alterados com
sucesso".
57
Diagrama de Classes
Fonte: Elaborada pelos autores, 2010;
Figura 35.
Diagrama de Classes
58
4
PROJETO DE BANCO DE DADOS
4.1 Tabelas
Tabela: imóvel
Chave Primária(PK): codigoImovel
Chave Estrangeira (FK): codigoPessoa(pessoa.codigoPessoa),
tipoImovel (tipoImovel.codigoTipo)
(continua)
Nome do campo
Tipo de dado
Tamanho
Permite Nulo?
codigoImovel
Número
10
Não
endereco
Texto
100
Não
bairro
Texto
50
Não
cidade
Texto
50
Não
uf
Texto
2
Não
cep
Texto
10
Não
referencia
Texto
100
Sim
numeroEscritura
Texto
14
Não
largura
Numero
5,2
Não
comprimento
Numero
5,2
Não
quantidadeQuartos
Número
2
Sim
quantidadeSalas
Número
2
Sim
quantidadeBanheiros
Número
2
Sim
codigoTipo
Numero
10
Não
vagasGaragem
Número
2
Sim
finalidade
Texto
20
Não
59
(conclusão)
situação
Texto
20
Não
transação
Texto
20
Não
observação
Texto
500
Sim
valorImovel
Número
10,2
Sim
valorAluguel
Número
6,2
Sim
valorIptu
Número
6,2
Não
codigoPessoa
Número
10
Não
Fonte: Elaborada pelos autores, 2010;
Quadro 2.
Estrutura da tabela imóvel
Tabela: pessoa
Chave Primária(PK): codigoPessoa
Nome do campo
Tipo de dado
Tamanho
Permite Nulo?
codigoPessoa
Número
10
Não
nome
Texto
150
Não
endereco
Texto
100
Não
bairro
Texto
50
Não
cidade
Texto
50
Não
uf
Texto
50
Não
cep
Texto
10
Não
telefone
Texto
14
Sim
celular
Texto
14
Sim
email
Texto
100
Sim
Fonte: Elaborada pelos autores, 2010;
Quadro 3.
Estrutura da tabela pessoa
60
Tabela: fisica
Chave Primária(PK): codigoPessoa,
Chave Estrangeira(FK): codigoPessoa(pessoa.codigoPessoa)
Nome do campo
Tipo de dado
Tamanho
Permite Nulo?
rg
Texto
13
Não
cpf
Texto
14
Não
dataNascimento
Data
10
Não
sexo
Texto
10
Não
codigoPessoa
Numero
10
Não
Fonte: Elaborada pelos autores, 2010;
Quadro 4.
Estrutura da tabela fisica
Tabela: juridica
Chave Primaria (PK): codigoPessoa
Chave Estrangeira(FK): codigoPessoa(pessoa.codigoPessoa)
Nome do campo
Tipo de dado
Tamanho
razaoSocial
Texto
100
Não
cnpj
Texto
18
Não
inscricaoEstadual
Texto
12
Não
codigoPessoa
Numero
10
Não
Fonte: Elaborada pelos autores, 2010;
Quadro 5.
Estrutura da tabela juridica
Tabela: funcionario
Chave Primaria (PK): codigoPessoa
Permite Nulo?
61
Chave Estrangeira(FK): codigoPessoa(pessoa.codigoPessoa)
Nome do campo
Tipo de dado
Tamanho
Permite Nulo?
login
Texto
30
Não
senha
Texto
30
Não
codigoPessoa
Numero
10
Não
Fonte: Elaborada pelos autores, 2010;
Quadro 6.
Estrutura da tabela funcionario
Tabela: inquilinoFiador
Chave Primaria (PK): codigoPessoa
Chave Estrangeira(FK): codigoPessoa(pessoa.codigoPessoa)
Nome do campo
Tipo de dado
Tamanho
Permite Nulo?
codigoPessoa
Numero
10
Não
renda
Numero
10,2
Não
Fonte: Elaborada pelos autores, 2010;
Quadro 7.
Estrutura da tabela inquilinoFiador
Tabela: aluguel
Chave Primaria (PK): codigoAluguel
Chave Estrangeira (FK): codigoLocacao(locacao.codigoLocacao)
(continua)
Nome do campo
Tipo de dado
Tamanho
Permite Nulo?
codigoAluguel
Numero
10
Não
dataVencimento
Data
10
Não
dataPagamento
Data
10
Não
62
(conclusão)
situacao
Texto
20
Não
multa
Numero
10,2
Não
juros
Numero
10,2
Não
valor
Numero
8
Não
observacao
Texto
500
Sim
codigoLocacao
Numero
10
Não
Fonte: Elaborada pelos autores, 2010;
Quadro 8.
Estrutura da tabela aluguel
Tabela: locacao
Chave Primaria (PK): codigoLocacao
Chave Estrangeira(FK): codigoInquilino(Pessoa.codigoPessoa),
codigoFiador(Pessoa.codigoPessoa), codigoImovel(Imovel.codigoImovel).
Nome do campo
Tipo de dado
Tamanho
Permite Nulo?
codigoLocacao
Numero
10
Não
numeroContrato
Numero
10
Não
dataLocacao
Data
10
Não
valorAluguel
Numero
10,2
Não
diaVencimento
Numero
2
Não
duracao
Numero
2
Não
observacao
Texto
500
Sim
codigoImovel
Numero
10
Não
codigoInquilino
Numero
10
Não
codigoFiador
Numero
10
Não
Fonte: Elaborada pelos autores, 2010;
Quadro 9.
Estrutura da tabela locacao
63
Tabela:venda
Chave Primaria (PK): codigoVenda
Chave Estrangeira(FK): codigoComprador(Pessoa.codigoPessoa),
codigoImovel(Imovel.codigoImovel).
Nome do campo
Tipo de dado
Tamanho
Permite Nulo?
codigoVenda
Numero
10
Não
valorImovel
Numero
8,2
Não
dataVenda
Data
10
Não
financiadora
Texto
50
Sim
quantidadeMeses
Numero
2
Sim
juros
Numero
4,2
Não
multa
Numero
4,2
Não
observacao
Texto
500
Sim
codigoImovel
Numero
10
Não
codigoComprador Numero
10
Não
Tipo de dado
Tamanho
Permite Nulo?
codigoTipo
Numero
10
Não
descricao
Numero
10,2
Não
Fonte: Elaborada pelos autores, 2010;
Quadro 10. Estrutura da tabela venda
Tabela: tipoImovel
Chave Primaria (PK): codigoTipo
Nome do campo
Fonte: Elaborada pelos autores, 2010;
Quadro 11. Estrutura da tabela tipoImovel
64
5
PROJETO ORIENTADO A OBJETOS
5.1 Diagramas de Sequência
5.1.1 - Funcionário solicita cadastro
Fonte: Elaborada pelos autores, 2010
Figura 36.
Diagrama de Sequência 01: Funcionário solicita cadastro
5.1.2 - Funcionário solicita cadastro de Imóvel
Fonte: Elaborada pelos autores, 2010
Figura 37. Diagrama de Sequência 02: Cadastro de Imóvel
65
5.1.3 - Proprietário solicita cadastro
Fonte: Elaborada pelos autores, 2010
Figura 38.
Diagrama de Sequência 03: Cadastro de Proprietário
5.1.4 - Inquilino solicita cadastro
Fonte: Elaborada pelos autores, 2010
Figura 39. Diagrama de Sequência 04: Cadastro de inquilino
66
5.1.5 - Fiador solicita cadastro
Fonte: Elaborada pelos autores, 2010
Figura 40.
Diagrama de Sequência 05: Cadastro de fiador
5.1.6 - Funcionário efetua pagamento de aluguel
Fonte: Elaborada pelos autores, 2010
Figura 41.
Diagrama de Sequência 06: Pagamento de aluguel
67
5.1.7 - Funcionário efetua locação
Fonte: Elaborada pelos autores, 2010
Figura 42.
Diagrama de Sequência 08: funcionário efetua locação
5.1.8 - Funcionário efetua venda
Fonte: Elaborada pelos autores, 2010
Figura 43.
Diagrama de Sequência 08: Funcionário efetua venda
68
5.1.9 - Comprador solicita cadastro
Fonte: Elaborada pelos autores, 2010
Figura 44.
Diagrama de Sequência 06: Comprador solicita cadastro
5.1.10 - Funcionário solicita relatório de Funcionário
Fonte: Elaborada pelos autores, 2010
Figura 45.
5.1.11
Diagrama de Sequência 08: Relatório de funcionário
Funcionário solicita relatório de proprietário
Fonte: Elaborada pelos autores, 2010
Figura 46. Diagrama de Sequência 09: Relatório de proprietário
69
5.1.12 - Funcionário solicita relatório de Imóvel
Fonte: Elaborada pelos autores, 2010
Figura 47.
Diagrama de Sequência 10: Relatório de imóvel
5.1.13 - Funcionário solicita relatório de inquilino
Fonte: Elaborada pelos autores, 2010
Figura 48. Diagrama de Sequência 12: Relatório de inquilino
5.1.14 - Funcionário solicita relatório de fiador
Fonte: Elaborada pelos autores, 2010
Figura 49. Diagrama de Sequência 13: Relatório de fiador
70
5.1.15 - Funcionário cadastra tipo de imóvel
Fonte: Elaborada pelos autores, 2010
Figura 50. Diagrama de Sequência 13: Cadastro de tipo de imóvel
71
6
IMPLEMENTAÇÃO ORIENTADA A OBJETOS
6.1 Layout de Telas
Neste capítulo são apresentados os layouts das telas que compõe o
sistema e uma explicação sobre a funcionalidade de cada tela.
Fonte: Elaborada pelos autores, 2010
Figura 51. Tela inicial do sistema
A tela inicial do sistema possui uma busca de imóveis onde qualquer
pessoa que acessar poderá realizar uma busca simples de imóvel por cidade,
transação (aluguel ou venda), finalidade (comercial ou residencial) e o tipo de
imóvel desejado, ao clicar em buscar o sistema mostra todos os imóveis com
as características disponíveis para o usuário. Ao clicar em mais detalhes, o
sistema abre uma tela informando todas as características do imóvel
selecionado.Na parte superior da tela, há um campo de login restrito aos
funcionários cadastrados no sistema ao qual dá acesso a parte de
gerenciamento da imobiliária.
72
Caso um usuário não cadastrado tentar acessar o sistema, uma
mensagem será exibida na tela “Acesso restrito a funcionários, digite o login e
senha”.
Fonte: Elaborada pelos autores, 2010
Figura 52. Tela inicial do sistema
Após o funcionário efetuar o login o sistema abrirá a página de
gerenciamento da imobiliária (Figura 52), onde o mesmo poderá escolher o que
deseja fazer, como cadastrar pessoas, imóveis, efetuar locação, venda, emitir
diversos relatórios e efetuar pagamentos.
Fonte: Elaborada pelos autores, 2010
Figura 53.
Cadastro de pessoa física
73
A figura 53 representa o cadastro de pessoa física, onde são inseridos
os dados da pessoa, o usuário escolhe o tipo de pessoa ao qual deseja
cadastrar, após o usuário digitar os dados como nome, endereço, bairro e
cidade, o sistema automaticamente transforma as letras em maiúscula para
que os dados sempre sejam salvos com o mesmo padrão.No campo CPF o
sistema faz a validação do mesmo e verifica se está incorreto, caso esteja o
sistema emite uma mensagem para o usuário “CPF inválido”.
Se a pessoa a ser cadastrada for um novo funcionário, o sistema
mostrará um campo de login e senha de acesso, para assegurar que o novo
funcionário digitou a senha desejada ele deverá confirmar a senha no campo
”confirmar senha”, caso ele digite uma senha diferente, o sistema mostrará
uma mensagem “Os campos senha e confirma senha devem ser iguais”.
Ao clicar no botão limpar, o sistema limpa todos os dados da tela, para
que possam ser inseridos novos dados.
Ao clicar em cadastrar o sistema verifica se existe algum campo sem ser
preenchido caso exista o sistema mostra uma mensagem ”Preencha os
campos”, caso os campos estejam todos preenchidos o sistema envia os dados
ao servidor, para que possam ser salvos no banco de dados.
Fonte: Elaborada pelos autores, 2010
Figura 54. Cadastro de pessoa jurídica
No cadastro de pessoa jurídica (Figura 54), assim como o cadastro de
74
pessoa física o sistema faz a padronização dos dados inseridos. A tela também
contém os demais campos para pessoa jurídica, como CNPJ, razão social e
inscrição estadual.
No caso de uma pessoa já cadastrada deixar de ser inquilino, fiador ou
funcionário para se tornar apenas comprador ou proprietário um novo cadastro
deverá ser realizado para essa pessoa.
Fonte: Elaborada pelos autores, 2010
Figura 55.
Cadastro de imóvel
Na tela de cadastro de imóvel (Figura 55), o usuário informa todos os
dados pertencentes ao imóvel o sistema automaticamente padroniza os dados
inseridos.
O usuário seleciona o proprietário do imóvel em uma lista de
proprietários já cadastrados no sistema, no campo observações pode ser
descrita uma breve descrição do imóvel.
Ao clicar em limpar, o sistema limpa todos os dados da tela, para que
possam ser inseridos novos dados.
Ao clicar em cadastrar o sistema verifica se existe algum campo sem ser
75
preenchido caso exista o sistema mostra uma mensagem ”Preencha os
campos em destaque”, caso os campos estejam todos preenchidos o sistema
envia os dados ao servidor, para que possam ser salvos no banco de dados.
Fonte: Elaborada pelos autores, 2010
Figura 56.
Cadastro de locação
No cadastro de locação (Figura 56), o usuário informa o número do
contrato, escolhe em uma lista o imóvel disponível para locação já cadastrado
pelo endereço, seleciona o inquilino e fiador já cadastrados no sistema.
Após escolhido o imóvel o sistema preenche automaticamente o campo
valor referente o valor do aluguel.
No campo data de locação o sistema preenche automaticamente o
campo com a data atual do sistema.
Ao clicar em locar o sistema verifica se existe algum campo sem ser
preenchido caso exista o sistema mostra uma mensagem ao usuário ”Preencha
os campos em destaque”.
Caso os campos estejam todos preenchidos o sistema efetua a locação
e verifica a duração de meses e o dia do vencimento e cria os aluguéis
mensais do inquilino.
Após efetuada a locação o sistema mostra uma tela de contrato de
locação para impressão, já preenchido com os dados da locação, do inquilino e
76
fiador e envia os dados ao servidor, para que possam ser salvos no banco de
dados.
Fonte: Elaborada pelos autores, 2010
Figura 57.
Efetuar venda
Na tela de venda (Figura 57), usuário escolhe em uma lista o imóvel
disponível para venda já cadastrado pelo endereço e seleciona o comprador
cadastrado no sistema.
Após escolhido o imóvel o sistema preenche automaticamente o campo
valor do imóvel.
No campo data da venda o sistema preenche automaticamente o campo
com a data atual do sistema.
Caso o imóvel seja financiado, o usuário poderá informar os dados do
financiamento, como órgão financiador, quantidade de meses, multa e juros
Ao clicar em vender o sistema verifica se existe algum campo sem ser
preenchido caso exista o sistema mostra uma mensagem ao usuário ”Preencha
os campos em destaque”.
Caso os campos estejam todos preenchidos o sistema efetua a venda e
mostra uma tela de contrato de venda para impressão, já preenchido com os
dados da venda e do comprador e envia os dados ao servidor, para que
possam ser salvos no banco de dados.
77
Fonte: Elaborada pelos autores, 2010
Figura 58. Pagamento de aluguel
Na tela de pagamento de aluguel (Figura 58) o usuário seleciona o
inquilino desejado. Ao clicar em buscar o sistema mostra as locações
pertencentes ao inquilino selecionado.
Ao clicar na locação desejada o sistema busca os dados do aluguel do
mesmo. Após digitar os dados do aluguel e clicar em ok, o sistema atualiza os
status e salva os dados do pagamento do aluguel do inquilino.
Fonte: Elaborada pelos autores, 2010
Figura 59.
Relatório de pessoa
78
Na tela de relatório de pessoa (Figura 59), o usuário pode escolher qual
relatório ele deseja inquilino, fiador, proprietário, comprador ou funcionário. Ao
clicar em buscar o sistema verifica a escolha do usuário e busca os dados do
tipo de pessoa escolhida, com o nome, cidade e estado. Ao clicar em mais
detalhes o sistema busca mais informações sobre a pessoa escolhida.
Fonte: Elaborada pelos autores, 2010
Figura 60. Relatório de imóvel
No relatório de imóvel o usuário escolhe o tipo de relatório desejado,
livre para locação, livre para venda ou locados.
Ao clicar em buscar o sistema verifica a escolha do usuário e busca os
dados do tipo de pessoa escolhida, com o nome, proprietário, valor da locação
e valor da venda. Ao clicar em mais detalhes o sistema busca mais
informações sobre o imóvel escolhido.
Fonte: Elaborada pelos autores, 2010
Figura 61.
Cadastro de tipo de imóvel
79
No cadastro de tipo de imóvel o funcionário informa o código e o nome
do novo tipo de imóvel.
Ao clicar em cadastrar o sistema verifica se existe algum campo sem ser
preenchido caso exista o sistema mostra uma mensagem ”Preencha os
campos em destaque”, caso os campos estejam todos preenchidos o sistema
envia os dados ao servidor, para que possam ser salvos no banco de dados.
80
CONCLUSÃO
Segundo a proposta apresentada nesta monografia, procurou-se
desenvolver um sistema cujo objetivo é gerenciar uma imobiliária e manter
seus dados atualizados e disponíveis on-line.
Para o desenvolvimento desta aplicação foram realizados diversos
estudos sobre a plataforma de desenvolvimento J2EE em conjunto com outras
tecnologias, o que permitiu a criação de uma aplicação dinâmica e eficiente o
que foi de grande importância para o aprendizado.
O uso da IDE (Integrated Development Environment) Eclipse, SGBD
Oracle XE e a linguagem UML, contribuíram de forma significativa para o
desenvolvimento desta aplicação, pois tornou o ambiente de desenvolvimento
mais produtivos, oferecendo diversos recursos para facilitar a criação desta
aplicação.
Com a conclusão desta monografia, entende-se que há algumas
limitações da aplicação, devido ao tempo limitado e a complexidade em se
desenvolver uma aplicação deste tipo. Serão sugeridos para trabalhos futuros:
a) implementação do cadastro de corretores;
b) comissões para corretores;
c) inserção fotos de imóveis;
d) chat de atendimento on-line;
e) contador de acesso ao site; e
f) demonstrativo de faturamento da imobiliária.
Contudo, pode-se dizer que os objetivos propostos nesta monografia
foram alcançados. O sistema realiza as principais funções de gerenciamento
imobiliário, e permite o controle de venda e locação pertinente aos imóveis.
Além disso, a pesquisa foi de extrema importância para o aprendizado e
conhecimento da tecnologia J2EE e no desenvolvimento de sistemas
Este estudo buscou-se enfatizar a importância em se utilizar um sistema
web para gerenciamentos de dados e automatizando operações rotineiras da
empresa.
81
REFERÊNCIAS
ABINADER, J. A.; LINS, R. D. Web Service em Java. 1ª edição, Rio de
Janeiro, BrasPort, 2006.
ALVAREZ, M. A. O que é Java. 2004 www.criarweb.com/artigos/196.php. Acesso em 19/09/2009.
Disponível
em:
BERGAMO, L.E.C. Aula 1 - Introdução à BD I. 2008. Apostila da disciplina de
Banco de Dados I. Curso de Tecnologia em Desenvolvimento de Sistemas para
Internet, Centro Universitário Católico Salesiano Auxilium – Lins.
BEZERRA, E. Princípios de análises e projetos de sistemas com UML. 2ª
edição. Rio de Janeiro, Campus, 2006.
DALFOVO, O; AMORIN, S. N. Quem tem informação é mais competitivo: o
uso da informação pelos administradores e empregados que obtêm vantagem
competitiva. Blumenau, Acadêmica, 2000.
DEITEL, H. M. Java como programar. 6ª edição. São Paulo, Prentice-Hall,
2005.
FLANAGAN, D. JavaScript: O guia definitivo. 4ª Edição. Porto Alegre,
Bookman, 2004.
FOWLER, M.; KOBRYN, C.; BOOCH, G. UML Essencial .3ª edição. Porto
Alegre, Bookman, 2005.
GARRETT, J. J. Ajax: A new approach to web applications. Disponível em:
www.adaptivepath.com/publications/essays/archives/000385.php. Acesso em
19/03/2010.
GEHL, R. E. ; BUENO, M. Java Server Pages. Disponível em:
www.inf.unisinos.br/~barbosa/paradigmas/consipa2/artigos/a7.pdf - Acesso em
25/10/2009.
GOMES,
H.
F.
A plataforma
J2EE.
2000.
Disponível
em:
www.webinsider.uol.com.br/index.php/2000/12/05/a-plataforma-j2ee.
Acesso
em 20/09/2009.
HALL, M.; BROWN, L. Core Servlets e Java Server Pages. 1ª Edição, Rio de
Janeiro. Ciência Moderna, 2005
JAVA, (linguagem de programação). Wikipédia. 2009. Disponível em:
www.pt.wikipedia.org/wiki/Java_(linguagem_de_programação). Acesso em
19/09/2009.
82
MELO JUNIOR, C. S. Web 2.0 e Mashups: reinventando a internet. Rio de
Janeiro. BrasPort, 2007.
MORAES, M. História do Surgimento da Linguagem Java. Disponível em:
www.marcelomoraes.com.br/conteudo/marcelo/java/historia_java.pdf. Acesso
em 19/09/2009.
MORONI, H. Criação de Sites em Ajax. São Paulo. Digerati Editorial, 2007.
NOGUEIRA,
A.
Histórico
da
UML.
Disponível
www.imasters.uol.com.br/artigo/2994/uml/historico_da_uml - Acesso
25/10/2009.
em:
em
OLIVEIRA, E C. M. Conhecendo a plataforma J2EE - um breve overview .
2004. Disponível em: www.linhadecodigo.com.br/Artigo.aspx?id=333. Acesso
em 20/09/2009.
ORACLE, 2009. Banco de Dados Oracle.
Disponível
www.oracle.com/global/br/database/index.html. Acesso em 21/10/2009.
em:
ORACLE. Wikipédia. 2009. Disponível em: www.pt.wikipedia.org/wiki/Oracle.
Acesso em 29/09/2009.
RAMALHO, J. A. Oracle 8i. 4ª Edição. São Paulo, Berkeley Brasil. 2000.
ROMAN, E; AMBLER, S. W.; JEWELL, T. Dominando Enterprise JavaBeans.
2ª Edição, Porto Alegre. Bookman. 2004.
SAMPAIO, C. Guia do Java: Enterprise Edition 5: Desenvolvendo aplicações
corporativas. 1ª edição, Rio de Janeiro. BrasPort, 2007.
SANTOS, A. L. Integração de Sistemas com Java. 1ª Edição, Rio de Janeiro.
Brasport, 2007.
SCOTT, K. Processo unificado exemplificado. 1ª Edição, Porto Alegre.
Bookman , 2002.
SILVA, D. M. UML Guia de consulta rápida. 1ª Edição, São Paulo: Novatec,
2001.
SILVA, P.C.B; Introdução a linguagem de modelagem unificada(UML).
Revista SQL Magazine. 61ª Edição, Ano 5, 2009.
TEMPLE, A.; MELLO, R. F.; CALEGARI, D. T.; SCHIEZA, M. Jsp, Servlets e
J2EE. 2004.
UMEDA, N. N. Java - Integrando Banco de Dados Via JDBC. Disponível em:
www.batebyte.pr.gov.br/modules/conteudo/conteudo.php?conteudo=148.
Acesso em 22/09/2009.
83
GLOSSÁRIO
Termo
Descrição
Aplicação Web:
Sistemas de informática projetados
para utilização através de um
navegador, na internet ou em redes
privadas.
Backup:
Cópia de segurança de dados.
Browser:
Navegador de internet.
Login:
Identificação
sistema.
Servidor:
Sistema de computação que fornece
serviços
a
uma
rede
de
computadores.
SQL:
Linguagem utilizada em bancos de
dados relacionais.
Usuário:
Pessoa que irá operar o sistema.
XMLHttpRequest:
Objeto javascript que torna possível a
comunicação assíncrona com o
servidor.
Web:
Sistema
de
documentos
em
hipermídia que são interligados e
executados na Internet.
do
usuário
em
um
Download