86
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

SISTEMA IMOBILIÁRIO ON-LINE UTILIZANDO … · aplicações web. i título. cdu 004 a449s . maria eliza dos santos almeida pedro henrique da silva brumati ... 4 projeto de banco de

Embed Size (px)

Citation preview

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

A449s

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 “Use-

Case” (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 o objeto

XMLHttpRequest;

e) JavaScript unindo todas elas em conjunto.

Fonte: GARRETT, 2005

Figura 6. Comparação do modelo tradicional e Ajax

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

Fonte: Elaborada pelos autores, 2009

Quadro 1. Lista de Use-Case

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

Dados_Rel_fiador

Gerar relatório

de fiador Rel05

15 Funcionário cadastra

tipo de imóvel Dados_tipo_imovel

Cadastrar tipo

de imóvel Msg10

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

(continua)

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)

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)

Fonte: Elaborada pelos autores, 2010;

Quadro 2. Estrutura da tabela imóvel

Tabela: pessoa

Chave Primária(PK): codigoPessoa

Fonte: Elaborada pelos autores, 2010;

Quadro 3. Estrutura da tabela pessoa

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

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

60

Tabela: fisica

Chave Primária(PK): codigoPessoa,

Chave Estrangeira(FK): codigoPessoa(pessoa.codigoPessoa)

Fonte: Elaborada pelos autores, 2010;

Quadro 4. Estrutura da tabela fisica

Tabela: juridica

Chave Primaria (PK): codigoPessoa

Chave Estrangeira(FK): codigoPessoa(pessoa.codigoPessoa)

Fonte: Elaborada pelos autores, 2010;

Quadro 5. Estrutura da tabela juridica

Tabela: funcionario

Chave Primaria (PK): 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

Nome do campo Tipo de dado Tamanho Permite Nulo?

razaoSocial Texto 100 Não

cnpj Texto 18 Não

inscricaoEstadual Texto 12 Não

codigoPessoa Numero 10 Não

61

(continua)

Chave Estrangeira(FK): codigoPessoa(pessoa.codigoPessoa)

Fonte: Elaborada pelos autores, 2010;

Quadro 6. Estrutura da tabela funcionario

Tabela: inquilinoFiador

Chave Primaria (PK): codigoPessoa

Chave Estrangeira(FK): codigoPessoa(pessoa.codigoPessoa)

Fonte: Elaborada pelos autores, 2010;

Quadro 7. Estrutura da tabela inquilinoFiador

Tabela: aluguel

Chave Primaria (PK): codigoAluguel

Chave Estrangeira (FK): codigoLocacao(locacao.codigoLocacao)

Nome do campo Tipo de dado Tamanho Permite Nulo?

login Texto 30 Não

senha Texto 30 Não

codigoPessoa Numero 10 Não

Nome do campo Tipo de dado Tamanho Permite Nulo?

codigoPessoa Numero 10 Não

renda Numero 10,2 Não

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)

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).

Fonte: Elaborada pelos autores, 2010;

Quadro 9. Estrutura da tabela locacao

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

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

63

Tabela:venda

Chave Primaria (PK): codigoVenda

Chave Estrangeira(FK): codigoComprador(Pessoa.codigoPessoa),

codigoImovel(Imovel.codigoImovel).

Fonte: Elaborada pelos autores, 2010;

Quadro 10. Estrutura da tabela venda

Tabela: tipoImovel

Chave Primaria (PK): codigoTipo

Fonte: Elaborada pelos autores, 2010;

Quadro 11. Estrutura da tabela tipoImovel

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

Nome do campo Tipo de dado Tamanho Permite Nulo?

codigoTipo Numero 10 Não

descricao Numero 10,2 Não

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. Diagrama de Sequência 08: Relatório de funcionário

5.1.11 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 - Disponível em: www.criarweb.com/artigos/196.php. Acesso em 19/09/2009. 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 em:

www.imasters.uol.com.br/artigo/2994/uml/historico_da_uml - Acesso em 25/10/2009. 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 em:

www.oracle.com/global/br/database/index.html. Acesso em 21/10/2009. 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 do usuário em um 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.