UML Design Documents v2.0 ()

advertisement
SysControls Initialization Sequence Diagram
Engine
Driver
Settings
Connection
getSettings
initialize
!= null
!= null
getConnection
getCamera
!= null
The above activation diagram outlines the object initialization calls for all of SysControls core
features. This initialization procedure is critical to the operation of the SysControls application as this
process determines vital system functions and status to ensure the application is configured and
optimized correctly to satisfy operational requirements.
SysControls SyServe Video Streaming Sequence Diagram
Socket
mediaStream
VideoCache
requestSocket()
true
createStream()
true
recieveStream()
ProcessCache()
true
true
The above sequence diagram outlines the protocol and handshaking between SyServe and
SysControls. This process is essential for ensuring sensitive data is not tampered with or the system or
the SECAM security system is not compromised. The process can be summarized into several key steps.
These steps are requesting a server socket to the database, creating and sending the stream and caching
the video stream temporarily to be optimized, compressed and stored into the SECAM SECURE
database.
SyServe Validation Protocol Sequence Diagram
SessionCrypt
MAC
Key
PresentMAC()
true
PresentKey()
SendSessionCrypt()
PresentSessionCrypt()
true
To ensure the integrity of the SECAM security system a process or protocol has been developed
to ensure validity of incoming connections. This protocol prevents systems spoofing identification,
pirating of a SECAM system and integrity of transmitted data. This protocol can be summarized into
three primary stages as seen in the sequence diagram. The system is first presented with the MAC
address of the computer which is crosschecked with the database. The requesting SysControls
application then sends the registered key of the installation and the server SyServe responds by sending
a session key for the current connection. The SysControls application then presents its session key every
time data is transmitted. It should be noted that SyServe automatically detects if communication is
coming from the correct IP address without handshaking with the localized SysControls application.
SysControls Class Diagram
Windows Process
secam
-currentEngine : object
-errorLog : object
-log : object
-initialize() : void
+exit() : int
+menu() : int
-getStatus() : int
-restart() : int
-error() : int
-run() : int
-getComputer() : int
api
1
1
-application
1
-application
1
-engine instance
+saveSettings() : int
+restart() : int
+startRecording() : int
+stopRecording() : int
+getErrors() : object
-api
connection
-connection
engine
-camera : object
-connection : object
-settings : object
-getCamera() : object
-getConnection() : object
-getSettings() : object
-setSettings() : int
1
1
-engine
-engine
1
1
settings
-engine
-settings
1
-driver
driver
-camera : object
+establishCamera() : void
+resetCamera() : object
+updateCamera() : object
+cameraEventOccured() : object
Camera Interface
-connectionString : string
-connection : object
-establishConnection() : void
-resetConnection() : object
-updateConnection() : object
1
-quality : int
-zoomLevel : int
-record : int
-startRecord : string
-endRecord : string
-sThreshold : int
-nightVision : int
-notifySecurity : int
-notifyOwner : int
-securityNumber : int
-ownerNumber : int
-ownerEmail : string
-motionCamputre : int
-enviornment : int
-settings() : object
Database Interface
Basic SECAM SECURE Database Entity Relation Diagram
Is
authenticated
currentuser
userid
user
Is
controlling
userid
firstname
lastname
computer
Has
image
userid
Has
video
computerid
Has
settings
ip
mac
image
videos
settings
imageid
userid
userid
userid
computerid
computerid
videoid
videoid
threshold
computerid
startdate
rstart
image
enddate
setimage
video
setvideo
quality
The above ER diagram portrays in generalize form the relations between entities in our SECAM Secure.
Camera Activation State Diagram
Record
Record Video for time(n)
Begin Recording
Record Interval Completed
Wait
Sub Exceed Threshold
Monitoring Sound
Wait for Recording
Sub Threshold was Exceeded
Threshold Exceeded
Done Recording
Begin Logging
Log Sound for time (n)
Continue Recording
The above state chart diagrams the state process of camera activation and detection of
intrusion.
Camera Activation State Diagram
Local Camera
Device
Local Computer
Windows Process
Camera Interface
SECAM SysControls
Database Interface
SysControls
WebControls
SECAM WebControls
System API
SECAM SyServe
Web Interface
SECAM
SECURE
Database
SECAM WebServe
Database API
SECAM
WebServer
The above diagram is an overview of all SECAM System assets and their association and
interaction.
WebControls Class Diagram
*
*
*
Database
1
Website
-post
ControllerAuthentication
*
-UI
-user : object
-key : object
-cookie : object
+Authenticate() : bool
-getSessionKey() : object
-getCookie() : object
-login() : void
*
1
*
*
SystemManagement
*
-servers : object
-databases : object
-users : object
-connections : object
+ServerStatus()
+DatabaseStatus()
+UserStatus()
+ConnectionStatus()
ControllerUser
-session : object
-devices : object
+initialize() : object
+UserHome() : object
+UserEditSettings()
+UserViewDevices()
+UserViewStream()
+UserControlDevice()
+logout()
1
ControllerAdministrator
1
-session : object
-users : object
+EditUsers() : object
+SystemStatus() : bool
+DeviceStatus() : bool
+logout() : bool
*
DeviceStatus
-devices
*
Database
*
ControllerOperations
*
*
*
User
1
1
-isAuthenticated : bool
-isAuthorized : bool
-Authorize : bool
+Authorize()
+ViewRegistration()
+EditRegistration()
+getComputerDetails()
+getDeviceDetails()
-currentUsers : object
-currentMedia : object
-currentDevices : object
-currentActivity : object
-currentSystemStatus : object
-dataLog : object
-mediaLog : object
-notificationLog : object
+getSyServe()
+setSyServe()
1
Device
Administrator
-isAdmin : bool
+adminKey() : object
+isAdmin() : bool
*
Devices
-devices : object
+getDevices()
+setDevices()
+modifyDevices()
1
*
-computerName : string
-macAddress : float
-domain : object
-deviceKey : string
-regKey : string
-deviceComponent : object
-settings : object
-schedule : object
-status : object
-media : object
-notifier : object
+getDevice()
+setDevice()
+()
*1
UserUtilities
-users
+SearchUsers()
+ModifyUsers()
+DeleteUsers()
+CreateUsers()
Class
Purpose
secam






