Введение
Обеспечение безопасности пассажирского транспорта является одной из ключевых задач современного общества. Рост городского населения и увеличение транспортных потоков неизбежно приводят к повышению требований к безопасности транспортных систем. Программное обеспечение (ПО), используемое в транспортной сфере, играет важную роль в обеспечении стабильной и безопасной эксплуатации транспортных средств, управления потоками и мониторинга инфраструктуры.
Актуальность исследования обусловлена необходимостью повышения надежности и устойчивости транспортных систем в условиях возрастания рисков. Постоянное обновление транспортного ПО, его тестирование на всех этапах разработки и интеграция современных технологий являются важными элементами оптимизации этих процессов. Без надлежащего внимания к данным аспектам безопасность пассажирского транспорта может оказаться под угрозой.
Цель данной работы заключается в рассмотрении существующих методов оптимизации процессов разработки ПО для повышения безопасности пассажирского транспорта.
1. Особенности ПО используемого в отрасли пассажирского транспорта
Ежегодно каждый житель России в среднем около 130 раз использует городской пассажирский транспорт [1, с. 44-46]. Качество организации пассажирских перевозок оказывает значительное влияние на социальную и экономическую жизнь общества. Однако, в большинстве случаев, существующая система организации транспортных услуг нуждается в улучшении. Основной причиной возникающих сложностей в сфере пассажирских перевозок является отсутствие четкой стратегии и системного подхода к их организации. Сложившаяся ситуация требует внимания и кардинальных изменений [2, с. 5-8]. Так в настоящее время в целях реализации Стратегии научно-технологического развития России [3] и Транспортной стратегии Российской Федерации [4] для развития сферы транспорта в конце 2021 года было принято Стратегическое направление в области цифровой трансформации транспортной отрасли [5].
В свою очередь прогнозы на 2030 год указывают на значительные изменения в сфере общественного транспорта, что станет возможным благодаря широкому внедрению концепции MaaS (Mobility as a Service – мобильность как услуга) [6, с. 120-129].
Однако для того, чтобы удовлетворить ожидания пользователей на фоне растущего использования личного транспорта, традиционная система общественного транспорта должна активно интегрировать инновационные цифровые технологии для оптимизации операционных и финансовых процессов.
Одним из ключевых инструментов в управлении пассажирскими перевозками является специализированное программное обеспечение, которое автоматизирует различные операции, связанные с транспортной деятельностью. Системы такого типа обеспечивают контроль за движением, маршрутизацией, безопасностью и предоставлением актуальной информации пассажирам в реальном времени. Это ведет к повышению эффективности транспортной инфраструктуры, улучшению качества обслуживания и снижению операционных затрат.
Одним из центральных преимуществ современных программных решений является их интеграция с навигационными системами и системами мониторинга транспорта. Они позволяют отслеживать местоположение транспортных средств в режиме реального времени, что дает возможность оптимизировать маршруты, избегать перегрузок на дорогах и минимизировать задержки. Пассажиры, в свою очередь, получают своевременную информацию о прибытии транспортных средств, что способствует повышению доверия к транспортной системе.
Еще одним важным аспектом является разработка решений для оплаты проезда и управления доступом. Внедрение бесконтактной оплаты и электронных билетов позволяет интегрировать эти системы с банковскими платформами и другими транспортными сервисами, что упрощает процесс оплаты и ускоряет посадку пассажиров. Эти технологии обеспечивают прозрачность финансовых операций и создают возможности для сбора данных, что, в свою очередь, помогает улучшить транспортное обслуживание [6, с. 120-129].
Таким образом, программное обеспечение для управления пассажирским транспортом играет важнейшую роль в модернизации транспортной инфраструктуры. Оно способствует повышению эффективности управления, безопасности и комфорта пассажиров, что открывает перспективы для создания более устойчивых и надежных транспортных систем.
2. Подходы к оптимизации процессов разработки ПО
Оптимизация процессов разработки программного обеспечения (ПО) является ключевым элементом улучшения качества конечного продукта. Современные подходы к оптимизации базируются на использовании гибких методологий, автоматизации процессов и постоянного улучшения, что позволяет сократить временные затраты, минимизировать риски и увеличить производительность.
Одним из наиболее популярных подходов является внедрение гибких методологий разработки, таких как Agile и Scrum. Эти методологии фокусируются на итеративном и инкрементальном процессе создания ПО, что позволяет адаптироваться к изменениям требований и быстро реагировать на обратную связь. Гибкие методологии делают процессы разработки более гибкими и прозрачными, что способствует повышению эффективности командной работы и улучшению качества программных решений за счет постоянного контроля и коррекции [7, с. 11-14].
Еще одним значимым подходом является автоматизация процессов, включающая в себя внедрение инструментов непрерывной интеграции (CI) и непрерывной доставки (CD). Эти инструменты позволяют сократить время на ручное тестирование и развертывание приложений, а также минимизировать человеческий фактор. Благодаря автоматизации разработчики могут быстрее выпускать обновления, оперативно обнаруживать ошибки и обеспечивать высокую стабильность программного обеспечения.
Однако сам процесс оптимизации разработки программного обеспечения тесно связан с эффективностью обеспечения качества (QA). В следующем разделе будет рассмотрено, как процессы QA влияют на разработку программных решений для транспортной индустрии, где минимизация ошибок и высокая степень надежности имеют первостепенное значение.
3. Влияние процессов QA на индустрию разработки ПО для пассажирского транспорта
Обеспечение качества (Quality Assurance) – это способ предотвращения ошибок и дефектов в производимой продукции и избежания проблем при поставке продукции или услуг клиентам. В ISO 9000 дано легальное определение данного термина, под которым ГОСТ понимает: «часть управления качеством, направленную на обеспечение уверенности в том, что требования к качеству будут выполнены» [8]. Различные методологии разработки предполагают свои подходы, однако можно выделить несколько универсальных стадий, на которых тестирование играет особую роль. В таблице будут описаны этапы разработки и их общая характеристика.
Таблица
Этапы разработки ПО и их общая характеристика [9, с. 146]
Этап разработки | Описание |
Определение требований | На этом этапе происходит сбор и проверка требований к системе. Тестирование фокусируется на проверке полноты, точности и возможности проверки требований для предотвращения ошибок на ранней стадии. |
Проектирование и создание прототипа | Разрабатывается архитектура системы и создается её макет. Тестирование прототипа помогает выявить потенциальные проблемы и оценить удобство использования, минимизируя ошибки в дальнейшей разработке. |
Разработка | Команда разработчиков создает исходный код, а тестировщики проверяют отдельные компоненты системы. Тестирование модулей позволяет выявить и устранить ошибки до этапа интеграции. |
Предрелизная проверка и развертывание | Финальная проверка перед выпуском продукта, включающая нагрузочное тестирование и проверку безопасности. Тестирование гарантирует стабильную работу системы при высоких нагрузках и устойчивость к угрозам. |
На каждом из этапов тестирование играет важную роль в снижении затрат, улучшении качества и сокращении времени разработки [9, с. 146]. В разных компаниях подход к QA может варьироваться, но ключевые этапы процесса обычно остаются неизменными. Так одним из первых шагов в QA является анализ требований. На этом этапе специалисты по тестированию изучают и проверяют требования к программному продукту, а также его спецификации, чтобы убедиться, что они полны, ясны и поддаются тестированию. После анализа требований начинается фаза планирования тестирования, в ходе которой определяется стратегия, выбираются инструменты и оценивается объем работ [10, с. 50].
На этапе разработки тестов создаются сценарии и тест-кейсы, а также подготавливается среда для выполнения тестирования. Затем следует само тестирование, когда QA команда проводит различные проверки, выявляя ошибки и дефекты, которые затем устраняются разработчиками.
Когда дефекты исправлены, проводится повторное тестирование и регрессионное тестирование, чтобы удостовериться в правильной работе системы после внесенных изменений. Завершение тестирования сопровождается составлением отчета, в котором подробно описываются выполненные тесты и их результаты.
Существуют различные типы тестов, применяемые в QA. Среди них функциональные тесты, проверяющие корректность работы приложения, и нефункциональные, которые анализируют, как программа функционирует при различных нагрузках и в разных условиях. Тесты могут проводиться вручную или автоматически, в зависимости от целей и задач конкретного проекта.
Каждый проект требует индивидуального подхода к выбору инструментов тестирования. Среди самых популярных инструментов – Selenium, который облегчает процесс автоматизации тестов, Jira для отслеживания ошибок, и BrowserStack, позволяющий проводить кроссплатформенные проверки [10, с. 50].
4. Практическая часть
В данном разделе будет представлен практический опыт реализации проектов ООО «СЦ Транстелематика». Основная цель проекта заключается в автоматизации процесса тестирования для улучшения качества программных решений. Данный проект направлен на улучшение качества программных продуктов, которые поставляются для наземного пассажирского транспорта крупным государственным и частным компаниям-перевозчикам в различные города Российской Федерации, такие как Москва, Санкт-Петербург, Тверь, Казань, Краснодар и другие. Проект также нацелен на создание сообщества инженеров по автоматизации тестирования, что способствует обмену опытом и повышению их профессиональных навыков, что в конечном итоге улучшает качество тестирования и выпущенных продуктов.
Ключевые достижения проекта включают:
- Существенное повышение качества разработки программного обеспечения;
- Ускорение выпуска релизных версий;
- Улучшение контроля совместимости версий ПО в связанных проектах;
- Оптимизация принятия решений по внедрению релизов;
- Расширение охвата тестирования программных решений.
Далее рассмотрим в каких проектах, внедрено ПО «СЦ Транстелематика».
1) Программный комплекс, предназначенный для централизованного управления данными о маршрутах передвижения транспортных средств, а также информационными сообщениями для многофункциональных навигационных терминалов (Далее – ПК ЦУМИ), представляет собой важное средство повышения качества обслуживания пассажиров. Его главная задача заключается в эффективном использовании современных технологий для управления маршрутной информацией и её своевременной доставки на специальные устройства, установленные на транспорте. Функционал комплекса включает разнообразные возможности, среди которых можно выделить доступ к объектам системы на основе распределения ролей, что обеспечивает надёжную дифференциацию прав пользователей. Также система позволяет импортировать нормативно-справочную и маршрутную информацию из внешних источников данных, включая ведомственные информационные системы [11]. Ниже на рисунке 1 будет отражен интерфейс ПК ЦУМИ.
Рис. 1. ПК ЦУМИ [11]
2) Программное обеспечение для мониторинга и управления автоматизированными системами управления трансляциями в транспортных средствах (Далее – ПО мониторинга и управления АСУ УТ) было разработано для организации информационных потоков на общественном транспорте. Его основная задача – обеспечение своевременного и точного информирования пассажиров через медиа панели, размещенные в транспорте. Программное обеспечение входит в реестр отечественных программных продуктов и предназначено для централизованного контроля и управления всеми аспектами трансляции контента в транспортных средствах. Основные функции программы включают управление планом трансляции, который отображается на медиа панелях, редактирование его содержимого, настройку условий воспроизведения и мониторинг статуса выполнения трансляций.
Программа обладает широкими возможностями по созданию и управлению контентом для медиа панелей. Кроме того, программное обеспечение поддерживает сбор и обработку диагностической информации с медиа панелей, а также дистанционное обновление их конфигураций [12]. Далее на рисунке 2 будет отражен интерфейс ПО мониторинга и управления АСУ УТ.
Рис. 2. ПО мониторинга и управления АСУ УТ [12]
3) Автоматизированная система управления «Универсальная мультисервисная платформа». Данная система разработана для усиления контроля, повышения уровня безопасности и анализа качества транспортных услуг, предоставляемых населению. Её использование направлено на улучшение экономической эффективности пассажирских перевозок городским наземным транспортом за счет внедрения современных технологий взаимодействия с оборудованием транспортных средств и обработки данных, поступающих с этих устройств. Пример интерфейса программы (рис. 3) демонстрирует главное меню с активным разделом «Карта» [13].
Рис. 3. Пример интерфейса автоматизированной системы управления «Универсальная мультисервисная платформа» [13]
4) Программное обеспечение многофункционального навигационного терминала (ПО МНТ) разработано для обеспечения комплексного контроля над безопасностью пассажирских перевозок на наземном транспорте, оптимизации управления транспортными процессами и минимизации эксплуатационных расходов на транспортные средства и бортовое оборудование.
Особенностью ПО является его высокая адаптивность и многофункциональность, что позволяет обеспечить безопасную эксплуатацию транспортных средств, повысить их эффективность и снизить затраты на обслуживание. Многофункциональность системы реализована благодаря использованию микросервисной архитектуры [14].
5) Программное обеспечение для медиапроигрывателей в транспортных средствах разрабатывается с целью улучшения осведомленности пассажиров в ходе поездки. Оно служит для приема и воспроизведения мультимедийного контента. Программный комплекс функционирует в двух основных режимах.
Автономный режим предусматривает предварительную загрузку контента и рекламных материалов на информационные экраны для их последующего воспроизведения согласно заданному расписанию.
Режим Online с использованием 3G/LTE-сетей обеспечивает передачу и обновление медиаконтента, который также воспроизводится в соответствии с установленным расписанием.
Такой медиаплеер позволяет не только эффективно информировать пассажиров, но и поддерживать высокую надежность в управлении контентом и данными, даже при возможных сбоях связи или других непредвиденных обстоятельствах. Для большей наглядности интерфейс медиаплеера будет отражен на рисунке 4.
Рис. 4. Пример интерфейса ПО «Медиапроигрыватель для транспортных средств» [15]
Практическая реализация проектов компанией «СЦ Транстелематика» показала значительные достижения в автоматизации тестирования программного обеспечения для наземного пассажирского транспорта, что повысило качество разработки, оптимизировало выпуск релизов и обеспечило контроль версионной совместимости между проектами. Представленные программные комплексы–ПК ЦУМИ, ПО мониторинга и управления АСУ УТ, «Универсальная мультисервисная платформа», ПО МНТ и медиапроигрыватель для транспортных средств – стали ключевыми инструментами для повышения качества обслуживания пассажиров и эффективности управления транспортными процессами, предоставляя централизованное управление данными и актуальную информацию в реальном времени. Таким образом, проекты компании способствуют развитию аналогичных решений на национальном уровне и повышают качество услуг в транспортной отрасли Российской Федерации, подтверждая эффективность внедрения автоматизации тестирования для улучшения программных решений и оптимизации процессов разработки.
Заключение
Оптимизация процессов разработки программного обеспечения для повышения безопасности пассажирского транспорта является важным стратегическим направлением в обеспечении надежности транспортных систем. В условиях постоянного роста городского населения и увеличения количества транспортных потоков, ошибки в ПО могут привести к значительным последствиям, поэтому внедрение современных методологий разработки, таких как Agile и Scrum, становится необходимостью. Эти подходы позволяют не только сократить сроки разработки, но и гибко реагировать на изменения требований, обеспечивая высокое качество конечного продукта.
Автоматизация тестирования и внедрение систем непрерывной интеграции (CI) и доставки (CD) играют ключевую роль в минимизации рисков и улучшении безопасности транспортных систем. Эти инструменты позволяют эффективно управлять релизами, выявлять и устранять ошибки на ранних стадиях разработки, что значительно повышает устойчивость и стабильность программного обеспечения.
Практический пример компании «СЦ Транстелематика», которая успешно внедрила автоматизацию тестирования и оптимизацию процессов разработки, демонстрирует, как подобные решения могут значительно повысить безопасность пассажирских перевозок. В результате проектирования и реализации автоматизированных систем тестирования компания смогла улучшить качество ПО, сократить временные затраты на выпуск новых версий и повысить уровень безопасности пассажиров на транспорте. Эти достижения подчеркивают важность использования современных подходов в разработке ПО и подтверждают, что качественное программное обеспечение является залогом безопасных и надежных транспортных услуг.
В дальнейшем развитие автоматизации тестирования может существенно повысить качество программных решений. Компании, активно применяющие инновационные технологии в процессе разработки ПО, смогут не только укрепить свои позиции на рынке, но и значительно повысить безопасность и комфорт пассажиров, создавая более эффективные и устойчивые транспортные системы будущего.