Вы находитесь на странице: 1из 45

HOME APPLIANCE

CONTROL SYSTEM
Kunal Patel
Arun Immaneni
Saurabh Kapoor
Meghna Atluri
Akila Muthuveeraganapathy

Todays Topic on HACS

Introduction
System Design
User Interaction
Use Case Diagram
Sequence and Collaboration Diagram
Class Diagram

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.

How it happens

Why HACS ???


1.
2.
3.
4.
5.

Saves time
Save money (Long run)
Self Maintenance
When: you are in a traffic jam
Security
on the highway
What: You set microwave oven
Makes life easy
in a slow cooking mode

Slow cooking mode

Overview
of
HACS
System
Cellphone,
Laptop, PDA

Temp Controller

Microwave

Server or HACS
System

Database

Security System

Accessing It
Input device
User Interface Login, Initial Settings,
Operations, Logout

Interaction with HACS


The user can interact through any input device such as the
Laptop, Palmtop, Cell phone etc..
The user interface allows the user to enter or tell the user
name and password.
The user can also provide fingerprint or retinal scan for
authentication.
The system then transfers the details to the authentication
server and the authentication server allows or denies the
user according to the information provided.
After Authentication, the user is allowed access into the
system

System Design
HACS is a system which is controlled by a remote system
such as a cell phone, and controls home appliances such as
VCR
In case of emergency such as fire, the user or an
organization such as Fire Department should be notified.
Also, HACS should have a database of information about
the users and appliances.

Use Case Diagrams

Use Case Diagram - User

In case of f ire,user and


the Fire Department
are notif ied

FireDepartment
Options of the
HACS Sy stem

Alarm Alert
Database

User is an authenticated
user checked by HACS
while login process.

Operate Microwave
Manage Appliances

<<uses>>

CommonUser

Monitor Appliances

Operate Temperature
Controller

Operate Doors

HACS Appliance Controller


reports
Security System

Log Out

User

Administrator

Operate Garage Doors

<<uses>>

In case of a break-in,
the Police Department
& user are notif ied

Security Sy stem includes


all doors, windows and
garage door

Break Entry
Manage Accounts

Police
Department

Use Case Diagram - Primary User


Manage Account

Adminstrator
Manage Appliance

Monitor Appliance
Common User
Database

Login
User
Logout

Modify Account

Sequence & Collaboration


Diagrams

Sequence Diagram-Login

aUser : User

aUserInterface :
UserInterface

aLoginForm :
LoginForm
aDatabase :
Database

1: SelectLogin()
2: CreateForm()

3: login()
4: Query(username,password)
5: GetResult()
6: SetAccStatus()
7: DisplayResult()

T his case can be initiated by User or


Adminstrator

Collaboration Diagram - Login


1: SelectLogin()

aUserInterface :
UserInterface

aUser : User

3: login()

2: CreateForm()

6: SetAccStatus()
7: DisplayResult()

4: Query(username,password)
aLoginForm :
LoginForm

5: GetResult()

aDatabase :
Database

Sequence Diagram Logout


aUser : User
1: SelectLogout()

aUserInterface :
UserInterface

aLogoutForm :
LogoutForm

2: CreateForm()
3: Input()
4: SetAccStatus(username, "logout")
T his Use case can either be
ini tiated by User or Admi n

5: DisplayResult()

Collaboration Diagram Logout


aUser : User
1: SelectLogout()

3: Input()
aUserInterface :
UserInterface

4: SetAccStatus(username, "logout")
5: DisplayResult()

aLogoutForm :
LogoutForm

2: CreateForm()

Sequence Diagram - Manage


Account
aUserInterface :
UserInterface

aMaintainAccControl :
MaintainAccControl

anAccForm :
AccForm

anAdminstrator :
Adminstrator

aDatabase :
Database

1: SelectManageAcc
2: CreateControl

It wil l make a call to the


database fro
authentci ation

3: call Check Login

Operations of manage account


include Add Account, Remove
Account, Modi fy Account

4: [not login] Exit()


5: Create Form()
6: Select Operation
7: Input
8: Update D B (an Acc Form)
9: Get Result()
10: DisplayResult()
11: Continue or Exit

12: Continue or Exit


13: [Continue] repeat step 5

Collaboration Diagram - Manage


Account
10: DisplayResult()

6: Select Operation
7: Input
11: Continue or Exit

anAccForm :
AccForm

anAdminstrator :
Adminstrator
1: SelectManageAcc
8: Update D B (an Acc Form)
9: Get Result()

