MZA

Dostawa systemu łączności dyspozytorskiej dla MZA Sp. z o.o.
image

Szczegóły

  • Zakres Warsztaty produktowe i rozwój systemu komunikacji dyspozytorskiej.
  • Ramy czasowe Wrzesień 2020 – kwiecień 2021
  • Innowacja Load Balancer z mechanizmem pływającego IP, klastrowanie baz danych z mechanizmem replikacji i więcej
  • Technologie C#, JavaScript, Python, .NET Core, ASP.NET, ReactJS
  • Sektor biznesowy Transport publiczny
  • Model współpracy Po tym, jak nasz Klient zdecydował się przyjąć ofertę, została podpisana umowa wraz z zadeklarowanym całkowitym wynagrodzeniem i określonym terminem realizacji. Następnie rozpoczęliśmy prace nad Systemem Komunikacji Dyspozytorskiej.
  • zespół iteo 1 x Analityk Biznesowy
    1 x Projektant UX
    1 x Projektant UI
    1 x Kierownik Projektu
    6 x Programiści Backend
    3 x Programiści Frontend
    1 x Inżynier Zapewnienia Jakości

System DESK to autorskie rozwiązanie iteo, które zmodyfikowaliśmy zgodnie z potrzebami klienta. Umożliwiło ono stworzenie Systemu Łączności Dyspozytorskiej, kluczowego systemu informatyczno-telekomunikacyjnego wykorzystywanego przez Zarząd Transportu Miejskiego w Warszawie.

