View
215
Download
1
Tags:
Embed Size (px)
Citation preview
Team: Maya Zalcberg Diana Attar
Levona Hershtik
Academic advisor: Prof. Ehud Gudes
ADD PresentationADD Presentation
System RequirementsSystem RequirementsSystem Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
• Network Identification
• Storage Initialization
• Network Units Identification
• System Initialization
• Profiles Definition
• Schedules Definition
• Users Definition
• Control Center
• Graphical View
- Video profile- Picture profile- Recording profile- Admin- Viewer- Guest
System ArchitectureSystem Architecture
ךלחיךחלי•
Network 1
EncoderEncoder
CameraCamera
Switch
Archiver DirectoryEDBClient
The new application
Network 2
EncoderEncoder
CameraCamera
Switch
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
System Architecture System Architecture (cont’d)(cont’d)
• Archiver: a server component in charged of the Discovery process, archiving video and managing edge units .
• Directory: one of the control components. In charge of managing access to the various applications, maintaining a repository of all system settings and simplifying database structure.
• EDB: Event Distributor, is used as an interface for passing events and actions between different components, as well as between the system and external devices and programs.
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
System Architecture System Architecture (cont’d)(cont’d)
On the client side
The new application interfaces to database of typeSQL Server 2003, which holds the entire systems’data
• There is no need for installing external software
• The clients’ only requirement is to have CPU power of Pentium 4
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
Main ClassesMain ClassesSystem Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
Presentation Layer
Application Layer
Data Layer
Main Classes Main Classes (cont’d)(cont’d)
GUI
• This module represents a graphical user interface,
through which the user communicates with the system.
• This module contains all the different screens.
• This module “listens” to the user requests.
Once a user request is made, it is transferred to the
GUI Façade for handling it.
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
Main Classes Main Classes (cont’d)(cont’d)Physical Package• This module is in charge of the communication with
the operating system. For example: defining storage,
discovering networks and executing the ARP protocol.
• Additional responsibility: discovering the edge devices.
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
Logical Package• This module is in charge of the logical aspect of
the system.
• For example: creating new profiles, creating new
schedules, attaching schedules to units, etc’.
Main Classes Main Classes (cont’d)(cont’d)
User Management Package• Responsible for creating new user of a specific type and
adding new privilege to him.
• Also responsible for managing the authentication process.
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
Data Access Package
• This module is in charge of managing the access to :
- the DVTel SQL Server database.
- the general configuration file.
- the localization configuration file.
• This module also stores and uploads the system
definitions.
Main Classes Main Classes (cont’d)(cont’d)Physical Package
- PhysicalMngr: responsible of the systems’ physical
configuration.
- DVTelPhysicalFacade: responsible of the communication
between the DVTel system API and the physical package.
- OSFacade: responsible of the communication with the
operating system.
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List Logical Package
- SceneFactory: responsible of creating a suitable
scene for each port of the edge devices, selected by
the user and displaying video ..
- ScheduleMngr: responsible of managing the schedules’
operations.
- DVTelLogicalFacade: responsible of the communication
between the DVTel system API and the logical package.
Main Classes Main Classes (cont’d)(cont’d)System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List Data Access Package
User Management Package
- DBHandler: responsible of all communication with the
different databases of the system.
- DVTelUserMngFacade: responsible of the communication
between the DVTel system API and the user
management package.
- UserMngr: responsible of the different users scenarios
in the system.
Class DiagramClass Diagram
+LoginUser(in userName : string, in password : string) : bool+AddNewUser(in type : int, in userName : string, in password : string)
UserMngr
+CreateUserEntity() : IUserEntity+GetPrivilegeEntity(in privilegeID : int) : IPrivilegeEntity+AddUserEntity(in user : IUnitEntity)+LoginUser(in username : string, in password : string) : bool
DVTelUserMngFacade
+SetPremissable() : void+GetPremissable() : bool+AddPrivilege() : bool+LoadSystem() : bool
DBHandler
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
Class Diagram Class Diagram (cont’d)(cont’d)
+CreateNetworkEntity() : INetworkEntity+IsLoggerEntityExists() : bool+UpdateNetworksList()+CreateNewLoggerEntity()+ActivateDiscovery() : Vector<IUnitEntity>+UpdateUnitIP() : IUnitEntity+AttacheVideoInScene() : IVideoInSceneEntity
DVTelPhysicalFacade
+startNetworksIdentification() : vector<INetworkEntity>+getStorageDevicesInfo() : <unspecified>+initializeStorage()+getUnits() : vector<IUnitEntity>
PhysicalMngr
+GetNetworksProperties() : Vector<IPAddress[]>+GetStorageDevicesInformation() : <unspecified>+SendARP()
OSFacade
+AttacheScenesToUnits()+CreateController() : IController
SceneFactory
+CreateNewProfile()+GetProfilesList() : vector<IProfileEntity>+GetCoveragesList() : vector<ICoverageEntity>+CreateSchedule()+GetSchedulesList() : vector<IScheduleEntity>+AttacheSchedule()+IsScheduleLegal() : bool+CreateCoverage()+AttachDefaultSchedule()
ScheduleMngr+CreateRecordingProfileEntity() : IRecordingProfileEntity+CreatePictureProfileEntity() : IPictureProfileEntity+CreateVideoProfileEntity() : IVideoProfileEntity+GetProfilesList() : vector<IProfileEntity>+GetCoveragesList() : vector<ICoverageEntity>+CreatePictureScheduleEntity()+CreateRecordingScheduleEntity()+GetSchedulesList() : vector<ICoverageEntity>+AttacheSchedule()+CreateController() : IController+CreateCoverageEntity()+CreateLiveVideoQualitySchedule()
DVTelLogicalFacade
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
User
Type
TypePrivileges
PrivilegeID
Premissable
In order to avoid saving the same data in several different
places, we will use the DVTel database.
To represent new aspects of our system that does not exist
currently we will add the following tables to the database:
DB DB (tables description)(tables description)System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
- Users: this table describes the different user types. The
user type acts as a unique identifier.
Tables Description Tables Description (cont’d)(cont’d)
- Privileges: this table describes the different privileges
that exist in the system. Each privilege has a unique
identifier.
- Users-Privileges: this table describes for each user type
his set of authorized privileges in the system and his set
of denied privileges.
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
User InterfaceUser Interface
Main Screen
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
User InterfaceUser Interface
View Screen
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
User InterfaceUser Interface
Build New Profile Screen
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
User InterfaceUser Interface
Build New Schedule Screen
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
User InterfaceUser Interface
Attach Schedule Screen
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
User InterfaceUser Interface
Camera Details Screen
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
User InterfaceUser Interface
Add user Screen
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
TestingTestingCapacity
• We will check that the system does not allow to attach more than 32 edge units (as defined in the specification).
• We will check that the system still work properly with the maximal number of units attached to it.
Availability
• We will check that the system does not crush after an extended and consecutive run.
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
Testing Testing (cont’d)(cont’d)
Safety & Security
• We will try to login the system using an incorrect username/password.
• We will try to login the system as a Viewer and perform operation that we are not authorized to.
• We will try to login the system as a Guest and perform operation that we are not authorized to.
Data Integrity
• We will change the system definitions and check that these changes indeed took place.
• We will check the integrity and correctness of data stored in the database.
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
Task ListTask List
• Create and integrate the GUI.
• Creation of the different Schedule entities.
• Creation of the different Profile entities.
• Add ability to attach Schedule to a unit.
• Implementing the login process.
System Requirements
System Architecture
Main classes
Class Diagram
Tables Description
User Interface
Testing
Task List
• Add ability to present lists of existing entities