aUserInterface :
UserInterface
5: Create Form()
12: Continue or Exit

2: CreateControl
3: call Check Login
4: [not login] Exit()
13: [Continue] repeat step 5

aMaintainAccControl :
MaintainAccControl

aDatabase :
Database

Sequence Diagram - Modify


Account
aUserInterface :
UserInterface

aModifyAccControl :
ModifyAccControl

anModifyAccForm :
ModifyAccForm

aUser : User
1: SelectModifyAcc()
2: Create Control()

aDatabase :
Database

It will make a call to the


database fro
authentciation

3: Call Check Login()


4: [not login] Exit()
5: Create Form()
6: Input()
7: Update DB(an ModifyAccForm)
8: GetResult()
9: DisplayResult()

Collaboration Diagram Modify Account

3: Call Check Login()


4: [not login] Exit()

1: SelectModifyAcc()

2: Create Control()
aUserInterface :
UserInterface

aModifyAccControl :
ModifyAccControl

aUser : User

6: Input()
5: Create Form()
9: DisplayResult()

anModifyAccForm :
ModifyAccForm

7: Update DB(an ModifyAccForm)


8: GetResult()
aDatabase :
Database

Sequence Diagram - Manage


Appliance
aUser : User

aAppControl :
AppControl

aAppInterface :
AppInterface

aAppForm :
AppForm

aDatabase :
Database

1: SelectManageApp()
2: Create Control()
T he operations of managing this
appl iance i nclude AddAppli ance,
Remove Appliance and Modify
Appl iance

It wil l make a call to the


database fro
authentci ation

3: call Check Login()

4: [not Login] Exit()


5: Create Form()
6: SelectOperation()
7: Input()
8: Update()
9: GetResult()
10: DisplayResult()
11: Continue or Exit()
12: Continue or Exit()
This use case can be
ini tiated both User and
Adminstrator

13: [continue] repeat step 5

Collaboration Diagram - Manage


Appliance

3: call Check Login()


4: [not Login] Exit()
13: [continue] repeat step 5

1: SelectManageApp()

2: Create Control()
aAppInterface :
AppInterface

aAppControl :
AppControl

aUser : User

6: SelectOperation()
7: Input()
11: Continue or Exit()

5: Create Form()
12: Continue or Exit()

10: DisplayResult()
9: GetResult()
aDatabase :
Database

8: Update()

aAppForm :
AppForm

Microwave Oven

Sequence Diagram -Microwave Oven


User

HACS

Microwave

1: login

A u ser ca n ch e ck
th e statu s a n d
cha n ge th e
m o de,te mp ,ti me a t
a ny po i nt o f ti m e

2: acknowledge and display operations

3: select microwave
4: retrive available options

5: display available options

6: check status

7: show status

8: set mode(cook,warm,defrost)
9: update mode

10: set temperature


11: update temperature

12: set time


13: update time
tu rni ng off the
m i crowa ve oven ca n
b e d one an yti m e

14: turn off


15: turning off

Collaboration Diagram Microwave Oven


1: login
3: select microwave
6: check status
8: set mode(cook,warm,defrost)
10: set temperature
12: set time
14: turn off

4: retrive available options

User

HACS

2: acknowledge and display operations


5: display available options
7: show status

9: update mode
11: update temperature
13: update time
15: turning off

Microwave

Sequence Diagram Fire Alarm


:FireAlarm

:HACS

:Oven

The system maintains the


information about the users
phone number and Fire
Department's number.

1: detect fire

2: fire alert

3: call fire dept


The Fire Alarm is reset
once the situation is
under control.

4: call owner

5: switch off the oven

Collaboration Diagram Fire Alarm


3: call fire dept
4: call owner

1: detect fire

2: fire alert
:FireAlarm

:HACS

5: switch off the oven

:Oven

Security System

Sequence Diagram Security System ( Doors )


User is an
authenticated
user.

: HACS

: User

: Controller

check status()
checkStatus()
return results()

openDoor()
openDoor()
opens door()

closeDoor()
closeDoor()
closes door()

Collaboration Diagram Security System (Doors)


1: check status()
4: openDoor()
7: closeDoor()
: HACS

: User

3: return results()

6: opens door()
9: closes door()

: Controller

2: checkStatus()
5: openDoor()
8: closeDoor()

Sequence Diagram Motion Sensor


: MotionSensor

hacs : HACS
User is an
authenticated
user.

: User

select garage system

