Safe Home System
Safe Home System
Safe Home System
<Sofia Rao>
Lead Software Engineer
Prepared for
WSU-TC CptS 322—Software Engineering Principles I
Instructor: Prof.Usman
Spring 2020
Revision History
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.
Sofia Rao Sofia Rao Instructor, Usman 31-5-2020
REVISION HISTORY................................................................................................................................................II
DOCUMENT APPROVAL........................................................................................................................................II
1. INTRODUCTION.....................................................................................................................................................1
1.1 PURPOSE...............................................................................................................................................................1
1.2 SCOPE...................................................................................................................................................................1
1.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS................................................................................................1
1.4 REFERENCES.........................................................................................................................................................1
1.5 OVERVIEW............................................................................................................................................................1
2. GENERAL DESCRIPTION....................................................................................................................................2
2.1 PRODUCT PERSPECTIVE........................................................................................................................................2
2.2 PRODUCT FUNCTIONS...........................................................................................................................................2
2.3 USER CHARACTERISTICS......................................................................................................................................2
2.4 GENERAL CONSTRAINTS.......................................................................................................................................2
2.5 ASSUMPTIONS AND DEPENDENCIES......................................................................................................................2
3. SPECIFIC REQUIREMENTS................................................................................................................................2
3.1 EXTERNAL INTERFACE REQUIREMENTS...............................................................................................................3
3.1.1 User Interfaces.............................................................................................................................................3
3.1.2 Hardware Interfaces....................................................................................................................................3
3.1.3 Software Interfaces......................................................................................................................................3
3.1.4 Communications Interfaces.........................................................................................................................3
3.2 FUNCTIONAL REQUIREMENTS...............................................................................................................................3
3.2.1 <Functional Requirement or Feature #1>..................................................................................................3
3.2.2 <Functional Requirement or Feature #2>..................................................................................................3
3.3 USE CASES............................................................................................................................................................3
3.3.1 Use Case #1.................................................................................................................................................3
3.3.2 Use Case #2.................................................................................................................................................3
3.4 CLASSES / OBJECTS..............................................................................................................................................3
3.4.1 <Class / Object #1>....................................................................................................................................3
3.4.2 <Class / Object #2>....................................................................................................................................3
3.5 NON-FUNCTIONAL REQUIREMENTS......................................................................................................................4
3.5.1 Performance.................................................................................................................................................4
3.5.2 Reliability.....................................................................................................................................................4
3.5.3 Availability...................................................................................................................................................4
3.5.4 Security........................................................................................................................................................4
3.5.5 Maintainability.............................................................................................................................................4
3.5.6 Portability....................................................................................................................................................4
3.6 INVERSE REQUIREMENTS......................................................................................................................................4
3.7 DESIGN CONSTRAINTS..........................................................................................................................................4
3.8 LOGICAL DATABASE REQUIREMENTS..................................................................................................................4
3.9 OTHER REQUIREMENTS........................................................................................................................................4
4. ANALYSIS MODELS..............................................................................................................................................4
4.1 SEQUENCE DIAGRAMS..........................................................................................................................................5
4.3 DATA FLOW DIAGRAMS (DFD)...........................................................................................................................5
4.2 STATE-TRANSITION DIAGRAMS (STD)................................................................................................................5
5. CHANGE MANAGEMENT PROCESS................................................................................................................5
A. APPENDICES..........................................................................................................................................................5
1.1 Purpose
This Software Requirements Specification (SRS) provides a description of all the
functions, specifications, external behaviors, design constraints, requirements (function
and non-functional) and other factors necessary to provide a complete and
comprehensive description of the proposed SHP.
Safehome is a system which combined with software and hardware for people who want to
sensing house with various sensors, surveillance with camera and control electronics, lights
easily. Safe home contains a Hardware with control panel and web control system. In this
SRS we will discuss security function, surveillance function and home management function
of Safehome.
1.2 Scope
In Safehome system there are 3 big functions security, surveillance and home management.
First in security function users can check invasion of outsiders, fire and water status check
with sensors. Second in surveillance function users can monitoring their house. Third in
management function, users can make floor plan, make mode for particular situation and
managing stand orders.
UC : User Case
CO : Carbon Monoxide
Climans, Renee, Elsa Marziali, Arlene Clonsky, and Lesley Patterson. "Computer
Interface Modifications for Training Elderly Users to Access the Internet." Bell
University Laboratories. 14 December 2004.
<http://bul.med.utoronto.ca/project4.html>.
2. General Description
The safe home project provide the safety of home to owner by connecting her mobile through
wifi. it sends fire alert and also provide facility to the user to control such things by mobile. The
user can turn on and off lights , music, stove and another things like that with his/her mobile
connecting via internet. This may can help the user to protect and provide facility.
Home surveillance function: By using camera, it is monitoring the specific area of house.
Homeowner can control camera such as zoom, tilt, pan, activating, deactivating etc. Through
thumbnail view and recording, they can improve their Surveillance. These functions are kinds of
home surveillance functions.
Home management function : By controlling lights, appliance, electric devices, home management function make home
owner can control outside of house. And also with this function
Control appliances
Control HVAC
Control lighting
Control video/audio equipment throughout house
Ability to set house for “vacation/travel mode” with one button sets(home management
function
overnight travel, extended travel, the system should turn light on and off random
intervals.(to make it look like someone inside)
Homeowner: Homeowner is main user of this system. So owner’s authority is very high.
He can manage all of things that System has.
Visitor: Visitor is person who sometimes visit house. So their authority is low. If
homeowner give some authority, they can use more function.
Every Sensor has a own threshold, do not manage threshold in Safehome service
If someone enters wrong id/PW at 5th times, login system is locked automatically.
All sensor and camera are deployed perfectly.
If concurrent requests from a control panel and web access happen, system stop the web
access and pop up that ask to user "Control panel is using now, So you can't use it. If you
want to stop control panel and use web access, Fill in owner's ID card number" is shown
to web-user . If web-user fill in owner's ID card number, control panel is stopped and
when access is accepted.
Service center must give the admin code to customer, admin code is very important to
make admin account. If customer lost admin code, customer must go to service center to
reissue the admin code.
In web access, if User’s motion is not detected during 30min, User is logged out
automatically.
3. Specific Requirements
This will be the largest and most important section of the SRS. The customer requirements will
be embodied within Section 2, but this section will give the D-requirements that are used to
guide the project’s software design, implementation, and testing.
Safehome web service`s User Interface will be intuitive. All functions names are write over the
button. Safehome web service`s UI Structure is look like below diagram. Special point is in
security function and surveillance function, when adding sensor or camera program jump to floor
plan screen and do same job as floor plan do.
Red LED(Armed) : In emergency situation red led will be on and alarm to homeowner
Off : If hardware is on, user can off hardware by click this button.
Zone : If click this button camera in security zone is on and start record and sensor is on.
Away : If click this button all sensor and camera is on and record data
Code : If click this button “Input mode number” dialog is appear and user input the
number of mode then saved mode setting(Vacation mode…..) is on
Functional Requirements
Software has different functional module that can be implemented.
Register/login
Check status
This option is available for user to check the status of things either status is on or off.
Perform Action
After checking status. The user can perform action what they want. If the user want to
turn on the light then it turn on by clicking.
Logout
Non-Functional Requirements
These are the non functional requirements of the system
24/7 available protection
Easy to use.
Simple design for better understanding.
Security
Maintainability
Reliability
Modification
\User Requirement
We provide user requirements as well.
Graphical interface
Home page
Signup page
Login page
Appliances list
Appliances description
Status
Exit
Admin side
(For login)
3.2.1.1 Login: This is very important function. From this function, The system
distinguish that user who entered ID/PW is correct owner. if you enter wrong ID/pw at 5 th times,
then user can’t login before accept of homeowner of message which is sent by system.
No. UC1
Use-case Login
Primary-actor Homeowner, administrator
Goal-in If Homeowner, administrator want to use safe-home software, check person
3.2.1.2 Create admin ID: administrator can do all of thing in Safe-home system. To use
the Safe-home, administrator must have account. So if administrator use this system for the first
time, Create admin ID.
No. UC2
Use-case Create admin ID
Primary-actor administrator
Goal-in
Make admin ID for using safe-home.
context
Precondition Administrator must have Admin key.
Trigger Administrator wants to use and set safe-home software.
1. Access the safe-home web page.
2. Click Create Account button.
3. Click Admin button.
4. Fill in the basic information.
Scenario 5. Click create button.
6. Then floor plan page is shown
7. You make your house blueprint.
8. After making floor plan, click Finish button.
9. Then Pop-up about success of Create ID is shown to you
3.2.1.3 Create Homeowner ID: To use the safe-home, Homeowner must have account.
So if Homeowner use this system for the first time, Create ID.
No. UC3
Use-case Create Homeowner ID
Primary-actor Homeowner
Goal-in
Make ID for using safe-home.
context
Precondition Homeowner want to create ID.
Trigger Homeowner wants to use safe-home software.
1. Access the safe-home web page.
2. Click Create Account button.
Scenario 3. Click Homeowner button.
4. Fill in the basic information.
5. Click create button.
Exception 1. If new ID is already existed, reject create ID and Notice about that.
Priority highest
1. How many account is allowed to make for using service.
Open issue 2. Should we make a Priority of authority among accounts.
3. Should we make the constraint about Password to prevent hacking.
UI1,UI31,UI3
Connected UI 3 Swimlane Diagram
No. UC4
Use-case Change administrator information
Primary-actor Homeowner
Goal-in
Change administrator information.(password, Question etc).
context
Precondition Administrator must enter correct Id/Password.
Trigger Administrator wants to change information.
1. Administrator login safehome successfully.
2. When user-interface is shown, Click Administration menu.
3. Fill in password for security.
Scenario
4. Click Change Admin’s information.
5. Then change information.
6. Click “Save”.
Exception
Priority Highest
No. UC6
Use-case Search administrator ID
Primary-actor Administrator
Goal-in If administrator forget administrator’s ID, administrator can find ID through
context some questions.
Precondition Admin is existed in safe-home database.
Trigger Administrator forget Homeowner’s ID.
1. Access the safe-home web page.
Scenario
2. Click Forgot ID/PW? button(administrator must click ID part).
3.2.1.7 Search administrator’s PW: When administrator forgot PW, administrator can find
administrator’s PW by using this function. For Preventing from hacking, To find PW,
administrator must fill in administrator’s private information when administrator wrote down at
create ID
No. UC7
Use-case Search administrator PW
Primary-actor Administrator
Goal-in If administrator forget administrator’s PW, administrator can find PW through
context some questions.
Admin is existed in safe-home
Precondition database.
Trigger Administrator forget Homeowner’s ID.
1. Access the safe-home web page.
3.2.1.8 Search Homeowner’s PW: When Homeowner forgot PW, Homeowner can find
Homeowner’s PW by using this function. For Preventing from hacking, To find PW,
Homeowner must fill in Homeowner’s private information when Homeowner wrote down at
create ID
No. UC8
Use-case Search Homeowner’s PW
Primary-actor Homeowner
Goal-in If Homeowner forget Homeowner’s, Homeowner can find PW through some
context questions.
Precondition At least, one account is existed in safe-home database.
Trigger Homeowner forget Homeowner’s PW.
1. Access the safe-home web page.
2. Click Forgot ID/PW? Button(Homeowner must click PW part).
3. Fill the Homeowner’s information
Scenario
4. Click Enter.
Then Message is sent the PW to phone which is in the information
5. of
account.
Exception
Priority Highest
Open issue
· Homeowner: person of the master of the system. He is owner of house so He has all
authority.
· Floor plan: make the house blueprint by using some Icon such as wall, sensor, camera
etc. if this step is not completed, owner can’t use safe-home.
· Doggie angst sensor: It's for people who leave their pets home in apartments or condos or
houses that are close to one another. alarm mode that calls the owner on his or her cell
phone when some thing happens to their pet.
l Blueprint : 13,23,24,25,26,27,28
l CO : 5,7,15,16,26
l Doggie angst sensor : 7,18,49
l Electronics : 5,24,27,30
l HAVC : 5
l LED : 5,11
l Monitoring Zone :7,49
l Pan : 7,9,19,49
l Record : 6,7,8,9,11,15,20,21,22,23,49
l Smoke : 6,7,16
l Standing Orders 31,32,33,47
l Surveillance : 5,7,9,11,19
l Threshold : 8,9,16,17,49
l Thumbnail : 21,49
l Tilt ; 9,19,49
l User interface : 9,11,34
l Water level : 7,17
l Web-server : 12
l Wi-fi : 5,8
l Zoom : 20