House Rental
House Rental
FINAL PROJECT
Submitted to
Submitted by
1. Amberbr Belay
2. Binyam Negash
Feb, 2024
Project Title: ONLINE HOUSE RENTAL MANAGEMENT SYSTEM for ROBE CITY
This project has been submitted for examination with my approval as university advisor
Online House Rental Management System is developed for Bale Robe City. We were inspired to
develop this system because renting a house is not an easy activity. This is due to some problems
facing the tenants. Such problems are not knowing the exact location of the house to be rented;
this leads to fatigue in finding the house, and wastage of the of renter’s time and money. To avoid
these and some related problems we designed this online house rental system. We used an object-
oriented methodology to develop this system. Our project costs around $200,000, since our project
is for educational purposes, we did not ask any organization or investors for funds. In addition, it
was completed in five months. So we hope that the new automated system provides fast and
reliable service for tenants, and house owners by minimizing time and resource wastage with
advanced user interface experiences.
ii
Acknowledgement
First of all, we would like to greatly praise almighty God, who gave us the power to understand
and better analyze the system. Secondly, we wish to express our hearts full thanks to our advisor
instructor Tekalgn Tujo. (Assistance professor) who is playing a great role by giving powerful
comments and different advice that helps our project. We want to thanks a Mr. Tadele for his
inspiring guidance and constant encouragement that will help us to completion of our project. Last
but not least we would thank 4th-year computer science students for sharing useful ideas and our
appreciation goes to our department lectures for their continuous encouragement and unlimited
support to do our project.
iii
Contents
Approval sheet ............................................................................................................................................... i
Executive Summary....................................................................................................................................... ii
Acknowledgement ....................................................................................................................................... iii
List of Figures .............................................................................................................................................. vii
List of Tables .............................................................................................................................................. viii
List of acronyms ........................................................................................................................................... ix
CHAPTER ONE ............................................................................................................................................... 1
1. INTRODUCTION ..................................................................................................................................... 1
1.1 Background of the project .................................................................................................................. 2
1.2 Statement of the problem .................................................................................................................. 2
1.3. Objectives of the project.................................................................................................................... 3
1.3.1 General objective ......................................................................................................................... 3
1.3.2. Specific Objectives ...................................................................................................................... 3
1.4 Scope and limitation of the project .................................................................................................... 3
1.4.1 Scope of the project ..................................................................................................................... 3
1.4.2. Limitation of the Project ............................................................................................................. 4
1.5 Significance of the project .................................................................................................................. 4
1.6. Methodology and tools ...................................................................................................................... 4
1.6.1. Data collection methodology ...................................................................................................... 4
1.6.2. System analysis and designing method ...................................................................................... 5
1.6.3. System development tools ......................................................................................................... 5
1.7 Project management Technique ......................................................................................................... 8
1.7.1. Project schedule .......................................................................................................................... 8
1.7.2. Project budget (cost break down estimation) ............................................................................ 9
1.7.3 Project Work Break Dawn Structure (WBS), Responsibility, And Deliverable ............................. 9
1.7.4 Risk Analysis, Identification, Mitigation and Monitoring ........................................................... 10
1.8. Feasibility of the project .................................................................................................................. 11
1.8.1. Economic Feasibility .................................................................................................................. 11
1.8.2. Technical feasibility ................................................................................................................... 12
1.8.3. Schedule feasibility ................................................................................................................... 12
1.8.4. Operational feasibility ............................................................................................................... 12
Chapter Two: current system ..................................................................................................................... 13
iv
2.1. Introduction ..................................................................................................................................... 13
2.2. Literature review.............................................................................................................................. 13
2.3. Description of the Existing System................................................................................................... 13
2.4. Drawback of the Existing system ..................................................................................................... 14
2.5. Practice to be preserved from the current System ......................................................................... 15
2.6. Business rules ................................................................................................................................... 15
2.7 Alternative solutions ......................................................................................................................... 15
2.8. Forms used ....................................................................................................................................... 16
Chapter Three: The proposed system......................................................................................................... 17
3.1 Overview of the proposed System .................................................................................................... 17
3.2. System constraints ........................................................................................................................... 17
3.3. Functional Requirements ................................................................................................................. 18
3.4. Non-Functional Requirements ......................................................................................................... 19
3.5. Graphical user Interface................................................................................................................... 20
3.5.1. Specification .............................................................................................................................. 20
3.5.2. User interfaces .......................................................................................................................... 20
3.5.3. User interface prototype (snap shoot) ..................................................................................... 20
Chapter four: System modeling .................................................................................................................. 21
4.1. Introduction ..................................................................................................................................... 21
4.2. Actor Identification .......................................................................................................................... 22
4.3. Use case Identification ..................................................................................................................... 22
4.4. System Use case diagram................................................................................................................. 22
4.4.1. Actor description....................................................................................................................... 23
4.4.2. Use case description (Scenario) ................................................................................................ 24
4.5. Dynamic modeling ........................................................................................................................... 31
4.5.1. Sequence diagram..................................................................................................................... 31
4.5.2. Collaboration diagram .............................................................................................................. 36
4.5.3 Activity diagram ......................................................................................................................... 37
4.5.4. State chart Diagram .................................................................................................................. 40
4.6. Object modeling ............................................................................................................................... 41
4.6.1. Class diagram ............................................................................................................................ 41
4.6.2. Object diagram.......................................................................................................................... 42
Chapter Five: System Design ....................................................................................................................... 44
v
5.1 Introduction ................................................................................................................................ 44
5.2 Architecture Design........................................................................................................................... 44
5.2 .1 Component Diagram ................................................................................................................. 45
5.2.2 Deployment Diagram ................................................................................................................. 46
1.3 Database design .......................................................................................................................... 47
5.3.1 Entity Relationship Diagram (ERD) design ................................................................................. 48
5.3.2 Normalization............................................................................................................................. 49
5.3.3 Persistence diagram ................................................................................................................... 56
Chapter Six: System Implementation ......................................................................................................... 57
6.1 Introduction ................................................................................................................................ 57
6.2 User interface prototype (snap shoot) ....................................................................................... 58
6.3 Testing ......................................................................................................................................... 59
6.3.1 Unit testing.............................................................................................................................. 60
6.3.2 System testing ..................................................................................................................... 60
6.3.3 Acceptance testing .............................................................................................................. 60
6.3.4 Performance testing............................................................................................................ 61
6.4 Features to be tested and not to be tested ................................................................................ 61
6.4.1 Features to be tested .......................................................................................................... 61
6.4.2 Features not to be tested ................................................................................................... 62
6.4.3 Pass/ fail criteria.................................................................................................................. 62
6.5 System Manual (Documentation) ............................................................................................... 62
6.6 Support and Service .................................................................................................................... 63
Chapter Seven: Conclusion and Recommendation..................................................................................... 64
6.1 Conclusion ................................................................................................................................... 64
7.2 Recommendation References/bibliography ..................................................................................... 65
References .................................................................................................................................................. 66
Appendix ..................................................................................................................................................... 67
vi
List of Figures
FIGURE 1 SYSTEM ANALYSIS AND DESIGNING METHOD ................................................................................................................5
FIGURE 2 TIME SCHEDULE OF THE PROJECT ..............................................................................................................................8
FIGURE 3 USER INTERFACE .................................................................................................................................................20
FIGURE 4 USER INTERFACE PROTOTYPE ..................................................................................................................................21
FIGURE 5 SYSTEM USE CASE DIAGRAM ...................................................................................................................................23
FIGURE 6 SEQUENCE DIAGRAM FOR CREATE ACCOUNT ..............................................................................................................32
FIGURE 7 SEQUENCE DIAGRAM FOR LOGIN .............................................................................................................................32
FIGURE 8 SEQUENCE DIAGRAM FOR CHANGE PASSWORD ..........................................................................................................33
FIGURE 9 SEQUENCE DIAGRAM FOR SEND REQUEST..................................................................................................................33
FIGURE 10 SEQUENCE DIAGRAM FOR VIEW REQUEST................................................................................................................34
FIGURE 11 SEQUENCE DIAGRAM FOR SEND RESPONSE ..............................................................................................................34
FIGURE 12 SEQUENCE DIAGRAM FOR UPLOAD HOUSE OR ROOM.................................................................................................35
FIGURE 14 SEQUENCE DIAGRAM FOR SEND FEEDBACK ..............................................................................................................36
FIGURE 15 SEQUENCE DIAGRAM FOR SEARCH A HOUSE.............................................................................................................36
FIGURE 16 COLLABORATION DIAGRAM ..................................................................................................................................36
FIGURE 17 ACTIVITY DIAGRAM FOR LOGIN .............................................................................................................................37
FIGURE 18 ACTIVITY DIAGRAM FOR REGISTER .........................................................................................................................38
FIGURE 19 ACTIVITY DIAGRAM FOR CHANGE A PASSWORD ........................................................................................................38
FIGURE 20 ACTIVITY DIAGRAM FOR UPLOAD A HOUSE ..............................................................................................................39
FIGURE 21 ACTIVITY DIAGRAM FOR VIEW OPTION ....................................................................................................................39
FIGURE 22 STATE CHART DIAGRAM FOR LOGIN .......................................................................................................................40
FIGURE 23 STATE CHART DIAGRAM FOR REGISTRATION ............................................................................................................41
FIGURE 25 SYSTEM CLASS DIAGRAM .....................................................................................................................................42
FIGURE 26 SYSTEM CLASS DIAGRAM .....................................................................................................................................43
FIGURE 27 ARCHITECTURE DESIGN DIAGRAM .........................................................................................................................44
FIGURE 28 COMPONENT DIAGRAM.......................................................................................................................................45
FIGURE 29 DEPLOYMENT DIAGRAM ......................................................................................................................................46
FIGURE 30 ENTITY RELATIONSHIP DIAGRAM (ERD) ................................................................................................................48
FIGURE 31 PERSISTENCE DIAGRAM.......................................................................................................................................56
FIGURE 32 UI DIAGRAM OF HOMEPAGE ................................................................................................................................58
FIGURE 33 UI DIAGRAM OF LOGIN ......................................................................................................................................58
FIGURE 34 UI DIAGRAM OF ADD PROPERTY .........................................................................................................................59
vii
List of Tables
viii
List of acronyms
Admin Administrator
BR Business Rule
UC Use case
ix
CHAPTER ONE
1. INTRODUCTION
In today's life everyone can communicate each other in all over. They share innovation and
information. More as of late it is the utilize of the computers and data innovation (IT) to progress
the proficiency and competitiveness of businesses that has driven to mechanical alter. Since
innovation is so quick, there are imperative suggestions for businesses. Websites are one of the
ways of streams of data. Individuals can get benefit by going by this websites. Leasing a house is
well known with people groups from all around the world. Regularly understudies and workers
that are moving briefly will share house leasing. The most reason of this extend is to create and
actualize “Online House Leasing Administration System” in arrange to actualize online house
Administration framework to assist tenants and proprietor to supply solid administrations. These
frameworks tend to us to discover conceivable arrangement almost the issue it makes a difference
client to get to the framework effectively.
The existing house rental framework in Parcel Robe city as of now employments the conventional
way of looking of house. The proprietor that needs to lease composes the opening (a few data)
approximately house and tag it on the entryway at that point the client studied that opening and
contact with him for leasing reason.
The manual house rental administration framework in Parcel Robe City have number of issues
like:
Take note may evacuate some time recently the client peruses it, wastage of time that the client
looking the house to lease, client devouring cash when they discover the house to lease and
proprietor to publicize the house, leaseholders lose their assets by finding house on foot from put
to put indeed they can't get house since most of houses are saved and they can't know where they
can get free house precisely, on the off chance that the client is unused to the town or doesn't have
that much data almost its encompassing, it'll difficult for him/her to seek for houses, client must
be present from the house put to get full data approximately the house, clients aggravate the tenants
by thumping windows to find leasing house and no computerized record of house (that's leased
and unrented).
1
These issues are troublesome for the client and the proprietor to perform the leasing handle. In our
venture we attempt to illuminate this issue.
As more people seek rental accommodations for various reasons such as relocation, job changes,
or lifestyle choices, there is a pressing need for a sophisticated and automated solution that
streamlines the entire process of renting, managing, and maintaining properties.
Traditional methods of house rental management often involve cumbersome paperwork, manual
processes, and communication gaps between landlords, tenants, and property managers. These
inefficiencies can lead to delays, misunderstandings, and increased operational costs for both
property owners and tenants. Recognizing the challenges inherent in this sector, the Intelligent
House Rental Management System project aims to revolutionize and enhance the rental experience
for all stakeholders involved.
The Notice posted by house owners may be removed from notice board or the house owners
gate, damaged by different factor (i.e. the rain hits notice, someone tears of the notice etc.)
Before the client reads it and Luck of promotion and awareness creation of goods and
services to customers especially to foreigners.
Security Issues, customers are vulnerable security risks like chasing by dogs.
2
Wastage of time and money: There is wastage of time and money that the user expenses
when searching the house to rent.
Users Lack of information (about town): If the client is new to the town or doesn’t have
that much information about its surrounding, it will hard for him/her to look for houses.
3
Send response to the tenant.
View houses information.
View feedback.
Send cancel reservation request.
Send feedback.
1.4.2. Limitation of the Project
Our proposed project is not including the following activities:
It does not include online payment.
Our system does not support agreement canceling before due date.
1.5 Significance of the project
After implementing this project the system has the following benefits.
Users can view house detail online even they are not in Bale robe Town they can view
before coming and they can directly go to the house after they come.
The system is more secured than existing one so users can simply believe it.
Save time of customer and owner, customers can not lose their time to finding a house
and the owner cannot lose their time to advertise their own house property by post
notice.
Save resources of client so they cannot lose their time and money to search houses on
foot.
4
Secondary data collection methods
Document analysis: the project team tried to discover written documents
about the organizational areas relevant to the project.
Internet: Internet helps us to see the available samples and to download
different types of tutorials which help us in developing the system.
It provides code and function reuse through the concepts of inheritance, polymorphism,
encapsulation, modularity, coupling and cohesion.
To design the system the project team has choose Object Oriented Modeling techniques
and Unified modeling language tools.
Understanding of the structure is easy because object oriented modeling and tools used to
represent real world entities.
It enables us to comprehensively model a system before we develop it.
Modification of the object implementation is easy because objects are loosely coupled.
5
1.6.3.1 Hardware requirement
Hardware requirement specification Usage
Personal computer Processor: Intel core-i5 They are used to do any
and RAM 8 GB activities by using computer
Cpu:1.5 GHz above processor must be used.
6
1.6.3.2. Software requirement
software requirement specification Usage
7
1.7 Project management Technique
1.7.1. Project schedule
8
1.7.2. Project budget (cost break down estimation)
No Item quantity Price per item Total price
1 paper 60 2 120
2 Pen 2 20 40
5 binding 1 30 30
8 pc 2 30000 60000
1.7.3 Project Work Break Dawn Structure (WBS), Responsibility, And Deliverable
Responsibility and Deliverables
The responsibility for each task in the WBS should be clearly assigned to a specific individual or
team. The deliverables for each task should also be clearly defined so that it is clear what is
expected to be produced.
9
1.7.4 Risk Analysis, Identification, Mitigation and Monitoring
In the context of a house renting management system, "Risk Analysis, Identification, Mitigation,
and Monitoring" refers to a set of processes aimed at understanding, addressing, and overseeing
potential risks associated with the management of rental properties. Let's break down each
component:
1. Risk Analysis:
This involves evaluating and assessing potential risks that could affect the
successful operation of the house renting management system. It includes
identifying both internal and external factors that may pose threats or
opportunities.
2. Risk Identification:
3. Risk Mitigation:
Once risks are identified, strategies and actions are developed to minimize
the impact or likelihood of these risks occurring. For example,
implementing thorough tenant screening processes, setting up legal
agreements, and maintaining property insurance are common risk
mitigation measures.
4. Risk Monitoring:
10
ensuring that risk mitigation measures are effective, and staying vigilant for
new potential risks that may emerge over time.
In summary, integrating risk analysis, identification, mitigation, and monitoring into a house
renting management system helps ensure a proactive approach to potential challenges, ultimately
promoting a more secure and efficient operation of the rental properties.
What are the user’s demonstrable needs and how does a proposed system meet them?
What resources will be available in the proposed system?
11
1.8.2. Technical feasibility
Technical feasibility is the measure of practicality of the specific technical solution and the
availability of technical resources and skill. The proposed system can be easily maintained and
repaired without requiring high specialists or technical
Assistants. The project is develop with modern programming language and the user interface is
user friendly as well as the system can lead them how technically interact with the system.
This evaluation determines whether the technology needed for the proposed system is available or
not.
If new technology is needed then what can be developed?
Can the work for the project be done with current equipment existing software technology
& available personal?
12
Chapter Two: current system
2.1. Introduction
Requirement analysis is the main activities that must be undertaken to have a clear understanding
of the system that is being used. Studying the requirement analysis of the existing system brings
about an important contribution to the entire development process. It is after the compilation of
this step that we can realize what goes wrong, which activities are right and which activities should
be encouraged. And what alternative methods should be taken to increase the performance of the
proposed system and to make the new system fully applicable by the particular organization.
13
2.3. Description of the Existing System
The existing house rental system in Bale robe city currently uses the traditional way of searching
of house. The house owner that wants to rent writes some information about house and tag it on
the door, then the customer read and contact with him for renting purpose. Once a customer finds
a vacant house after a long journey, they can call the renter of the house by the contact information
tagged to the house. And if they can reach at an agreement, mutual third party is mandatory for
them to sign an agreement contact that deals about price and different conditions.
The Revenue Center register customers on the paper. Since it is paper based or manual based it
leads to different problems. One of the problems that are caused by this manual-based system is
that loss of the file. This implies that the information is simply put on paper without any recovery
mechanism. Since these papers are easily movable by peoples, other people may intentionally or
unintentionally loss the file.
The main problem is that there is no any modern tool to search and find houses for renting as well
as showing the location of houses for customers. Due to this reason new customers may face
different difficulties. Among those difficulties’ customers may lose money for brokers. Brokers
may also give incorrect information about the house. This leads to customers too difficult to change
or leave the house after renting if the house is not comfortable to live or work. New customer’s
money or other things may be stolen by thieves since there is no information about the thieves or
the people.
2.4. Drawback of the Existing system
The house rental management system in Bale Robe city, Ethiopia, is marred by several drawbacks
that impede its effectiveness and fairness.
One notable drawback is the lack of a centralized database or platform where landlords can list
their properties and tenants can access comprehensive information. This fragmentation makes it
arduous for tenants to find suitable rental properties, resulting in inefficiencies and a restricted
range of options.
Transparency is a significant issue in the house rental management system. Landlords often
provide incomplete or inaccurate information regarding rental rates, property conditions, and
terms. This information asymmetry creates disputes and fosters unfair rental practices, leaving
tenants ill-informed and unable to make informed decisions.
14
2.5. Practice to be preserved from the current System
In the existing system, when the renter needs to rent the house, they find by going and asking
individual home one by one. First the house owner post notice for renting house. The renter reads
the notice, then the renter goes to individual house to find and rent. After this both of them write
their licensee agreement on paper or agreed by talking face to face.
Establish a Local Rental Management Platform: Develop a localized online platform or mobile
application dedicated to house rental management in Bale Robe city. This platform should serve
as a centralized database where landlords can list their properties and tenants can access
comprehensive and up-to-date rental information.
15
Strengthen Regulatory Framework: Implement and enforce robust regulations specific to the rental
market in Bale Robe city. This includes monitoring compliance with building safety standards, fair
housing practices, and rent control policies. Strengthening the regulatory framework will protect
the rights of both landlords and tenants and contribute to a more secure and fair rental market.
16
Chapter Three: The proposed system
3.1 Overview of the proposed System
House rental system is designed to provide fast and easy way of controlling all the activities of
house renting. It is also used to communicate with customer’s using the web, keep the data for the
longest time with in the database.
Our proposed system provides an easy way for customers to check available houses for renting.
And also, the system allows to manage all house related files. This includes posting, deleting and
updating houses. The system also provides an easy way for admin and house owner to see tenants’
request on the web and sending their response to the customer.
Generally, house rental system is concerned on managing houses, providing easy and
understandable way of controlling the activities of house renting, and making easy and fast
communication held between renter, admin, and house owner.
The major solutions to address the problems of the existing system are as follows. Better utilization
of resources, performance, security, reliability, accuracy and in general better service and the new
system is aimed to perform basic and crucial tasks of the organization. It contains a well-organized
database server which makes data to retrieve, update easily. Since the computer is capable of
performing and processing many and huge tasks too faster, efficient and more correct it is preferred
to apply it on the system.
17
3.3. Functional Requirements
Functional requirements consist of a specification of a function that the system must support. In
this section we discuss what is our system is expect to do. The type of user in this system is renter
(tenant), house owner and administrator.
Administrator:
The system allows administrator to login before accessing system.
The system allows administrator to approve house.
The system allows administrator to view user feedback.
House owner:
The system allows house owner to create account before accessing system.
The system allows house owner to upload their house or room.
The system allows house owner to view tenant’s request.
The system allows house owner to send feedback.
The system allows house owner to change their password.
Tenants (renters):
The system allows tenant to create account before accessing system.
The system allows tenant to send request.
The system allows tenants to send feedback.
The system allows tenant to view houses.
The System allows tenant to change their password.
Admin:
The system allows Admin to login before accessing system.
The system allows Admin to view pending house.
The system allows Admin to view free house.
18
3.4. Non-Functional Requirements
Non-functional requirements are requirement, which are not very basic or essential for the system,
but it can support and give more quality for the system. The non-functional requirement of the
system deals with how well the system provides service to the user. They are also called technical
requirements. It concerns to the technical aspects that your system must fulfill, such as
performance-related issues, reliability issues, and availability issues. The new system had the
following Non-functional requirements.
User friendly interface: -since the system has attractive interface therefore users are
interested to use it.
Error handling: - when the user makes some mistakes the system responds that error
has occurred using easily understandable messages and allows the user to recover from
the error.
Availability: -the system is available at any time with internet connection.
Security issue-the system is secured, users can't access the system without
authentication.
User satisfaction: -we will satisfy all requirement of the user as much as possible by
using prioritization and negotiation.
Efficiency: - The system responds to user requests as fast as possible and fully
operational every day for 24 hours.
Cost minimization since searching is online expenses are reduced.
Reliability: The system should handle invalid inputs and displays error message to
users. Reliability is one feature of the system significantly validates user inputs
Portability: This system is portable, since it runs on different platforms (i.e. MacOS,
Windows, Ubuntu… etc.). Running on different platforms makes the system accessible
by users.
Flexibility: the system must support commonly usable browsers.
Scalability: the system must update when some updates will available.
Performance: there is no ambiguous data fetched on the system and no wastage of
time to organize and integrate file.
19
3.5. Graphical user Interface
3.5.1. Specification
Our web based application will be accessed through a browser and any user can access by writing
at search place of browsers. Our web based application would be fully compatible with google
chrome, Mozilla Firefox and Microsoft edge.
20
Figure 4 user interface prototype
System modeling involves identifying the components of a system, defining their interactions and
relationships, and representing these elements using diagrams, mathematical equations, or
21
computer simulations. The purpose of system modeling is to gain insight into how a system
functions, predict its behavior, evaluate alternative designs or configurations, and make informed
decisions.
22
Include association: is the relationship denoting the inclusion of the behavior described by the
use case with in another use case. This is modeled using a use case association with the
<<include>> stereotype also known as “uses” or a “has-a” relationship.
23
Tenants: search and view free house from the system online.
House Owner: view their house and upload house.
Admin: Approve house and control their tasks related to the owner and renters.
Create Account
Use case name
Actors Tenant and house owner
Description This state allows these actors, to create user name and password in order to access
the system.
Basic course of action 1. The tenants and house owner enter to home page
2. Then click create account link on home page
3. The system displays registration form
4. The user fill the required data on the form and click register button.
5.The system can validate all inserted data
6. the system can register on database
7. The system displays your account is successfully created
8. Use case ends.
Alternate flow of A1. If the entered required information is not valid it returns step 4 to refill the
action form.
Post condition The new user is registered.
24
Use Case name Login
Actors Tenants, house owners, and administrator
Description Users use this use case to login to the system.
Pre-condition The user should be registered first or need to have account to login
Basic course of 1. The user enters to the home page.
action 2. Click login link on home page
3. Enter user name and password and click login button.
4. The system checks for validity of user name and password
entered.
5. The system displays user page if user name and password is
correct.
6. Use case exit.
Alternative course of A1 If the entered user name and password is not valid it displays “please
action enter valid user name and password” go to basic flow 3.
A2 If the user forgot the user’s name and password display reset user
name and password page.
Post Condition The users logged in to the main page.
25
6. Display success message.
7. Use case exits.
Alternate course of If the entered data is not valid the system displays error message and
action returns basic course of action 3.
Post condition User password changed successfully.
Table 8 Use case description for change password
Description When tenant enters their information needed and click search option, the
information needed for the tenant is displayed if available.
26
Use case Upload House or Room Information
Actor House owner
Description This use case permits house owner to register rental information of the house or
room that they will rent.
Pre-condition Logging into the system
Flow of action 1. This use case is initiated when the actors click on register houses option.
2. System displays the page that contains information to will be registered.
3. Fill all the information
4. Then they click or press on the register button.
5. The system verifies that fields have been filled out correctly.
6. The system displays inserted successfully message.
7. Use case Exit
Alternative A.1 If the fields are not filled out correctly system goes back or returns to step 3
course of action of basic course of action to fill invalid field.
House owner information is registered.
Post condition
Table 10 use case description for upload house or room information
Use case name Approve the house
Actor Admin
Description This use case permits admin to approve the house.
Pre-condition Admin must first log in.
27
Table 11 use case description for Approve house
Description When actors choose view house information option, the system displays
information.
Pre-condition Users need to have an account if they want to see more information.
Flow of event 1. This use case is initiated when the actor clicks on view house owners’
resources option.
2. System displays available name of the house owner and some
descriptions.
3. Admin and tenant click on renting option.
4. System displays all the available resources recorded in the database.
5. Use case Exit
Alternative flow of Actors see only name of the house owner and the description if they don’t want
action to login.
Description When house owner chooses view tenant request option, the system displays
information about who is requesting. Then he/she can reply the response to the
requester.
28
Pre-condition House owner must first log in.
There must be request from tenant.
29
Use case name Send feedback
Description To enable the users to send the feedback, to comment any suggestion on
text area.
Pre-condition The users must be having a suggestion about the system as well as houses
property.
Basic course of
1. The users click feedback button.
action
2. System display text area box.
3. The users write some necessary information and click post button.
4. The system validates the entered data.
5. The system can make save on database.
6. Use case Exit
30
Use case name Logout
A sequence diagram shows, as parallel vertical lines (lifelines), different processes or objects that
live simultaneously, and, as horizontal arrows, the messages exchanged between them, in the
order in which they occur. This allows the specification of simple runtime scenarios in a
graphical manner.
31
Figure 6 sequence diagram for create account
32
Figure 8 sequence diagram for change password
33
Figure 10 sequence diagram for view request
34
Figure 12 sequence diagram for upload house or room
35
Figure 14 sequence diagram for send feedback
37
Figure 18 activity diagram for register
38
Figure 20 activity diagram for upload a house
39
4.5.4. State chart Diagram
One of the five UML diagrams used to represent a system's dynamic nature is the state chart
diagram. Throughout an object's existence, they specify several states, and events alter these
states. Reactive systems can be effectively modeled with state chart diagrams. A system that
reacts to internal or external events is known as a reactive system.
A state chart diagram shows how control moves from one state to another. A state is an object's
existence that modifies itself in response to an external event. State chart diagrams are mostly
used to represent an object's lifecycle from creation to termination.
40
Figure 23 State chart Diagram for registration
Class diagram provide an over view of target system by describing the object and classes inside
the system and the relationship between them.
41
Figure 25 system class diagram
Object diagrams are derived from class diagrams so object diagrams are dependent upon class
diagrams. It represent an instance of a class diagram. The basic concepts are similar for class
diagrams. Object diagrams also represent the static view of a system but this static view is a
snapshot of the system at a particular moment. Object diagrams are used to render a set of objects
and their relationships as an instance [7].
The purpose of a diagram should be understood clearly to implement it practically. The purposes
of object diagrams are similar to class diagrams. The difference is that a class diagram represents
an abstract model consisting of classes and their relationships. However, an object diagram
represents an instance at a particular moment, which is concrete in nature.
42
It means the object diagram is closer to the actual system behavior. The purpose is to capture the
static view of a system at a particular moment.
43
Chapter Five: System Design
5.1 Introduction
System design outlines the architectures, parts, pieces, and information that make up a
system in order to meet predetermined specifications. It addresses the representation
and storing of data within the system. Therefore, systems design is the process of
defining and creating systems to fulfill particular specifications provided by the user.
The real input and output operations of the system are related to the system design. This
outlines the procedures for entering data into a system, validating and processing it, and
presenting it [8].
44
5.2 .1 Component Diagram
Online house rental system component diagram show how its Components are wired together to
form larger components and or software system they are used to illustrate the structure of
arbitrarily complex house renting system. This diagram helps us to model the physical aspect of
our system. It illustrates the architectures of the software components and the dependencies
between them [8].
45
5.2.2 Deployment Diagram
A UML deployment diagram displays a static view of the system user's runtime
configuration as well as the components that the system is running. Put otherwise, the
deployment diagram displays our system's hardware along with the software that will be
installed on it. It also demonstrates how Software and hardware components are work
together [5].
46
1.3 Database design
Database design can be generally defined as a collection of tasks or processes that enhance
the designing, development, implementation, and maintenance of enterprise data
management system. Designing a proper database reduces the maintenance cost thereby
improving data consistency and the cost-effective measures are greatly influenced in terms
of disk storage space. Therefore, there has to be a brilliant concept of designing a database.
The designer should follow the constraints and decide how the elements correlate and what
kind of data must be stored [8].
The main objectives behind database designing are to produce physical and logical design
models of the proposed database system. To elaborate this, the logical model is primarily
concentrated on the requirements of data and the considerations must be made in terms of
monolithic considerations and hence the stored physical data must be stored independent
of the physical conditions. On the other hand, the physical database design model includes
a translation of the logical design model of the database by keep control of physical media
using hardware resources and software systems such as Database Management System
(DBMS).
47
5.3.1 Entity Relationship Diagram (ERD) design
An Entity-Relationship Diagram (ERD) is a visual representation of entities, their attributes, and
the relationships between entities in a database. It helps to illustrate the logical structure of a
database system. Here's an example of an ERD for a House Rental Management System:
The ERD provides a visual representation of the entities and their relationships, helping to
understand the structure of the House Rental Management System database.
48
5.3.2 Normalization
Normalization is the process of organizing the data in the database. Normalization is used to
minimize the redundancy from a relation or set of relations. It is also used to eliminate undesirable
characteristics like Insertion, Update, and Deletion Anomalies. Normalization divides the larger
table into smaller and links them using relationships. The normal form is used to reduce
redundancy from the database table. [8]
The main reason for normalizing the relations is removing these anomalies. Failure to eliminate
anomalies leads to data redundancy and can cause data integrity and other problems as the database
grows. Normalization consists of a series of guidelines that helps to guide you in creating a good
database structure [8].
Mapping tenants
Mapping admin
Mapping to Admin
Mapping house
49
house-ID House no Location price
Un-normalized form
1. Tenants
2. Admin
3. House owner
4. house
50
house-ID House no Location price
H1 465 Awuraris 2000
5. feedback
6. Admin
1. Tenants
51
T1 Daniel getachew M Dan43@gmail.com 0965784746 Ad.11221
2. Admin
3. House owner
4. house
5. feedback
6. Admin
52
Second Normal Form (2NF)
2. Admin
3. House owner
4. House
53
5. Feedback
6. Admin
A relation will be in 3NF if it is in 2NF and not contain any transitive partial dependency.
3NF is used to reduce the data duplication. It is also used to achieve the data integrity.
If there is no transitive dependency for non-prime attributes, then the relation must be in
third normal form.
1. Tenants
2. Admin
54
3. House owner
4. house
5. feedback
1. Admin
55
5.3.3 Persistence diagram
Persistent data management is basically used to represent the design of the database. Database
design is the process of producing a detailed data model of a database. Online house rent system
will have database tables to store, access and maintain information that flows in the system [8].
56
Chapter Six: System Implementation
6.1 Introduction
57
6.2 User interface prototype (snap shoot)
58
Figure 34 UI diagram of add property
6.3 Testing
Testing in a proposed system refers to the process of evaluating and verifying the functionality,
performance, and reliability of the system before it is deployed or released to users. It involves
executing predefined test cases, analyzing the results, and identifying any defects or issues that
need to be addressed.
Functional Testing: Verifying that the system functions correctly and meets the specified
requirements.
Integration Testing: Testing the interaction and compatibility of different system
components.
Performance Testing: Evaluating the system's performance under varying loads and stress
conditions.
Security Testing: Assessing the system's security measures and vulnerabilities.
59
Usability Testing: Evaluating the system's user interface and user experience.
Regression Testing: Re-testing previously tested functionalities to ensure they remain
functional after changes or updates are made.
Overall, testing in a system is critical to ensure its reliability, functionality, and performance. It
helps identify and address potential issues, ultimately leading to a higher quality and more robust
system for end-users.
Unit testing in a proposed system refers to the testing of individual units or components
of the system in isolation. It focuses on verifying the correctness and functionality of each
unit independently, ensuring that it behaves as expected.
System testing in a proposed system refers to the testing of the entire system as a whole,
rather than testing individual units or components in isolation. It focuses on evaluating the
system's behavior and performance in a real or simulated environment to ensure its overall
functionality, reliability, and compliance with specified requirements.
System testing is essential in a proposed system to validate the overall functionality,
performance, and quality of the system. It helps uncover defects, ensure system stability,
and provide confidence in the system's readiness for deployment to end-users.
Acceptance testing in a system refers to the formal evaluation of the system's compliance
with business requirements and its suitability for acceptance and deployment by end-users
or stakeholders. It is a type of testing that focuses on determining whether the system meets
the specified criteria and satisfies the needs of the intended users.
60
The primary goal of acceptance testing is to gain confidence that the system is ready for
deployment and meets the expectations of the end-users or stakeholders. It provides a final
validation step before the system is officially accepted and put into operation.
Overall, performance testing in a proposed system is crucial to ensure that the system
can handle the expected workload, deliver satisfactory response times, and provide a
smooth user experience. It helps identify performance bottlenecks, scalability issues,
and other performance-related problems, allowing developers and stakeholders to make
necessary optimizations and improvements before deploying the system in a production
environment.
When conducting testing for a proposed system, several features should be considered
for thorough coverage. The specific features to be tested will depend on the nature of
the system and its intended functionality. However, here are some common features
that are typically tested in a proposed system:
61
6.4.2 Features not to be tested
When testing a proposed system, it is important to prioritize and focus on the most
critical and high-risk features. However, there are certain features that may not require
testing in the proposed system. These features typically fall into the following
categories:
It is important to note that the decision of which features not to test should be made
based on careful analysis and risk assessment. The exclusion of certain features from
testing should be well-documented and communicated to stakeholders to ensure
everyone is aware of the testing scope and any associated risks. Additionally, even if
some features are not tested, it is recommended to have a contingency plan in case issues
arise with those features during the system's implementation or usage.
The pass or fail criteria for a system can vary depending on the specific requirements
and objectives of the system. Generally, the pass or fail criteria are defined during the
system development and testing phase and are based on the system's functional and
non-functional requirements.
It is important to define clear and measurable pass or fail criteria for each aspect of the
system to ensure that the system meets the desired quality standards. These criteria
should be agreed upon by stakeholders and documented in the system requirements or
testing documentation.
Purpose
The purpose of this system manual is to provide comprehensive documentation for the
House Rental Web-Based System. It aims to guide users in understanding the system's
features, functionalities, and usage.
62
System Overview:
The House Rental Web-Based System is an online platform designed to facilitate the
rental process between property owners and tenants. It enables property owners to list
their properties and manage bookings, while tenants can search for available properties
and make renting. The system includes features for user registration, property
management, uploading houses, system administration, and more.
To run the House Rental Web-Based System, the following technical requirements must be met:
Installation Instructions:
.Obtain the system installation package from the designated source.
Extract the installation package to the desired location on the web server.
Create a new firebase database for the system.
Configure the system by modifying the configuration file with the appropriate
database credentials and other settings.
Access the system via a web browser to complete the installation.
Effective support and service are crucial for ensuring the long-term success and usability of a
proposed system. By providing ongoing assistance, maintenance, and customer support,
organizations can maximize the value and benefits derived from the system, enhance user
satisfaction, and adapt the system to meet evolving needs.
63
Chapter Seven: Conclusion and Recommendation
6.1 Conclusion
The development of an online house rental system for Bale Robe City holds great potential
to streamline and enhance the process of finding and renting houses in the city. By
leveraging the power of technology, such a system can bring numerous benefits to both
property owners and potential tenants.
For property owners, the online house rental system offers a platform to efficiently list and
advertise their available properties, reaching a wider audience and increasing the chances
of securing tenants. The system can provide features such as property management,
simplifying the rental process and reducing administrative overhead.
On the other hand, potential tenants can benefit from the convenience and accessibility
provided by the online house rental system. They can easily search for available properties
based on their specific preferences, such as location, size, amenities, and price range. The
system can also offer features like virtual tours, detailed property descriptions, and user
reviews, enabling tenants to make informed decisions and find the perfect rental home in
Bale Robe City.
However, it is important to ensure that the online house rental system is thoroughly tested
and continuously maintained to guarantee its reliability, security, and user-friendliness.
Rigorous testing should cover various scenarios, including user registration, property
listing and search, and system integrations, to ensure that the system functions flawlessly
and provides a seamless experience for users.
In conclusion, the implementation of an online house rental system for Bale Robe City has
the potential to revolutionize the local rental market, making it easier and more efficient
for property owners and tenants to connect and transact. By embracing technology and
64
focusing on quality testing and maintenance, the system can contribute to a thriving rental
ecosystem in Bale Robe City, benefiting the entire community.
I highly recommend the implementation of a robust and user-friendly online house rental system
for Bale Robe City. Such a system can bring numerous advantages and improve the overall rental
experience for both property owners and potential tenants. Here are some key recommendations
for the house rental system:
User-Friendly Interface: Design the system with a clean and intuitive user interface that is
easy to navigate. Ensure that property owners and tenants can easily access and use the
system without any technical difficulties.
Comprehensive Property Listings: Encourage property owners to provide detailed and
accurate information about their rental properties. Include features such as high-quality
images, property descriptions, amenities, location details, and rental terms to help potential
tenants make informed decisions.
Advanced Search and Filtering: Implement an advanced search functionality that allows
tenants to filter and search for properties based on specific criteria such as location, size,
& price range. This will help tenants find properties that meet their preferences quickly
and efficiently.
8. Continuous Testing and Maintenance: Regularly test and maintain the house rental system to
identify and address any bugs, glitches, or performance issues. Conduct thorough testing at each
stage of development to ensure a stable and reliable platform.
By implementing these recommendations, the online house rental system for Bale Robe City can
provide a seamless and efficient rental experience for property owners and tenants. It can foster
transparency, convenience, and trust within the local rental market, ultimately benefiting the entire
community and contributing to the growth and development of the city's housing sectors or owners.
65
References
[6] S. w.ambler, the application developers guide to object orientation and the UML, Cambridge: idge
university press, 2001.
66
Appendix
1: Agreement forms that are filled by house owner and the tenant
2: We ask some questions for the house owner and the customer:
How to sign agreement between tenant and house owner?
Who approving the agreement between tenant and house owner?
How tenants search free house?
How house owner is announcing to the organization, when the tenant is leave?
<!--Register.html-->
<!DOCTYPE html>
<html>
67
<head>
<title>Registration Bale</title>
</head>
<body>
<div class="main-header">
<div class="container">
</a>
</div>
</div>
<form method="post">
<div>
68
<input type="text" id="developer_name" name="developer_name" required>
</div>
<div>
<label for="email">Email</label>
</div>
<div>
</div>
<div>
<label for="address">City</label>
</div>
<div>
<label for="address">Occupation</label>
</div>
<div>
<label for="password">Password</label>
</div>
69
<div>
</div>
<div>
</div>
</form>
</body>
</html>
<Html>
<Head>
<Title>Login Form</title>
</head>
<body>
<div>
70
</div>
<div>
<label for="password">Password:</label>
</div>
<div>
</div>
</form>
</body>
</html>
#register
71
"address":address,
"password":password
}
email_key = email.replace('.','_dot_')
real_db.child('Users').child(phone_number).set(developer_data)
return redirect(url_for('login'))
else:
return redirect(url_for('register'))
return render_template('register.html')
# login
@app.route('/login.html', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
phone_number = request.form['phone_number']
password = request.form['password']
is_admin = request.form.get('admin')
user = real_db.child('Users').child(phone_number).get().val()
if user:
if password == user.get('password'):
session['user_name'] = user.get('name')
session['user_phone'] = phone_number
session['user_email'] = user.get('email')
return redirect(url_for('index'))
else:
return 'Incorrect password for user'
else:
return 'User not found. Please register first'
return render_template('login.html')
72