Presentation is loading. Please wait.

Presentation is loading. Please wait.

Technician Table Editor Academic advisor : Professor Ehud Gudes Technical advisor : Menny Even Danan Team: Olga Peled Doron Avinoam Ira Zaitsev ADD Presentation.

Similar presentations


Presentation on theme: "Technician Table Editor Academic advisor : Professor Ehud Gudes Technical advisor : Menny Even Danan Team: Olga Peled Doron Avinoam Ira Zaitsev ADD Presentation."— Presentation transcript:

1 Technician Table Editor Academic advisor : Professor Ehud Gudes Technical advisor : Menny Even Danan Team: Olga Peled Doron Avinoam Ira Zaitsev ADD Presentation

2 Table of Contents  Introduction  System Requirements  System Architecture  Main Classes  User Interface  Algorithms  Open Questions  Task List

3 Previously…  Latitude 5.X is a platform which enable its users to manage cameras, sensors, microphones, relay motors etc’.  Industry presents today a large variety of IP cameras and IP video encoders and each device has different capabilities and properties.  DVTel stores all the cameras capabilities that can be managed through Latitude in XML files (so called “Technician tables” ).

4 The Problem Domain  Searching, editing or changing every XML file is carried out by hand and this process produces many bugs and requires a lot of maintenance.  Every manufacturer has its own XML file with information about the different models (kinds of cameras) that it produces.  Today the information of all the devices, mostly cameras, is encapsulated in XML files what is referred to as “Technician tables”.  Different models have many features in common and as a consequence the information is encapsulated in inheritance hierarchy in the XML files.

5 Solution Smart, semi-automatic editor to replace today’s method. Graphical User Interface which enables the user to view, edit and create new supported properties. Technical Tables validation module, that will recognize existing errors and will prevent from storing illegal data. Query engine that, in addition to handling queries, will enable comparison between models. Automatic table creator which enables the automatic creation of new tables by retrieving initial properties from the connected cameras.

6 Table of Contents  Introduction  System Requirements  System Architecture  Main Classes  User Interface  Algorithms  Open Questions  Task List

7 Graphical User Interface which enables the user to view, edit and create the metadata of each device in a user-friendly environment. Query engine which enables retrieving Information about cameras and comparing between different models. Automatic table creator which enables connecting to a unit, querying the unit for its capabilities and automatically creates and updates technician tables. Development of components only for the following vendors: Verint and Axis. The application should be prepared for future extensions. System Requirements

8 Table of Contents  Introduction  System Requirements  System Architecture  Main Classes  User Interface  Open Questions  Task List

9 Layers design pattern high cohesion connections inside packages low coupling connections between packages In order to be as abstractive as we can be, we will use the Layers design pattern that separates objects according to their role and restrict as much as possible the way that one object can reference to other in terms of high cohesion (connections inside packages) and low coupling (connections between packages). High Level Overview of the Architecture of the system

10 Presentation Layer: Presentation Layer: Graphical User Interfaces classes providing people access to the system. Business Layer: Business Layer: Controller (Processes) classes implementing business logic which involves collaborating with several domain classes and other controller classes. Domain Layer: Domain Layer: Software classes representing concepts pertinent to the business domain. Persistence Layer: Persistence Layer: Classes encapsulating the capability to store, retrieve, and delete objects permanently without revealing details of the underlying storage technology. Layers design pattern

11 Packages Level Overview of the Architecture of the system

12  Introduction  System Requirements  System Architecture  Main Classes  User Interface  Algorithms  Open Questions  Task List Table of Contents

13 Main Classes – Domain.Core

14 Main Classes – Domain.Latitude

15 Main Classes – Domain.Factory

16 Main Classes – Domain.Querying

17 Main Classes - Business Updates Domain when the Table has changed Updates Gui when Domain changes

18 Main Classes - Persistance

19 Main Classes - Presentation

20  Introduction  System Requirements  System Architecture  Main Classes  User Interface  Algorithms  Open Questions  Task List Table of Contents

21 Profile Editing View

22 Model Editing View

23 New Model Addition View

24 Simple Query View

25 Technician Tables Comparison View

26  Introduction  System Requirements  System Architecture  Main Classes  User Interface  Algorithms  Open Questions  Task List Table of Contents

27 Design Patterns

28 Solution: Strategy = IQuery, Context = AbstractExtendedType AlgorithmInterface () = IsTrue(AbstractExtendedType) Each query object implements the IQuery interface. IsTrue receives AbstractExtendedType as a parameter and uses it as query’s context. Examples: IsModelQuery, IsProfileQuery, CompositeQuery. Strategy Problem: Adjust Query module to constantly changing requirements.

29 Problem: Gui is very hard to test. Solution : Make the Gui as simple as possible (supports TDD). The Gui only knows to display what it gets. The UserInterfaceController reacts to domain events, and also handles the population of data in the Graphical User Interface widget itself. The Graphical User Interface form a passive view manipulated by the presenter (UserInterfaceController). It has no visibility to the Domain objects. The presenter is implemented using the Observer pattern – subscribing for events on TechnicianTableEditor. Humble Dialog box

30 Problem: What if XML files will be replaced with DB ? Abstract Factory Solution: Creation of objects of different families. Current implementation: XML family, which includes: TechnicianTableXMLValidator, TechnicianTableXMLReader, TechnicianTableXMLWriter.

31  Introduction  System Requirements  System Architecture  Main Classes  User Interface  Algorithms Open Questions  Open Questions  Task List Table of Contents

32 Open Questions 1. More requirements changes ? 2. Technical issues about connecting physically to the cameras?

33  Introduction  System Requirements  System Architecture  Main Classes  User Interface  Open Questions Task List  Task List Table of Contents

34 Tasks List

35

36


Download ppt "Technician Table Editor Academic advisor : Professor Ehud Gudes Technical advisor : Menny Even Danan Team: Olga Peled Doron Avinoam Ira Zaitsev ADD Presentation."

Similar presentations


Ads by Google