Umów demo!

Miejskie Zakłady Autobusowe

System Łączności Dyspozytorskiej dla Miejskich Zakładów Autobusowych w Warszawie
image

Szczegóły

  • Zakres Warsztaty produktowe, projekt, dostawa i wdrożenie Systemu Łączności Dyspozytorskiej (SŁD)
  • Ramy czasowe Wrzesień 2020 – Kwiecień 2021
  • Innowacje Load Balancer wraz z mechanizmem floating IP, klasteryzacja baz danych wraz z wykorzystaniem mechanizmu replikacji i więcej
  • Technologie C#, JavaScript, Python, .NET Core, ASP.NET, ReactJS
  • Sektor Transport publiczny
  • Model współpracy Po tym jak Klient zdecydował się na naszą ofertę podpisaliśmy umowę zgodnie z zadeklarowanym łącznym wynagrodzeniem i realizacją w określonym terminie.
  • iteo team 1 x analityk biznesowy
    1 x UX designer
    1 x UI designer
    1 x PM
    6 x backend developerów
    3 x frontend developerów
    1 x tester

System DESK jest autorskim rozwiązaniem iteo, które zmodyfikowaliśmy według potrzeb klienta. Umożliwiło to stworzenie Systemu Łączności Dyspozytorskiej, czyli kluczowej platformy informatyczno-telekomunikacyjnej wykorzystywanej przez Miejskie Zakłady Autobusowe w Warszawie.

