0% found this document useful (0 votes)
74 views12 pages

Software Requirements Specification: Wi-Fi Geyser Control

Software Requirement Specification

Uploaded by

Ayesha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views12 pages

Software Requirements Specification: Wi-Fi Geyser Control

Software Requirement Specification

Uploaded by

Ayesha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 12

Software Requirements

Specification
for

< Wi-Fi Geyser Control >

Version 1.0 approved

Prepared by <Hassan Saeed>

<Usman Ali Malik>

<Abbottabad University of Science and Technology>

<27/07/2021>

Copyright © 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for < Wi-Fi Geyser Control > Page ii

Table of Contents
Table of Contents...........................................................................................................................ii
Revision History.............................................................................................................................ii
1. Introduction..............................................................................................................................1
1.1 Purpose...........................................................................................................................................1
1.2 Document Conventions..................................................................................................................1
1.3 Intended Audience and Reading Suggestions.................................................................................1
1.4 Product Scope.................................................................................................................................1
1.5 References.......................................................................................................................................1
2. Overall Description..................................................................................................................2
2.1 Product Perspective........................................................................................................................2
2.2 Operating Environment...................................................................................................................2
2.3 Design and Implementation Constraints.........................................................................................2
3. Requirement identifying technique........................................................................................6
3.1 Use Case Diagram............................................................................................................6
3.2 Use Case Description.......................................................................................................6
4. Specific Requirements.............................................................................................................8
4.1 System feature X..............................................................................................................8
5. Other Nonfunctional Requirements.......................................................................................8
5.1 Usability...........................................................................................................................9
5.2 Performance.....................................................................................................................9

7. References...............................................................................................................................10

Revision History
Name Date Reason For Changes Version
Software Requirements Specification for < Wi-Fi Geyser Control > Page 1

1. Introduction

The introduction of the Software Requirements Specification (SRS) provides an overview of the
entire SRS with purpose, scope, definitions, acronyms, abbreviations, references and overview of
the SRS. The aim of this document is to gather, analyses and give an in-depth insight of the
complete Wi-Fi Geyser Control by defining the problem statement in detail.

1.1 Purpose
The purpose of the document is to collect and analyze all assorted ideas that have come up to define
the system, its requirements with respect to consumers. Also, we shall predict and sort out how we
hope this product will be used in order to gain a better understanding of the project, outline
concepts that may be developed later, and document ideas that are being considered, but may be
discarded as the product develops.

1.2 Document Conventions


This document uses the following convention.

DB Database

1.3 Intended Audience and Reading Suggestions

This project is a prototype for the Wi-Fi Geyser Control system and it is restricted within the
University premises. This has been implemented under the guidance of self-hard work and
teamwork. This project is useful for the Wi-Fi Geyser Control system and as well as to the
Domestic users.

1.4 Product Scope

The scope of the project is to automates the conventional gas-based water geysers by making it
fully automated. It will be a Wi-Fi controlled geyser so the user can operate it using an android
application from any place, user can view the temperature of the water Geyser on mobile and set a
schedule or customize the timing to his liking to get the hot water exactly when he needs it. The
system is designed to provide ease to the user by creating an automated system so that the user
should get maximum benefit and control the system using a mobile phone. As water Geyser is a
need for any home, office and any other place so, the system can be utilized by any type of user and
even used at commercial level.
Software Requirements Specification for < Wi-Fi Geyser Control > Page 2

1.5 References

Android Operating System: https://www.android.com/

Firebase Database: https://www.firebase,google.com/

NodeMCU microcontroller: https://www.nodemcu.com/index_en.html

2. Overall Description

2.1 Product Perspective

As we know that the world is advancing day by day and new technologies are emerging every day,
many different technologies are now part of our everyday life and they are reducing human efforts
and create ease for users. The system we are designing is a Wi-Fi controlled geyser, it is an entirely
new technology and will reduce human effort and provide the best user experience. As water
Geyser is the necessity of every user and many of the world population is using this system to get
hot water. In this project we will convert the conventional water heater to an automated water
heater which will be controlled through any android application and internet. The user should not
have to turn on the geyser by physically going and then wait for the water to get hot, instead of this
user can turn on and schedule the app according to requirement. The main purpose of this system is
to reduce human effort and reduce energy utilization.

