first commit

This commit is contained in:
2026-10-03 23:43:38 +04:00
commit 3a8045a141
40 changed files with 6262 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
Целью работы является разработка информационной системы учёта
заявок для отдела технической поддержки. Актуальность темы обусловлена ростом числа обращений и
необходимостью их оперативной обработки [@1].
Для достижения поставленной цели необходимо решить следующие задачи:
- проанализировать предметную область и существующие решения;
- спроектировать архитектуру информационной системы;
- определить состав данных и пользовательских сценариев;
- рассчитать показатели эффективности разработанного решения.
При выполнении работы использованы методы системного анализа, объектного моделирования и
статистической обработки данных [@2]. Требования к оформлению приняты в соответствии с
действующими стандартами [@3], [@4].

107
content/02-analysis.md Normal file
View File

@@ -0,0 +1,107 @@
# АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
Раздел посвящён анализу процесса обработки обращений и обоснованию требований к информационной
системе. Рассматриваются участники процесса, информационные потоки и ограничения предметной
области.
## Обзор процесса обработки обращений
Процесс обработки заявки включает регистрацию, классификацию, назначение исполнителя и закрытие.
Схема процесса приведена на рисунке @fig:architecture.
::: figure "Схема процесса обработки обращений" id=architecture file=images/architecture.png
а) обозначение информационного потока;
б) блоки этапов обработки.
:::
Среднее время обработки одной заявки до внедрения системы составляло 46 минут. Распределение
обращений по категориям представлено в таблице @tbl:categories.
::: table "Распределение обращений по категориям" id=categories
| Категория обращения | Количество, шт. | Доля, % |
|---|---|---|
| Консультация | 420 | 28,0 |
| Настройка оборудования | 315 | 21,0 |
| Восстановление доступа | 270 | 18,0 |
| Программная ошибка | 210 | 14,0 |
| Установка программного обеспечения | 135 | 9,0 |
| Сетевые подключения | 90 | 6,0 |
| Прочие обращения | 60 | 4,0 |
| Итого | 1500 | 100,0 |
:::
Структура обращений по приоритетам приведена в таблице @tbl:priorities.
::: table "Обращения по приоритетам" id=priorities
| Приоритет | Количество, шт. | Норматив реакции, мин |
|---|---|---|
| Критический | 75 | 15 |
| Высокий | 225 | 30 |
| Средний | 600 | 60 |
| Низкий | 600 | 120 |
| Итого | 1500 | — |
:::
## Показатели эффективности
Для оценки эффективности применяется коэффициент снижения трудозатрат, рассчитываемый по
формуле @eq:efficiency.
::: formula id=efficiency
K = (T_base - T_new)/T_base
:::
::: where
K — коэффициент снижения трудозатрат;
T_base — среднее время обработки заявки до внедрения, мин;
T_new — среднее время обработки заявки после внедрения, мин.
:::
Значения исходных данных для расчёта приведены в таблице @tbl:baseline.
::: table "Исходные данные для расчёта эффективности" id=baseline
| Показатель | Обозначение | Значение |
|---|---|---|
| Среднее время до внедрения, мин | T_base | 46 |
| Среднее время после внедрения, мин | T_new | 18 |
| Число обращений в месяц, шт. | N | 125 |
| Стоимость часа работы, руб. | C | 420 |
| Число рабочих часов в месяце, ч | H | 164 |
| Коэффициент накладных расходов | k | 0,35 |
| Годовой фонд рабочего времени, ч | F | 1970 |
| Нормативный срок окупаемости, лет | T_ok | 3 |
| Доля автоматизируемых операций | d | 0,72 |
| Коэффициент потерь рабочего времени | p | 0,08 |
:::
## Обзор существующих решений
Сравнительная характеристика существующих решений приведена в таблице @tbl:comparison. Анализ
выполнен на основе открытых источников [@5], [@6].
::: table "Сравнение существующих решений" id=comparison
| Критерий | Решение A | Решение B | Решение C | Разрабатываемое решение |
|---|---|---|---|---|
| Стоимость лицензии | Высокая | Средняя | Низкая | Низкая |
| Открытый исходный код | Нет | Да | Да | Да |
| Русскоязычный интерфейс | Да | Нет | Да | Да |
| Интеграция по API | Ограниченная | Полная | Частичная | Полная |
| Модуль отчётности | Да | Нет | Да | Да |
| Развёртывание локально | Только облако | Да | Да | Да |
| Поддержка ОС | Windows | Linux | Кроссплатформенная | Кроссплатформенная |
| Стоимость владения | Высокая | Низкая | Средняя | Низкая |
| Срок внедрения, мес | 6 | 4 | 3 | 2 |
| Техническая поддержка | Платная | Сообщество | Платная | Внутренняя |
:::
::: note
Выбор решения выполнен по совокупности функциональных и экономических критериев.
:::
## Термины и определения
::: definitions
Заявка — обращение пользователя, зарегистрированное в информационной системе;
Исполнитель — сотрудник, назначенный ответственным за обработку заявки;
Регламент — документ, определяющий порядок и сроки обработки обращений.
:::

