LA – Python – Aula 11B – Entrega de Projeto (Locação de imoveis)

Entrega de Projeto (em Python)

Controle de locação de imóveis de um condomínio vertical;

– Data de criação: 21/10/2018
– Entrega final via Canvas: 03/12/2018 (Segunda-Feira), até as 19:00 h.
– A entrega do trabalho podera valor ate 1,0 em media final (até completar nota 5)

Observações gerais:

– Esse documento poderá ser atualizado sem aviso prévio, para melhora do conteúdo, conforme dúvidas surgidas;
– Grupos de até 4 (quatro) pessoas; (Caso tenha mais, os últimos da ordem da lista serão desconsiderados);
– Não será permitida cópias entre trabalhos; (caso haja suspeita de copias, ambos ou mais serão penalizados com nota zero)
– Entrega em arquivo texto (extensão .c), e caso necessário juntamente com bibliotecas e outros arquivos necessários para que o programa possa ser compilado no IDLE padrão utilizado pela faculdade ou qualquer programa compatível.
– Identificar no trabalho os nomes completos dos integrantes, com RA, em ordem alfabética;
– Este trabalho NÃO ESTÁ na composição de média da disciplina, sendo um trabalho extra;
– Caso alguns dos alunos não esteja devidamente matriculado no seu devido curso, o professor não poderá divulgar as notas do trabalho para nenhum dos alunos do grupo até aprovação do coordenador;

Observações sobre o trabalho:

– Trabalhar com arquivos vistos em sala de aula (podendo recorrer a pesquisa paralela ao aluno);
– Conter menu principal para a chamada das funcionalidades;
– Fazer as funcionalidades por meio de funções;
– Você pode inserir/alterar as estruturas dos arquivos conforme necessidade para facilitar alguns pontos em programação;- Entrega será via CANVAS, porém no dia da entrega, os alunos deverão fazer a apresentação do mesmo;

Entrega final deverá conter:

– Arquivo(s) .py, identificando em comentário a identificação do grupo com nome completo e RA, em ordem alfabética, no arquivo que contem a função MAIN.;
– O mesmo deve estar devidamente comentado (e indentado conforme o Python exige), sendo necessário entregar quaisquer bibliotecas extras parar que seja feita a compilação do projeto.

Para a postagem no EAD: Compactado em formato zip, caso tenha mais de um arquivo, e em um arquivo único o arquivo não deve ser compactado.

Cenário:

A empresa CONSTRU-PRÉDIOS LTDA, que atua no ramo de construção civil de alto padrão, vendeu um condomínio de prédios residenciais para o empresário JOSÉ DA SILVA, na cidade de Jundiaí em um ponto estratégico da cidade. A intenção do empresário é fazer um sistema que controle o aluguel de seus apartamentos para seus futuros clientes. Para isso, o mesmo contratou você para desenvolver o sistema, tendo os seguintes requisitos:

O condomínio possui 3 prédios idênticos, chamados de Torre_A, Torre_B e Torre_C.

Os mesmos possuem 10 andares cada, tendo cada andar 4 apartamentos, sendo 2 apartamentos de 2 dormitórios com 72 m2 de área e 2 apartamentos de 3 dormitórios com 98 m2 de área; Os apartamentos de 2 dormitórios terminam em números impares (final 1 e 3) e os apartamentos de 3 dormitórios terminal terminam em números pares (2 e 4).

Cada apartamento é identificado pela torre + andar onde é localizado + a sequencia de 1 a 4. (Exemplo: Apartamentos da torre A do primeiro andar são identificados pelos números A11, A12, A13 e A14; apartamentos da torre B do sexto andar são identificados pelos números B61, B62, B63 e B64; e assim por diante)

Assim como os apartamentos de 2 e 3 dormitórios possuem valores diferenciados, os valores por andares também influenciam no preço dos mesmos. Ficou estabelecido os valores por faixa de andares dos apartamentos:

Faixa de andares

Aptos de 2 dormitórios

Aptos de 3 dormitórios

Do 1º ao 4º andar

200.000,00

300.000,00

Do 5º ao 7º andar

350.000,00

400.000,00

Do 8º ao 10º andar

450.000,00

500.000,00

O aluguel mensal dos apartamentos é tabelado (não podendo ser mudado), sendo o valor de 0,5% do valor do imóvel;

