3. Разработка программного обеспечения
Обновлено: 07 Декабрь 2025
Версия: 2.2
3.1. Процесс разработки
Процесс разработки программного обеспечения включает следующие этапы:
- Постановка задачи:
- Формулирование бизнес-задачи
- Описание требований к функциональности
- Определение критериев приемки
- Планирование архитектуры:
- Детальное проектирование решения
- Определение компонентов и модулей
- Планирование этапов реализации
- Разработка:
- Реализация функциональности согласно проекту
- Следование стандартам кодирования
- Использование системы контроля версий (Git)
- Создание модульных компонентов
- Код-ревю:
- Проверка кода другими разработчиками
- Проверка соответствия стандартам кодирования
- Проверка архитектурных решений
- Выявление потенциальных проблем и улучшений
- Тестирование:
- Модульное тестирование
- Интеграционное тестирование
- Функциональное тестирование
- Проверка соответствия требованиям
- Документирование:
- Обновление технической документации
- Обновление руководства пользователя (при необходимости)
- Обновление руководства администратора (при необходимости)
- Документирование изменений в changelog
- Публикация:
- Подготовка релиза
- Создание тега версии в системе контроля версий
- Публикация новой версии
3.2. Технологический стек
Разработка ведется с использованием следующих технологий:
- Backend: Python 3.10+, Django 5.2.7, Django REST Framework
- База данных: PostgreSQL 14+ с расширением pgvector
- Кэширование и очереди: Redis 5.0+
- Frontend: HTML5, CSS3, JavaScript (ES6+), HTMX, Bootstrap 5
- Асинхронные задачи: Celery 5.3.4
- WebSocket: Django Channels
- Машинное обучение: PyTorch, sentence-transformers
3.3. Система контроля версий
Разработка ведется с использованием системы контроля версий Git через платформу Gitea.
Характеристики системы хранения исходного кода:
- Наименование: Gitea
- Тип: Система управления репозиториями Git
- Расположение: Локальная сеть организации
- Доступность: Доступна только из локальной сети организации
- Адрес нахождения системы: 115088, г. Москва, 2-я ул. Машиностроения, дом 25, стр. 5
Хранимые данные:
- Исходный код программного обеспечения (файлы с расширениями .py, .js, .html, .css, .scss и другие)
- Файлы конфигурации (requirements.txt, package.json, gulpfile.js и другие)
- Файлы документации
- История изменений исходного кода
- Метаданные репозитория (ветки, теги, коммиты)
Безопасность:
- Доступ к репозиторию ограничен локальной сетью организации
- Используется система аутентификации и авторизации Gitea
- LDAP-авторизация для централизованного управления учетными записями
- Двухфакторная аутентификация (2FA) для дополнительной защиты
Резервное копирование:
- Резервное копирование репозитория выполняется ежедневно один раз в день
- Время выполнения резервного копирования: 04:00 по московскому времени
- Резервные копии хранятся в соответствии с политикой резервного копирования организации
3.4. Версионирование
Система использует семантическое версионирование в формате X.Y.Z, где:
- X - версия API (изменяется при несовместимых изменениях API)
- Y - новый функционал (изменяется при добавлении нового функционала)
- Z - исправления (изменяется при исправлении ошибок)
Пример: версия 1.2.3 означает версию API 1, второй релиз с новым функционалом, третье исправление.