Разработка ПОГОСТ 34

Как мы избавились от копипаста в технической документации

История создателей ГОСТ-ОН: как опыт заказной разработки помог уйти от копипаста в Word к единому источнику данных

Задача

Избавиться от копипаста в технической документации по ГОСТ: перестать вручную синхронизировать сведения, версии и оформление во всем комплекте при каждом изменении требований.

Решение

Решением стала платформа ГОСТ-ОН — единый источник данных для всего комплекта документации. Сведения о системе хранятся в ней как переиспользуемые информационные сущности, а документы собираются из них по шаблонам Markdown и Jinja2 сразу в нужном формате.

Результат

146

методик обновились автоматически после изменения пяти строк шаблона

4 типа сущностей≈0 времени на оформление
Контекст

Копипаст приводил к расхождениям в документах

Больше пяти лет команда Цикл-ОН вела заказную разработку ПО по российским ГОСТам. Одни и те же сведения о системе приходилось переносить из документа в документ, а каждое изменение требований превращалось в ручную синхронизацию текста, версий и оформления во всем комплекте.

Готового инструмента, который закрыл бы все требования, не нашлось

Технический писатель

Без понимания системы работа сводилась к форматированию Word, а документы все равно дописывали аналитик и руководитель проекта

Word и макросы

Макросы помогали работать со стилями, но поля поддерживались только частично и не сохраняли связи между разными документами комплекта

Confluence

Сохранял версии, но не позволял настроить оформление по ГОСТ, а переиспользование сбивало форматирование

Google Docs

Совместная работа была удобной, но при переносе в Word оформление сбивалось, а содержимое нельзя было переиспользовать

Команде был нужен один инструмент:синхронизация версий в облаке · преднастроенные стили по ГОСТ · никакого копипаста между документами

Решение

Описывать не документы, а информационные сущности

Каждый элемент описания системы стал переменной в едином хранилище. Документ — это шаблон на Markdown и Jinja2, который собирается из переменных по запросу: в DOCX, PDF или HTML, сразу в правильных стилях по ГОСТ.

Атомарные поля

Простые данные, которые встречаются во всех документах комплекта

Название системы, заказчик, исполнитель

Списки

Плоские и вложенные перечисления, переиспользуемые между документами

Внешние ИС, документы-основания

Изображения

Схемы, скриншоты и диаграммы, привязанные к разделам документов

Компонентная и структурная схемы

Объекты

Многоатрибутные сущности с иерархией и горизонтальными связями

Модуль → функции → экранные формы

Шаблон вместо готового текста

Markdown + Jinja2

Переменные подставляются во все документы, где встречаются. Изменение вносится один раз — и транслируется на весь комплект, вплоть до вложенных циклов целых разделов технического задания.

Что изменилось

Правки перестали размножаться по документам

Три показательных ситуации из практики команды: как одна и та же задача выглядела до и после перехода на единый источник данных.

146 методик обновили правкой пяти строк

Чтобы изменить формат описания методик, команда исправила пять строк вложенного цикла в шаблоне вместо ручного переформатирования таблиц в Word

146 методик обновились автоматически

Регистрационный номер в одной переменной

Обозначение системы используется на титульных листах, в колонтитулах и обозначениях документов. Теперь оно хранится в одной переменной

Одна правка обновляет весь комплект

Форматирование перестало быть работой

Для каждого типа документа заранее настроены стили Word по ГОСТ: рамки, колонтитулы, шрифты и выравнивание применяются автоматически

Практически 0 времени на форматирование

Вывод

Единый источник правды вместо копипаста

Все описательные сущности хранятся в базе по полочкам, документ генерируется по запросу в нужном форматировании. Изменение вносится один раз — и транслируется на все документы, где встречается: без ручной синхронизации и вычитки оформления.

Хотите проверить ГОСТ-ОН на своем проекте?