2.2 Operating Environment

The system contains software and hardware platform, Node mcu, servo motor and temperature
sensors are the main hardware part which will be connected with Geyser. The Software contains an
android application which can be accessed on any android device from any place using internet
connection, Firebase will be used as the database.
 Android Application API: 16 or above
 Database: Firebase realtime database
 IoT platform: NodeMCU
 IDE: Arduino IDE
 Libraries: C libraries, Node libraries

2.3 Design and Implementation Constraints

The following are the Design and implementation constraints for the system.
Software Requirements Specification for < Wi-Fi Geyser Control > Page 3

Design Concern 1- Database


Description: Free open-source database
Constraint: To keep the cost of the whole system as low as possible, the system
must use an online open-source database rather than buying a separate
domain and server to run database queries on.

Design Concern 2- Operating System


Description: OS for Application
Constraint: The application should be developed for Android OS as it is most
commonly used operating system in mobile devices and readily
available in all price categories.

Description: Microcontroller
Description: Microcontroller with embedded Wireless module
Constraint: Only those microcontrollers are suitable for the system that have an
embedded wireless module embedded onto them rather than buying a
separate module and connecting it with the microcontroller.

3.Requirement identifying technique


To identify requirements, we used the following techniques:
 Use Case:
For the requirements of the Android application, we used to use cases tables and
diagrams to identify the requirements.

 Event response tables:


For the identification of the microcontroller’s functionalities, we used event-
response tables.

 Observation:
The functionalities of the complete system have been identified by thorough
observations regarding the problem statement that this system is entirely based upon.

 Brainstorming:
Requirements are gathered through intensive brainstorming ideas among the member
working on the project.
Software Requirements Specification for < Wi-Fi Geyser Control > Page 4

Use case diagram

Use case description

The table below indicate a comprehensive use case of Wi-Fi Geyser Control.

Table 1 Show the detail use case template


Use Case UC-1
ID:
Use case Login the application
name:
Actors: Primary Actor: User Secondary Actor: Fire Base

Description: A User can login with his Email id and Password to access the Smart Geyser on
android Phone using an internet connection, and can view the temperature, set the
temperature and set a schedule.
Software Requirements Specification for < Wi-Fi Geyser Control > Page 5

Trigger: A user wants to access to control the water geyser.


Preconditio User should be registered in the database.
ns:
Postconditio User can access the Menu and Control Geyser.
ns:
Normal 1. System displays login screen
Flow: 2. User enters their credentials
3. System redirects user to the menu
Exceptions: At step 2, the credentials entered by the user are incorrect.
At step 2, the user is not registered in the database.

Use Case UC-2


ID:
Use case Register User
name:
Actors: Primary Actor: User Secondary Actor: Fire Base

Description: A User can register with an Email and password into the database.
Trigger: A user wants to register himself in the database.
Preconditio Nil
ns:
Postconditio User’s credentials are stored in the database.
ns:
Normal 1. System displays registration screen
Flow: 2. User enters their credentials
3. System informs the user that the user is successfully registered in the
database.
Exceptions: At step 3, the credentials entered by the user are incorrect.
At step 3, the user is already registered in the database.

Use Case UC-3


ID:
Use case Turn Geyser ON/OFF
name:
Actors: Primary Actor: User Secondary Actor: Fire Base

Description: A User can turn the Geyser On and Off after accessing the application.
Trigger: A user wants to turn the geyser on and off.
Preconditio User should be registered for accessing the application.
ns: User is logged in.
Software Requirements Specification for < Wi-Fi Geyser Control > Page 6

The application is having established a connection with micro-controller


Postconditio The geyser is switched ON/OFF
ns:
Normal 1. System displays the menu to control geyser.
Flow: 2. User selects to switch the geyser ON/OFF
3. System notifies the user that the operation is successful
Exceptions: At step 2, the application is not connected to the micro-controller.

Use Case UC-4


ID:
Use case Schedule Geyser
name:
Actors: Primary Actor: User

