Home Appliance Control System Presented by: Kelly Allison Kiran Kapinjal Nallamatla Pooja Mohan Uttama Shakya
Jan 01, 2016
Home Appliance Control System
Presented by:Kelly Allison
Kiran Kapinjal Nallamatla Pooja Mohan
Uttama Shakya
Topics for presentation:
What is HACS? Functional Requirements Non-Functional Requirements Prototype of initial HACS interface screens Use Case Diagram Sequence Diagram – Set Microwave Options Collaboration Diagram – Set Microwave Options
Topics ( contd…):
Class Diagram of HACS CRC Card for Microwave Activity Diagram – Configure Microwave System Component Diagram System Deployment Diagram Summary
What is HACS?
Home Appliance Control System accessed by a remote device such as mobile phone or a palm-top to allow a home owner to control, monitor and coordinate home appliances.
Functional Requirements The heart of the home network is the control system written using J2EE with container
maintained persistence (retains history for one month). The central control system (CCS) shall provide secure login to the system. Users are identified
with a username and password. It shall accept instructions locally or remotely and communicate those instructions to the
appropriate devices within the home. Devices / appliances within the network shall have the capability to communicate between
themselves as necessary and coordinate their process activity. It shall allow the user to activate and deactivate the system. It shall allow the system to start, stop and display current status without interfering with normal
operations of the devices. It shall allow the user to add or remove, modify the behavior of and view the status of devices. It shall control, monitor, and coordinate appliances as programmed. It shall be adaptable. Detects events that change the environment and respond. It shall encapsulate lower-level functions to allow algorithms to vary independently. It shall accept information from the appliances, decisions made and appropriate messages
generated based upon the decision (i.e. alarms, notify home owner, dial 911).
Non-Functional Requirements
Portability Reliability User friendliness Flexibility Performance Supportability
Use Case Diagram
Authenticate User
Home Owner
Perform Diagnostics
<<uses>>
Every use case has to use the authentication process
Technical Support for HACS
Configure Devices
<<uses>>Set Security System
<<uses>>
Set Microwave Options<<uses>>
Set AC Options
<<uses>>
View and Monitor Status of Devices
<<uses>>
Technical Support Configure Users
<<uses>>
Sequence Diagram – Set Microwave Options
: Home Owner
: Remote Access System
: HACS : Microwave
1: setMicrowaveOptions()
5: TurnOn/Off(status)
10: SetHeatingParameters(temperature, power, time)
2: setMicrowaveOptions()
6: TurnOn/Off(status)
11: SetHeatingParameters(temperature, power, time)
4: displayAvailableOptions()
9: Updated Status
14: Updated Status
7: TurnOn/Off(status)
12: SetHeatingParameters(temperature, power, time)
8: Updated Status
13: Updated Status
3: retriveAvailableOptions()
The user may choose to turn/off microwave or set heating parameters.
opt
[Opt = power]
opt
[Opt = Heat]
Collaboration Diagram – Set Microwave Options – turn on/off
: Home Owner
: Remote Access System
: HACS
: Microwave
1: setMicrowaveOptions() 2: setMicrowaveOptions()
3: retrieveAvailableOptions()
4: displayAvailableOptions()
5: turnOn/Off(status)6: turnOn/Off(status)
7: turnOn/Off(status)8: updated status
9: updated status
This diagram shows the scenario of turning on/off microwave.
Collaboration Diagram – Set Microwave Options - Set Heating Parameters
: Home Owner
: Remote Access System
: HACS
: Microwave
1: setMicrowaveOptions2: setMicrowaveOptions
3: retrieveAvailableOptions()
4: displayAvailableOptions()
5: setHeatingParameters(temperature, power, time)6: setHeatingParameters(temperature, power, time)
7: setHeatingParameters(temperature, power, time) 8: updated status
9: updated status
Class Diagram of HACS A class diagram describes the static structure of the
symbols in your new system. It is a graphic presentation of the static view that
shows a collection of declarative (static) model elements, such as classes, types, and their contents and relationships.
Classes are arranged in hierarchies sharing common structure and behavior, and are associated with other classes
MicrowavepowerSettingstimes
setHeatingParameter()turnOnOff()updateStatus()
Air ConditionertempSettingstimes
turnOnOffAC()adjustTemp()updateStatus()
Home Security SystemalarmSettingstimes
adjustFirealaramSettings()adjustSecurityOptions()updateStatus()
Home Ownerusernamepassword
Technicianusernamepassword
Remote Access SystemIP AddressuserInfoaccessDeviceType
submitUserInput()
ApplianceapplianceType
create()delete()
Authentication Processprivileges
authenticateUser()
HACSsessionKeydatetime
displaySystemInfo()addNewUser()login()logout()viewStatus()retrieveStatus()getAvailableOptions()displayAvailableOpitions()setACOptions()setMicrowaveOptions()setSecurityOptions()setFireAlarmOptions()displayExistingAppliances()configureAppliances()
11..*
11..*
1..*
1
1..*
1
1
1
1
1User
usernamepassword
createUser()deleteUser()
1
0..*
1
0..*
Remote Access can be from PDA, laptop, phone, etc.
CRC Cards
A CRC card is an index card that is use to represent the responsibilities of classes and the interaction between the classes.
The cards are created through scenarios, based on the system requirements, that model the conceptual view of the system.
CRC Cards: How do you create them? Find Classes Find Responsibilities Define Collaborators Move the cards around
CRC Card for Microwave
Microwave
Responsibilities CollaboratorsReport trouble Appliance
Accept user setting change requests
Perform diagnostic tests
Perform any schedule / script activities
Activity Diagram
An activity diagram typically represents the invocation of an operation, a step in a business process, or an entire business process.
Activity Diagram: Configure Microwave
Technician chooses to view status of faulty appliannce
This activity diagram is a general representation for changing appliance/user configuration including adding new appliance/(s), removing existing appliance/(s), enabling/disabling appliance/(s)
Receive Request from the Technician
Forwards Request to HACS
Displays Status
[Invalid Request]
Receives Request from RAS
Forwards the request to DB
Receive results from DB
Verifies if the appliance/user already exists
Request DB to update/add record
[Valid Request]
Received Updated status
Query the database
Forward the results to HACS
Update/Add Configuration record
Sends Update status
DatabaseHACSRemote Access SystemTechnician : User
Component Diagram
Remote User Device
WebPage.html
user.java
HACS system
control.exe
control.java
Appliance.java
Authentication.dll
dataOperation.java
DataBase
user interface provides user
storage for admininstrative functions
Physical data storage
Provides appliance storage along with command list
Core component of the system
Responsible for authentication of the user
Responsible for data manipulations
Deployment Diagram
HACS CONTROL SYSTEM
Remote UserDataBase
Microwave AC Security System
Any remote user device with internet access can access HACS system
Physical Data Storage
HACS server,where the software resides
Appliances
J2EE Basic Authentication
Initial screen prototype
Summary
HACS is your Home Local Network – It provides an interface to your
home appliances that is… Reliable Portable Friendly Flexible Performs well Supportable