126
content/03-design.md Normal file
View File

@@ -0,0 +1,126 @@
# ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ
В разделе описаны архитектура, модель данных и пользовательские сценарии разрабатываемой
информационной системы.
## Архитектура системы
Система построена по трёхуровневой архитектуре. Взаимодействие компонентов показано на
рисунке @fig:data-flow.
::: figure "Схема информационных потоков" id=data-flow file=images/data-flow.png
а) направление передачи данных;
б) компоненты системы.
:::
Состав программных модулей приведён в таблице @tbl:modules.
::: table "Состав программных модулей" id=modules
| Модуль | Назначение | Технология |
|---|---|---|
| Веб-интерфейс | Отображение рабочих экранов оператора | React |
| API-шлюз | Обработка HTTP-запросов клиентов | Node.js |
| Модуль заявок | Жизненный цикл обращения | Node.js |
| Модуль уведомлений | Рассылка оповещений исполнителям | Node.js |
| Модуль отчётности | Формирование отчётов за период | Node.js |
| Служба аутентификации | Проверка учётных данных | JWT |
| Хранилище данных | Хранение заявок и справочников | PostgreSQL |
| Кэш | Ускорение чтения справочников | Redis |
| Очередь сообщений | Асинхронная обработка событий | RabbitMQ |
| Сборщик журналов | Централизованное логирование | ELK |
| Планировщик | Периодические задачи и отчёты | Cron |
| Модуль интеграции | Обмен данными с внешними системами | REST |
:::
## Модель данных
Основные сущности предметной области и их атрибуты приведены в таблице @tbl:entities.
::: table "Основные сущности и атрибуты" id=entities
| Сущность | Атрибут | Тип | Обяз. | Описание |
|---|---|---|---|---|
| Заявка | id | Целое | Да | Уникальный идентификатор |
| Заявка | subject | Строка | Да | Тема обращения |
| Заявка | description | Текст | Да | Описание проблемы |
| Заявка | category_id | Целое | Да | Ссылка на категорию |
| Заявка | priority_id | Целое | Да | Ссылка на приоритет |
| Заявка | assignee_id | Целое | Нет | Ссылка на исполнителя |
| Заявка | created_at | Дата/время | Да | Момент регистрации |
| Заявка | closed_at | Дата/время | Нет | Момент закрытия |
| Категория | id | Целое | Да | Уникальный идентификатор |
| Категория | name | Строка | Да | Наименование категории |
| Приоритет | id | Целое | Да | Уникальный идентификатор |
| Приоритет | name | Строка | Да | Наименование приоритета |
| Приоритет | reaction_min | Целое | Да | Норматив реакции, мин |
| Пользователь | id | Целое | Да | Уникальный идентификатор |
| Пользователь | full_name | Строка | Да | Фамилия, имя, отчество |
:::
Связи между сущностями описаны в таблице @tbl:relations.
::: table "Связи между сущностями" id=relations
| Связь | Тип | Описание |
|---|---|---|
| Заявка — Категория | Многие к одному | Заявка относится к одной категории |
| Заявка — Приоритет | Многие к одному | Заявка имеет один приоритет |
| Заявка — Пользователь | Многие к одному | Заявка назначена одному исполнителю |
| Заявка — Комментарий | Один ко многим | Заявка содержит комментарии |
| Пользователь — Роль | Многие ко многим | Пользователь может иметь роли |
| Категория — Подкатегория | Один ко многим | Категория содержит подкатегории |
:::
## Пользовательские сценарии
Интерфейс списка заявок приведён на рисунке @fig:interface.
::: figure "Интерфейс списка заявок" id=interface file=images/interface.png
а) область навигации;
б) табличное представление данных.
:::
Зависимость трудозатрат от выбранной стратегии обработки показана на рисунке @fig:chart.
::: figure "Зависимость трудозатрат от стратегии обработки" id=chart file=images/chart.png
Оценка получена по результатам пилотной эксплуатации.
:::
Экономия времени за месяц вычисляется по формуле @eq:gain.
::: formula id=gain
G = (T_base - T_new)*N
:::
::: where
G — экономия времени за месяц, мин;
N — число обращений в месяц.
:::
К системе предъявляются следующие требования:
- функциональные:
1. регистрация и классификация заявок;
2. назначение исполнителя и контроль сроков;
3. формирование отчётов за период.
- нефункциональные:
1. время отклика не более двух секунд;
2. одновременная работа не менее ста пользователей.
## Особенности реализации
При проектировании учтены ограничения, перечисленные в таблице @tbl:constraints.
::: table "Ограничения и меры" id=constraints
| Ограничение | Влияние | Мера |
|---|---|---|
| Ограниченный бюджет | Сужение выбора технологий | Применение открытых библиотек |
| Сжатые сроки | Риск неполной реализации | Итеративная разработка |
| Нагрузка до 100 пользователей | Требования к производительности | Кэширование и индексы |
| Устаревшее оборудование | Ограничение ресурсов | Облегчённый веб-интерфейс |
| Разрозненные данные | Сложность интеграции | Единая модель данных |
| Требования безопасности | Дополнительные проверки | Аутентификация и журналирование |
:::
::: notes
Оценка выполнена для среднего месяца пилотной эксплуатации.
Отклонение фактических значений не превышает десяти процентов.
:::

