You are on page 1of 19

Smart Home System

Smart Home System


Software Requirements Specification
Version 1
3/1/2019

Areej Alanazi 436202934


Meznah Alrasheed 436201211
Ghadah Alghanayem 436202073
Aseel Alshaya 436201347
Reem Alsofayan 436201424

Prepared for
SWE 312—Software Requirements Engineering
Fall 2017

1
Smart Home System

Work Distribution

Student Name Role and Responsibilities


Areej Alanazi Phase 1:
- Scope
- Functional Requirements & Nonfunctional
Requirements
- Use Case Diagram
- Use Cases Description connect new device
- System Boundary Diagram
Meznah Alrasheed Phase 1:
- Purpose
- Functional Requirements & Nonfunctional
Requirements
- Use Case Diagram
- Use Cases Description Record TV show
Ghadah Alghanayem Phase 1:
- Overview
- Functional Requirements & Nonfunctional
Requirements
- Use Case Diagram
- Use Cases Description Alert break-in
Aseel Alshaya Phase 1:
- General description
- Functional Requirements & Nonfunctional
Requirements
- Use Case Diagram
- Use Cases Description View CCTV camera
Reem Alsofayan Phase 1:
- Introduction
- Functional Requirements & Nonfunctional
Requirements
- Use Case Diagram
- Use Cases Description Adjust temperature

2
Smart Home System

Revision History

Date Description Author Comments


<date> <Version 1> <Your Name> <First Revision>

Document Approval

The following Software Requirements Specification has been accepted and approved by the
following:
Signature Printed Name Title Date
<Your Name> Lead Software Eng.

3
Smart Home System

Table of Contents
Work Distribution 2
Revision History 3
Document Approval 3
1. Introduction 6
1.1 Purpose 6
1.2 Scope 6
1.3 Definitions, Acronyms, and Abbreviations 7
1.4 Overview 7
2. General Description 7
3. Specific Requirements 7
3.1 Functional Requirements 7
3.1.1 Home Occupant account settings 7
3.1.2 Energy efficiency 8
3.1.3 Security 9
3.1.4 Voice recognition 9
3.2 Non-Functional Requirements 9
3.2.1 Usability 9
3.2.1.1 Accessibility 9
3.2.1.2 Ease of use 10
3.2.2 Reliability 9
3.2.2.1Availability 10
3.2.2.2 Robustness 10
3.2.2.3 Accuracy 10
3.2.2.4 Fault tolerance 10
3.2.2.5 Safety 10
3.2.2.6 Security 10
3.2.3 Performance 10
3.2.3.1 Throughput 10
3.2.3.2 Response Time 10
4
Smart Home System

3.2.3.3 Recovery Time 11


3.2.3.4 Startup/Shutdown time 11
3.2.3.5 Capacity 11
3.2.4 Supportability 11
3.2.4.1 Installability 11
3.2.4.2 Configurability 11
3.2.4.3 Upgradeability 11
3.2.4.4 Reusability 11
3.2.4.5 Changeability 11
3.2.4.6 Localizability 11
3.3 Design Constraints 11
4 Use Cases 12
4.1 Use Case Diagram 12
4.2 Use Cases Description 13
5. System Boundary Diagram 18
6. Reference 19

List of Table
Table 1: Record TV show 13
Table 2: Connect new Device 14
Table 3: Alert break-in 15
Table 4: View CCTV Recording 16
Table 5: Adjust temperature 18

List of figures

Figure1: Use case diagram 12


Figure2: System Boundary Diagram 18

5
Smart Home System

1. Introduction
Users and intelligent device developer are attracted to smart homes because of their
efficiency and convenience characteristics [1]. “Security and privacy protection are major
obstacles for the practical application of smart home systems” [1]. Due to the importance of the
smart home systems we discussed in this document a comprehensive software description of a
smart home system. The system is connected to many well-known devices such as, a smart TV,
Smart door, CCTV cameras and audio system. The system major task is to control those devices
to be the most useful. The following sub-sections will provide more details about the SRS