application entry point
basic console UI
application initialization
data and error logging
computer identification
handles api calls
api


facilitates api calls
executes commands
from external layers
connection

establishes database
connections
re-establishes database
connections
updates database
connections
drives the SECAM
SysControls application
maintains status of
application
maintains settings and
current configuration of
the application
maintains camera
controls and
configuration
holds data and settings
instance of the
application


engine




settings

driver




holds camera api
commands
maintains security
camera
implements setting
changes to camera
sends control functions
Overview
The secam class provides a
entrance point for the
application. Creates a process,
generates logs, obtains
computer network identification,
holds the application instance
and handles basic api calls.
The api class is the layer used to
communicate with the SECAM
WebControls application
facilitating external command
execution.
The class connection is an
important component in system
security. The connection class is
charged with maintaining a
constant high speed connection
to the SECAM SECURE database.
The engine class is the primary
controller for all SysControls
systems. This class maintains and
ensures all components are
operational and properly
configured if the system is
updated.
The settings class holds all
current runtime settings of the
application. This instance object
is created at initialization time
and passed around the system to
initialize various components.
This instance is created from
accessing the SECAM SECURE
database at initialization time.
The driver class is the primary
class associated with managing
and maintaining the security
camera in an operational state.
Furthermore the class also
serves as a camera management
tool making camera api calls and

Class
to the camera
facilitates data transfer
Purpose
ControllerAuthentication

handles authentication
and validation
operations
ControllerAdministrator

handles UI request from
website interface
serves desired
information to an
Administrator
handles database
controls and queries


ControllerUser



ControllerOperations

SystemMangement



DeviceStatus



UserUtilities

handles UI request from
website interface
serves desired
information to user
handles database
controls and queries
handles a concurrent
intermediate request
handler from users and
SECAM SysControls
instances
retains all system
information
monitors system
connections
monitors database
status
monitors users status
facilitates modification
of registered system
devices
handles device related
requests and
modifications
provides a robust toolset
for the management of
registered users
facilitating video recording.
Overview
The ControllerAuthentication is
responsible for maintaining and
authenticating users to the
system.
The ControllerAdministrator
class is responsible for executing
and handling administrator level
web requests and administrator
level interface functions.
Specifically serving administrator
level requests for data and
modification.
The ControllerUser class is
responsible for executing and
handling user level web requests
and user level interface
functions. Specifically serving
user level requests for data and
modification.
The ControllerOperations class is
responsible for implementing
operations of all permissions
level. Handles internal security
measures and privacy settings.
The SystemMangement class is
responsible for monitoring and
maintaining system related
events and components.
The DeviceStatus class allows the
modification and monitoring of
registered devices connected to
SECAM systems.
The UserUtilities class provides
extensive searching,
modification, addition and
deletion of users from SECAM
systems.
User

is a composite class
created when a user logs
in or is requested by an
administrator
Administrator

Devices

Device

extends the User class
turning a User into an
Administrator with new
privileges
retains and facilitates
interaction with all
devices associated with
a User
stores all associated
device information
stores registry
information based on
association

The User class is a composite
class that contains all
information related to a
particular user including device
information.
The Administrator class extends
the User class turning a User into
an Administrator with extended
system privileges.
The Devices class facilitates and
retains all data and information
of all devices associated with a
user.
The Device class is retains all
device information including
registry, computer, settings and
verification data.
SECAM SysControls Generalized Class Diagram
windows
secam
1..1
1..n
1..1
1..1
1..n
1..1
internet
1..1
engine
connection
1..1
1..1
driver
camera
1..1
settings
api
SECAM WebControls Generalized Class Diagram
1..1
1..1
Website
1..n
1..1
SystemManagement
1..1
1..n
ControllerUser
ControllerAdminstrator
1..1
1..1
1..n
1..n
1..1
1..1
1..1
1..n
1..1
1..1
1..1
ControllerAuthentication
DeviceStatus
1..n
UserUtilities
Database
1..n
1..1
Administrator
0..1
1..n
User
1..1
1..1
Devices
0..1
1..n
Device
1..n
ControllerOperations
Download