As demandas identificadas no estabelecimento para o projeto incluíam a necessidade de criar um sistema de locação de propriedades. O sistema deveria permitir o registro e login de usuários, a publicação e visualização de propriedades, além de funcionalidades relacionadas à locação e devolução de propriedades.
O objetivo principal é oferecer uma plataforma onde usuários pudessem se cadastrar, publicar propriedades para locação, visualizar propriedades disponíveis, e realizar ações como alugar e devolver propriedades.
Os requisitos desenvolvidos para o projeto incluíam a implementação de funções como register
, login
, publish_property
, view_all_properties
, view_properties_by_owner
, view_property_details
, rent_property_action
, return_property_action
, e view_properties_by_renter
. Essas funções atendiam aos objetivos estabelecidos.
O projeto atendeu às demandas estabelecidas ao fornecer uma aplicação que permite o registro e login de usuários, a publicação e visualização de propriedades, além de funcionalidades relacionadas à locação e devolução de propriedades.
-
Funções Aninhadas: As funções
UnAuthApp
eAuthApp
são estruturas aninhadas que representam o fluxo de autenticação e ações do usuário no aplicativo. -
Listas de Opções (
options
): As listas de opções são estruturas utilizadas para apresentar escolhas ao usuário nos menus, facilitando a navegação e interação com o sistema. -
Dicionários para Propriedades (
property_data
,prop
): Dicionários são utilizados para representar propriedades, armazenando informações como nome, descrição, preço e status. -
Chamadas Recursivas: A estrutura de chamadas recursivas está presente no fluxo de autenticação (
UnAuthApp
eAuthApp
), representando uma forma de controle de fluxo.
Estas estruturas contribuem para a organização e funcionamento do código.
De acordo com a seção 3.1 do capítulo 3 do livro Engenharia de Software Moderna, os requisitos funcionais são aqueles que descrevem as funcionalidades que o sistema deve oferecer. Os requisitos funcionais identificados para o projeto foram:
- Cadastro de um novo usuário.
- Autenticação de um usuário registrado.
- Listar todas as propriedades registradas.
- Publicação de uma propriedade para locação.
- Visualização das propriedades publicadas pelo usuário.
- Visualização dos detalhes de uma propriedade específica.
- Locação de uma propriedade disponível.
- Devolução de uma propriedade alugada.
- Visualização das propriedades alugadas pelo usuário.
De acordo com a seção 3.1 do capítulo 3 do livro Engenharia de Software Moderna, os requisitos não funcionais são aqueles que descrevem as características que o sistema deve apresentar, definindo restrições ao seu funcionamento. Os requisitos não funcionais identificados para o projeto foram:
- Usabilidade: o sistema deve ser fácil de usar, apresentando uma interface intuitiva.
- Confiabilidade: o sistema deve ser confiável, apresentando tolerância a falhas ou a erros.
- Velocidade: o sistema deve ser rápido, apresentando respostas rápidas às ações do usuário.
De acordo com a seção 3.3 do capítulo 3 do livro Engenharia de Software Moderna, as histórias de usuário são descrições curtas de funcionalidades que o sistema deve oferecer, escritas na perspectiva do usuário. As histórias de usuário identificadas para o projeto foram:
- Como usuário, eu quero acessar a opção de Criar conta, preencher todas as informações necessárias e realizar o cadastro.
- Como usuário, eu quero acessar a opção de Entrar, fazer login a partir das credenciais registradas e ter acesso ao sistema.
- Como usuário, eu quero acessar a opção de Publicar propriedade, preencher todas as informações necessárias e publicar uma propriedade para locação.
- Como usuário, eu quero acessar a opção de Visualizar todas as propriedades, para ver todas as propriedades registradas no sistema.
- Como usuário, eu quero acessar a opção de Visualizar minhas propriedades, para ver todas as propriedades que publiquei.
- Como usuário, eu quero acessar a opção de Visualizar detalhes de uma propriedade para ver todas as informações sobre uma propriedade específica.
- Como usuário, eu quero acessar a opção de Alugar uma propriedade para fazer a locação de uma propriedade disponível.
- Como usuário, eu quero acessar a opção de Devolver uma propriedade para fazer a devolução de uma propriedade alugada.
- Como usuário, eu quero acessar a opção de Ver propriedades alugadas para ver todas as minhas propriedades alugadas até então.
- Como usuário, eu quero acessar a opção de Sair para encerrar a sessão e sair do sistema.