1.1 Purpose
The purpose of this SRS document is to collect and analyze all assorted ideas that have come
up to define this system, also explain in detail the requirements of the (Smart Home System)
software. In addition, the document contains the design constraints, interfaces, and diagrams that
show how the system will work.

1.2 Scope
The goal of the Smart home system is to automate the routine tasks that do not really need
human interaction. It seeks out the items that consume the most time but do not need, to free
home occupants of the house to enjoy in their lives, especially retired users, and who are targeted
by the system. Moreover, it helps in saving time and use energy in an efficient way.
Key functionalities of the system are:
● Ability to control smart devices via voice commands.
● Enable users to monitor and enhance the energy efficiency of the house through
adaptive controls and interfaces.
● Ability to create, store and access multiple forms of media and entertainment such as
audio and video.
● Enhance security through alerts in the event of a break-in and video monitoring of
premises of areas of interest.
● Enable users to monitor their home from anywhere they wish.
● Provides access and control through the main interface, phones for remote
accessibility.

6
Smart Home System

1.3 Definitions, Acronyms, and Abbreviations


CCTV: (closed-circuit television) is a TV system in which signals are not publicly
distributed but are monitored, primarily for surveillance and security purposes. [2]

Smart device is: generally connected to other devices or networks via different protocols
such as Bluetooth-NFC-WiFi-3G-etc. that can operate to some extent interactively and
autonomously (smart device) . [3]

1.4 Overview
The rest of SRS will mention the general description and specific requirements which contain
external Interface requirements, functional requirements, use cases diagram, use cases
description, non-functional requirements, and design constraints. Then, will present
analysis models that include a sequence diagram and activity diagram.
The SRS document is organized into two phases which is the analysis phase and design phase.
in the analysis phase, start with external Interface requirements, functional requirements, use
cases diagram, use cases description, Non-Functional Requirements, and Design Constraints.
Then design Phase which has a sequence diagram and activity diagram.

2. General Description
The Smart Home system is an application connected with different kinds of home devices,
which allows the user to easily command the home intelligently and manage energy in an
efficient way. It could be used by all members of the home. The system will increase the
efficiency of home management and it will achieve more amount of security, where the user will
know the status of all devices connected to the system, alert the user about the break-in and also
allow him to monitor his/he house.

3. Specific Requirements
3.1 Functional Requirements
3.1.1 Home Occupant account settings

This sub-section provides the functional requirements related to the Home Occupant Account

3.1.1.1 The system shall allow the home occupant to create a new account using email and
password.
3.1.1.2 The system shall allow the home occupant to sign in/out from his/her account.

7
Smart Home System

3.1.1.3 The system shall allow the home occupant to create a new room by specifying a
name for it.
3.1.1.4 The system shall allow the home occupant to connect a new device from the
available devices in the home network.
3.1.1.5 The system shall allow the home occupant to add a connected device to a created
room.
3.1.1.6 The system shall allow the home occupant to invite a new member to control the
connected devices. (will be deleted)
3.1.1.7 The system shall allow the home occupant to view all connected devices.
3.1.1.8 The system shall allow the home occupant to search for a connected device by
specifying its name.
3.1.1.9 The system shall allow the home occupant to view the room’s devices.
3.1.1.10 The system shall allow the home occupant to edit device settings.
3.1.1.11 The system shall allow the home occupant to edit room settings.
3.1.1.12 The system shall allow the home occupant to delete a connected device.
3.1.1.13 The system shall allow the home occupant to delete a created room.

3.1.2 Energy efficiency


This sub-section provides the functional requirements related to using the energy efficiently
using the application, the voice command, or enhanced by the system itself

