Software Requirements

Specification

for

BariBhara

Version 1.0

Prepared by Team Gigahertz

North South University

21st November, 2020


Table of Contents

Table of Contents.........................................................................................................................................................................

Revision History..........................................................................................................................................................................

  1. Introduction...................................................................................................................................................................
    1. Purpose............................................................................................................................................................................
    2. Document Conventions....................................................................................................................................................
    3. Intended Audience and Reading Suggestions.......................................................................................................................
    4. Product Scope.............................................................................................................................................................
    5. References..............................................................................................................................................................
  2. Overall Description..........................................................................................................................................................
    1. Product Perspective.........................................................................................................................................................
    2. Product Functions...........................................................................................................................................................
    3. User Classes and Characteristics.......................................................................................................................................
    4. Operating Environment......................................................................................................................................
    5. Design and Implementation Constraints..........................................................................................................................
    6. User Documentation................................................................................................................................................
    7. Assumptions and Dependencies........................................................................................................................................
  3. External Interface Requirements.........................................................................................................................
    1. User Interfaces...........................................................................................................................................................................
    2. Hardware Interfaces............................................................................................................................................................
    3. Software Interfaces................................................................................................................................................................
    4. Communications Interfaces..................................................................................................................................
  4. System Features........................................................................................................................................................................
    1. Feature 1: Log In/Log Out..........................................................................................................................................................
    2. Feature 2: Post Ads................................................................................................................................................................
    3. Feature 3: View Posted Ads.......................................................................................................................................................
    4. Feature 4: Search Ads..............................................................................................................................................................
    5. Feature 5: See Nearby Rent Ads....................................................................................................................................................
    6. Feature 6: Extract rental ads......................................................................................................................................................
    7. Feature 7: Remove posted ads...........................................................................................................................................
  5. Other Nonfunctional Requirements.......................................................................................................................................
    1. Performance Requirements.................................................................................................................................................
    2. Safety Requirements..........................................................................................................................................................
    3. Security Requirements....................................................................................................................................................
    4. Software Quality Attributes....................................................................................................................................................
    5. Business Rules...................................................................................................................................................................
  6. Other Requirements...................................................................................................................................................

Appendix A: Glossary...................................................................................................................................................

Appendix B: Analysis Models.................................................................................................................................................

Appendix C: To Be Determined List.................................................................................................................................

Revision History

Name Date Reason For Changes Version
TBD TBD TBD TBD
TBD TBD TBD TBD

1. Introduction

1.1 Purpose

The purpose of this document is to present a detailed description of the BariBhara. It will explain the purpose and features of the system, the interfaces of the system, what the system will do, the constraints under which it must operate and how the system will react to external stimuli. This document is intended for both the stakeholders and the developers of the system.

1.2 Document Conventions

We make our SRS in two formats, html viewable format and printer friendly format. But both format are created using only html and css. For html viewable format we used 'open-sans', sans-rerif font and we keep font size 16px. On the other hand, for the printable format the document is styled according to standard IEEE SRS template. 'Times New Roman', times, serif font. Here for heading we use Times New Roman 18 and Times New Roman 14 for sub-heading and Arial 11 for body and paragraph.

1.3 Intended Audience and Reading Suggestions

This document is intended for developers, project managers, marketing staff, users, testers, and documentation writers.

1.4 Product Scope

The main purpose of our application is to help the people to find their desired house for rent easily and smartly. This software will be smart home rental system for the people of Bangladesh. By using the web version of the anyone can search for available home for rent. House owner can post ads for their home which is available for rent. Rent Seekers can also view different kinds of ads posted by the house owners. And by using our amazing android app, Rent Seekers can point towards any road or house using a camera filter to see available house for rent. They will see an To-Let sign in front of the available house which will be made using augmented reality concept. We can also collaborate with different house rental organization or software company from which we can earn money also.

1.5 References

Not Applicable.


2. Overall Description

2.1 Product Perspective

The perspective of our application is to help the people of Bangladesh to find their desired house for rent easily and smartly without any sufferings.

2.2 Product Functions

Major functionalities nof our system are described below:

  • House Owners can posted ads if their house is available for rent.
  • Rent Seekers can search house for city in different area from app.
  • By using our android app Rent Seekers can point towards any streets or building to see if there any available house for rent. If any house is available for rent a pop up will be show up in front of it by the help of augmented reality. Then they can click on this pop up to see the details of this house which will be fetched from our database.

2.3 User Classes and Characteristics

Our app has two user classes:

  • House Owner
  • Rent Seeker