Oś czasu

  • 2020
    wrzesień – grudzień 2020

    Etap 1. Projekt UX/UI konsol dyspozytorskich. Integracja i dwukierunkowa łączność SŁD.

  • 2021
    styczeń – marzec 2021

    Etap 2. Integracja z radiem DMR TIER III.

    kwiecień 2021

    Etap 3. Eksploatacja testowa, odbiór całości systemu.

  • Intro

    Projekt rozpoczął się przez zwycięstwo w postępowaniu publicznym (73/PN/AB/20) ogłoszonym w sierpniu 2020 roku przez MZA, podmiot komunalny w grupie ZTM należący do miasta stołecznego Warszawa.

    Miejskie Zakłady Autobusowe Sp. z o. o. w Warszawie to:

    • Największy przewoźnik miejski w Polsce

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

    • Lider nowoczesnego ekologicznego transportu zbiorowego

    • Flota licząca 1422 autobusy obsługujące 187 linii zwykłych, przyspieszonych ekspresowych oraz nocnych

    • Około pół miliarda pasażerów na terenie Warszawy i innych miejscowości aglomeracji stołecznej rocznie

    image
    image

    Potrzeby i cele biznesowe

    Główne cele projektu:

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

    • W pełni funkcjonalna integracja SŁD ze wskazanymi kanałami komunikacyjnymi, w tym z systemem łączności radiowej pracującej w standardzie DMR.

    • Zapewnienie niskich latencji przy np. przychodzących połączeniach dzięki wykorzystaniu mechanizmów notyfikacji czasu rzeczywistego.

    • Integracja z mnogą liczbą systemów zewnętrznych oraz urządzeń (Radio, Słuchawka) dzięki modułowemu rozwojowi 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 szyna danych:

    • RabbitMQ

    Bazy danych:

    • PostgreSQL

    • MongoDB

    image

    Funkcjonalność

    Niezawodność

    Aby zapewnić najwyższą dostępność i wyeliminować pojedyncze punkty awarii, zastosowaliśmy Load Balancer wraz z mechanizmem floating IP, dzięki któremu w momencie awarii serwera działającego w trybie aktywnym, ruch zostaje przekierowany na serwer zastępczy.

    Klasteryzacja baz danych wraz z wykorzystaniem mechanizmu replikacji zapobiega ryzyku utraty danych, ponieważ są one replikowane są na serwerze zastępczym.

    Klasteryzacja centrali telefonicznej zapewnia natomiast, że nawet jeśli główny serwer centrali ulegnie awarii bądź będzie tymczasowo niedostępny, zarówno połączenia telefoniczne jak i radiowe wciąż będą mogły być obsługiwane przez centralę uruchomioną na serwerze zapasowym.

    Wydajność

    Dzięki zastosowaniu mechanizmu persystencji w pamięci podręcznej w systemie PBX Proxy współpracującego z centralą telefoniczną, ograniczyliśmy ilość koniecznych do wykonania zapytań do baz danych, tym samym skracając czas krytycznych dla wydajności systemu operacji obsługi połączeń i konferencji.

    W ramach głównego systemu aplikacji, najbardziej istotne z punktu widzenia jej wydajności encje biznesowe przechowywane są przy użyciu bazy danych typu InMemory. Dzięki temu zminimalizowaliśmy czas wykonywania najbardziej obciążających operacji związanych z zarządzaniem konferencjami, a ryzyko utraty informacji odnośnie aktualnego stanu tych encji zostało zredukowane poprzez zastosowanie klasteryzacji bazy danych.

    Skalowalność

    Wyekstrahowanie niskopoziomowej logiki związanej z integracją z centralą telefoniczną do odrębnego systemu PBX Proxy pozwoliło nam na zaprojektowanie aplikacji w architekturze bezstanowej, umożliwiając jej skalowalność bez utraty wydajności wraz ze wzrostem ilości instancji aplikacji.

    Interoperacyjność

    Zaprojektowanie aplikacji z myślą o ujednoliceniu wielu typów połączeń pozwoliło nam na integrację z przystawkami radiowymi, dzięki czemu system umożliwia obsługę połączeń zarówno telefonicznych jak i radiowych.

    Za pośrednictwem panelu dyspozytora istnieje też możliwość wysyłania wiadomości SMS. Dzięki projektowi systemu otwartemu na nowe integracje w miejscu aktualnej bramki GSM można zastosować inną bramkę umożliwiającą obsługę takich wiadomości.

    System jest także w pełni otwarty na integrację z dodatkowymi systemami zewnętrznymi, w tym z dedykowanymi systemami klienta.

    UX design

    Projekt użyteczności obejmował stworzenie konsoli dla dyspozytora. Interfejs został zaplanowany na ekrany dotykowe o rozdzielczości określonej przez zamawiającego.

    Szczególne wymagania uwzględnione w projekcie:

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

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

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

    • Przystępność korzystania z bardzo obszernej książki telefonicznej

    • Sprawna obsługa dotykowa poprzez odpowiednie rozmieszczenie i rozmiar elementów

    image

    UI design

    Projekt graficzny interfejsu obejmował przygotowanie rozbudowanego Design Systemu, który posłużył jako baza do ostylowania wszystkich widoków produktu przygotowanych przez zespół UX.

    Na potrzeby projektu zostały zaprojektowane customowe ikony do nawigacji bocznej oraz zautomatyzowany system reużywalnych komponentów, oparty na wariantach i autolayoutach. Całość projektu została przemyślana w taki sposób, żeby zapewnić maksymalną czytelność użytkownikowi, przy jednoczesnym wykorzystaniu 100% dostępnego na widoku miejsca.

    Największym wyzwaniem projektowym okazało się dostosowanie wielkości stylów tekstowych i kolorystycznych tak, by każdy z widoków był intuicyjny w odbiorze i codziennej pracy.

    image
    image
    image

    Gwarancja jakości

    System DESK dla MZA jest przykładem projektu, w którego procesie wytwarzania oprogramowania tester jest zaangażowany od możliwie jak najwcześniejszego etapu prac.

    Począwszy od fazy analizy wymagań, gdzie weryfikowane były planowane funkcjonalności systemu, przez bieżące testowanie poprawności ich implementacji w czasie trwania całego procesu wytwarzania, po testy regresji oraz wsparcie testów akceptacyjnych klienta.

    Projekt bazował na rozległej dokumentacji “OPZ” obejmującej zbiór funkcjonalności wskazanych przez zamawiającego, która stanowiła tzw.: wyrocznię testową. Warto podkreślić, że precyzyjne wymagania, szeroki zakres funkcjonalności oraz dynamika zmian wymagała bardzo dużego zaangażowania testera, a także częstych testów regresji, mających zweryfikować pełną sprawność funkcjonalną i użytkową systemu. Niezbędne było zapewnienie prawidłowego działania funkcjonalności wytwarzanego oprogramowania ze szczególnym naciskiem na weryfikację jego działania dla dedykowanego ekranu dotykowego, radia mobilnego oraz zestawu nagłownego.

    Aby zweryfikować poprawność działania funkcjonalności przeanalizowano dokumentację i wymagania klienta,
    rozpisano przypadki testowe o realnym i wysokim stopniu skomplikowania oraz przeprowadzono następujące testy:

    • Testy funkcjonalne na podstawie przygotowanych przypadków testowych

    • Testy eksploracyjne obejmujące zachowania użytkownika spoza zakresu dokumentacji testowej

    • Exploratory tests covering user behaviour outside of the test documentation scope

    • Retesty i testy regresji

    Poza tym zabezpieczono dozwolone dla użytkownika aktywności podczas obsługi połączeń oraz zaprojektowano i oddano do weryfikacji po stronie klienta scenariusze testów akceptacyjnych.

    Referencje

    Nasz System Łączności Dyspozytorskiej to rozbudowane narzędzie integrujące wszystkie kanały komunikacji w celu zapewnienia ergonomicznego środowiska pracy dla Dyspozytorów Centrali Ruchu oraz bezpieczeństwa dla kierowców MZA. 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.

    Rezultat

    Nasze rozwiązanie to system, który jest zawsze w pełni dostępny, zapewnia ciągłość i wielowątkowość komunikacji oraz daje gwarancję niezawodności i bezpieczeństwa.

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

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

    • Interfejs użytkownika, zapewniający ergonomiczną i intuicyjną obsługę przy pomocy dotykowych ekranów i umożliwiający zdalną obsługę z poziomu przeglądarki internetowej bez konieczności zakupu dodatkowego sprzętu.

    • Terminowe i skuteczne dopasowanie autorskiego systemu DESK do wymagań Klienta.

    • Roczna gwarancja jakości i kompleksowego wsparcia technicznego.

    Więcej realizacji