MZA
Dispatcher Communication System Supply for MZA Sp. z o.o.Details
- Scope Product Workshops and development of Dispatcher Communication System Supply.
- Timeframes September 2020 – April 2021
- Innovation Load Balancer with floating IP mechanism, database clustering with replication mechanism and more
- Technologies C#, JavaScript, Python, .NET Core, ASP.NET, ReactJS
- Business sector Public transportation
- Model of collaboration After our Client decided to take the offer, the agreement was signed along with declared total remuneration and defined realisation date. Then, we started working on the Dispatcher Communication System.
- iteo team 1 business analyst
1 UX designer
1 UI designer
1 PM
6 backend developers
3 frontend developers
1 tester
Timeline
UX/UI project of a dispatcher console Integration and two-way DCS connection
Integration with DMR TIER III radio
Test operation, acceptance of the entire system
Intro
DESK System is iteo’s original solution, modified according to the client’s needs.
It enabled us to create the Dispatcher Communication System, a key IT-telecom used by Miejskie Zakłady Autobusowe (Public Transport Authority) in Warsaw.
Project has started by winning public proceedings (73/PN/AB/20) announced in August 2020 by MZA, a municipal entity in the ZTM group belonging to the City of Warsaw.
MZA Sp. z o. o. in Warsaw is:
The biggest city carrier in Poland
One of the biggest carriers in Europe
Leader in innovative, ecological public transport
A fleet of 1442 buses operating 187 regular, accelerated, express and night lines
Around half billion passengers in Warsaw and metropolitan agglomeration towns annually
Business needs & goals
Project’s main goals:
Integration of voice, radio and SMS channels used by MZA dispatching services on one panel operated by a dispatcher. The panel is supposed to become a fundamental communication tool for making and receiving phone and radio calls.
Fully functional integration of DCS with indicated communication channels, including a radio communication system operating in the DMR§ standard.
Ensuring low latency,e.g. while receiving incoming calls thanks to the use of real-time notifications mechanisms.
Integration with plural external systems and devices (radio, earplugs) thanks to modular product development.
Technologies
Programming languages:
C#
JavaScript/ES6
Python
Server technologies:
.NET Core
ASP.NET Core Razor Pages
ASP.NET Core Web API
Technologies and client libraries:
ReactJS
Redux
RxJS
Bootstrap
Message broker and databus:
RabbitMQ
Databases:
PostgreSQL
MongoDB
Functionality
Reliability
In order to ensure highest possible availability and eliminate single points of failure, we used Load Balancer with a floating IP mechanism which, in case of failure, redirects the traffic from the active server to the backup one.
Thanks to clustering, the telephone switchboard allows both telephone and radio connections to still be operated by the central backup server when the main server is damaged or temporarily unavailable.
Capability
We reduced the number of necessary database queries thanks to the use of persistence mechanism in cache memory in the PBX Proxy system cooperating with the telephone central. Thereby time for the systems capability operations handling calls and conferences was reduced as well.
As a part of the main application system, the most important business efficiency entities are stored using the InMemory database. It allowed us to minimize the time of performing the most demanding operations related to conference management, and reduce the risk of losing information about the current state of these entities using database clustering.
Scalability
Extracting the low-level logic related to integration with the PBX into a separate PBX Proxy system allowed us to design the application in stateless architecture, enabling its scalability without losing performance as the number of application instances grows.
Interoperability
Designing the application to unify multiple types of connections allowed us to integrate with radio adapters, thanks to which the system enables handling both telephone and radio calls.
It’s also possible to send SMS messages via the dispatcher panel. Thanks to the design of the system open to new integrations, the current GSM gateway can be replaced with another gateway that can handle such messages.
The solution is also fully open to integration with other external systems, including client’s dedicated ones.
UX design
The usability project featured creating a console for the dispatcher. The interface was designed for touch screens with resolution determined by the Client.
Special requirements included in the project:
Intuitive support of call and message panels
Queue of incoming and suspended calls management
Easy navigation between solution modules (SMS, calls, contact)
Accessible use of a comprehensive phone book
Efficient touch operation through elements’ appropriate arrangement and size
UI design
Graphic interface project featured preparing a complex Design System used as a base to style all product views created by UX Team.
We designed custom side navigation icons along with an automated reusable components system, based on variants and autolayouts. Whole project was well-thought to assure maximum readability and 100% of available space on the screen.
The biggest challenge was adjusting the size of text and color style so that every view was intuitive and functional in everyday use.
Quality assurance
The DESK system for MZA is an example of a project, in which the tester is involved in the software development process from the earliest stage of work. Starting from the requirements analysis, where the planned system functionalities were verified, through ongoing implementation correctness testing, the entire production process, to regression tests and support for customer acceptance tests.
The project was based on extensive ,”OPZ” documentation including a set of functionalities indicated by the client, which was the so-called test oracle. It is worth mentioning that the precise requirements, a wide range of functionalities and the dynamics of changes required a large commitment from the tester, as well as frequent regression tests to verify full functional and operational efficiency of the system. It was essential to ensure the correct operation of the functionality of the developed software, with particular emphasis on the verification of its operation for a dedicated touch screen, mobile radio and headset.
In order to verify the correctness of the functionality we analyzed the client’s documentation, requirements andreal and highly complex test cases. We performed:
Functional tests based on prepared test cases,
Exploratory tests covering user behaviour outside of the test documentation scope
Exploratory tests covering user behaviour outside of the test documentation scope
Retests and regression tests
We also secured the activities allowed for the user during connection handling and designed acceptance tests scenarios and submitted them for the client’s verification.
References
Result
The developed system is always fully available, ensures continuity and multithreaded communication. It guarantees reliability and safety.
A comprehensive communication tool that allows dispatchers to manage MZA events.
Integration of all channels in one dispatcher panel: telephone, radio and SMS connections.
User interface that ensures ergonomic and intuitive operation using touch screens and enabling remote control from the level of a web browser without the need to purchase additional equipment.
Effective and timely adaptation of the original DESK system to the client’s needs.
One-year warranty and comprehensive technical support.