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

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Copyright W. Howden1 Lecture 7: Functional and OO Design Descriptions.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
Team: Maya Zalcberg Diana Attar Levona Hershtik Academic advisor: Prof. Ehud Gudes ADD Presentation.
Two main requirements: 1. Implementation Inspection policies (scheduling algorithms) that will extand the current AutoSched software : Taking to account.
Supervised by Prof. LYU, Rung Tsong Michael Department of Computer Science & Engineering The Chinese University of Hong Kong Prepared by: Chan Pik Wah,
© 2005 Prentice Hall8-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Input Validation For Free Text Fields ADD Project Members: Hagar Offer & Ran Mor Academic Advisor: Dr Gera Weiss Technical Advisors: Raffi Lipkin & Nadav.
Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs.
11 3 / 12 CHAPTER Databases MIS105 Lec14 Irfan Ahmed Ilyas.
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Chapter 22 Object-Oriented Design
Design Patterns academy.zariba.com 1. Lecture Content 1.What are Design Patterns? 2.Creational 3.Structural 4.Behavioral 5.Architectural 6.Design Patterns.
Introduction to the course January 9, Points to Cover  What is GIS?  GIS and Geographic Information Science  Components of GIS Spatial data.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
MODEL VIEW CONTROLLER A Technical Seminar Report submitted to
The Design Discipline.
Systems Analysis and Design in a Changing World, Fifth Edition
Unit J: Creating a Database Microsoft Office Illustrated Fundamentals.
Valma Technical Aspects
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
MAHI Research Database Data Validation System Software Prototype Demonstration September 18, 2001
Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS.
Web-Enabled Decision Support Systems
Todd Snyder Development Team Lead Infragistics Experience Design Group.
COMP 410 & Sky.NET May 2 nd, What is COMP 410? Forming an independent company The customer The planning Learning teamwork.
Persistence Store Project Proposal.
Automatic Software Testing Tool for Computer Networks ADD Presentation Dudi Patimer Adi Shachar Yaniv Cohen
12 Systems Analysis and Design in a Changing World, Fifth Edition.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Chapter 9 Moving to Design
GoF Design Patterns (Ch. 26). GoF Design Patterns Adapter Factory Singleton Strategy Composite Façade Observer (Publish-Subscribe)
CHAPTER TEN AUTHORING.
Universal Data Access and OLE DB. Customer Requirements for Data Access Technologies High-Performance access to data Reliability Vendor Commitment Broad.
Aude Dufresne and Mohamed Rouatbi University of Montreal LICEF – CIRTA – MATI CANADA Learning Object Repositories Network (CRSNG) Ontologies, Applications.
ARCH-4: The Presentation Layer in the OpenEdge® Reference Architecture Frank Beusenberg Senior Technical Consultant.
Systems Analysis and Design in a Changing World, 3rd Edition
Andrew S. Budarevsky Adaptive Application Data Management Overview.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 12-5 Software Engineering Design Goals.
5 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
Chapter 38 Persistence Framework with Patterns 1CS6359 Fall 2011 John Cole.
GoF: Document Editor Example Rebecca Miller-Webster.
Efficient RDF Storage and Retrieval in Jena2 Written by: Kevin Wilkinson, Craig Sayers, Harumi Kuno, Dave Reynolds Presented by: Umer Fareed 파리드.
By N.Gopinath AP/CSE Cognos Impromptu. What is Impromptu? Impromptu is an interactive database reporting tool. It allows Power Users to query data without.
آرمان حسين‌زاده آذر  Access to data varies depending on the source of the data.  Access to persistent storage, such as to a database, varies greatly.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 31. Review Creational Design Patterns – Singleton Pattern – Builder Pattern.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Differences Training BAAN IVc-BaanERP 5.0c: Application Administration, Customization and Exchange BaanERP 5.0c Tools / Exchange.
ESRI Education User Conference – July 6-8, 2001 ESRI Education User Conference – July 6-8, 2001 Introducing ArcCatalog: Tools for Metadata and Data Management.
Object storage and object interoperability
Copyright © 2007, Oracle. All rights reserved. Using Document Management and Collaboration Appendix B.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Technician Table Editor Company: DVTel Academic advisor: Professor Ehud Gudes Technical advisor: Menny Even Danan Team: Olga Peled Doron Avinoam.
CompSci 280 S Introduction to Software Development
B.6 Roadmap 2013 – 2014 SDMX RI User Group Luxembourg, September 2013.
GoF Design Patterns (Ch. 26). GoF Design Patterns Adapter Factory Singleton Strategy Composite Façade Observer (Publish-Subscribe)
Chapter 13 Logical Architecture.
Component-Level Design
SDMX Reference Infrastructure Introduction
Layered Style Examples
Chapter 13 Logical Architecture.
GoF Design Patterns (Ch. 26)
Objects First with Java A Practical Introduction using BlueJ
Objects First with Java A Practical Introduction using BlueJ
SDMX IT Tools SDMX Registry
Presentation transcript:

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

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

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” ).

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.

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.

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

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

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

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

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

Packages Level Overview of the Architecture of the system

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

Main Classes – Domain.Core

Main Classes – Domain.Latitude

Main Classes – Domain.Factory

Main Classes – Domain.Querying

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

Main Classes - Persistance

Main Classes - Presentation

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

Profile Editing View

Model Editing View

New Model Addition View

Simple Query View

Technician Tables Comparison View

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

Design Patterns

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.

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

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.

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

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

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

Tasks List