26
Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

Team: Maya Zalcberg Diana Attar

Levona Hershtik

Academic advisor: Prof. Ehud Gudes

ADD PresentationADD Presentation

Page 2: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD 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

Page 3: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

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

Page 4: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

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

Page 5: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

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

Page 6: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

Main ClassesMain ClassesSystem Requirements

System Architecture

Main classes

Class Diagram

Tables Description

User Interface

Testing

Task List

Presentation Layer

Application Layer

Data Layer

Page 7: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

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

Page 8: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

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’.

Page 9: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

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.

Page 10: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

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.

Page 11: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

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.

Page 12: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

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

Page 13: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

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

Page 14: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

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

Page 15: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

- 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

Page 16: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

User InterfaceUser Interface

Main Screen

System Requirements

System Architecture

Main classes

Class Diagram

Tables Description

User Interface

Testing

Task List

Page 17: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

User InterfaceUser Interface

View Screen

System Requirements

System Architecture

Main classes

Class Diagram

Tables Description

User Interface

Testing

Task List

Page 18: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

User InterfaceUser Interface

Build New Profile Screen

System Requirements

System Architecture

Main classes

Class Diagram

Tables Description

User Interface

Testing

Task List

Page 19: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

User InterfaceUser Interface

Build New Schedule Screen

System Requirements

System Architecture

Main classes

Class Diagram

Tables Description

User Interface

Testing

Task List

Page 20: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

User InterfaceUser Interface

Attach Schedule Screen

System Requirements

System Architecture

Main classes

Class Diagram

Tables Description

User Interface

Testing

Task List

Page 21: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

User InterfaceUser Interface

Camera Details Screen

System Requirements

System Architecture

Main classes

Class Diagram

Tables Description

User Interface

Testing

Task List

Page 22: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

User InterfaceUser Interface

Add user Screen

System Requirements

System Architecture

Main classes

Class Diagram

Tables Description

User Interface

Testing

Task List

Page 23: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

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

Page 24: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

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

Page 25: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation

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

Page 26: Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation