В настоящем отчете о практическом задании № 3 описывается разработка информационной системы контроля безопасности грузоперевозок на железнодорожном транспорте, обеспечивающей мониторинг состояния грузов в реальном времени, контроль маршрутов и автоматическое выявление потенциальных угроз.
Будет выбрана архитектура проекта, дано описание взаимодействия компонентов системы, приведен концептуальная схема БД информационной системы, определены и реализованы основные ее модули и интерфейс пользователя. Так же создадим прототип БД и приведем контрольные примеры данных для тестирования ИС.
Также приведено экономическое обоснование внедрение разрабатываемой ИС.
Моделирование и реализация информационной системы
Моделирование ИС
Для моделирования основных процессов ИС контроля безопасности грузоперевозок предлагается контекстная IDEF0-диаграмма, которая помогает визуализировать функциональное разложение системы (рисунок 1).
Рисунок 1 – Контекстная диаграмма процесса
В данной модели выделен процесс «Управление системой контроля безопасности грузоперевозок на железнодорожном транспорте» А0. Его назначение – обеспечить интегрированное управление всеми функциональными блоками системы, принимая решения на основе входящих данных, обработки информации и анализа. Этот процесс декомпозируется на следующие ключевые функции (рисунок 2):
А1. «Сбор и обработка данных». Включает получение данных от внешних систем (API ЭТРАН, GPS-трекеры, IoT-датчики), предварительную валидацию и нормализацию входящей информации.
A2. «Мониторинг и анализ грузоперевозок». Отслеживание текущего статуса перевозок и автоматическое выявление аномалий и потенциальных угроз.
A3. «Управление заявками и документооборотом». Прием и обработка заявок клиентов, ведение документации (накладные, договоры, акты).
A4. «Формирование отчетов и аналитика». Генерация аналитических отчетов. Прогнозирование рисков и оценка экономической эффективности.
Рисунок 2 – Диаграмма декомпозиции А0
Для визуального представления взаимодействия пользователей с функциональными модулями системы разработана диаграмма вариантов использования (Use Case), которая изображена на рисунке 3.
Рисунок 3 – Диаграмма вариантов использования системы
Основные акторы и варианты использования включают следующие:
Акторы:
Клиент. Отправитель груза, осуществляющий регистрацию и создание заявок.
Оператор/Логист. Отвечает за мониторинг грузоперевозок, обработку заявок и формирование отчетов.
Администратор. Управляет пользователями, настройками системы и технической поддержкой.
Варианты использования:
Регистрация и авторизация. Акторы выполняют вход в систему, подтверждают свои учетные данные.
Создание и управление заявками. Клиент подает заявку, оператор проводит обработку и вносит изменения в статус перевозки.
Монторинг перевозок. Оператор отслеживает движение грузов, анализирует данные, полученные от GPS и IoT-датчиков.
Формирование отчетов. Система генерирует аналитические и оперативные отчеты по статусу перевозок и выявленным инцидентам.
Управление документами. Загрузка, просмотр и редактирование документов (накладных, актов, договоров).
Описание архитектуры проекта
Выбор архитектуры
Исходя из общих функциональных требований к системе (см. отчет к Практическому заданию 2), для информационной системы контроля безопасности грузоперевозок железнодорожным транспортом выбрана трехуровневая архитектура клиент-сервер, которая изображена на рисунке 4.
Рисунок 4 – Архитектура системы
Данная архитектура включает:
Клиентский уровень – веб-интерфейс (это может быть веб-приложение);
Серверный уровень. Осуществляет обработку данных согласно бизнес-логике;
Уровень база данных. Хранение данных информационной системы.
Взаимодействие компонентов системы
На клиентском уровне реализован веб-интерфейс для сотрудников (логистика, документооборот, аналитика) и клиентов. Обеспечен доступ посредством браузера, интерфейс адаптирован под различные устройства (ПК, мобильные устройства). Основные применяемые технологии разработки – React.js / Vue.js.
Серверный уровень реализован с помощью Python (FastAPI) и/или Node.js (Express). Здесь размещена логика обработки заявок, маршрутов и документов. Интеграция с API Этран и системами мониторинга местонахождения и IoT также осуществляется на серверном уровне.
Рисунок 5 – Диаграмма потоков данных
Уровень базы данных необходим для хранения данных информационной системы (грузы, маршруты, договоры, логи, отчеты) и выполнена на СУБД PostgreSQL или MySQL с обязательной настройкой резервного копирования.
На рисунке 5 приведена диаграмма потоков данных, иллюстрирующая взаимодействие компонентов системы.
На диаграмме описаны процессы регистрации заявки (создание клиентом заявки на перевозку и сохранение данных в БД), обработки заявки (менеджер проверяет заявки и меняет ее статус), мониторинга грузов (оператор отслеживает передвижение грузов в реальном времени), формирование отчетов (система автоматически генерирует отчеты и передает их).
Технологии разработки
Список используемых при разработке технологий приведен в таблице 1.
Таблица 1 – Используемые технологии
Выбранная архитектура обеспечивает масштабируемость решения и интеграцию с внешними сервисами.
Информационная модель
Информационная модель системы состоит из концептуальной схемы данных и описания взаимодействия с внешними информационными системами.
Рассмотрим концептуальную схему данных.
Концептуальная схема данных
На рисунке 2 изображена ER-диаграмма, отображающая сущности информационной системы.
Основными сущностями системы являются:
Клиенты. Грузоотправители, воспользовавшиеся услугами предприятия ООО «ЕвроТехС»;
Заявки. Вся информация о перевозке (наименование и прочие параметры груза, маршрут и статус выполнения);
Перевозчики. Это компании, осуществляющие перевозку ж/д транспортом, либо курьерская служба, выполняющая доставку от/до двери;
Рисунок 6 – Концептуальная схема данных (ER-диаграмма)
Договоры. Между клиентами и ООО «ЕвроТехС», между подрядчиками и ООО «ЕвроТехС»;
Документы. Накладные на груз, паспорта безопасности и пр.;
Мониторинг. Все получаемые данные о перемещении груза (местонахождение, статусы из API Этран, показания IoT-датчиков);
Пользователи. Сотрудники предприятия, клиенты.
Взаимодействие с внешними информационными системами
В таблице 2 приведен список внешних систем, с которыми взаимодействует разрабатываемая информационная система контроля безопасности грузоперевозок и характеристика взаимодействия.
Таблица 2 – Внешние информационные системы
Реализация и тестирование
Данный этап включает в себя разработку базы данных, разработку интерфейса пользователя (веб-интерфейс). Контрольный пример использования системы.
Рассмотрим все перечисленные стадии разработки по порядку.
Разработка базы данных
Создадим базу данных на основе ER-диаграммы. Будем использовать PostgreSQL, поскольку в ней есть поддержка транзакций, JSON-хранения и геоданных.
С помощью логической модели опишем основные сущности, их атрибуты и взаимосвязи, не привязываясь к конкретной СУБД. В данной модели выделим следующие сущности:
Таблица 3 – Описание таблицы Клиенты
Таблица 4 – Описание таблицы Перевозчики
Таблица 5 – Описание таблицы Зявки
Таблица 6 – Описание таблицы Договоры
Таблица 7 – Описание таблицы Документы
Таблица 8 – Описание таблицы Мониторинг
Таблица 9 – Описание таблицы Пользователи
Где:
PK (Primary Key) – первичный ключ.
FK (Foreign Key) – внешний ключ, обеспечивающий ссылочную целостность.
Логическая модель БД изображена на рисунке 7.
Рисунок 7 – Логическая модель БД
Для представления конкретной реализации логической модели с определением типов данных, ключей и ограничений для выбранной СУБД (в настоящей работе – PostgreSQL) предназначена физическая модель БД.
Ниже приведен SQL-скрипт создания основных таблиц базы данных с указанием типов данных полей.
-- Таблица клиентов
CREATE TABLE Clients (
id SERIAL PRIMARY KEY,
name VARCHAR(255),
inn VARCHAR(12) UNIQUE,
contact_person VARCHAR(255),
phone VARCHAR(15)
);
-- Таблица перевозчиков
CREATE TABLE Carriers (
id SERIAL PRIMARY KEY,
name VARCHAR(255),
inn VARCHAR(12) UNIQUE,
contact_person VARCHAR(255)
);
-- Таблица заявок
CREATE TABLE Requests (
id SERIAL PRIMARY KEY,
client_id INT REFERENCES Clients(id),
carrier_id INT REFERENCES Carriers(id),
route_id INT,
status VARCHAR(50),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Таблица документов
CREATE TABLE Documents (
id SERIAL PRIMARY KEY,
request_id INT REFERENCES Requests(id),
doc_type VARCHAR(100),
state VARCHAR(50)
);
-- Таблица мониторинга
CREATE TABLE Monitoring (
id SERIAL PRIMARY KEY,
request_id INT REFERENCES Requests(id),
gps_coordinates TEXT,
last_status VARCHAR(255),
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Таблица пользователей
CREATE TABLE Users (
id SERIAL PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
role VARCHAR(50),
login VARCHAR(50) UNIQUE,
password_hash TEXT
);
Ключевые моменты физической модели:
Типы данных. Для текстовых данных используются типы VARCHAR с заданной длиной, для числовых – INT или SERIAL (автоматическая генерация ключей), для дат и времени – TIMESTAMP и DATE.
Ключи. Определены первичные ключи для каждой таблицы. Внешние ключи обеспечивают ссылочную целостность (например, поле ClientID в таблице Requests ссылается на Clients(ClientID)).
Ограничения. Введены ограничения на уникальность (например, ИНН) и обязательное заполнение полей (NOT NULL).
Разработка интерфейса пользователя
Основными разделами клиентской части информационной системы будут:
Главная страница. Это стартовая страница веб-интерфейса. На ней отображается приветствие пользователя, меню навигации для быстрого доступа к разделам и кнопки «Войти/Выйти». На рисунке 8 представлен примерный интерфейс главной страницы системы.
Рисунок 8 – Пример интерфейса системы контроля грузоперевозок
Список заявок. Здесь предоставляется возможность управления заявками на грузоперевозку. Отображается список заявок с краткой информацией и фильтрацией. При нажатии на элемент списка открывается форма редактирования заявки. Пример страницы представлен на рисунке 9.
Рисунок 9 – Просмотр заявок на перевозку для роли пользователя Логист
Личный кабинет. На текущем этапе в данном разделе отображается личная информация о пользователе и предоставляется возможность смены пароля. Доступно редактирования данных профиля пользователя. Пример личного кабинета изображен на рисунке 10.
Рисунок 10 – Личный кабинет пользователя
Документы. Размещена форма для загрузки документов. Выводится таблица имеющихся документов с возможность просмотра и редактирования. Отображаются статусы проверки документов на соответствие нормативам. Пример страницы показан на рисунке 11.
Мониторинг перевозок. На этой странице представлен список отслеживаемых грузов с отображением текущего статуса трекера и датчиков IoT. Показана карта с цветовыми индикаторами грузов (рисунок 12).
Рисунок 11 – Страница просмотра документов
Рисунок 12 – Страница мониторинга перевозок
Отчеты. Представляет собой страницу с аналитикой по перевозкам. Предусмотрена возможность фильтрации по периоду, маршруту и статусу. Выводится диаграмма нарушений грузоперевозок (рисунок 13).
Рисунок 13 – Отчеты по перевозкам
Контрольный пример реализации
Цель тестирования – убедиться в корректной работе БД и прикладных программ, выявить потенциальные ошибки и проверить соответствие системы функциональным требованиям.
Для тестирования ИС разработаны контрольные примеры, демонстрирующие ее работу. В них дано описание проверяемого функционала, входные данные и ожидаемые результаты.
Предварительно в БД введены тестовые данные (рисунок 14).
В таблице 10 представлен пример данных для проверки работы БД.
Таблица 10 – Примеры тестовых данных для тестирования БД
Рисунок 14 – Тестовые данные о перевозках
В таблице 11 приведены примеры данных для тестирования бизнес-логики.
Таблица 11 – Примеры данных для проверки работы бизнес-логики
На рисунках 15-17 приведены скриншоты результатов тестирования.
Рисунок 15 – Результат теста BL-001
На скриншоте отображены введенные учетные данные и нажатая кнопка «Войти», после нажатия на которую появилось уведомление пользователя об успешном входе в систему (сообщение отображается только при тестировании).
Рисунок 16 – Результат теста BL-002
Здесь видно введенные учетные данные и нажатая кнопка «Войти», после нажатия на которую появилось уведомление пользователя об ошибке входа в систему (введен некорректный пароль).
Рисунок 17 – Результат теста BL-003
На скриншоте отображены введенные данные заявки и нажатая кнопка «Отправить заявку», после нажатия на которую появилось уведомление об успешной отправке заявки (сообщение отображается только при тестировании).
В таблице 12 даны примеры данных для тестирования интерфейса пользователя.
Таблица 12 – Примеры данных для проверки интерфейса пользователя
В таблице 13 даны примеры данных для тестирования безопасности ИС.
Таблица 13 – Примеры данных для проверки безопасности ИС
Приведенные выше примеры тестов дают представлении о текущей работе ИС и позволяют определить направление более полного ее тестирования.
Результат обработки данных
Веб-интерфейс показывает статус груза в реальном времени. При фиксации нарушения создаётся отчет. Все данные записываются в БД. Выполняется анализ имеющихся проблем и прогнозирование появления возможных отклонений. Визуальное представление результатов обработки данных ИС приведено на рисунках 4-9.
Экономическая эффективность
Внедрение информационной системы контроля безопасности грузоперевозок на железнодорожном транспорте должно быть экономически целесообразно. Для обоснования эффективности необходимо проанализировать планируемые затраты и выгоды, оценить срок окупаемости системы и потенциальный эффект.
Методика расчета
Рассчитаем экономическую эффективность, основываясь на следующих показателях:
Затраты на разработку и внедрение. Сюда включены затраты на программное обеспечение, необходимое оборудование и интеграцию;
Операционные затраты на поддержку и обслуживание информационной системы;
Планируемые выгоды от внедрения. Необходимо спрогнозировать снижение издержек, эффект от автоматизации документооборота и повышения прозрачности и безопасности грузоперевозок;
Оценка периода окупаемости. Дать оценку за сколько месяцев окупится система (ROI)
Выполним расчет по порядку.
Оценка затрат
В таблице 4 приведены основные затраты на разработку и внедрение системы. Указанные суммы рассчитаны на основе анализа средних рыночных цен на программное обеспечение, оборудование и услуги интеграции.
Для обоснования бюджета проекта по внедрению системы контроля безопасности грузоперевозок на железнодорожном транспорте проведен анализ средних рыночных цен на аналогичные составляющие проекта, который представлен ниже:
Стоимость разработки ПО напрямую зависит от уровня сложности системы, ее функциональности и уровня интеграции с существующими системами. Разработка простого приложения может стоить от $25 000 до $60 000. Но для специализированных систем стоимость разработки может быть выше и ориентировочно составлять от 2 млн. до 5 млн. рублей [1].
Оборудование для ИС включает в себя серверы, датчики географического положения, сенсоры температуры и пр. Цены на такое оборудование могут варьироваться в зависимости от их технических характеристик и производителя. Приблизительная стоимость комплекта оборудования для системы контроля безопасности составляет от 2 млн. до 3,5 млн. рублей [2].
Услуги интеграции ИС с такими платформами как ЭТРАН, зависят от сложности проекта и предполагаемого объема работ. Минимальная стоимость таких услуг примерно составляет 30 000 рублей при сроках исполнения от 4-х недель. Но для крупных проектов с необходимостью глубокой интеграции эти услуги могут оцениваться в 1 млн. рублей и более [3].
Для обеспечения бесперебойной работы системы необходимо предоставление технической поддержки и обучение персонала. Приблизительная стоимость услуг техподдержки составляет около 800 000 рублей, а обучения персонала от 300 000 рублей [4, 5].
Приведенные средние цены для удобства расчета сведены в таблицу 14.
Таблица 14 – Оценка затрат
Таким образом, необходимые расходы составляют 6 млн. 600 тыс. рублей.
Данный анализ позволяет обоснованно подойти к формированию бюджета проекта.
Оценка экономического эффекта
Оценка экономической эффективности проекта основывается на расчете окупаемости, чистой приведенной стоимости, внутренней нормы доходности и индекса доходности. Данные показатели позволяют комплексно оценить целесообразность внедрения системы:
Чистая приведенная стоимость (ЧПС) покажет разницу между приведенными доходами и расходами проекта за период времени;
Внутренняя норма доходности (ВНД) оценивает уровень прибыльности проекта;
Индекс доходности (ИД) показывает является ли проект выгодным (при ИД > 1 проект считается выгодным);
Период окупаемости (ПО) за сколько лет окупятся вложения в проект.
Сравнительная таблица показателей до и после внедрения информационной системы приведена ниже.
Таблица 15 – Оценка экономического эффекта
Как видно из таблицы 15, экономия от внедрения системы за год прогнозируется на уровне 5 млн. рублей.
Теперь можем оценить срок окупаемости
Окупаемость рассчитывается как отношение затрат на внедрение (таблица 14) к экономии за год (таблица 15). Формула расчёта выглядит так:
Подставим значения затрат на внедрение = 6600000 и годовой экономии = 5000000:
Чистая приведенная стоимость определяется по формуле:
где: – ожидаемая ежегодная экономия (таблица 5), – ставка дисконтирования (коэффициент привидения будущих денежных потоков к текущему моменту времени), – год (от 1 до 5), – первоначальные затраты (таблица 4).
Ставка дисконтирования зависит от средней инфляции в России за последние 5 лет (8-10%) [], ставки рефинансирования ЦБ РФ на 2025 год (21%) [], средней ставки дисконтирования для ИТ-проектов в сфере транспорта (10-15%) []. Также, за счет интеграции с инфраструктурой РЖД можем снизить риски и выбрать консервативный уровень ставки дисконтирования = 12%.
Подставим значения в формулу:
Так как ЧПС получился больше 0, проект можно считать финансово выгодным [].
Теперь определим с помощью функции ВСД в редакторе таблиц Excel уровень внутренней нормы доходности:
Таблица 16 – Определение ВСД
Т.к. ВСД больше ставки дисконтирования (52% > 12%), проект выгодный, т.е. вывод расчета ЧПС совпадает.
Осталось рассчитать индекс доходности, который определяется по формуле:
Значение ИД 2,7 больше 1, что снова подтверждает прибыльность проекта.
Таким образом, учитывая размер компании (доходы за 2023 год составили около 46 млн. 300 рублей, а среднесписочная численность – 4 человека) можно сделать вывод, что проект необходимо внедрить, поскольку экономическая эффективность и срок окупаемости достаточно высоки.
Источники литературы
Purrweb. Сколько стоит разработка программного обеспечения? [Электронный ресурс] // Purrweb: официальный сайт. – 2024. – URL: https://www.purrweb.com/ru/blog/stoimost-razrabotki-programmnogo-obespecheniya/ (дата обращения: 18.02.2025).
БелРР – Регион Ресурс. Оборудование для железнодорожного транспорта [Электронный ресурс] // Регион Ресурс: официальный сайт. – 2024. – URL: https://belrr.ru/ (дата обращения: 18.02.2025).
РТМ Технолоджи. Стоимость интеграции программного обеспечения систем безопасности [Электронный ресурс] // RTM Tech: официальный сайт. – 2024. – URL: https://rtmtech.ru/services/soft-cost/ (дата обращения: 18.02.2025).
РЖДА. Повышение квалификации по транспортной безопасности на железной дороге [Электронный ресурс] // РЖДА: официальный сайт. – 2024. – URL: https://rzda.ru/services/kafedra-tb/obuchenie-po-kursu-transportnaya-bezopasnost-na-zheleznodorozhnom-transporte/ (дата обращения: 18.02.2025).
BOAS. Техническая поддержка и IT-сопровождение [Электронный ресурс] // BOAS: официальный сайт. – 2024. – URL: https://boas.ru/stati/tehnicheskaya-podderzhka-i-it-soprovozhdenie/ (дата обращения: 18.02.2025).
TechForward. 1С:ТОИР Управление ремонтами и обслуживанием оборудования КОРП [Электронный ресурс] // TechForward: официальный сайт. – 2024. – URL: https://techforward.ru/1c/1c-toir-upravlenie-remontami-i-obsluzhivaniem-oborudovaniya-korp (дата обращения: 18.02.2025).
Информационные технологии в РЖД [Электронный ресурс] // TAdviser – URL: https://www.tadviser.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F:%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5_%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B8_%D0%B2_%D0%A0%D0%96%D0%94 (дата обращения: 18.02.2025).
NPV и IRR: расчет и применение [Электронный ресурс] // Finalytics.pro – URL: https://finalytics.pro/inform/npv-irr/ (дата обращения: 18.02.2025).
Стоимость разработки и поддержки ПО [Электронный ресурс] // RTMTech – URL: https://rtmtech.ru/services/soft-cost/ (дата обращения: 18.02.2025).
Уровень инфляции в РФ [Электронный ресурс] // Центральный банк Российской Федерации – URL: https://www.cbr.ru/hd_base/infl/ (дата обращения: 18.02.2025).
Государственная программа "Цифровая экономика Российской Федерации" [Электронный ресурс] // Правительство РФ – URL: http://static.government.ru/media/files/yHQmRAb2ZRuGFI0TdJuRAlxM39KPg4Td.pdf (дата обращения: 18.02.2025).