Статья опубликована в рамках: Научного журнала «Студенческий» № 19(357)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал
ПРОЕКТИРОВАНИЕ СИСТЕМЫ ХРАНЕНИЯ И КОНТРОЛЯ ВЕРСИЙ КОНСТРУКТОРСКОЙ ДОКУМЕНТАЦИИ В КБ «ЦЕНТР», Г. ПЕРМЬ
АННОТАЦИЯ
В статье рассматривается проектирование системы хранения и контроля версий конструкторской документации в КБ «Центр», г. Пермь. Проведён анализ аналогов, построены модель данных в нотации IDEF1x и UML-диаграмма архитектуры системы.
Ключевые слова: система контроля версий, конструкторская документация, Apache Subversion, PostgreSQL, MinIO.
В конструкторских бюро нередко возникает ситуация, когда у одного и того же файла появляется множество версий с разными названиями. Это приводит к путанице, сотрудники не могут сразу и точно определить какая версия чертежа им нужна. Происходят многочисленные ошибки. Хаос в документации – вот главный враг.
Проведенный анализ КБ «Центр» показал, что из-за отсутствия системы контроля версий в среднем каждый сотрудник тратит от 45-60 минут в день на поиск актуальной версии документа. И всё равно 2-3 раза в месяц происходят инциденты, связанные с использованием устаревшего чертежа.
Цель данного исследования – провести сравнительный анализ существующих средств для контроля версий инженерной документации и описать концепцию новой системы для КБ «Центр», которая позволит устранить хаос в многочисленных файлах.
В настоящий момент существует множество решений в области обеспечения контроля версий. Их сравнительный анализ представлен в таблице 1.
Таблица 1
Сравнение систем хранения и контроля версий
|
Параметр |
Apache Subversion |
Git |
Perforce Helix |
|---|---|---|---|
|
Архитектура |
Централизованная |
Распределенная |
Централизованная |
|
Бинарные файлы |
Используется эффективное delta-сжатие |
Нет сжатия |
Продвинутые алгоритмы сжатия |
|
Блокировка файлов |
Есть |
Нет |
Есть |
|
Производительность |
Высокая (оптимизирована для LAN) |
Средняя (лучше для WAN) |
Очень высокая |
|
Сложность изучения |
Низкая |
Высокая |
Средняя |
|
Интеграция с AD |
Встроенная |
Через доп. модули |
Встроенная |
|
Стоимость |
Бесплатно |
Бесплатно |
Дорогое лицензирование |
|
Веб-интерфейс |
Нет |
Нет |
Есть |
Каждый из рассмотренных инструментов обладает определёнными достоинствами, но ни один из них не закрывает все требования «Центра». Apache Subversion эффективно работает с бинарными файлами и поддерживает блокировки, но не предоставляет современного веб-интерфейса. Git плохо приспособлен для хранения бинарных файлов. Perforce Helix слишком дорогой и сложный для внедрения [1, c. 16-24].
Идеального решения не нашлось. Требуется собственная система. Она должна обеспечить надёжность хранения, версионность, разграничение доступа, и при этом быть адаптированной под реальные процессы конструкторского бюро. Система также должна иметь удобный веб-интерфейс, чтобы ей можно было пользоваться без установки дополнительного ПО на рабочие места инженеров.
За основу взята Internet-архитектура [2, c. 10]. В ней на стороне клиента находится браузер. Он отвечает за интерфейс пользователя, а также отправляет запросы web-серверу и получает от него ответ. На стороне web-сервера происходит обработка запросов пользователей. Web-сервер взаимодействует с сервером СУБД и S3-совместимым объектным хранилищем. На сервере СУБД находятся метаданных файлов, а объектное хранилище хранит непосредственно бинарные данные документов [3]. Web-сервер ещё подключается к Active Directory для разграничения доступа к чертежам. Взаимодействие с почтовым клиентом позволяет отправлять уведомления пользователям на электронную почту. На рисунке 1 показана архитектура системы.

Рисунок 1. Архитектура системы
Для дальнейшей проработки архитектуры системы была спроектирована логическая модель данных, представленная на рисунке 2.

Рисунок 2. Логическая модель данных в нотации IDEF1x
В основе логической модели лежит сущность «Репозиторий», содержащая базовые метаданные о хранилище документации. Каждый репозиторий включает множество файлов, которые могут иметь несколько версий. Данные файлов вынесены в отдельную сущность «ФизическийФайл», связанную с версиями через таблицу-связку. Отдельную ветку представляет журнал аудита, фиксирующий все действия пользователей с объектами системы. Подобная структура позволяет эффективно управлять версиями документов.
На основании проведенного анализа существующих ПС, была разработана концепция новой системы контроля версий и хранения конструкторской документации. Она устраняет недостатки своих аналогов и является основой для дальнейшей реализации системы.
Список литературы:
- Булычев, А. А. Система управления версиями GIT и российский сервис хранения исходного кода GitFlic : учебное пособие / А. А. Булычев. — Москва : МУИВ, 2022. — 143 с. — ISBN 978-5-9580-0635-9. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/433715 (дата обращения: 15.03.2026). — Режим доступа: для авториз. пользователей.
- Крахоткина, Е. В. Технологии разработки Internet-приложений : учебное пособие / Е. В. Крахоткина. — Ставрополь : СКФУ, 2016. — 124 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/155230 (дата обращения: 25.02.2026). — Режим доступа: для авториз. пользователей.
- Собственное S3-хранилище на базе MinIO. – Текст: электронный // pressanybutton.ru: [сайт]. – URL: https://pressanybutton.ru/post/primenenie-docker/sobstvennoe-s3-hranilishe-na-baze-minio/ (дата обращения: 09.03.2026).