12
content/04-conclusion.md Normal file
View File

@@ -0,0 +1,12 @@
В ходе работы проанализирована предметная область, спроектирована архитектура информационной
системы и определены показатели эффективности [@6], [@7].
Основные результаты работы:
- выполнена классификация обращений и определены их приоритеты;
- разработана модель данных и описаны пользовательские сценарии;
- рассчитан коэффициент снижения трудозатрат.
Применение информационной системы позволяет сократить среднее время обработки заявки с 46 до
18 минут, что подтверждает достижение поставленной цели. Единицы измерений приведены в
соответствии с действующим стандартом [@8].

View File

@@ -0,0 +1,8 @@
- ГОСТ 7.32-2017. Система стандартов по информации, библиотечному и издательскому делу. Отчёт о научно-исследовательской работе. Структура и правила оформления. — М. : Стандартинформ, 2017. — 32 с.
- ГОСТ Р 7.0.5-2008. Библиографическая ссылка. Общие требования и правила составления. — М. : Стандартинформ, 2008. — 23 с.
- Иванов, И. И. Управление ИТ-сервисами : учебное пособие / И. И. Иванов. — Самара : Изд-во Самарского университета, 2019. — 184 с.
- Петров, П. П. Обзор систем Service Desk / П. П. Петров // Информационные технологии. — 2020. — № 4. — С. 25–33.
- Смирнова, А. А. Практика внедрения ITSM-решений / А. А. Смирнова. — М. : ДМК Пресс, 2021. — 256 с.
- Сидоров, С. С. Оценка эффективности информационных систем / С. С. Сидоров // Вестник информатики. — 2018. — Т. 12, № 2. — С. 45–52.
- Открытые ITSM-системы [Электронный ресурс]. — URL: https://example.org/itsm (дата обращения: 01.02.2026).
- ГОСТ 8.417-2002. Государственная система обеспечения единства измерений. Единицы величин. — М. : Стандартинформ, 2002. — 32 с.

38
content/06-appendix-a.md Normal file
View File

