UML Design Documents v1.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
Purpose
ControllerAuthentication

ControllerApplication


ControllerAdministrator



ControllerUser



ControllerOperations

Notifer


Media
to the camera
facilitates data transfer

facilitating video recording.
Overview
The ControllerAuthentication is
responsible for maintaining and
authenticating users to the
system.
The ControllerApplication class is
handles SECAM
responsible for handling SECAM
SysControls
SysControls requests. Specifically
communication
handling requests for saved
API layer for internet
settings or video streaming
based communication
requests.
handles UI request from The ControllerAdministrator
class is responsible for executing
website interface
and handling administrator level
serves desired
web requests and administrator
information to an
level interface functions.
Administrator
Specifically serving administrator
handles database
level requests for data and
controls and queries
modification.
handles UI request from The ControllerUser class is
responsible for executing and
website interface
handling user level web requests
serves desired
and user level interface
information to user
functions. Specifically serving
handles database
user level requests for data and
controls and queries
modification.
The ControllerOperations class is
handles a concurrent
responsible for implementing
intermediate request
operations of all permissions
handler from users and
level. Handles internal security
SECAM SysControls
measures and privacy settings.
instances
The Notifier class is responsible
handles multiple
for sending email, SMS and other
concurrent requests for
notification features. The class is
notifications
capable of generating formatted
holds notification
protocols and procedure notification to user specifications
and has intelligence to handle
information
error severity and appropriate
notification procedures.
The Media class is responsible
handles media display,
for all media, reading and writing
encryption,
watermarking, streaming operations associated with all
SECAM applications.
and other important
media related security
handles authentication
and validation
operations
measures.
Status


Schedule


Settings



handles concurrent
status updates for all
active SECAM systems
provides an efficient
means for polling
updates and propagating
system information
throughout all SECAM
systems
is responsible for
maintaining scheduling
information for SECAM
systems
handles scheduling calls
for specific data requests
handles setting
information for all of
SECAM’s systems
including facilitating
handles SysControls
settings
handles internal system
settings
The Status class is responsible
for maintaining and handling
internal status occurrences
across all SECAM applications.
The Schedule class is responsible
for handling and maintaining the
signalling of scheduled events, or
the current schedule for the all
SECAM applications.
The Settings class is responsible
for maintaining handling and
verify system settings.
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