Trabalho - Sistema de Gestão de Imobiliária
-
Upload
helderseixas -
Category
Documents
-
view
100 -
download
3
Transcript of Trabalho - Sistema de Gestão de Imobiliária
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
LTP IVPROF. HÉLDER SEIXAS LIMA
TrabalhoSistema de Gestão de Imobiliária
Valor: 20 pontosData de entrega: 19/07/2012
Objetivo:
Este trabalho tem por objetivo que o aluno exercite os conceitos centrais da Orientação por Objetos em Java: classes, objetos, atributos, métodos, herança e polimorfismo; interfaces gráficas (Swing); persistência de dados em Java (JPA) e arquitetura em camadas (Apresentação, Negócio e Persistência).
Forma de realização do trabalho:
O trabalho poderá ser realizado em duplas.
Especificação do trabalho:
Uma imobiliária deseja informatizar os seus processos internos. A aplicação possui os seguintes requisitos:
- Cadastro de casas:O sistema deverá manter o cadastro das casas disponíveis para venda e locação. Registra-se a rua, número, bairro, cidade, quantidade de quartos, tamanho do quintal (em m²), informação se há piscina, data da aquisição e preço de aquisição .
- Cadastro de apartamentos:O sistema deverá manter o cadastro dos apartamentos disponíveis para venda e locação. Registra-se a rua, número, bairro, cidade, quantidade de quartos, nº do andar e quantidade de vagas na garagem, data da aquisição e preço de aquisição .
- Cadastro de lotes:O sistema deverá manter o cadastro dos lotes disponíveis para venda. Atenção: não se aluga lote nesta imobiliária. Registra-se a rua, número, bairro, cidade, largura da área (em metros), comprimento da área (em metros), data da aquisição e preço de aquisição .
- Definição do percentual de lucro:Para cada imóvel cadastrado é definido um preço de venda sugerido. O preço de venda sugerido é calculado por bairro, ou seja, para cada bairro é definido um percentual de lucro sobre o preço de aquisição do imóvel. Se não houver percentual de lucro definido para o bairro o padrão é 10% sobre o preço de aquisição do imóvel.
- Definição do preço de aluguel:Por padrão, o preço sugerido de aluguel dos imóveis corresponde a 1% do preço sugerido de venda. Para apartamentos do primeiro andar o preço sugerido de aluguel é diferenciado,
apenas 0,5%. Para apartamentos a partir do 2º andar e com mais de 3 quartos o preço de sugerido de aluguel, também é diferenciado, corresponde 2% do preço sugerido de venda. Casas com piscina, o preço sugerido de aluguel corresponde a 3% do preço de sugerido de venda.
- Relatórios:Alugueis por bairro: lista todos os bairro apresentando o total de casas e apartamentos disponíveis para aluguel, além do preço médio do aluguel.Vendas por cidade: lista todas as cidades apresentando o total de imóveis disponíveis para venda e o seu preço médio agrupando por casas, apartamentos e lotes.
Roteiro para resolução do exercício:1. Analisar domínio do problema
Consiste em realizar uma análise orientada a objetos das classes/atributos/comportamentos que representam o domínio/contexto do problema. Pode-se esboçar um diagrama de classes da UML para auxiliar neste processo.
2. Criar pacotes para as camadas e colunasCriar pacotes aprsentacao, negocio, persistencia e entidade.
3. Criar banco de dados4. Criar unidade de persistência
Primeiro se importa do driver JDBC e depois procede a criação da unidade de persistência.
5. Implementar classes de entidadeConsiste em escrever em código Java as classes identificadas na análise do domínio. Deve-se realizar o mapeamento definindo as anotações do JPA.
6. Criar telaConsiste em definir os componentes visuais da tela. Neste momento não se implementa o comportamento de eventos da tela, apenas, se organiza a tela visualmente.
7. Implementar os fluxoImplemente um fluxo de cada vez. Um fluxo é cada ação do sistema, por exemplo: cadastrar paciente, alterar paciente, excluir paciente e filtrar paciente.
Lembrete/dicas:1. Pense nas responsabilidades das camadas e então procure implementar os respectivos
códigos nas camadas adequadas;2. Respeite a hierarquia das camadas. Por exemplo: a camada de apresentação não deve acessar
a camada de persistência diretamente;3. Utilize nomes intuitivos para classes, atributos, métodos e variáveis;4. Evite duplicação de código;5. Utilize o levantamento/tratamento de exceção para representar fluxos de exceção nas regras
de negócio;6. Tente implementar telas com boa usabilidade;7. Utilize a classe java.util.Date para representar as datas;8. Utilize a classe java.text.SimpleDateFormat para fazer conversão de datas.