Download presentation
Presentation is loading. Please wait.
Published byMagdalen McLaughlin Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.