Техническое задание
на разработку программного комплекса «NARMAK»
Документ: Техническое задание (ТЗ)
Наименование системы: Программный комплекс автоматизации управления производственным предприятием «NARMAK»
Версия документа: 2.0
Дата: 2020 год (актуализировано: февраль 2026 г.)
Заказчик: [Наименование компании]
Разработчик: ИП [ФИО разработчика]
1. Общие сведения
1.1. Наименование системы
Программный комплекс автоматизации управления производственным предприятием «NARMAK» (далее — Система, ПК «NARMAK»).
1.2. Основание для разработки
Договор на разработку программного обеспечения № ___ от «_» _________ 20 г., заключённый между [Наименование компании] (Заказчик) и ИП [ФИО] (Разработчик).
1.3. Назначение системы
Система предназначена для комплексной автоматизации операционного управления производственным предприятием, включая производство, складскую логистику, продажи, закупки, финансовый учёт, управление персоналом и взаимодействие с контрагентами.
1.4. Плановые сроки разработки
- Начало разработки: 2020 год
- Поэтапное введение в эксплуатацию: 2020–2025 гг.
- Система находится в активной стадии развития
2. Требования к системе
2.1. Требования к функциям системы
2.1.1. Модуль управления производством
- Ведение производственных заданий с привязкой к заказам
- Управление нормами расхода сырья и материалов
- Диаграммы Ганта для планирования производственного графика
- Отчёты по объёму выпуска продукции в разрезе номенклатуры, периодов, сотрудников
- Управление производственными нуждами (потребностями в материалах)
- Интеграция с BPM-движком Camunda для автоматизации регламентов
- Учёт брака и несоответствий
2.1.2. Модуль управления складом
- Адресное хранение: зонирование склада, ячейки, ряды
- Управление остатками в разрезе SKU, партий, сроков годности
- Операции: приёмка, отгрузка, перемещение, списание, инвентаризация
- Поддержка сканирования штрих-кодов и QR-кодов (ZXing)
- Мобильный интерфейс для складских работников
- Интеграция с документооборотом (накладные, акты)
2.1.3. Модуль документооборота
- Создание документов по настраиваемым шаблонам (накладные, акты, счета, договоры)
- Генерация документов в форматах PDF (WeasyPrint) и Word (DocxTPL)
- Электронное согласование документов (маршруты согласования через Camunda)
- Связанные документы: автоматическое создание связанных записей
- История версий и изменений документов
- Электронный архив с поиском
2.1.4. Модуль управления продажами
- Ведение базы клиентов (CRM)
- Воронка продаж: лиды → предложения → заказы → отгрузки
- Формирование коммерческих предложений
- Управление заказами клиентов (статусы, позиции, условия оплаты)
- Контроль дебиторской задолженности
- Интеграция с маркетплейсами (Wildberries, Ozon)
2.1.5. Модуль управления закупками
- Планирование закупок на основе потребностей производства и склада
- Реестр поставщиков с оценкой
- Заявки на закупку, согласование
- Заказы поставщикам: создание, отправка, контроль исполнения
- Сравнение коммерческих предложений от поставщиков
2.1.6. Финансовый модуль
- Платёжный календарь: план и факт по платежам
- Счета на оплату и контроль оплаты
- Банковские выписки: загрузка и сверка
- Управленческий учёт: центры финансовой ответственности
- Межкомпанийные расчёты
- Финансовая отчётность (P&L, Cash Flow, баланс)
2.1.7. Модуль управления контрагентами
- Единый реестр клиентов и поставщиков
- Юридические досье: реквизиты, документы, история взаимодействий
- Автозаполнение реквизитов из DaData
- Кредитные лимиты и условия работы
- Личный кабинет контрагента (отдельное веб-приложение)
2.1.8. Модуль управления договорами
- Реестр договоров с контрагентами
- Статусы согласования договоров
- Контроль сроков действия и пролонгации
- Шаблоны договоров
- Хранение скан-копий
2.1.9. Модуль интеграции с маркетплейсами
- Двусторонняя синхронизация остатков с Wildberries и Ozon
- Загрузка заказов с маркетплейсов в единую очередь обработки
- Управление ценами на маркетплейсах
- Аналитика продаж по каналам
2.1.10. HR-модуль (управление персоналом)
- Организационная структура предприятия
- Личный кабинет сотрудника
- Учёт задолженностей сотрудников перед предприятием
- Управление лидами по персоналу
2.1.11. ATS (Applicant Tracking System)
- Воронка найма: вакансии → отклики → собеседования → оффер → найм
- Карточки кандидатов с историей взаимодействий
- Статусы и этапы подбора
- Интеграция с источниками вакансий
2.1.12. LMS (Learning Management System)
- Каталог учебных курсов
- Треки развития сотрудников
- Тесты и оценка знаний
- Статистика прохождения обучения
2.1.13. TMS (Transport Management System)
- Управление транспортными средствами
- Планирование маршрутов доставки
- Назначение водителей на рейсы
- Учёт расходов на логистику
2.1.14. Модуль технического обслуживания (Plant Maintenance)
- Реестр оборудования
- Плановые графики технического обслуживания
- Заявки на ремонт и их исполнение
- История обслуживания оборудования
2.1.15. Модуль контроля качества
- Чеклисты проверки качества продукции
- HACCP-журналы для пищевого производства
- Акты несоответствий и претензий
- Аналитика по браку
2.1.16. Модуль коммуникаций и уведомлений
- Внутренние обсуждения, привязанные к объектам системы (документам, задачам)
- Интеграция с Telegram: бот для уведомлений и быстрых ответов
- Push-уведомления в браузере (WebSocket)
- Email-уведомления о событиях
2.1.17. Модуль аналитики и отчётности
- Управленческие дашборды с ключевыми показателями
- Настраиваемые отчёты в форматах Excel (OpenPyXL) и PDF
- Диаграммы Ганта по производству и проектам
- Задачи и управление проектами
2.2. Требования к надёжности
- Доступность системы: не менее 99,5% в рабочее время
- Время восстановления после сбоя: не более 30 минут
- Резервное копирование данных: ежедневное автоматическое
- Целостность данных: транзакционная обработка на уровне СУБД
2.3. Требования к производительности
- Время отклика на запросы пользователя: не более 3 секунд при стандартной нагрузке
- Одновременная работа: не менее 100 пользователей
- Хранение данных: не менее 5 лет без деградации производительности
2.4. Требования к безопасности
- Аутентификация: JWT-токены (JSON Web Tokens)
- Авторизация: ролевая модель доступа (RBAC) — управление правами на уровне модулей и объектов
- Шифрование данных при передаче: HTTPS (TLS 1.2+)
- Журналирование действий пользователей
- Изоляция данных разных организаций (мультиарендность)
2.5. Требования к масштабируемости
- Горизонтальное масштабирование серверной части
- Использование Redis для кэширования и управления сессиями
- Kafka — для асинхронной обработки событий при высокой нагрузке
- Контейнеризация (Docker) для развёртывания
3. Требования к архитектуре
3.1. Общая архитектура системы
┌─────────────────────────────────────────────────────────┐
│ Клиентский уровень │
│ Web Browser (Angular PWA) │ Mobile (PWA/Responsive) │
└───────────────────┬─────────────────────────────────────┘
│ HTTPS / WebSocket
┌───────────────────▼─────────────────────────────────────┐
│ Серверный уровень │
│ Django 5.1 + DRF │ Daphne (ASGI/WebSocket) │
│ Celery Workers │ Django Channels │
└───────┬─────────────────────────────┬───────────────────┘
│ │
┌───────▼────────┐ ┌────────────▼──────────────────┐
│ PostgreSQL │ │ Redis (Cache + Broker) │
│ (основная БД) │ │ Apache Kafka (Event Bus) │
└────────────────┘ └───────────────────────────────┘
│
┌───────▼──────────────────────────────────────────────┐
│ Внешние интеграции │
│ Camunda BPM │ Telegram Bot │ DaData │ Ozon │
│ Wildberries │ │
└──────────────────────────────────────────────────────┘3.2. Технологический стек
Backend
| Компонент | Технология | Версия |
|---|---|---|
| Язык программирования | Python | 3.10+ |
| Веб-фреймворк | Django | 5.1.4 |
| REST API | Django REST Framework | 3.15.2 |
| WebSocket | Django Channels / Daphne | 4.0.0 |
| Асинхронные задачи | Celery | 5.2.3 |
| СУБД | PostgreSQL | 14+ |
| Кэш / Брокер | Redis | 7+ |
| Шина данных | Apache Kafka | — |
| BPM | Camunda | 7.x |
| Генерация PDF | WeasyPrint | 66.0 |
| Генерация Word | DocxTPL | 0.16.7 |
| Excel | OpenPyXL | 3.0.10 |
| Мессенджер | PyTelegramBotAPI | 4.7.1 |
| Реквизиты | DaData | 21.10.1 |
| API-документация | DRF YASG (Swagger) | 1.21.4 |
Frontend
| Компонент | Технология | Версия |
|---|---|---|
| Фреймворк | Angular | 18.0.0 |
| Монорепозиторий | Nx | — |
| Управление состоянием | Akita | 8.0.1 |
| UI-библиотека | PrimeNG | 17.18.15 |
| UI-библиотека | Taiga UI | 3.95.2 |
| CSS-фреймворк | Bootstrap | 5.2.3 |
| Реактивность | RxJS | 7.5.0 |
| Динамические формы | Formly | 6.3.1 |
| Графики | Chart.js / ApexCharts / D3.js | 4 / 3 / 7 |
| PDF-генерация | jsPDF | 2.5.1 |
| Excel | XLSX | 0.18.5 |
| Редактор текста | Quill / TinyMCE | 1.3.7 / 8.0.1 |
| QR-коды | ZXing | — |
| OCR | Tesseract.js | 5.1.0 |
3.3. Принципы разработки
- Feature-Based Architecture — организация кода по функциональным доменам
- Screaming Architecture — структура кода явно отражает бизнес-предметную область
- SOLID — принципы объектно-ориентированного проектирования
- KISS — минимизация сложности решений
- Dependency Injection — инверсия зависимостей для тестируемости и гибкости
3.4. Open Source компоненты
Система использует следующие open source библиотеки и фреймворки:
| Компонент | Лицензия | Назначение |
|---|---|---|
| Django | BSD-3-Clause | Веб-фреймворк Backend |
| Django REST Framework | BSD-2-Clause | REST API |
| Celery | BSD | Асинхронные задачи |
| Redis | BSD | Кэш, брокер сообщений |
| PostgreSQL | PostgreSQL License | СУБД |
| Django Channels | BSD | WebSocket |
| Pandas | BSD | Обработка данных |
| NumPy | BSD | Математические вычисления |
| WeasyPrint | BSD | Генерация PDF |
| Angular | MIT | Frontend-фреймворк |
| RxJS | Apache 2.0 | Реактивное программирование |
| PrimeNG | MIT | UI-компоненты |
| Taiga UI | Apache 2.0 | UI-компоненты |
| Chart.js | MIT | Графики |
| D3.js | ISC | Визуализация данных |
| Tesseract.js | Apache 2.0 | OCR |
| Camunda BPM | Apache 2.0 | BPM (Community Edition) |
| Apache Kafka | Apache 2.0 | Шина данных |
Все используемые open source компоненты имеют лицензии, допускающие коммерческое использование.
4. Требования к интерфейсу пользователя
- Веб-интерфейс: современный SPA (Single Page Application) на Angular
- Адаптивный дизайн: поддержка экранов от 768px (планшеты) до 4K мониторов
- Поддержка браузеров: Chrome, Firefox, Safari, Edge (последние 2 версии)
- Язык интерфейса: русский
- Доступность: соответствие базовым стандартам WCAG 2.1 Level A
- Тёмная / светлая тема (в зависимости от приложения)
- Rich Text редактор для текстовых полей (Quill/TinyMCE)
- Работа в режиме реального времени (WebSocket): обновление данных без перезагрузки страницы
5. Порядок сдачи-приёмки работ
Приёмка выполненных работ осуществляется поэтапно по мере реализации функциональных модулей. По каждому этапу подписывается Акт приёмки-передачи выполненных работ.
Критерии приёмки:
- соответствие реализованной функциональности требованиям настоящего ТЗ;
- отсутствие критических ошибок, препятствующих использованию функций;
- наличие исходного кода в системе контроля версий (Git).
Техническое задание составлено: 2020 год
Актуализировано: февраль 2026 г.
Заказчик: [Наименование компании] / [ФИО руководителя] / _______________
Разработчик: ИП [ФИО] / _______________