SRS-Templete 2024
SRS-Templete 2024
Advisors: Aderaw
.
Date: Nov
7, 2024
Revision History
Document Approval
The following Software Requirements Specification has been accepted and approved
by the following:
This section provides definitions of terms, acronyms, and abbreviations used within this
Software Requirements Specification (SRS) document. These definitions are intended
to ensure clarity and consistency in the interpretation of the requirements.
1. Definitions
2. Acronyms
3. Abbreviations
● v: Version (e.g., v1.0, v2.0)
● SRS: Software Requirements Specification
● QA: Quality Assurance
● DB: Database
DECLARATION
We declare that this written submission represents our ideas in our own words and
where others’ ideas or words have been included. We have adequately cited and
referenced the original sources. We also declare that we have adhered to all principles
of academic honesty and integrity and have not misrepresented or fabricated or falsified
any idea/data/fact/source in our submission. We understand that any violation of the
above will be cause for disciplinary action by the Institute and can also evoke penal
action from the sources which have thus not been properly cited or from whom proper
permission has not been taken when needed.
1. Introduction
This Software Requirements Specification (SRS) document outlines the functional and
non functional requirements for the property rental and sales platform designed for the
Addis Ababa housing market. The purpose of this document is to provide a detailed
description of the software system to be developed, including its functionalities,
constraints, and interactions with users and other systems. This document serves as a
comprehensive guide for developers, designers, testers, and other stakeholders,
ensuring that the system meets the objectives set forth by the business and end-users.
The platform will facilitate the interaction between tenants and landlords, allowing for
seamless property listing, search, communication, booking. Additionally, the system will
include features such as user authentication, feedback, and rating systems, and
advanced search filters for enhanced user experience. This SRS document is intended
to provide a clear, precise, and detailed description of the software system, enabling all
stakeholders to understand the scope, requirements, and expectations of the project.
The primary goal of this software is to address the housing challenges in Addis Ababa
by providing a centralized, user-friendly platform for property rentals and sales. The
system will be designed with performance, security, scalability, and ease of use in mind.
This document defines the scope, requirements, and objectives necessary to develop
and deploy the system successfully. Furthermore, it will guide the design and
implementation phases, ensuring that the final product aligns with the needs of both
tenants and landlords while providing a reliable and secure platform for all users.
The following sections will cover detailed functional and non-functional requirements,
system architecture, user roles and permissions, data management, security measures,
and testing plans, ensuring that the project is executed efficiently and meets its intended
goals.
1.1 Purpose
1.2 Scope
1.2.1 Software Products
The software product to be developed is a Property Rental and Sales Platform for the
Addis Ababa housing market. This system will enable tenants to search for rental and
sales properties and communicate with landlords. Landlords can list properties, manage
inquiries, and accept or reject bookings. Administrators will have the ability to monitor
the system, moderate content, and manage user accounts.
● Allow tenants to search and filter rental and sales properties based on various
parameters such as location, size, and price.
● Enable tenants to book properties and communicate with landlords directly
through the platform.
● Provide a user authentication system to protect user data and ensure only
authorized access.
● Allow landlords to manage property listings, including adding new properties,
editing existing ones, and tracking property status.
● Provide admin-level controls for managing users, moderating content, and
generating reports.
● Offer real-time notifications to users regarding booking confirmations, messages,
and property availability changes.
The software will serve as an online platform for property rentals and sales, aimed
primarily at tenants looking for housing and landlords offering properties. It will offer a
streamlined process for searching, listing, and booking properties, and will facilitate
communication between tenants and landlords. The main objective is to create a
transparent, efficient, and user-friendly platform that supports the real estate market in
Addis Ababa. The benefits of the software include:
● Convenience: Tenants and landlords can interact remotely, reducing the time
and effort involved in finding and managing properties.
● Transparency: Clear listings and user reviews will help foster trust in the
platform.
● Efficiency: Automation of property listing, search, and communication will speed
up the process of renting or selling properties.
● Scalability: The platform is designed to handle a growing number of users and
listings, making it scalable to meet the needs of the expanding real estate market
in Addis Ababa.
This software will be developed in line with similar projects and will aim to adhere to
industry standards for usability, security, and performance.
1.3 Overview
Section 9: References
This section provides a complete list of all documents referenced in the SRS
document, including titles, report numbers, dates, and sources.
By following this structure, the SRS document aims to provide a comprehensive and
well-organized guide for developing the property rental and sales platform, ensuring that
the end product meets the needs of all stakeholders.
2. General Description
This section provides an overview of the general factors that affect the software product
and its requirements. It offers the context needed to understand the functional and non-
functional aspects of the system, without diving into specific requirements.
The Property Rental and Sales Platform is designed to address the needs of tenants
and landlords in Addis Ababa, and it will be compared with other property listing and
rental platforms such as Airbnb, OLX, and Jumia. However, unlike these general
platforms, our system is tailored to the specific market dynamics of Addis Ababa,
considering local regulations, tenant needs, and the property rental process. The
system will allow landlords to list both rental and sales properties, handle inquiries, and
In terms of its architecture, the system will be a cloud-based web application that
integrates with third-party services for payment processing and messaging. The
platform will need to be scalable, flexible, and user-friendly, ensuring that tenants and
landlords can easily navigate it while meeting their needs. The system will also have the
potential to expand into mobile applications in the future.
The primary functions of the Property Rental and Sales Platform are as follows:
The end users of the platform are tenants, landlords, and administrators. Each user type
has different needs and skill levels:
1. Tenants:
They will primarily use the platform for property searches, bookings, and
communication with landlords.
2. Landlords:
Landlords may have varying levels of technical proficiency, but they need to
manage their property listings and interact with tenants.
They will need tools for uploading property images, managing property
availability, setting prices, and responding to inquiries.
3. Administrators:
They will require access to more advanced tools for managing the platform,
monitoring transactions, and ensuring compliance with the platform’s policies.
All users will require access to mobile-responsive interfaces to interact with the platform
effectively across devices. The system will be designed with accessibility in mind to
cater to diverse user groups.
The following general constraints will affect the design and development of the system:
1. Regulatory Policies: The system must adhere to local real estate laws and data
privacy regulations (e.g., GDPR or Ethiopia’s data protection laws), ensuring that
tenant and landlord information is handled securely.
2. Hardware Limitations: The platform must be optimized to work on various
devices with different processing capabilities, including smartphones and desktop
computers. Low-bandwidth regions may also require a simplified version of the
system.
3. Interface to Other Applications: The system will integrate with third-party
applications, such as payment gateways (for processing bookings and
transactions) and email notification services. APIs and integration methods must
be clearly defined.
4. Parallel Operation: The platform must support simultaneous user access
without affecting performance, especially during peak times (e.g., when multiple
tenants are making inquiries or landlords are updating listings).
5. Security Requirements: The system will need to implement robust security
measures to protect sensitive data, including secure payment processing,
The following assumptions and dependencies will affect the requirements of the system:
3. Specific Requirements
This section contains detailed requirements for the Property Rental and Sales Platform,
ensuring the design, development, and testing teams have the necessary specifications
to implement and verify the system. Each requirement is defined to be precise,
unambiguous, complete, and verifiable, with every requirement cross-referenced to its
respective functionality.
1. User Interface Type: The platform will provide a graphical user interface (GUI) that
is accessible on both desktop and mobile devices.
2. User Dashboard:
● Tenants will have a dashboard to search properties, view saved
properties, manage bookings, and communicate with landlords.
The platform is a cloud-hosted web application and does not interact with specific
hardware devices directly. Therefore, the system has no hardware interface
requirements.
1. Database:
● MySQL (v8.0 or above) for structured data storage.
● Interaction: Communication with the database will occur through SQL
queries over an ODBC/JDBC connection, supporting CRUD operations.
2. Payment Gateway Integration:
● Stripe API (or equivalent) for payment processing.
● Interface: The platform will use REST API calls to initiate and confirm
transactions, handle refunds, and process user payment information
securely.
3. Email Notification Service:
● SendGrid API for sending transactional emails.
● Interface: The system will use SMTP or REST API for sending
notifications about bookings, inquiries, and system alerts to users.
4. Authentication Service:
● JWT (JSON Web Tokens) for secure user authentication.
● Interface: The system will generate and validate JWTs for each login
session, securing user interactions with the backend.
3.1.4 Communications Interfaces
1. HTTP/HTTPS Protocols: The platform will operate over HTTPS to ensure data
encryption during data transmission.
2. WebSocket Protocol: Real-time messaging will be supported between tenants
and landlords using WebSocket connections to provide instant communication.
3. RESTful API: External communication and integration with third-party services
will be facilitated using RESTful APIs. Data will be exchanged in JSON format.
1. Introduction: The system shall allow landlords to create and manage property
listings with information like price, description, photos, and availability status.
2. Inputs: Property details include property name, location, price, type
(rental/sales), description, images, and amenities.
3. Processing: Information is stored in the database, and images are processed to
ensure standard resolution and size.
4. Outputs: Property listings are displayed to tenants in search results.
5. Error Handling: Error messages are displayed if required fields are missing or
images are not in the correct format.
3.2.3 Search and Filter Properties
1. Introduction: The system shall allow tenants to search for properties using
criteria such as location, price range, property type, and amenities.
2. Inputs: Search inputs include text for location, dropdowns for property type, and
sliders for price range.
3. Processing: Search filters query the database, returning properties that match
specified criteria.
4. Outputs: Matching properties are displayed in a paginated list view.
5. Error Handling: If no properties match the criteria, a "No results found" message
is displayed.
● If login credentials are invalid, the system displays an error message and reloads
the login form.
● ID: UC2
● Actors: Owner, User
● Description: Allows qualified users to create an account.
● Pre-condition: Users must have valid credentials.
● Post-condition: Users can access their accounts and interact with the system.
● If invalid data is entered, the system displays an error message and prompts the
user to re-enter data.
● If the form contains invalid data, an error message is displayed, and the system
returns to the form.
● ID: UC4
● Actor: Owner
● Description: Allows owners to update previously posted house information.
● Pre-condition: Owner must have an existing post.
● Post-condition: The house information is successfully updated.
● If the entry is invalid, the system displays an error message and reloads the form.
● ID: UC6
● Actor: All Users
● Description: Users can view available houses in the system.
● Pre-condition: User wants to view available houses.
● Post-condition: User views the available houses.
● ID: UC12
● Actor: User
● Description: Allows users to send a request to apply for a house.
● Pre-condition: User must be logged in.
● Post-condition: Request is sent successfully.
● ID: UC13
● Actor: Owner
● Description: Allows owners to respond to user requests.
● Pre-condition: Owner must be logged in.
● Post-condition: Response is successfully sent.
● ID: UC14
● Actors: Owner, User
● Description: Allows users to provide feedback about the system or properties.
● Pre-condition: User has feedback to submit.
● Post-condition: Feedback is successfully submitted.
● ID: UC11
● Actors: Owner, User
● Description: Allows users to search for specific houses.
● Pre-condition: User wants to find specific properties.
● Post-condition: System displays search results.
● If there is a connection error, the system displays a message and reloads the
page.
● ID: UC35
● Actor: User
● Description: Allows users to compare houses they are interested in.
● Pre-condition: User is logged in and has added houses to the cart.
● Post-condition: User can view and compare selected houses.
● The system shall process search requests within 2 seconds for up to 10,000
users.
3.4.2 Reliability
● The system shall have an uptime of 99.9% and recover from errors within 10
seconds.
3.4.3 Availability
● The system shall be accessible 24/7, with scheduled maintenance not exceeding
2 hours per month.
3.4.4 Security
● The system shall encrypt sensitive data (e.g., passwords and payment info)
using AES-256.
3.4.5 Maintainability
● The system code shall follow modular architecture and proper documentation for
ease of maintenance.
3.4.6 Portability
● The system shall be compatible with the latest versions of popular browsers and
mobile operating systems.
● The system shall not support offline property search or offline booking.
● The system shall not provide video tours of properties.
● The platform must comply with data privacy regulations, including GDPR.
● The database shall store data in structured tables for properties, users, bookings,
and payments.
● Data integrity shall be maintained with foreign keys linking users to bookings and
properties to landlords.
● A user manual shall be provided for tenants and landlords, covering property
listing, booking, and account management.
Packaging Requirements
Legal Requirements
● All system components shall comply with copyright laws, and licenses for third-
party libraries shall be appropriately acquired.
The change management process for the Software Requirements Specification (SRS) is
designed to ensure that all modifications are tracked, reviewed, and approved
systematically. This process will help maintain the integrity of the SRS document,
accommodate changes in project scope or requirements, and provide clarity for the
project team and stakeholders.
1. Initial Review:
● The Project Manager and Product Owner will review each change
request to determine if it aligns with project goals and objectives.
● If the change is deemed significant, it will be discussed in a Change
Control Board (CCB) meeting for further evaluation.
2. Change Control Board (CCB):
● The CCB will be responsible for evaluating and approving major changes.
The board will include representatives from key areas:
○ Project Manager
○ Product Owner
○ Development Team Lead
○ QA Lead
○ Relevant Stakeholders or Customer Representative (if applicable)
● The CCB will meet weekly (or as needed) to review pending change
requests.
● During the meeting, the CCB will assess each change based on:
○ Feasibility: Technical and operational feasibility of the change.
○ Impact: Evaluation of the impact on requirements, scope, timeline,
and budget.
○ Risks: Assessment of any risks associated with implementing the
change.
○ Prioritization: Assigning a priority level to the change based on
project needs.
3. Approval Process:
Changes will be approved by majority vote within the CCB. For critical changes,
unanimous approval may be required.
For minor changes, approval may be granted directly by the Project Manager and
Product Owner without a CCB meeting.
1. Implementation:
● Approved changes will be assigned to the respective development or
design teams with a defined timeline and task list.
● The Project Manager will update the project schedule to reflect any impact
on milestones or deadlines caused by the change.
2. Testing and Validation:
● The QA team will develop or modify test cases to validate the change
once it is implemented.
● After successful testing, the change will be marked as “Completed” and
closed in the change management system.
Once a change has been implemented, tested, and validated, the Change Request will
be marked as “Closed” in the project management tool. The CCB or Project Manager
will review closed requests periodically to ensure proper documentation and traceability.
To ensure traceability:
1. Unique Identifiers: Each change request will have a unique ID for tracking and
cross-referencing in the SRS.
2. Linking Changes to Requirements: All modified requirements will be
referenced with their respective change request IDs.
3. Audit Trail: A complete audit trail of all changes will be maintained, with each
change linked back to its original request, approval, and implementation record.
References
This section provides a list of all documents referenced throughout the Software
Requirements Specification (SRS) document. Each document is identified by its title,
report number (if applicable), date, and publishing organization. Sources are specified
for easy access to these references.
2. Client Information
This appendix includes the initial conceptual documents for the software
project, such as:
These documents can offer additional insight into the user and business
needs addressed by the requirements.
A.3 Appendix 3: Meeting Minutes with Customers
This appendix records changes made to the SRS over time, detailing:
The change log is essential for traceability and ensuring that all
adjustments to the requirements are documented and approved