Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
Object-Oriented Analysis & Design
Home Appliance Control System
(HACS)- Project Phase I
Dr. Lawrence Chung
CS6359.001: Object-Oriented Analysis & Design
University of Texas at Dallas
Submitted by:
Amrinder S Ganda
Arun Sridhar
Deepika Vaidyanathan
Hetal Madhani
Shakuntala Patri
Shruti Mehta
Vinaya Bolla
Website: http://utdallas.edu/~sxp072000/index.html
1
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
Table of Contents
1. INTRODUCTION ........................................................................................................................................... 5
1.1 PURPOSE ...................................................................................................................................................... 5
1.2 SCOPE .......................................................................................................................................................... 5
1.3 ASSUMPTIONS .............................................................................................................................................. 5
2. SYSTEM OVERVIEW ................................................................................................................................... 6
3. REQUIREMENTS SPECIFICATIONS........................................................................................................ 7
3.1 FUNCTIONAL REQUIREMENTS ...................................................................................................................... 7
3.2 NON FUNCTIONAL REQUIREMENTS.............................................................................................................. 8
4. USE CASES ..................................................................................................................................................... 9
4.1 USE CASE DIAGRAM .................................................................................................................................... 9
4.2 USE CASE TEMPLATE ..................................................................................................................................11
5. SEQUENCE DIAGRAM ...............................................................................................................................16
5.1 MANAGE APPLIANCE ..................................................................................................................................16
5.2 MANAGE REMOTE DEVICE .........................................................................................................................17
5.3 ACCESS SYSTEM .........................................................................................................................................18
5.4 SWITCH LIGHTS ON/OFF .............................................................................................................................19
5.5 SET LIGHT INTENSITY .................................................................................................................................20
5.6 ENABLE/DISABLE (HOME SECURITY SYSTEM) ...........................................................................................21
5.7 RESPOND TO BURGLAR ALERT ...................................................................................................................22
5.8 RESPOND TO FIRE ALERT ............................................................................................................................23
5.9 SEND ALERT TO USER AND POLICE ..............................................................................................................24
5.10 ON/OFF (TEMPERATURE CONTROLLER) ...................................................................................................25
5.11 SET TEMPERATURE ...................................................................................................................................26
6. CLASS DIAGRAM ...................................................................................................................................27
6.1 CRC CARDS................................................................................................................................................28
2
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
Table of Figures
Figure 1 Interaction of Base Station with Remote Device and Appliances .............................. 6
Figure 2 Main Use Case Diagram ............................................................................................ 9
Figure 3 Detailed Use Case Diagram...................................................................................... 10
Figure 4 Sequence Diagram for Manage Appliance ............................................................... 16
Figure 5 Sequence diagram for Manage Remote Device ...................................................... 17
Figure 6 Sequence diagram for Access System ...................................................................... 18
Figure 7 Sequence diagram for Switch Lights On/Off ........................................................... 19
Figure 8 Sequence diagram for Set Light Intensity ................................................................ 20
Figure 9 Sequence diagram for Enable/Disable HACS .......................................................... 21
Figure 10 Sequence diagram for Respond to Burglar Alert ................................................... 22
Figure 11 Sequence diagram for Respond to Fire Alert ......................................................... 23
Figure 12 Sequence diagram for Send alert to user and police............................................... 24
Figure 13 Sequence diagram for On/Off (Temperature Controller) ....................................... 25
Figure 14 Sequence diagram for Set temperature ................................................................... 26
Figure 15 Class Diagram ........................................................................................................ 27
3
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
Revision History
Version Date Comments Author
Shruti
1.0 08/24/2007 Initial Project Plan
Hetal
Shakuntala
1.1 08/28/2007 Section 1 & 2
Vinaya
Deepika
1.2 08/28/2007 Section 3 & 4
1.3 08/29/2007 Section 5 Arun
1.4 09/06/2007 Updated Functional Requirements Amrinder
1.5 09/14/2007 Added Use Case Template Hetal
1.6 09/28/2007 Updated Non-Functional Requirements Amrinder
Review comments incorporated in Class Shakuntala
1.7 10/29/2007
Diagram Vinaya
Review comments incorporated in Use Case Shruti
1.8 10/05/2007
Diagram Hetal
1.9 10/11/2007 Added section for CRC cards Arun
2.0
10/11/2007 Added Sequence Diagrams Deepika
(Baselined)
4
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
1. Introduction
1.1 Purpose
This document contains the complete design for the Home Appliance Control System
(HACS). It encompasses all the main UML diagrams such as Use Case Diagrams, Sequence
and Collaboration Diagrams, Class Diagrams,in carrying out an analysis and design of a
home appliance control system (HACS).
Purpose of HACS is to enables the users to remotely control home appliances using wireless
devices. HACS helps the user save time and ensures security.
1.2 Scope
This project will focus on three types of home appliances—Temperature control system,
Lights and the Home Security system.
1.3 Assumptions
The project is constrained by the following assumptions:
User can operate computer, WAP enabled mobile phone, or a PDA.
Servers are always on.
Communication Link.
Appliances are assumed to be on and in working condition.
5
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
2. System Overview
Figure 1 Interaction of Base Station with Remote Device and Appliances
Interaction with HACS
The user can interact through any input device such as the Cell phone etc. It allows the user
to enter the user name and password. The system then transfers the details to the Base station
and the Base station allows or denies the user according to the information provided. After
Authentication, the user is allowed to access the system and perform the desired operations.
System Design
HACS is a system which is controlled by a remote system such as a cell phone, and controls
home appliances. In case of emergency such as fire, the concerned Department and the user
should be notified.
6
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
3. Requirements Specifications
3.1 Functional Requirements
Temperature Control System Requirements
The system should detect the current temperature of the house
The system should activate the air-conditioning unit or the heating unit of the
temperature control device in order to achieve the desired temperature
The system should stop the temperature control function once the desired
temperature is reached in order to avoid electricity wastage
The system should resume the heating/cooling function in order to maintain the
desired temperature
The system should have a provision where the user can change the desired
temperature
The system should stop the temperature control function when the user shuts
down the function either manually or remotely
Home Security System Requirements
The system should have a provision where the user can enable or disable the
security system.
The security system should detect the fire and intrusion.
The system should start the water sprinkler when fire is detected.
The system should send an alert to the user when fire or bugler is detected.
The system should send an alert to 911 when user doesn’t respond to the alert sent
by the system.
Lights Requirements
The system should have a provision where the user can select the indoor or
outdoor lights and location of the lights.
The system should allow the user to change the intensity of the lights.
The system should allow the user to switch on or off the lights.
7
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
3.2 Non Functional Requirements
Usability
Simple to Operate: The software should be easy to learn and operate; the user
should not require special skills or training to operate the HACS.
Simple design: The system should be designed in such a way that the User will
find it easy to interact with the system.
User awareness: User manual and in-built help file will be provided for the user.
Reliability
The system should be up and running 24/7 365 days and should be crash safe
during 95% of its runtime.
Recovery Period: In case of a failure that leads to a system outage, the time to
bring back the system should not be more than 1 hour.
Performance
Short response time: The application should not take more than 3 seconds to load
onto the Remote Device. Navigation between screens should also take the same
time.
Population Support: The application should be able to support 10 concurrent users
without any performance degradation.
Supportability
Advanced technologies: As technology is changing so fast, the system should be
forward compatible with new technologies that may control devices remotely,
which will be faster and reliable than the ones present now.
Scalability
The system designed will be optimum for 10 users, and 3 appliances.
The system should be able to scale up to 25 concurrent users and 10 appliances (if
there is a need in the future) by installing additional hardware components with
no degradation in the performance of the system.
8
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
4. Use Cases
Use case diagrams are intended to model the functional requirements of the system. It shows
a set of use cases, actors and their relationships.
4.1 Use case Diagram
Main Use case diagram for HACS system is shown as-
Figure 2 Main Use Case Diagram
9
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
The detailed use-case diagram for Operate Appliance use case is as shown-
Figure 3 Detailed Use Case Diagram
10
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
4.2 Use case Template
Use Case 1.Manage Appliances
Created – 09/10/07
Description This use case is for the initial set up of the system. It is used to
configure the base station as per the appliances that are a part of it.
Actors Admin, Appliance
Assumptions 1. Only the Admin is authorized to add new appliances or
remove existing appliances from the system.
2. The Base Station will identify and connect to the added
appliances correctly.
Steps 1. The Admin logs into the system.
2. The system checks if the user is authorized to use this
option.
3. The Admin then adds/removes appliances that can be part of
the system.
4. The base station sets up the newly added appliance or shuts
down the appliance that is removed from the system.
5. When the appliance is successfully added or removed the
base station gets a message.
6. The base station sends the status of the added/removed
appliance to the Admin.
Use Case 2. Manage Remote Device
Created – 09/10/07
Description This use case is used to add or remove the different mobile devices
that can communicate with the base station remotely inorder to
access the functionalities of the system.
Actors Admin, Remote Device
Assumptions 1. The Admin needs to add all the mobile numbers which can
access the base station remotely.
2. All commands from the Remote Device to the appliances
are routed via the base station.
3. The Base Station will identify and connect to the added
Remote Devices correctly.
Steps 1. The Admin logs into the system.
2. The system checks if the user is authorized to use this
option.
3. The Admin then adds/removes a remote device that can be
used to access the system.
4. The base station activates the newly added remote device or
deactivates the remote device that is removed from the
system.
5. When the remote device is successfully added or removed
11
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
the base station gets a message.
6. The base station sends a confirmation to the Admin about
the above actions.
Use Case 3.Access System
Created – 09/10/07
Description This use case is used to authenticate the user before providing
access to the system.
Actors Owner, Remote Device
Assumptions 1. Whenever a new Remote Device is added to the system the
user of the device will be given a password to access the
system from the device.
2. When a remote device is removed from the system the
password assigned to it will be invalid.
3. Every Remote Device has a unique password.
Steps 1. The user enters the password assigned on its Remote
Device.
2. The Remote Device transmits the password to the base
station.
3. The base station verifies the password.
4. The base station authenticates the remote device.
5. The remote device displays a successful login message.
Use Case 4.1 Switch Lights On/Off
Created – 09/10/07
Description This use case enables the user to switch on/off the indoor and
outdoor lights which are a part of the system from a Remote
Device.
Actors Owner, Light Controller
Assumptions 1. The user is authenticated.
Steps 1. The user selects the Lights system.
2. The status of the lights that are a part of the system is
displayed.
3. The user views the status of the system.
4. The user selects the turn on/off action.
5. The remote device sends this message to the base station.
6. The base station changes the state of the lights.
7. The lights update their status.
8. The lights send their status to the base stations.
Use Case 4.2 Set Light Intensity
Created – 09/10/07
12
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
Description This use case enables the user to change the intensity of the indoor
and outdoor lights which are a part of the system from a Remote
Device.
Actors Owner, Light Controller
Assumptions 1. The user is authenticated.
2. The base station identifies the lights which offer this
functionality and sends a list of lights whose status can be
modified using this use case.
3. This use case is used when the lights are on.
Steps 1. The user selects the Lights system.
2. The status of the lights that are a part of the system is
displayed.
3. The user selects the set intensity option.
4. The user enters the desired intensity.
5. The remote device sends the desired intensity to the base
station.
6. The base station sets the intensity of the lights.
7. The lights send a message to the base station of its updated
status.
Use Case 4.3 Enable/Disable (Home Security System)
Created – 09/10/07
Description This use case enables the user to enable the fire/burglar alarm
system so that it sends an alert when there is a fire detected or a
burglary. This use case also enables to user to disable the
fire/burglar alarm system.
Actors Owner, Home Security System
Assumptions 1. The user is authenticated.
Steps 1. The user selects the Fire/Burglar Alarm System.
2. The status of the Fire/Burglar Alarm System (whether it is
enabled or disabled) is displayed. The user selects the
enable/disable option.
3. The remote device sends a message to the base station to
enable/disable (the option selected by the user) the
Fire/Burglar Alarm.
4. The base station enables/disables the Fire/Burglar Alarm.
5. The Fire/Burglar Alarm System sends a message to the
base station indicating its status(whether it is enabled or
disabled).
Use Case 4.4 Respond to Burglar Alert
Created – 09/10/07
13
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
Description This use case enables the Fire/Burglar alarm system to detect when
someone tries to break into the house and send an alert to the user
and 911.
Actors Owner, Home Security System
Assumptions 1. The user is authenticated.
2. The base station alerts the police only if the user does not
deactivate the alert within 30 seconds of receiving it
Steps 1. The Burglar Alarm System detects when someone tries to
break into the house.
2. It sends an alert signal to the Base Station.
3. The base station sends an alert to the owner.
4. The base station sends an alert to the police.
5. The alert status on the burglar system is updated on the base
station.
Use Case 4.5 Respond to Fire Alert
Created – 09/10/07
Description This use case enables the Fire/Burglar alarm system to detect when
there is smoke in the house and ring a siren for fire alert.
Actors Owner, Home Security System
Assumptions 1. The user is authenticated.
Steps 1. The Fire Alarm System detects when too much smoke
accumulates in the house.
2. It sends an alert signal to the base station.
3. The base station starts the sprinkler.
4. The sprinkler starts and sends it status to the base station.
5. The base station sends an alert to the user.
6. The base station sends an alert to the police.
Use Case 4.6 Send alert to user and police
Created – 09/10/07
Description This use case is used to send an alert to the user on its remote device. It
It is also used to alert the police if the user does decline to call 911
within the timeout period.
Actors Actor, 911
Assumptions 1. The alert message is sent to all the remote devices that are a
part of the system.
Steps 1. When the Fire/Burglar alarm system detects a fire it signals
the base station.
2. The base station sends an alert to the remote device which is
received by the user.
3. The remote device provides an option to the user of calling
911.
4. If the user does not select this option within the timeout
14
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
period of 30 seconds the remote device sends a message to
the base station to alert 911.
5. The base station sends an alert to 911.
6. If the user declines the option of calling 911 the remote
device sends a decline message to the base station.
7. The base station disables the fire/burglar alarm system.
Use Case 4.7 On/Off (Temperature Controller)
Created – 09/10/07
Description This use case enables the user to switch on/off the Temperature controll
system.
Actors Owner, Temperature Controller
Assumptions 1. A temperature controller is attached to both a heater and
cooler, it can keep the room temperature constant under both
hot and cold conditions.
2. If the system is off the user is given only the on option and
vice versa.
Steps 1. The user selects the Temperature Control System.
2. The status of the Temperature Control System is displayed.
3. The user clicks on the available action on/off to be
performed.
4. The status of the Temperature Control System is changed.
5. The Temperature Control System sends a message indicating
its updated status to the base station.
Use Case 4.8 Set temperature
Created – 09/10/07
Description This use case enables the user to enter a desired temperature. The
Temperature Control System then adjusts the room temperature to get
the desired temperature.
Actors Owner, Temperature Controller
Assumptions 1. Inorder to maintain the set temperature, if the room
temperature falls, the heater is switched on and if the room
temperature rises, the cooler switches on.
Steps 1. The user selects the Temperature Control System.
2. The status of the Temperature Control System is displayed.
3. The user selects the set temperature option.
4. The user enters the desired temperature.
5. The Temperature Control System takes action to adjust the
room temperature according to the set temperature.
6. The Temperature Control System sends a message indicating
its updated status to the base station.
15
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
5. Sequence Diagram
A sequence diagram is an interaction diagram that emphasizes the time ordering of messages.
A sequence diagram shows a set of roles, the messages sent and received by the instances
playing the roles. You use sequence diagrams to illustrate the dynamic view of a system.
5.1 Manage Appliance
The sequence diagram for Manage Appliance is as shown –
Figure 4 Sequence Diagram for Manage Appliance
16
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
5.2 Manage Remote Device
The sequence diagram for Manage Remote Device is as shown –
Figure 5 Sequence diagram for Manage Remote Device
17
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
5.3 Access System
The sequence diagram for Access System is as shown –
Figure 6 Sequence diagram for Access System
18
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
5.4 Switch Lights On/Off
The sequence diagram for Switch Lights On/Off is as shown –
Figure 7 Sequence diagram for Switch Lights On/Off
19
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
5.5 Set Light Intensity
The sequence diagram for Set Light Intensity is as shown –
Figure 8 Sequence diagram for Set Light Intensity
20
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
5.6 Enable/Disable (Home Security System)
The sequence diagram for Enable/Disable (Home Security System) is as shown-
Figure 9 Sequence diagram for Enable/Disable HACS
21
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
5.7 Respond to Burglar Alert
The sequence diagram for Respond to Burglar Alert is as shown-
Figure 10 Sequence diagram for Respond to Burglar Alert
22
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
5.8 Respond to Fire Alert
The sequence diagram for Respond to Fire Alert is as shown-
Figure 11 Sequence diagram for Respond to Fire Alert
23
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
5.9 Send alert to user and police
The sequence diagram for Send alert to user and police is as shown-
Figure 12 Sequence diagram for Send alert to user and police
24
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
5.10 On/Off (Temperature Controller)
The sequence diagram for On/Off (Temperature Controller) is as shown –
Figure 13 Sequence diagram for On/Off (Temperature Controller)
25
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
5.11 Set temperature
The sequence diagram for Set temperature is as shown
Figure 14 Sequence diagram for Set temperature
26
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
6. Class Diagram
The class diagram that depicts the operation of HACS is as below.
Figure 15 Class Diagram
27
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
6.1 CRC Cards
Class Name : Owner
SuperClass : -------
SubClasses : Admin
Responsibilities: Collaborators:
Log into HACS BaseStation
Select home temperature Admin
Select Light Intensity
Enable or Disable Home Security
System
View Status of Appliances
Class Name : LightController
SuperClass : BaseStation
SubClasses : --------------
Responsibilities: Collaborators:
Send Status to base station BaseStation
Set to On or Off
Set to a particular Intensity
Class Name : HomeSecuritySystem
SuperClass : BaseStation
SubClasses : ------------
Responsibilities: Collaborators:
Enable/Disable Alarms BaseStation
Detect Fire
Detect Burglar
Send Status to BaseStation
Class Name : TemperatureController
SuperClass : BaseStation
SubClasses :
Responsibilities: Collaborators:
Turn On/Off Temperature BaseStation
28
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
Set Room Temperature
Send Status to Base Station
Class Name : BaseStation
SuperClass :
SubClasses : LightController, HomeSecuritySystem, TemperatureController
Responsibilities: Collaborators:
Verify Details Lights
Authenticates username/password Alarms
Set up/ Shut Down Appliances Temperature
Send Status to Admin or Remote Remote Device
Device
Add/ Remove Remote Devices
Enable/ Disable Alarms
Respond to Fire/ Intruder Alert
Turn Lights On/ Off
Set Light Intensity
Turn Temperature Control On/ Off
Set Room Temperature
Check Status of Appliances
periodically
Send Alert to Police/ Fire
Department
Class Name : Admin
SuperClass : Owner
SubClasses : -------
Responsibilities: Collaborators:
Add/remove Remote Devices BaseStation
Add/Remove Appliances Owner
Add/Remove Owner
Class Name : Remote Device
SuperClass : ------
SubClasses : ------
Responsibilities: Collaborators:
Displays Appliances and Options to BaseStation
operate each Appliance Owner
29
Scintillating Seven CS 6359.001 Fall2007
http://utdallas.edu/~sxp072000/index.html Home Appliance Control System
Receive and Display Status or Alert
Message
Sends Messages to Base Station to
perform Actions on Appliances
Runs Timer
30