Oś czasu

  • 2020
    Wrzesień – grudzień 2020 r.

    Projekt UX/UI konsoli dyspozytorskiej Integracja i dwukierunkowe połączenie DCS

  • 2021
    Styczeń – marzec 2021 r.

    Integracja z radiem DMR TIER III

    Kwiecień 2021 r.

    Test działania, akceptacja całego systemu

  • Wprowadzenie

    System DESK to autorskie rozwiązanie iteo, zmodyfikowane zgodnie z potrzebami klienta.
    Dzięki niemu stworzyliśmy System Łączności Dyspozytorskiej, kluczowy system teleinformatyczny wykorzystywany przez Miejskie Zakłady Autobusowe w Warszawie.

    Projekt rozpoczął się wygranym postępowaniem publicznym (73/PN/AB/20) ogłoszonym w sierpniu 2020 roku przez MZA, jednostkę miejską z grupy ZTM należącą do Miasta Stołecznego Warszawy.

    MZA Sp. z o. o. w Warszawie jest:

    • Największy przewoźnik miejski w Polsce

    • Jeden z największych przewoźników w Europie

    • Lider w dziedzinie innowacyjnego, ekologicznego transportu publicznego

    • Flota 1442 autobusów obsługujących 187 linii zwykłych, przyspieszonych, ekspresowych i nocnych.

    • Około pół miliarda pasażerów w Warszawie i miastach aglomeracji rocznie

    Foto: Ze zbioru Archiwum Zakładowego MZA, Adam Stawicki.
    image
    Foto: Kuba Kisieliński, KMKM w Warszawie.
    image

    Potrzeby i cele biznesowe

    Główne cele projektu:

    • Integracja kanałów głosowych, radiowych i SMS wykorzystywanych przez służby dyspozytorskie MZA na jednym panelu obsługiwanym przez dyspozytora. Panel ma stać się podstawowym narzędziem komunikacyjnym do wykonywania i odbierania połączeń telefonicznych i radiowych.

    • W pełni funkcjonalna integracja systemu DCS ze wskazanymi kanałami komunikacji, w tym z systemem komunikacji radiowej działającym w standardzie DMR§.

    • Zapewnienie niskich opóźnień, np. podczas odbierania połączeń przychodzących, dzięki wykorzystaniu mechanizmów powiadomień w czasie rzeczywistym.

    • Integracja z wieloma zewnętrznymi systemami i urządzeniami (radio, zatyczki do uszu) dzięki modułowemu projektowi produktu.

    Technologie

    Języki programowania:

    • C#

    • JavaScript/ES6

    • Python

    Technologie serwerowe:

    • .NET Core

    • ASP.NET Core Razor Pages

    • ASP.NET Core Web API

    Technologie i biblioteki klienckie:

    • ReactJS

    • Redux

    • RxJS

    • Bootstrap

    Broker wiadomości i magistrala danych:

    • RabbitMQ

    Bazy danych:

    • PostgreSQL

    • MongoDB

    image

    Funkcjonalność

    Niezawodność

    Aby zapewnić jak najwyższą dostępność i wyeliminować pojedyncze punkty awarii, zastosowaliśmy Load Balancer z mechanizmem pływającego IP, który w przypadku awarii przekierowuje ruch z aktywnego serwera na serwer zapasowy.

    Dzięki klastrowaniu centrala telefoniczna umożliwia obsługę połączeń telefonicznych i radiowych przez centralny serwer zapasowy, gdy główny serwer jest uszkodzony lub tymczasowo niedostępny.

    Możliwości

    Zredukowaliśmy liczbę niezbędnych zapytań do bazy danych dzięki zastosowaniu mechanizmu persystencji w pamięci cache w systemie PBX Proxy współpracującym z centralą telefoniczną. Tym samym skróceniu uległ również czas wykonywania operacji związanych z obsługą połączeń i konferencji.

    W ramach głównego systemu aplikacyjnego najważniejsze encje efektywności biznesowej przechowywane są z wykorzystaniem bazy danych InMemory. Pozwoliło to zminimalizować czas wykonywania najbardziej wymagających operacji związanych z zarządzaniem konferencjami, a także zmniejszyć ryzyko utraty informacji o aktualnym stanie tych encji za pomocą klastrowania bazy danych.

    Skalowalność

    Wyodrębnienie niskopoziomowej logiki związanej z integracją z centralą PBX do oddzielnego systemu PBX Proxy pozwoliło nam zaprojektować aplikację w architekturze bezstanowej, umożliwiając jej skalowalność bez utraty wydajności wraz ze wzrostem liczby instancji aplikacji.

    Interoperacyjność

    Zaprojektowanie aplikacji w sposób unifikujący wiele typów połączeń pozwoliło nam na integrację z adapterami radiowymi, dzięki czemu system umożliwia obsługę zarówno połączeń telefonicznych, jak i radiowych.

    Możliwe jest również wysyłanie wiadomości SMS za pośrednictwem panelu dyspozytorskiego. Dzięki projektowi systemu otwartego na nowe integracje, obecna bramka GSM może zostać zastąpiona inną bramką obsługującą takie wiadomości.

    Rozwiązanie jest również w pełni otwarte na integrację z innymi systemami zewnętrznymi, w tym dedykowanymi klienta.

    Projektowanie UX

    Projekt użyteczności obejmował stworzenie konsoli dla dyspozytora. Interfejs został zaprojektowany dla ekranów dotykowych o rozdzielczości określonej przez klienta.

    Specjalne wymagania zawarte w projekcie:

    • Intuicyjna obsługa paneli połączeń i wiadomości

    • Zarządzanie kolejką połączeń przychodzących i zawieszonych

    • Łatwa nawigacja między modułami rozwiązania (SMS, połączenia, kontakt)

    • Możliwość korzystania z obszernej książki telefonicznej

    • Wydajna obsługa dotykowa dzięki odpowiedniemu rozmieszczeniu i rozmiarowi elementów

    image

    Projektowanie interfejsu użytkownika

    Projekt interfejsu graficznego obejmował przygotowanie złożonego Systemu Projektowego wykorzystywanego jako baza do stylizacji wszystkich widoków produktów tworzonych przez Zespół UX.

    Zaprojektowaliśmy niestandardowe ikony nawigacji bocznej wraz z zautomatyzowanym systemem komponentów wielokrotnego użytku, opartym na wariantach i autolayoutach. Cały projekt został przemyślany tak, aby zapewnić maksymalną czytelność i 100% dostępnej przestrzeni na ekranie.

    Największym wyzwaniem było dostosowanie rozmiaru tekstu i stylu kolorystycznego tak, aby każdy widok był intuicyjny i funkcjonalny w codziennym użytkowaniu.

    image
    image
    image

    Zapewnienie jakości

    System DESK dla MZA jest przykładem projektu, w którym tester jest zaangażowany w proces wytwarzania oprogramowania od najwcześniejszego etapu prac. Począwszy od analizy wymagań, gdzie weryfikowane były planowane funkcjonalności systemu, poprzez bieżące testy poprawności implementacji, cały proces produkcyjny, aż po testy regresyjne i wsparcie testów akceptacyjnych klienta.

    Projekt oparty był o obszerną dokumentację ,,OPZ” zawierającą zestaw funkcjonalności wskazanych przez klienta, który był tzw. wyrocznią testową. Warto wspomnieć, że precyzyjne wymagania, szeroki zakres funkcjonalności oraz dynamika zmian wymagały dużego zaangażowania ze strony testera, a także częstych testów regresyjnych w celu weryfikacji pełnej sprawności funkcjonalnej i operacyjnej systemu. Kluczowe było zapewnienie poprawnego działania funkcjonalności stworzonego oprogramowania, ze szczególnym naciskiem na weryfikację jego działania dla dedykowanego ekranu dotykowego, radiotelefonu przenośnego oraz zestawu słuchawkowego.

    W celu weryfikacji poprawności funkcjonalności przeanalizowaliśmy dokumentację klienta, wymagania oraz rzeczywiste i bardzo złożone przypadki testowe. Wykonaliśmy:

    • Testy funkcjonalne oparte na przygotowanych przypadkach testowych,

    • Testy eksploracyjne obejmujące zachowanie użytkownika poza zakresem dokumentacji testowej

    • Testy eksploracyjne obejmujące zachowanie użytkownika poza zakresem dokumentacji testowej

    • Ponowne testy i testy regresji

    Zabezpieczyliśmy również działania dozwolone dla użytkownika podczas obsługi połączenia oraz zaprojektowaliśmy scenariusze testów akceptacyjnych i przedstawiliśmy je do weryfikacji klienta.

    Referencje

    Wysokie kompetencje zespołu projektowego i pozytywna kultura pracy umożliwiły partnerską relację. Efektem jest stabilne i godne zaufania narzędzie dostosowane do specyfiki naszego przedsiębiorstwa.

    Wynik

    Opracowany system jest zawsze w pełni dostępny, zapewnia ciągłość i wielowątkowość komunikacji. Gwarantuje niezawodność i bezpieczeństwo.

    • Kompleksowe narzędzie komunikacyjne umożliwiające dyspozytorom zarządzanie zdarzeniami MZA.

    • Integracja wszystkich kanałów w jednym panelu dyspozytorskim: połączenia telefoniczne, radiowe i SMS.

    • Interfejs użytkownika zapewniający ergonomiczną i intuicyjną obsługę za pomocą ekranów dotykowych oraz umożliwiający zdalne sterowanie z poziomu przeglądarki internetowej bez konieczności zakupu dodatkowego sprzętu.

    • Skuteczne i terminowe dostosowanie oryginalnego systemu DESK do potrzeb klienta.

    • Roczna gwarancja i kompleksowe wsparcie techniczne.

    Więcej projektów