Characteristics of both user classes:

  • Both should have basic English reading knowledge to use our app.
  • They don't required any previous experience.
  • Minimum technical knowledge will be useful for them.

2.4 Operating Environment

Operating Environments of this application:

  • Distributed Database
  • Operating System: Android (Cell phone), Windows (Computer)
  • Database: SQL Database
  • Hardware Platform: Cell Phone and PC

2.5 Design and Implementation Constraints

Contrains includes:

  • Class diagram and its implementation.
  • Automatic SQL commands calling with the help of API.
  • Implementing the database using the centralized database management system.

2.6 User Documentation

Users will be able to read F.A.Q within the website to be familiarized with the platform.

2.7 Assumptions and Dependencies

Augmented Reality concept used in this system can have an impact on it.


3. External Interface Requirements

3.1 User Interfaces

Web App:

  • Front-end: HTML5, CSS3, JavaScript
  • Back-end: Python, Django FrameWork, postgreSQL
Mobile App (Android):
  • Java

3.2 Hardware Interfaces

  • Web Browser
  • Android Smartphone

3.3 Software Interfaces

  • Since most of the users are Windows user we have selected Windows as the primary operating system.
  • For the same reason, in mobile user we have picked the Android as the primary OS.
  • Django will be used to interact with the centralized server.
  • In order to save the ads SQL database will be used.

3.4 Communications Interfaces

This will support email verification using Gmail, all kinds of web browser and most likely all updates of Android devices.


4. System Features

Our application will have three actors:

  • House Owner
  • Rent Seeker/ Tenant
  • System

Use Case Diagram:

Use Case Diagram

4.1 Feature 1: Log In/ Log Out

4.1.1 Description and Priority

This will be a primary feature and the main actor of this feature is House Owner.

To access this rental system House Owner will Log In with his/her Google account to verify his identity. He/She can also log out him/her from the system.

4.1.2 Stimulus/Response Sequences

Actor Actions System Responses
1. Actor browses to www.barivara.com 2. System responds with two option to choose from. These one, “I am house owner" and "I am a tenant". (See Mockup)
3. Actor selects " I am House Owner" 4. System responds with login page with google/facebook account. (See Mockup)
5. Actor logs in with google/facebook account. 6. System Verifies his account. And then gives access house owner portal to him.
7. Actor logs out from the site 8. System disconnects his account and responds with welcome page.

4.1.3 Functional Requirements

TBD

4.2 Feature 2: Post Ads

4.2.1 Description and Priority

This will be a primary feature and the main actor of this feature is House Owner.

House owner can list his/ her property for rent. For that owners have to feel up the form including his or her necessary information, house photos with description, rent amount, location etc.

4.2.2 Stimulus/Response Sequences

Actor Actions System Responses
1. Actor browses to www.barivara.com 2. System responds with two option to choose from. These one, “I am house owner" and "I am a tenant".
3. Actor selects " I am house owner". 4. System responds with login page.
5. Actor logs in with google account. 6. System Verifies account and gives access to house owner portal.
7. Actor select menu and choose "list your property". 8. System response by providing rental ad from
9. Actor fills all given fields in the form and submit it. 10. System add the list of its database and publish it to the rental ads.

4.2.3 Functional Requirements

TBD

4.3 Feature 3: View Posted Ads

4.3.1 Description and Priority

This will be a primary feature and the main actor of this feature is House Owner.

If the house owner has already posted any rent ads or she can be able to view his or her posted ads. house owner can post and view multiple as well.

4.3.2 Stimulus/Response Sequences

Actor Actions System Responses
1. Actor browses to www.barivara.com . 2. System responds by showing 2 options to choose from. These one, “I am house owner" and "I am a tenant".
3. Actor selects "I am house owner". 4. System responds with login page with google account.
5. Actor logs in with google account. 6. System Verifies his account And then gives access house owner portal to him.
7. Actor select menu and choose "View Posted ADS". 8. System responds by showing corresponding posted ads (if any). If there are no ads posted yet, System will display user that "No ads has been posted yet"

4.3.3 Functional Requirements

TBD

4.4 Feature 4: Search Ads

4.4.1 Description and Priority

This will be a primary feature and the main actor of this feature is Tenant.

Tenant can search flats for rent in specific area. Tenant can also view details about rental ads by selecting view more button.

4.4.2 Stimulus/Response Sequences