switchOnSensor()
switchSensorOn()
sensorOn
returnResults

switchOffSensor()
switchSensorOff()
sensorOff
returnResults

Collaboration Diagram Motion


sensor
1: select garage system
2: switchOnSensor()
6: switchOffSensor()
hacs :
HACS
: User

5: returnResults
9: returnResults
4: sensorOn
8: sensorOff

: MotionSensor

3: switchSensorOn()
7: switchSensorOff()

Sequence Diagram Garage Door


hacs : HACS

: User

: GarageDoor

User is an
authenticated User
select garage system

checkStatus()
checkStatus()
returnResults()

openGarage()
openGarage( )
lightOn()

closeGarage()
closeGarage( )
lightsOff()

: GarageLight

Collaboration Diagram Garage Door


1: select garage system
2: checkStatus()
5: openGarage()
8: closeGarage()
hacs : HACS

: User
User is an
authenticated User

4: returnResults()
3: checkStatus()
6: openGarage( )
9: closeGarage( )

: GarageDoor

: GarageLight

7: lightOn()
10: lightsOff()

Sequence Diagram Break Entry


:BreakEntryDetector

: DetectorHandling

: HouseBreakEntry

: BreakEntryNotice

: PoliceDepartment

: user

User is an
authenticated user

detectHouseBreakEntry()

Emergency ie Police
departments phone number
and users number are stored
in the devices
Once the situation is under
control, the detector is reset

createControl()
setEmergencyStatus()
createBreakNotice()
notify(Police Department)
notify(user)

Collaboration Diagram - BreakEntry


1: detectHouseBreakEntry()
:BreakEntryDetector

: DetectorHandling

2: createControl()
3: setEmergencyStatus()

: BreakEntryNotice

: HouseBreakEntry
4: createBreakNotice()

5: notify(Police Department)

: PoliceDepartment

6: notify(user)

: user

Temperature Control

Sequence Diagram Set Temperature


Control
HACS is the controller class which will
handle the UI events

oHACS : HACS
oUser : User

oTempratureController :
CTempratureController

1: IssueCommand ( T empratureDevi ce, setTemprature, desire_temp )

2: Command(SetTemprature, desire_temp)

3: SetTemprature(desire_temp)

Collaboration Diagram - Set


Temperature
1: IssueCommand ( TempratureDevice, setTemprature, desire_temp )
oUser : User

oHACS :
HACS

2: Command(SetTemprature, desire_temp)

3: SetTemprature(desire_temp)

oTempratureController :
CTempratureController

Collaboration Diagram Set Mode of


Temperature Controller
HACS is the controller class which will
handle the UI events

oHACS : HACS
oUser : User

oTempratureController :
CTempratureController

1: IssueCommand ( TempratureDevi ce, setMode, desire_temp )

2: Command(SetMode, iMode)

3: SetMode(iMode)

Collaboration Diagram - SetMode


oUser : User

1: IssueCommand ( TempratureDevice, setMode, desire_temp )

oHACS :
HACS

2: Command(SetMode, iMode)
3: SetMode(iMode)

oTempratureController :
CTempratureController

Class Diagrams

Class Diagram - HACS


System Admin
Authentication Process

(from HACS)
Username
Password

(from HACS)

User
Privileges

(from HACS)

DeleteUser()
CreateUser()

authenticateUser()

H.A.C.S
(from HACS)
name

CommonUser
Remote access can be
Mobile Phone,Com puter...

(from HACS)
username
password
1
*

login()
logout()
callCops()
selectAppliance()
callOwner()
callFireDept()
...()
1

Remote Access System


(from HACS)
Ipaddress
UserInfo
accessDeviceType

DoorController interfaces
with the door to perform the
desired operation

Appliance
applianceType

submitUserInput()

Controller

create()
delete()

operation : string
doorNumber : int
performOperation(operation, doorNumber)

GarageDoor

Temprature Controller
(from HACS)
temp
mode
setmode()
settemp()

Oven
(from HACS)
name
opname()

GarageLight

MotionSensor

lightState : boolean

sensorState : boolean

checkLightState()
turnLightOn()
turnLightOff()

checkSensorState()
switchSensorOn()
switchSensorOff()

Door

doorState : boolean
position : int

doorState : boolean
breakEntry : boolean
doorNumber : int

getDoorPosition()
openGarage()
closeGarage()
checkGarageState()

openDoor()
closeDoor()
checkdoorState()
checkBreakEntry()

Thank You
Any Questions???

Вам также может понравиться