3.1.2.1The system shall allow the home occupant to turn on/off the connected devices via
voice commands or application.
3.1.2.2 The system shall allow the home occupant to adjust the temperature of the thermostat
via voice commands or application.
3.1.2.3 The system shall allow the home occupant to check the current temperature and
humidity rates via voice commands or application.
3.1.2.4 The system shall allow the home occupant to adjust the volume of the audio system
via voice commands or application.
3.1.2.5 The system shall allow the home occupant to adjust the brightness of the light bulbs
via voice commands or application.
3.1.2.6 The system shall allow the home occupant to lock or unlock the doors via voice
commands or application.
3.1.2.7 The system shall allow the home occupant to specify a TV show to be recorded on the
smart TV via voice commands or application.
3.1.2.8 The system shall allow the home occupant to play audio from the audio system via
voice commands or application.
3.1.2.9 The system shall allow the home occupant to create a new playlist in the audio system
via voice commands or application.

8
Smart Home System

3.1.2.10 The system shall allow the home occupant to import music to the audio system via
voice commands or application.
3.1.2.11 The system shall allow the home occupant to edit the created playlist in the audio
system via voice commands or application.
3.1.2.12 The system shall be able to adjust lights automatically according to a predefined
time specified by the home occupant.
3.1.2.13 The system shall be able to monitor outside temperature and humidity.
3.1.2.14 The system shall be able to adjust the temperature of the thermostat according to the
temperature and humidity readings.
3.1.2.15 The system shall be able to check room occupancy.
3.1.2.16 The system shall be able to adjust the temperature according to room occupancy.
3.1.2.17 The system shall be able to adjust lighting according to room occupancy.

3.1.3 Security
This sub-section provides the functional requirements related to controlling the home
security using the application or enhanced by the system itself

3.1.3.1 The system shall allow the home occupant to view the live recording of the CCTV
camera using the application.
3.1.3.2 The system shall be able to detect a break-in state.
3.1.3.3 The system shall send a notification to the user if a break-in is detected.
3.1.3.4 The system shall turn on the home alarm system if a break-in is detected.

3.1.4 Voice recognition


This sub-section provides the functional requirements related to the voice recognition

3.1.4.1 The system shall be able to recognize human voices.


3.1.4.2 The system shall be able to convert the captured human commands into a
programmed command.
3.1.4.3 The system shall allow home occupant to add a new voice command refers to a
specific action.

3.1.5 Connection with devices


3.1.5.1The system shall be able to find all devices that are connected to the home network.

3.2 Non-Functional Requirements


3.2.1 Usability
3.2.1.1 Accessibility
● Turning a device on/off a device functionality shall be available after no more than 2
clicks from the application’s home page.
9
Smart Home System

3.2.1.2 Ease of use


● The system shall not require any technical skills from users to be able to use.

3.2.2 Reliability
3.2.2.1Availability
● The system will be available 24/7/365.
● Mean Time Between Failures (MTBF) shall be at least 180 days.

3.2.2.2 Robustness
● The system shall ask the user to repeat the voice command in case it was unclear.

3.2.2.3 Accuracy
● The system shall display the temperature and humidity data with an accuracy of two
decimal places.

3.2.2.4 Fault tolerance


● No more than 1 per 100000 commands shall result in a failure requiring a system
restart.

3.2.2.5 Safety
● The system shall respond to a break-in detection and turn on the alarm system within
2 seconds.

3.2.2.6 Security
● The system shall be able to detect 99% of intrusions within 10 seconds.
● The system shall never make the passwords viewable at the point of entry or at any
other time.
● The system shall support wireless encryption protocols.

3.2.3 Performance
3.2.3.1 Throughput
● The system shall be able to handle 6 transactions initiated by different users
simultaneously.

3.2.3.2 Response Time


● Average system response time should be less than two seconds.

10
Smart Home System

3.2.3.3 Recovery Time


● In case of error, the time needed to get the system up and running again shall within
10 minutes.

3.2.3.4 Startup/Shutdown time


● The system shall be able to Startup/Shutdown within a minute.