O tempo de contrato para os apartamentos de 2 e 3 dormitórios tem a vigência mínima de 12 meses, podendo também os contratos serem de 24 e 36 meses;

O sistema deve conter:

– Cadastro e manutenção das torres/andares/apartamentos* e seus devidos apartamentos; (Associar os apartamentos aos devidos andares e os andares as devidas torres, contendo nos apartamentos o número do andar do tipo inteiro, a identificação do apartamento do tipo string, quantidade de quartos do tipo inteiro, a metragem da área do tipo inteiro, o valor do imóvel do tipo decimal); (O cadastro de torres, andares e apartamentos não é necessário ser feito individualmente pelo usuário. Como os mesmos possuem suas devidas regras, pode-se fazer rotinas para processar esses cadastros nos arquivos de dados.)

Estruturas de arquivos sugeridos para cadastros dos torres, andares e apartamentos:

Arquivo: Torres (Cod_Torre, Desc_Torre)

Arquivo: Torres_Andares (Cod_Torre, Cod_Andar)

Arquivo: Apartamentos (Nr_Apto, Cod_Torre, Cod_Andar, Qtd_Quarto, Metragem, Valor_Imovel)

– Controle dos clientes* que irão locar os apartamentos; (contendo código do tipo inteiro, nome do tipo char com tamanho de 30; cpf do tipo string com tamanho de 11 (não contando com a máscara) ou do tipo string com tamanho de 14 (contando com a máscara), RG do tipo string com tamanho de 15, Orgão_Emissor do tipo string com tamanho de 03, Estado_Emissor do tipo string com tamanho de 02 (com consistência dos estados válidos brasileiros), nascimento do tipo estrutura de data;

Estruturas de arquivos sugeridos para cadastros dos clientes:

Arquivo: Clientes (Cod_Cli, Nome_Cli, Cpf, RG, Orgao_Emissor, UF_Emissor, Nascimento)

– Contrato de locação* é feito quando há uma locação de apartamento para clientes (contendo o número de contrato do tipo inteiro (sequencial sem repetição), identificação do apartamento locado (já deve existir no cadastro de apartamentos), código do cliente do tipo inteiro, data do contrato do tipo data, data da rescisão do contrato do tipo data, quantidade de meses do tipo inteiro (sendo 12 ou 24 meses, estipulado pelo tipo de apartamento locado, onde o preenchimento deste campo deve ser automático, sem intervenção do usuário). O campo data de rescisão só poderá ser preenchido quando o cliente pedir para fazer a rescisão de contrato.

Estruturas de arquivos sugeridos para contrato:

Arquivo: Locacao (Nr_Contrato, Nr_Apto, Cod_Cli, Data_Contrato, Data_Rescisao, Qtd_Meses)

Obs: Nome sugerido também para essa tabela poderia ser Contrato

– Controle financeiro gerado pelo sistema dos contratos fechados pelos clientes. Nesse controle será gerado pelo sistema, contendo código da conta a receber do tipo inteiro sequencial, número do contrato do tipo inteiro (vinculado ao contrato do cliente), data de geração do tipo estrutura de data (mesma data do sistema), data do vencimento do tipo estrutura de data (primeira parcela para o próximo mês do mesmo dia do sistema e as demais com o mesmo dia dos meses consecutivos. Exemplo: data atual é 10/10/2012, a primeira parcela será 10/11/2012, a segunda parcela será 10/12/2012, a terceira parcela será 10/01/2013 e assim por diante), número da parcela do tipo inteiro (começando da parcela 1, com sequencial de 1 em 1 até o final), valor do aluguel do tipo decimal (valor da parcela sendo 0,5% do valor do imóvel locado), data de pagamento do tipo data, valor de juros do tipo decimal e valor recebido do tipo decimal. Os campos valor do aluguel, valor de juros e valor recebido só poderão ser preenchidos na baixa de recebimentos;

Estruturas de arquivos sugeridos para contas a receber:

Arquivo: Contas_Receber (Cod_Conta_Rec, Nr_Contrato, Data_Geracao, Data_Vecto, Nr_Parcela, Valor_Aluguel, Data_Pagto, Valor_Juros, Valor_Recebido)

– Baixa das parcelas que os clientes pagaram; (localizar o registro a ser baixado, incluindo nesse registro a data do pagamento, valor de juros (caso seja com atraso) e o valor do pagamento), A localização do registro deve ser feita pelo código do registro a pagar (registro exato), pelo numero do contrato (registros aproximados) e pelo código do cliente (registros aproximados);

Detalhamentos de funcionalidades:

– Um cliente só pode mudar de torre/apartamento somente se o mesmo estiver vago e se for da mesma categoria; não há possibilidade de trabalhar com diferença de valores/categorias. (exemplo: clientes que estão em apartamentos de 2 dormitórios só podem mudar para outros apartamentos de 2 dormitórios que estejam vagos, na mesma torre ou em outra torre); Fazendo essa alteração, deve-se alterar o número do apartamento no arquivo de locações; Irá se manter o mesmo contrato com a mesma vigencia e valores para essa funcionalidade.

– Há possibilidade de rescisão de contrato antes da data de vigência do mesmo; Caso o cliente desista, é necessário pagamento de 3 alugueis posteriores ao mês corrente; (O sistema deverá ter uma função de rescisão de contrato)

– Cadastro e manutenção das torres/andares/apartamentos*: mesmo que o sistema gere os valores iniciais desses cadastros (inclusão dos dados iniciais), é necessário implementar as rotinas de inclusão, alteração, consulta e exclusão dos mesmos; Todas as consultas devem ter obrigatoriamente a consulta por códigos (Código da torre e identificação do apartamento);

Controle dos clientes*: Inclusão de novos clientes; alteração de dados dos clientes existentes; exclusão de um cliente e consulta pelo código ou por CPF do cliente; As exclusões devem só acontecer caso o cliente tenha rescindido o contrato de aluguel e estar em dia com seus pagamentos;

– Contrato de locação*: Inclusão de novos contratos, alteração de dados do contrato; exclusão de um contrato (somente pode ser feita se o cliente tenha rescindido o contrato de aluguel e estar em dia com seus pagamentos)

Os resultados esperados que a o empresário deseja são:

– Mapa dos imóveis locados e não locados (Parametrizado por torre ou todos, e por faixa de andares por torre ou por todos);

– Relatório de clientes, com a quantidade de clientes; (Parametrizado por torre ou todos; separados por imóveis de 2 dormitórios e 3 dormitórios ou todos);

– Relatório de imóveis locados; (Parametrizado por torre ou todos);

– Relatório de imóveis não-locados; (Parametrizado por torre ou todos);

– Previsão de receita; (Parametrizado por torre ou todos); (somente dos imóveis locados)

– Previsão de perda de receita; (Parametrizado por torre ou todos); (somente dos imóveis não locados)

– Qual torre possui maior receita;

– Qual torre possui menor receita;

Tabela de pontuação de funcionalidades do sistema:

Item

Categoria

Funcionalidade

Pontuação

01

Gerais

Menu principal e sub-menus separados por cadastros e funcionalidades (inclusão, alteração, consulta e exclusão)

02

Cadastros e Manutenções

02.01

Torres / Andares (Inclusão automática pelo sistema)

02.02

Apartamentos

02.03

Clientes

03

Movimentação

03.01

Locação de imóveis para clientes

03.02

Geração automática do contas a receber

03.03

Baixa de parcelas do contas a receber

03.04

Rescisão de contrato

03.05

Mudança de apartamento

04

Relatorios

04.01

Mapa dos imóveis locados e não locados (Parametrizado por torre ou todos, e por faixa de andares por torre ou por todos);

04.02

Relatório de clientes, com a quantidade de clientes; (Parametrizado por torre ou todos; separados por imóveis de 2 dormitórios e 3 dormitórios ou todos);

04.03

Relatório de imóveis locados; (Parametrizado por torre ou todos);

04.04

Relatório de imóveis não-locados; (Parametrizado por torre ou todos);

04.05

Previsão de receita; (Parametrizado por torre ou todos); (somente dos imóveis locados)

04.06

Previsão de perda de receita; (Parametrizado por torre ou todos); (somente dos imóveis não locados)

04.07

Qual torre possui maior receita;

04.08

Qual torre possui menor receita;

Obs: Definido em 12/11/2018, em aula, que o projeto de Locação de Imoveis poderia ser feito em base de dados SQLite3 ao invés de arquivos .txt´s.

 

 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s