Description: A User can schedule the time to turn the geyser ON/OFF
Trigger: A user wants to access to schedule the water geyser.
Preconditio User should be registered for accessing the application.
ns: User should be login in the application.
Postconditio User can access the Menu and Control Geyser.
ns:
Normal 1. System displays the scheduling menu
Flow: 2. User selects the time and date for when to turn the Geyser ON.
3. User selects the time and date for when to turn the Geyser OFF.
4. User clicks “Ok”
5. System notifies the user that the operation is successful.
Exception: At step 4, the application has lost the connection with the micro-controller

Use Case UC-5


ID:
Use case Set Temperature
name:
Actors: Primary Actor: User

Description: A User can set the temperature of the water geyser according to its need.
Trigger: A user wants to set the temperature of the water geyser.
Preconditio User should be registered for accessing the application.
ns: User should be login in the application.
Postconditio User sets the temperature of geyser using android app.
ns:
Normal 1. System shows the menu to the user.
Flow: 2. User entered the desired operating temperature for the geyser.
3. System notifies the user that the operation is successful.
Software Requirements Specification for < Wi-Fi Geyser Control > Page 7

Exceptions: At step 2, the application has lost connection with the micro-controller.

Use Case UC-6


ID:
Use case Check temperature
name:
Actors: Primary Actor: User

Description: A User can check the temperature of water geyser.


Trigger: A user wants to see the temperature of the geyser via android application.
Preconditio User should be registered for accessing the application.
ns: User should be login with the required credentials into the android app.
Postconditio User can access the Menu and check the temperature.
ns:
Normal 1. System shows the menu to the user.
Flow: 2. User clicks on the button to check the temperature.
3. System shows a message stating the temperature of the sensor.
Exceptions: At step 2, the application has lost connection with the micro-controller.

Functional Requirements
This section of the SRS lists in detail the functional requirements of the system.

Table 2 Show the functional requirement template


Identifier ID: 01
Title Authentication of user
Requirement The system shall check whether the credentials entered by the user
are valid or not.
Source User
Rationale To provide access to the user.
Dependencies Nil
Priority High

Identifier ID: 02
Title User registration
Software Requirements Specification for < Wi-Fi Geyser Control > Page 8

Requirement The user shall be able to register themselves in the database.


Source User
Rationale To register the user in the database.
Dependencies Nil
Priority High

Identifier ID: 03
Title Switch geyser ON/OFF
Requirement The User shall be able to Switch the geyser ON/OFF
Source User will originate it.
Rationale To allow user to switch the state of the geyser.
Dependencies ID: 01
Priority High

Identifier ID: 04
Title Set a schedule.
Requirement User can schedule the timing for when the geyser turns ON/OFF

Source User
Rationale User can select for how long the knob stays at that value.
Business Rule (if Any restriction, policy, rule that the particular requirement must be
required) fulfilled through its functional behavior
Dependencies ID: 01
Priority Medium

Identifier ID: 05
Software Requirements Specification for < Wi-Fi Geyser Control > Page 9

Title Check temperature


Requirement The user shall be able to check the temperature of the water.
Source User
Rationale User can check the temperature of the water geyser.
Dependencies ID: 01
Priority Low

Identifier ID: 06
Title Set temperature
Requirement The user shall be able to set the temperature of the geyser.
Source User
Rationale User can select the value of the geyser for which the knob will stay
at.
Dependencies ID: 01
Priority Medium

Other Non-Functional Requirements

Wireless Connectivity

The system should be accessible wirelessly.

Network Independent

The system should work on any Wi-Fi network.

Usability
The User interface of the application should be easy to understand and materialistic.
Software Requirements Specification for < Wi-Fi Geyser Control > Page 10

Performance
The application should be fluid with no lags.
The system should be able to perform the tasks in less than 5 seconds.

Device Independent
The application should be independent able to run on any Android device.

System operability
The system should be able to operate in any weather condition.
The system should be able to operate in any geographical location.

References

Android Operating System : https://www.android.com/

Firebase Database: https://www.firebase,google.com/

NodeMCU microcontroller: https://www.nodemcu.com/index_en.html

You might also like