3.2.3.5 Capacity
● The system shall be able to accommodate 6 concurrent users.

3.2.4 Supportability
3.2.4.1 Installability
● The system shall be able to install by users who have no technical or special
expertise.

3.2.4.2 Configurability
● Not applicable because the users are not allowed to change any aspect of the
software's configuration.

3.2.4.3 Upgradeability
● The system shall be able to upgrade without modifying existing configure values.
● The system shall guarantee data integrity for all upgrades enhancement.

3.2.4.4 Reusability
● Not applicable, because all parts of the system such as the voice recognition are
embedded in it and integrated therefore, they cannot be standalone and reused in
other systems.
3.2.4.5 Changeability
● Modifications to the system shall be accomplished within one day.

3.2.4.6 Localizability
● The application shall support both English and Arabic language.

3.3 Design Constraints


3.8.1 The system shall be compatible with both Android and IOS based devices.
3.8.2 The system shall be delivered in 18 months.

11
Smart Home System

4. Use Cases

4.1 Use Case Diagram

12
Figure1: Use case diagram
Smart Home System

4.2 Use Cases Description


Table 1: Record TV show.
Use Case Description
System: Smart home.
Use Case name: Record TV show.
Primary actor: Home Occupant. Other actors: Smart TV.
Stakeholders: Home Occupant.
Description: This use case describes how the home occupant can make smart TV record a specific TV show using the system.
Relationships
- Includes: None.
- Extends: None.
Input: Voice command.
Pre-conditions: Smart TV must be connected.
Steps:
Home Occupant Smart home Smart TV
1. Request recording a TV show 1.1 Receive the voice command.
by specifying its name via voice 1.2 Convert the command into a
command. programmatic request. 1.3.1 Smart TV Receive the
1.3 Send the request to the Smart TV. request.
1.3.2 Smart TV send a signal to the
system to confirm successful
receiver of request.
1.3.3 start recording the TV show.
1.4 confirm that” smart TV is now recording
the TV show” via system voice.
Alternative and exceptional flows:
A.1 Unclear voice command in step 1.1
A1.1 system asks the home occupant to repeat the voice command.
B1 Recording TV show using the application instead of using voice command.
B1.1 Home occupant select “view available smart Tvs” option.
B1.2 system display all connected smart Tvs.
B1.3 Home occupant select desired smart TV.
B 1.4 system display the Tv’s page.
B 1.5 Home occupant select “record TV show” option.
B1.6 system asks the home occupant to enter the name of the TV show.
B1.7 Home occupant enters the name of the TV show.
B1.8 system sends the request to the smart TV.
B1.9 smart TV start recording the TV show.
B 1.10 system display a confirmation message.
Post-conditions: Smart TV show must be recorded successfully.
13
Smart Home System

Table 2: Connect new Device.

User case Description

System: Smart Home system.


Use Case name: Connect new Device.
Primary actor: Home occupant. Other actors: None.
Stockholders: Home occupant.
Description: This use case describes how the user can connect a new device to the smart home system
using the application.
Relationship:
- Include: None.
- Extend: None.

Input: None.

Pre-conditions: Home occupant must be signed in


Steps:
Home occupant Smart home
1. Select “display all available devices” option. 1.2 display all available device that connected to the
network.

2. Select “connect device” option next to the
desired device. 2.1 start device connection.
2.2 update connected devices list.
2.3 display confirmation message.
Alternative and exceptions flows:
A1. unsuccessful connection in step 2.1
A1.1. system display error message.

Post-conditions: desired device must be connected successfully.

14
Smart Home System

Table 3: Alert break-in.

Use Case Description


System: Smart home
Use Case name: Alert break-in.
Primary actor: Break-in detector. Other actors: Alarm system , Home Occupant.
Stakeholders: Home Occupant.
Description: This use case describes how a Break-in can be detected using the system.

Relationships
-Includes: None.
-Extends: Turn on alarm system.

