Smart Home Automation Using Io T Srs
Smart Home Automation Using Io T Srs
Software Requirements
Specification
For
Version 1.6
Table of Contents
Table of Contents ………............................................................................................................. ii
Revision History........................................................................................................................... iii
1. Introduction ..............................................................................................................................1
1.1 Purpose .................................................................................................................................1
1.2 Document Conventions ........................................................................................................1
1.3 Intended Audience and Reading Suggestions ......................................................................1
1.4 Definitions, acronyms, abbreviations ..................................................................................1
1.5 Scope…………………………………………………………………………………… 3
2. Overall Description ..................................................................................................................3
2.1 Product Perspective ..............................................................................................................3
2.2 Product Features...................................................................................................................4
2.3 User Classes and Characteristics .........................................................................................4
2.4 Operating Environment ........................................................................................................5
2.5 Design and Implementation Constraints ..............................................................................5
2.6 Assumptions and Dependencies ..........................................................................................6
3. Specific Requirements .............................................................................................................7
3.1 Functional Requirement .......................................................................................................7
3.2 Requirements of the Smart Home Automation System…………………………………………..11
4. External Interface Requirements .........................................................................................13
4.1 User Interfaces ...................................................................................................................13
4.2 Hardware Interfaces ...........................................................................................................13
4.3 Software Interfaces ............................................................................................................13
5. Other Nonfunctional Requirements .....................................................................................13
5.1 Performance Requirements ................................................................................................13
5.2 Safety Requirements ..........................................................................................................14
5.3 Security Requirements .......................................................................................................14
6. Other Requirements ..............................................................................................................15
7. Designing……………………………………………..…………………………...………16-18
8.Testing……………………………………………………… ……………………………..19-20
Software Requirements Specification for <Smart Home Automation using IOT> - iii -
Revision History
NAME DATE VERSION
1.Introduction
1.1 Purpose
This document describes the software requirements and specification for a Smart Home Automation
using IOT.
1.2 Document Conventions: This Document was created based on the IEEE template for System
Requirement Specification Documents. font: TNR 12
The document is intended for all the stakeholders customer and the developer (designers, testers,
maintainers). The reader is assumed to have basic knowledge of banking accounts and account
services. Knowledge and understanding of UML diagrams is also required.
1.4.1 Definitions
Device
A physical object or appliance embedded with sensors, actuators, and communication capabilities
that enable it to interact with the Smart Home Automation System.
IOT Hub
The central component of the Smart Home Automation System responsible for aggregating data
from various devices, processing commands, and facilitating communication between devices. It
serves as the brain of the system.
User
An individual or entity that interacts with the Smart Home Automation System through a mobile
application, voice commands, or other user interfaces. Users have the authority to control and
monitor devices within the system.
Sensor
A device component responsible for detecting and measuring physical parameters such as
temperature, humidity, motion, or light. Sensors provide input to the system for decision-making.
Actuator
A device component capable of performing physical actions, such as turning on lights, locking
doors, or adjusting thermostats. Actuators execute commands received from the system or users.
Automation Rule
A predefined set of conditions and actions that dictate how the Smart Home Automation System
should respond to specific events or triggers. Automation rules enable the system to operate
autonomously based on user preferences.
Voice Assistant
An intelligent software agent capable of understanding and executing spoken commands. It
integrates with the Smart Home Automation System to enable voice control of devices and features.
Security System
A subsystem within the Smart Home Automation System focused on monitoring and controlling
security-related devices, such as cameras, door/window sensors, and alarms, to ensure the safety of
the home.
Energy Management
The functionality within the Smart Home Automation System that optimizes the use of energy
resources, including controlling smart thermostats, smart lighting, and other energy-consuming
devices.
Mobile Application
A software application installed on a user's smartphone or tablet, providing a graphical interface for
monitoring and controlling devices within the Smart Home Automation System.
1.4.2 Abbreviations
The smart home automation system employs IoT to seamlessly integrate diverse devices, enabling
user control through a mobile app or voice commands. Security is prioritized with authentication
and encrypted communication. Automation rules enhance convenience, optimizing energy usage
and facilitating remote accessibility. Integration with voice assistants improves user experience,
while over-the-air updates ensure system functionality and security. Resource monitoring maintains
device performance, and interoperability supports various manufacturers' devices. Robust privacy
measures safeguard user data, emphasizing a comprehensive, efficient, and secure IoT-based smart
home solution.
2. Overall Description
The Smart Home Automation system operates in conjunction with interconnected devices,
leveraging communication interfaces and user interfaces for seamless functionality.
Communication Interface: The smart home devices communicate through a network interface,
ensuring connectivity between devices, the central hub, and potentially external services or cloud
platforms.
Software Interface: Messages exchanged among devices and the central hub are tailored to specific
smart home software systems. The system supports interoperability with various manufacturers'
devices and adheres to common communication standards.
Hardware Interface: The software is designed to run on diverse hardware, supporting flexibility in
device choices and specifications within the smart home network.
User interfaces
User Interface for Residents: The resident's interface, often a mobile application, is designed to be
user-friendly and intuitive. The goal is to enable 99.9% of users, including new ones, to effortlessly
control and monitor devices, ensuring a seamless smart home experience.
Home Security Personnel: Personnel responsible for security features, such as cameras and alarms,
should have a straightforward interface to initialize or configure security settings. This could
involve a simple switch or button for easy interaction.
System Maintainer: System maintainers, responsible for adding new devices to the network and
servicing existing ones, should have tools allowing them to integrate a new device efficiently,
aiming for a setup time within one hour.
The Smart Home Automation system features continuous 24/7 operation, prioritizing user
accessibility and convenience. Users are authenticated through secure means, ensuring personalized
interactions. The system records comprehensive transaction information, including device
activations and settings changes. It communicates seamlessly with external services and
accommodates devices from various manufacturers, promoting interoperability. Robust security
measures, such as encryption and user authentication, safeguard user data and device controls.
Notably, the software adeptly manages concurrent accesses to the same smart home account,
allowing multiple users to interact simultaneously. These features collectively enhance the
reliability, security, and flexibility of the Smart Home Automation system.
In the Smart Home Automation system, various user classes exhibit distinct characteristics:
Residents: Residents comprise the general public and require no specialized training to use the
smart home system. The interface is designed to be intuitive, catering to users of all backgrounds.
Home Security Personnel: Security personnel within the home environment need not possess
special education or extensive experience. The system provides a straightforward interface, ensuring
ease of use for initializing or configuring security settings.
System Maintainers: Maintainers are experienced network administrators with the expertise to
connect new devices to the smart home network. Their role involves adding and servicing devices,
requiring a level of proficiency in network administration.
This user classification model ensures that the Smart Home Automation system is accessible to all
residents while allowing network administrators to efficiently manage and expand the system.
Windows 2000
Windows XP
Windows Vista
Windows 7
Windows 8
Windows 10
Mac OS X
Linux
• User Authentication:
Validate User Credentials: Ensure the accuracy of user-provided information for secure
access.
Account Lockout Policy: Implement measures to lock the account after a specified number
of unsuccessful login attempts.
• Device Security:
Validate Device Integrity: Ensure that only authorized and uncompromised devices can
access the smart home network.
Implement Device Authentication: Authenticate devices before granting access to the smart
home system.
• Privacy Measures:
Data Encryption: Implement encryption protocols to secure user data during communication
and storage.
User Authorization: Define and enforce user roles and permissions to restrict unauthorized
access to sensitive information.
• Error Handling:
Provide Clear Error Messages: Prompt user-friendly error messages in case of invalid inputs
or unauthorized access attempts.
• System Integrity:
Regular Updates: Ensure the system's software and firmware are regularly updated to
address security vulnerabilities.
These constraints ensure the secure and reliable operation of the Smart Home Automation
system, emphasizing user authentication, device security, privacy measures, error handling,
and system integrity.
Device Reliability: SMART -Ensures seamless operation, assuming smart home devices
operate reliably.
Security Measures: SECURE -Assumes impenetrable device casings, crucial for system
security.
Financial Limits: FUNDS -Assumes a daily withdrawal limit, requiring adequate financial
resources.
3. Specific Requirements
The functional requirements are divided into two sections: the first section outlines requirements for
the Smart Home Automation system, and the second section details requirements for the central
system.
The requirements for the Smart Home Automation System are organized into General requirements,
Authorization requirements, and Transaction requirements.
General Requirements:
1. Functional Requirement 1:
Processing: Initiate authorization process and receive message to keep the device.
Authorization:
1. Functional Requirement 1:
Input: Request from the central system to verify user credentials (User ID and password).
Output: Send the message "invalid user account" to the central system.
3. Functional Requirement 3:
Processing: Process the message. Update count for invalid password attempts.
Transaction:
7. Functional Requirement 7:
Output: If successful, send "transaction succeeded" to the central system; otherwise, send
"transaction failed."
8. Functional Requirement 8:
Output: If the amount exceeds the limit, the transaction will fail.
10. Functional Requirement 10:
Description: Ensure security for the central system and its software.
Input: N/A
Processing: Implement robust security measures for the central system and associated
software.
These functional requirements outline the essential operations and interactions within the
Smart Home Automation system, covering user authorization, transaction processing, and
security measures for the central system.
The user interface aims for maximum usability, ensuring an intuitive experience for residents. The
interface design focuses on user-friendly interactions to enable 99.9% of users, including those new
to smart home automation, to effortlessly control and monitor devices without assistance.
For the Smart Home Automation System: Integration with existing systems, communication
protocols (MQTT, CoAP), mobile app compatibility, voice assistant integration, and OTA firmware
updates.
Data Transfer Rate: High data transfer rate to support real-time communication and quick
response to user commands.
Secure Placement: Ensure physically secure storage, such as placing the system in a locked
cabinet.
Theft Prevention: Implement anti-theft measures, like bolting the system to the floor to
prevent unauthorized removal.
Access Control: Implement access control measures, such as a secure validation method on
the cabin door.
User Authentication: Ensure user authentication, allowing access only through a valid and
secure validation process.
Ensure emergency communication options for residents, both inside and outside the home.
Enforce robust user authentication, allowing access only through verified and authorized
methods.
Security.
Performance.
5.4.1 Availability: Ensure continuous system availability, allowing users to control and monitor
devices 24/7 without interruptions.
5.4.2 Security: Maximize security measures, including the prevention of unauthorized network
access to ensure the integrity and privacy of user data.
5.4.3 Maintainability: Restrict access to maintainers only for connecting new devices to the
network, ensuring controlled and authorized system expansions.
6. Other Requirements
7. DESIGN
LVL 0
LVL 1
7.2 UMLS
USE-CASE DIAGRAMS
CLASS DIAGRAM
ACTIVITY DIAGRAM
Sequence Diagram
8. TESTING
1.General
Test Case ID Test Scenario Test Case Pre- Test Steps Expected Result
Description condition
TC_GR_001 Initialize Initialize System is 1. Provide system Parameters are set
system system with powered on initialization and stored
parameters specified parameters successfully
parameters 2. Start system
initialization
TC_GR_002 Display initial No user System is 1. Do not provide any Initial interface is
interface detected initialized user input displayed
TC_GR_003 Display error Low system System is 1. Simulate low Error message is
for low resources running system resources displayed, and
resources corrective action
is taken
TC_AUTH_001 Validate user User attempts System is 1. Enter valid user Valid credentials:
credentials to log in running credentials Login successful
2. Enter invalid user Invalid
credentials credentials: Error
message displayed
TC_AUTH_002 Read device User logs in User is 1. Enter valid user Device
information successfully authenticated credentials information is
read, and
authorization
process is initiated
TC_AUTH_003 Log serial Device serial User is 1. Provide device Serial number is
number number is authenticated serial number logged, and log
available file is updated
TC_AUTH_004 Initiate User enters User is 1. Enter valid Valid password:
password password authenticated password 2. Enter Authorization
verification invalid password accepted Invalid
password:
Authorization
rejected
TC_AUTH_005 Handle Central system User is 1. Simulate a negative Error messages
negative sends a authenticated response from the are displayed, and
responses negative central system corrective action
response is taken
TC_AUTH_006 Finish Authorization is User is 1. Simulate a Transaction dialog
authorization successful authenticated successful is started
process authorization
response from the
central system
TC_AUTH_007 Keep device User enters System is 1. Enter incorrect Error message is
for multiple incorrect running credentials multiple displayed,
incorrect credentials times corrective action
attempts multiple times is taken, and
Downloaded by Yuvraj Yadav ([email protected])
device is kept
lOMoARcPSD|52275248
2. Transaction
Test Case ID Test Test Case Pre-condition Test Steps Expected Result
Scenario Description
TC_TRANS_001 Offer User User is 1. Enter withdrawal Valid amount: Display
withdrawal attempts authenticated and amount 2. Enter an amount to be dispensed
transactions to authorized amount beyond Amount beyond limits:
withdraw transaction limits Error message displayed
money
TC_TRANS_002 Handle User User is 1. Enter withdrawal Amount within policy:
initial enters authenticated and amount within policy Transaction initiated
withdrawal withdrawal authorized 2. Enter withdrawal Amount outside policy:
sequence amount amount outside Transaction dialog re-
policy initiated
TC_TRANS_003 Perform the Initial User is 1. Initiate withdrawal Transaction request is
transaction withdrawal authenticated and transaction sent to the central
sequence authorized, system, and the system
is withdrawal waits for a response
successful amount is valid
TC_TRANS_004 Dispense Central User is 1. Simulate a Money is dispensed,
money for system authenticated and successful transaction receipt is printed, system
successful approves authorized, response from the parameters are updated,
transaction the withdrawal central system and device is ejected
transaction transaction is
successful
TC_TRANS_005 Log Money is User is 1. Dispense money to Dispensed amount is
dispensed dispensed authenticated and the user logged against device
amount to the user authorized, information, and a
withdrawal response is sent to the
transaction is central system
successful
TC_TRANS_006 Display Central User is 1. Simulate an Error message is
error for system authenticated and unsuccessful displayed, and device is
unsuccessful rejects the authorized, transaction response ejected
transaction transaction withdrawal from the central
transaction is system
unsuccessful
3.Authoriation
Test Case ID Test Scenario Test Case Pre-condition Test Steps Expected Result
Description
TC_AUTH_101 Verify user Central User enters 1. Enter valid user Valid credentials: User
account system credentials credentials 2. Enter account is valid Invalid
validity requests invalid user credentials: User
user credentials account is invalid
account
verification
TC_AUTH_102 Handle User User enters 1. Simulate an "Invalid user account"
invalid user account is invalid invalid user message is sent to the
accounts invalid credentials account scenario central system
TC_AUTH_103 Validate user Central User enters 1. Enter valid Valid password:
password system password password 2. Enter Password is valid
requests invalid password Invalid password:
password Password is invalid
verification
TC_AUTH_104 Handle User User enters 1. Simulate an "Invalid password"
invalid enters invalid invalid password message is sent to the
passwords invalid password scenario 2. Enter central system Invalid
password invalid password password attempt
multiple times count is updated
TC_AUTH_105 Check for User User is 1. Simulate "Account issues"
account- account authenticated account-related message is sent to the
related and issues scenario central system
issues password
are valid
TC_AUTH_106 Confirm User User is 1. Simulate a "Authorization
successful account, authenticated successful successful" message is
authorization password, authorization sent to the central
and scenario system
account
status are
valid