@@ -0,0 +1,38 @@
Сводные данные по обращениям за отчётный период приведены в таблице @tbl:app-a1.
::: table "Сводные данные по обращениям" id=app-a1
| Номер | Дата регистрации | Категория | Приоритет | Исполнитель | Статус | Время, мин |
|---|---|---|---|---|---|---|
| 1001 | 03.02.2026 | Консультация | Низкий | Орлова А. А. | Закрыта | 12 |
| 1002 | 03.02.2026 | Восстановление доступа | Высокий | Крылов И. И. | Закрыта | 24 |
| 1003 | 04.02.2026 | Программная ошибка | Критический | Никитин П. П. | Закрыта | 41 |
| 1004 | 04.02.2026 | Настройка оборудования | Средний | Орлова А. А. | Закрыта | 33 |
| 1005 | 05.02.2026 | Установка ПО | Низкий | Гусев Д. Д. | Закрыта | 18 |
| 1006 | 05.02.2026 | Сетевые подключения | Высокий | Крылов И. И. | Закрыта | 27 |
| 1007 | 06.02.2026 | Консультация | Низкий | Гусев Д. Д. | Закрыта | 9 |
| 1008 | 06.02.2026 | Программная ошибка | Критический | Никитин П. П. | Закрыта | 38 |
| 1009 | 07.02.2026 | Восстановление доступа | Средний | Орлова А. А. | Закрыта | 21 |
| 1010 | 07.02.2026 | Прочие обращения | Низкий | Гусев Д. Д. | Закрыта | 15 |
| 1011 | 10.02.2026 | Настройка оборудования | Высокий | Крылов И. И. | Закрыта | 30 |
| 1012 | 10.02.2026 | Консультация | Низкий | Орлова А. А. | Закрыта | 11 |
| 1013 | 11.02.2026 | Программная ошибка | Средний | Никитин П. П. | Закрыта | 35 |
| 1014 | 11.02.2026 | Сетевые подключения | Критический | Крылов И. И. | Закрыта | 44 |
| 1015 | 12.02.2026 | Установка ПО | Низкий | Гусев Д. Д. | Закрыта | 19 |
| 1016 | 12.02.2026 | Восстановление доступа | Высокий | Орлова А. А. | Закрыта | 26 |
| 1017 | 13.02.2026 | Консультация | Низкий | Гусев Д. Д. | Закрыта | 10 |
| 1018 | 13.02.2026 | Прочие обращения | Средний | Никитин П. П. | Закрыта | 29 |
| 1019 | 14.02.2026 | Настройка оборудования | Высокий | Крылов И. И. | Закрыта | 32 |
| 1020 | 14.02.2026 | Консультация | Низкий | Орлова А. А. | Закрыта | 13 |
:::
Детализация по исполнителям приведена в таблице @tbl:app-a2.
::: table "Детализация по исполнителям" id=app-a2
| Исполнитель | Отдел | Закрыто заявок | Среднее время, мин | Доля, % |
|---|---|---|---|---|
| Орлова А. А. | Первая линия | 164 | 15 | 32,8 |
| Крылов И. И. | Вторая линия | 138 | 27 | 27,6 |
| Никитин П. П. | Вторая линия | 112 | 38 | 22,4 |
| Гусев Д. Д. | Первая линия | 86 | 14 | 17,2 |
| Итого | — | 500 | 23 | 100,0 |
:::

18
content/07-appendix-b.md Normal file
View File

@@ -0,0 +1,18 @@
Схема размещения компонентов системы приведена на рисунке @fig:app-b1.
::: figure "Схема размещения компонентов" id=app-b1 file=images/appendix-scheme.png
а) узлы развёртывания;
б) связи между узлами.
:::
Параметры конфигурации стенда приведены в таблице @tbl:app-b1.
::: table "Параметры конфигурации стенда" id=app-b1
| Компонент | Процессор | Память, ГБ | Диск, ГБ | Назначение |
|---|---|---|---|---|
| Сервер приложений | 4 ядра | 8 | 40 | Выполнение API и логики |
| Сервер БД | 8 ядер | 16 | 200 | Хранение данных |
| Сервер кэша | 2 ядра | 4 | 20 | Кэширование справочников |
| Сервер очередей | 2 ядра | 4 | 20 | Асинхронные сообщения |
| Узел журналирования | 2 ядра | 8 | 100 | Сбор и хранение логов |
:::

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.