Actor Actions System Responses
1. Actor browses to www.barivara.com . 2. System responds by showing 2 options.
3. Actor selects "I am Tenant ". 4. System responds with showing search portal. (See Mockup)
5. Actor goes to menu and choose " search ads by city" and search a city name. 6. system response by showing rent ads those are belonging to the city name.
7. Actor choose rent ads and select view more options. 8. System responds by showing all necessary details of the flat including house photos, size, number of rooms, owner contact number etc.

4.4.3 Functional Requirements

TBD

4.5 Feature 5: See Nearby Rent Ads

4.5.1 Description and Priority

This will be a primary feature and the main actor of this feature is Tenant.

Tenent can nearby ads via augmented reality on the building by using the camera. By pointing the camera and turning on the GPS in the Android app. Tenent can the see the detail also by tapping on the specific ads.

4.5.2 Stimulus/Response Sequences

Actor Actions System Responses
1. Actor launches the mobile app. 2. System responses with 2 options.
3. Actor selects "I am a Tenent". 4. System responses with tenent portal.
5. Actor selects menu and choose Bari Bhara AR. 6. System responses with by asking the camera.
7. Actor gives GPS & Camera permission. And points the camera towards street. 8. System responses by showing nearby ads by using the GPS and via augmented reality.
9. Actor tap on a ADS to view details. 10. System responses with by showing all detail of a specific ads.

4.5.3 Functional Requirements

TBD

4.6 Feature 6: Extract Rental Ads

4.6.1 Description and Priority

This will be a primary feature and the main actor of this feature is System.

To add advertisement from multiple sources by web scraping ads will be updated in every 24 hours.

4.6.2 Stimulus/Response Sequences

Actor Actions System Responses
1. Actor (System) will check specific website for ads in every 24 hours. 2. System responses by adding any new advertise which does not exist in the system or in the database already.

4.6.3 Functional Requirements

TBD

4.7 Feature 7: Remove Posted Ads

4.7.1 Description and Priority

This will be a primary feature and the main actor of this feature is System.

System will remove an ad after two weeks from the date it has been posted.

4.7.2 Stimulus/Response Sequences

Actor Actions System Responses
1. Actor (System) will check the time of every ads when the ads were posted. 2. System responses by removing the ads if the time is more than two weeks.

4.7.3 Functional Requirements

TBD


5. Other Nonfunctional Requirements

5.1 Performance Requirements

Performance is one of our major concerns. Since the core objective of this project is to efficiently manage large scale projects, we have to prioritize time. We shall achieve this through minimal response times when users will enter our website, our search engine will be fast and efficient. Our app should be able to identify house for rent fast using camera filter.

5.2 Safety Requirements

Since this is an online platform, we won’t have to deal with safety issues much often. But to avoid unnecessary risks, and potential crises, rent seekers and house owner will be able to report the issue/problem to us for violating community standards.

5.3 Security Requirements

Users will be able to sign up with their Google accounts. This will verify them as legit users. Since user privacy is concerned, tenant’s confidential information will not be visible to the house owners and house owners' confidential information will not be visible to the tenants. Error messages will be popped up, when invalid inputs are given in order to inform the user that the input provided is not accepted.

5.4 Software Quality Attributes

  • Accurate and precise process must be performed by the system to avoid problems.
  • The system must be flexible. Should be easily modified.
  • Execution process must be fast and responsive.
  • The system should possess maintainability, should be able to cope up with any encountered problems. UML will be used in the development process.
  • The GUI of the system will be user friendly.
  • Ensuring portability. The software is a web-based application and is built in Python and MySQL. So it is platform independent.

5.5 Business Rules

We can create partnarship with different house owners and different house rental organization. If our app becomes polular they will pay us commission for showing their ads.


6. Other Requirements

We will use Relational Databse to store our data.


Appendix A: Glossary

Word Meaning
House Owner Who usually owns a large house which is available for rent.
Tenant A rent seeker who usually seeking a house or flat for rent.
Augmented Reality (AR) It is an interactive experience of a real-world environment where the objects that reside in the real world are enhanced by computer-generated perceptual information, sometimes across multiple sensory modalities, including visual, auditory, haptic, somatosensory and olfactory.

Appendix B: Analysis Models

TBD


Appendix C: To Be Determined List

  • Making an IOS app for Apple smartphones to expand plaforms
  • Collaborate and partnarship with national and international house rental organizations to make our business large.
  • Shift to a large server so that we can store huge amount of data.

Screen Mockups

After Entering Into Website

openingWindow

Login As House Owner

loginAsHouseOwner

Search As Tenant

SearchAsTenant