1.5 Development
1.5 Development
The development and environment for a House Rental Management System (HRMS) project involve
several key components. The specific choices depend on project scale, budget, and team expertise.
I. Development Environment:
• Operating System (OS): The choice of OS depends on the team's preference and the tools used.
Popular choices include Windows, macOS, and Linux. Linux is often preferred for its stability and
scalability for larger projects.
* For Web Development (if building a web-based HRMS): Visual Studio Code, Atom, Sublime Text,
WebStorm. These support various web technologies like HTML, CSS, JavaScript, and server-side
languages.
* For Desktop Development (if building a desktop application): Visual Studio (for Windows), Xcode (for
macOS), Eclipse, NetBeans. These support various programming languages like C#, Java, C++, Python.
• Version Control System (VCS): Essential for managing code changes and collaborating with a team. Git
is the most widely used VCS. Services like GitHub, GitLab, or Bitbucket provide hosting for Git
repositories.
The technology stack depends heavily on whether you're building a web application, a desktop
application, or a mobile app.
A. Web-Based HRMS: This is generally the most common approach for accessibility and scalability.
• Front-End (Client-Side):
* HTML, CSS, JavaScript: These are fundamental for creating the user interface. Frameworks like React,
Angular, or Vue.js are commonly used to simplify and accelerate front-end development.
* UI Libraries/Frameworks: Material UI, Bootstrap, Tailwind CSS provide pre-built components to speed
up UI development.
• Back-End (Server-Side):
* Programming Languages: Popular choices include Python (with frameworks like Django or Flask),
Node.js (with Express.js), Java (with Spring Boot), PHP (with Laravel or Symfony), Ruby on Rails.
* Databases: MySQL, PostgreSQL, MongoDB are commonly used for storing data. The choice depends
on the scale and type of data.
* API (Application Programming Interface): RESTful APIs are commonly used for communication
between the front-end and back-end.
• Deployment: Cloud platforms like AWS, Google Cloud, or Azure are commonly used for deploying web
applications.
B. Desktop Application:
• Programming Languages: C#, Java, C++, Python are popular choices. The selection depends on the
desired platform (Windows, macOS, Linux).
C. Mobile Application:
• Programming Languages: For native apps, you'd use Swift/Objective-C for iOS and Java/Kotlin for
Android. Cross-platform frameworks like React Native, Flutter, or Xamarin allow you to build apps for
multiple platforms with a single codebase.
• Database Management System (DBMS): This is the software used to create, manage, and interact with
the database. Popular choices include:
* Relational Databases: MySQL, PostgreSQL, Oracle, Microsoft SQL Server. These are best suited for
structured data.
* NoSQL Databases: MongoDB. These offer more flexibility for unstructured or semi-structured data.
• Database Design Tools: ERD (Entity-Relationship Diagram) tools such as Lucidchart, draw.io, or online
ERD generators are used to visually design the database schema. These tools aid in planning the
database structure before implementation.
• Database Clients: Tools for connecting to and interacting with the database (e.g., phpMyAdmin for
MySQL, pgAdmin for PostgreSQL, SQL Developer for Ocracle).
• Unit Testing: Frameworks like JUnit (Java), pytest (Python), or NUnit (C#) are used to test individual
components of the system.
• Integration Testing: Testing the interaction between different parts of the system.
• User Acceptance Testing (UAT): Having users test the system to ensure it meets their needs and
expectations.
The specific tools and technologies chosen should be well-documented in the project's technical
specifications. The selection should consider factors like team expertise, project budget, required
scalability, and the desired user experience. Remember that proper planning of the development
environment significantly contributes to the success of the project.
1.6.1 Scope
The project scope defines the description of the work that is required in delivering the rental
house management system. The following are the scopes of work during the course of the
project:
1.6.2 Limitations
• The system might not initially integrate with external accounting software, CRM systems, or other
third-party applications. This could be considered for future development.
• The system will not provide legal advice or ensure compliance with all relevant rental laws and
regulations; users are responsible for understanding and adhering to applicable laws.
• The system might not perform background checks on prospective tenants; this would require
integration with external services.
• The initial version might not include sophisticated analytical features (predictive modeling, etc.).
• The system might be web-based only, without a dedicated mobile app (though a mobile-responsive
design is highly recommended).
• The system might be designed for a specific geographic area and might require modification for
deployment in other locations with different legal requirements.
• The system might be designed primarily for residential rentals and may not fully support commercial
or other property types.
• The system may not handle exceptionally complex or atypical lease agreement structures.
1.7 Significance and Beneficiaries of the project
# Significance
- After implementing our proposed system provides many advantages for renters, admin as well as
house owners . The main significance of the project includes:
~ The system is more secured than existing one so users can believe it.
~ Saves time of renters and house owners, renters will not lose their time to find a houseand the house
owners will not lose their time to advertise their house property by broker.
~ Save money of renters as well as house owners, they will not give payment to brokerduring agreement
of their needs, and also there is no loss of money for transportation.
~ Save labor of renters they will not lose their power to search house.
# Beneficiaries
~ Renters(Tenant): This system prevent renters from extra expense for finding a house to rent andthey
can get the service everywhere in kombolcha at any time.
House owners(Landlords): The house owner becomes beneficiary regarding to the houses to rentwith in
time and also they can save their time, energy and money at the same time.
Developers: We are also beneficiary from the system because we are going to knowdetail information
about the existence system and also we are going to gain knowledge ofhow to develop new system.
Other people: Other people may also benefited by referring the document of our projectto retrieve
information related to house rental.
- It is the measure of evaluates and analysis of the project’s potential for success. It is based onextensive
investigation and research to support the process of decision making.
It measures how the proposed system to solve the problem of the existing system. The newhouse
rental management system is operationally feasible and it doesn’t affect the organizationstructure. The
new system is operationally feasible in terms of reliability, maintainability,supportability, usability
and flexibility.
The New system will be:
- User friendly
- Evaluates the technical aspects of the project to determine whether it can be successfully developed
and implemented with the available resources, technology, and expertise. Below is a structured
approach to conducting a technical feasibility analysis for this project.
- Aims to facilitate the management of rental properties by providing features such as property listing,
tenant management, payment processing, maintenance requests, and reporting.
- The economic feasibility analysis includes a concern of benefit analysis, long term usage, cost of
resource needed for development and implementation of the project. It determines whether the
required software is capable of generating financial gains for an organization. It involves the cost
incurred on the software development team, estimated cost of hardware and software, costof
performing feasibility study, and so on. A projection of the amount of funding or startup capital needed
what sources of capital can and will be used, and what kind of return can be expected on the
investment. That deriving from the product as compared to the total cost that spending for developing
the product.
- Schedule Feasibility deals with whether a project can be completed within the allocated timeframe. For
a House Rental Management System (HRMS) project, a detailed schedule feasibility study considers
various factors and involves creating a realistic project schedule.
- Involves defining a realistic project timeline with a detailed breakdown of phases, tasks, and
dependencies, including the allocation of sufficient resources (personnel, hardware, software) and a
budget that supports the schedule. A thorough risk assessment identifies potential delays and
incorporates contingency plans. This process often employs scheduling tools like Gantt charts, PERT, or
CPM to visualize and manage the project timeline. Regular progress monitoring, variance analysis, and
schedule updates are crucial to ensure the project stays on track, adapting to unforeseen circumstances
and ensuring the project remains achievable within the given timeframe and resources. If analysis
reveals an unachievable schedule, adjustments to scope, resources, or deadlines are necessary.
To develop a system for managing rental properties, including tenant management, payment
processing, and maintenance tracking.
- Risk assessment is a crucial part of project management for the House Rental Management System
(HRMS). It involves identifying potential risks, analyzing their impact and likelihood, and developing
strategies to mitigate them.
- It will help ensure that potential challenges are identified early and managed proactively. By
implementing effective mitigation strategies and maintaining open lines of communication, the project
can minimize disruptions and enhance its chances of success.
A. Risk Identification
- Identifying potential risks is the first step in the risk assessment process.
B. Risk Analysis
- Once risks are identified, they need to be analyzed to determine their potential impact and likelihood.
C. Risk Prioritization
- After analyzing the risks, prioritize them based on their severity and likelihood. A risk matrix can be
used to visualize this prioritization, helping the team focus on the most critical risks first.
- Risk assessment is an ongoing process. Regularly monitor identified risks and review mitigation
strategies throughout the project lifecycle. This can involve:
• Holding regular risk assessment meetings to discuss new risks or changes in existing ones.
• Updating the risk register with new information and tracking the status of mitigation efforts.
F. Communication
- Effective communication is key in risk management. Ensure that all stakeholders are aware of
identified risks and mitigation strategies
1.11 Budget