Input: None.
Pre-conditions: -Break-in detector must be connected
- Alarm system must be connected.
Steps:
Break-in detector Smart home Alarm system Home Occupant
1. The use case will begin 1.1 Receive the alert.
when the break-in detector
sends an alert. 1.2 send a signal to the alarm system
to turn on.
1.2.1 receive the
1.3 Send a notification to the home signal.
via the application. 1.3.1 Receive
1.2.2 start alarm. notification
1.3.2 Select turn off
1.4.1 receive the option to stop
1.4 send a signal to the alarm system signal.
to turn off. alarming.
1.4.2 start alarm.

Alternative and exceptional flows:


A. If the home occupant didn't select turn off option at step 1.3.2
The alarm system will be stopped by default after 1 hour.
Post-conditions: - Alarm system must be turned on successfully.
- Notification must be sent successfully to the home occupant.
- Alarm system must be turned off.

15
Smart Home System

Table 4: View CCTV Recording.

User case Description

System: Smart Home


Use Case name: View CCTV Recording.
Primary actor: Home occupant. Other actors: CCTV camera.
Stockholders: Home occupant.
Description: This use case describes how the home occupant can view CCTV camera recording using the
application.
Relationship:
- Include: None.
- Extend: None.

Input: None.

Pre-conditions: - CCTV camera must be connected to the system.


- Home occupant must be signed in.
Steps:
Home occupant Smart home Smart CCTV Camera

1.Home occupant select “view 1.1 display all available CCTV cameras.
available CCTV cameras” option.

2. Select the desired CCTV camera. 2.1 Display CCTV camera page.

3. Select “view live recording”
option. 3.1 send a signal to the CCTV camera to 3.1.1 receives the signal.
start streamlining live recording.
3.1.2 start streamlining live
3.2 display the live recording to home recording to the system.
occupant via the application.

Alternative and exceptional flows: None.


Post-conditions: live recording of the desired CCTV camera must be displayed successfully.
16
Smart Home System

Table 5: Adjust temperature.

Use case description


System: Smart home system.
Use case name: Adjust temperature.
Primary actors: Home Occupant Other actors: Thermostat.
Stakeholders: Home Occupant.
Description: This use case describes how the home Occupant can adjust the temperature using the system.

Relationship:
Includes: none.
Extended by: check temperature, monitor temperature and humidity, check room occupancy.

Input: voice command.

Pre-conditions: Thermostat must be connected.

Steps:

Home Occupant Smart home Thermostat

1.Request adjusting the 1.1 Receive the voice command. 1.3.1 Receive the request.
temperature by specifying the
degree via voice command. 1.2 Convert the command into a 1.3.2 adjust temperature to the
programmatic request. requested degree.

1.3 Send the request to the 1.3.3 send a confirmation signal to
thermostat. the system.

1.4 confirm “temperature degree
has been adjusted” via system
voice.
Alternatives and exceptional flows:
A1. Adjusting temperature using the application.
A1.1 Home occupant select “view thermostat” option displayed in home page.
A 1.2 system displays thermostat page.
A2.1 user adjust temperature by adding or subtracting to the desired degree using the control icons displayed.

Post-conditions: Temperature must be adjusted to the desired degree successfully.

17
Smart Home System

5. System Boundary Diagram

Figure2: System Boundary Diagram

18
Smart Home System

6. Reference
[1] Shen, J., Wang, C., Li, T., Chen, X., Huang, X. and Zhan, Z. (2018). Secure data uploading
scheme for a smart home system. Information Sciences, 453, pp.186-197.

[2] M. Rouse, "Definition CCTV (closed circuit television)," April 2012. [Online]. Available:
https://whatis.techtarget.com.

[3] Collinsdictionary.com. (2019). Definition of Smart Device | New Word Suggestion | Collins
Dictionary. [online] Available at:
https://www.collinsdictionary.com/submission/11527/Smart+Device [Accessed 3 Mar. 2019].

19

You might also like