Trabalho - Sistema de Gestão de Imobiliária

2
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LTP IV PROF. HÉLDER SEIXAS LIMA Trabalho Sistema de Gestão de Imobiliária Valor: 20 pontos Data 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,

Transcript of Trabalho - Sistema de Gestão de Imobiliária

Page 1: 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,

Page 2: Trabalho - Sistema de Gestão de Imobiliária

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.