Описание процессов, обеспечивающих поддержание жизненного цикла программного обеспечения «Uniday Watchdog»


0. Соответствие процессов разделам документа

Процесс (по перечню оператора / ГОСТ Р ИСО/МЭК 12207-2010)Раздел
Проектирование2
Разработка (конструирование), менеджмент конфигурации3, 3.1
Приобретение (сторонние компоненты)3.2
Тестирование4
Сборка и поставка5
Поставка лицензий (выдача, продление, перевыпуск, отзыв лицензионных ключей)5.4
Эксплуатация6
Документирование, обучение пользователей7
Поддержка версий и доработка8, 10
Устранение сбойных ситуаций (решение проблем)9
Персонал и его квалификация11
Фактические адреса разработки, инфраструктуры и поддержки12

1. Общие сведения

ПараметрЗначение
Наименование ПОUniday Watchdog
ПравообладательОбщество с ограниченной ответственностью «Юнидэй» (ООО «Юнидэй»), ОГРН 1146454003739, ИНН 6454142737
Актуальная версия на дату документа1.2.32 (на 04.10.2026)
НазначениеМониторинг работы прикладных программ на рабочих станциях (в том числе экспозиционных стендах музеев) и их автоматический перезапуск при завершении, зависании или по расписанию; уведомления, обновление контролируемых программ
РедакцииОдин исполняемый файл, две редакции: «Watchdog» — бесплатно, без лицензионного ключа (наблюдение за одной программой, самообновление); «Watchdog Про» — по лицензионному ключу (обновление контролируемых программ, почтовые уведомления, наблюдение за несколькими программами)
Платформа исполненияОС Windows 10/11, x64. Версия для ОС семейства Linux (Astra Linux SE, РЕД ОС, Альт Рабочая станция К) разработана и проходит проверку; совместимость будет подтверждена до 01.01.2027 (план модернизации, п. 10)
Средства разработкиЯзык C# 12, платформа .NET 8, UI-фреймворк Avalonia 12

Гарантийное обслуживание, техническая поддержка и модернизация ПО осуществляются правообладателем — российским юридическим лицом ООО «Юнидэй» — силами собственного персонала (п. 11). Привлечение иностранных организаций к поддержке ПО не осуществляется.

2. Процесс проектирования

  • Требования к новой функциональности формулируются по обращениям пользователей и по результатам эксплуатации ПО на объектах заказчиков.
  • Для каждой существенной функции до начала разработки составляется проектный документ (техническое решение): назначение, архитектурные решения с обоснованием, рассмотренные альтернативы, риски, поэтапный план реализации, критерии проверки. Проектные документы хранятся в репозитории исходного кода вместе с кодом, например: обновление контролируемых программ, самообновление, наблюдение за несколькими программами, мониторинг памяти, переносимость установки.
  • Архитектура ПО описана в отдельном документе, который актуализируется при изменении архитектуры. ПО построено по многослойной схеме: ядро (модели, бизнес-логика, абстракции — без зависимостей от ОС) → реализации для конкретной ОС, подсистема уведомлений, подсистема удалённого управления, подсистема обновлений → графический интерфейс. Такая схема обеспечивает тестируемость ядра и переносимость на другие ОС.
  • Перечень запланированных работ ведётся в документе-плане: работы проходят статусы «бэклог» → «в очереди» → «в работе» → «выполнено», после чего переносятся в журнал изменений.

3. Процесс разработки

  • Система контроля версий — Git. Весь исходный код, проектная документация, скрипты сборки и тесты хранятся в едином закрытом репозитории на российском сервисе GitFlic (https://gitflic.ru/project/uniday/watchdog, серверы в РФ) — см. документ «Сведения о технических средствах хранения и компиляции исходного текста и объектного кода…».
  • Ветвление: основная ветка разработки — develop; стабильная ветка — master; функциональность, разработка которой занимает несколько рабочих сессий, ведётся в отдельных ветках feature/<название> с последующим слиянием в основную ветку.
  • Фиксация изменений: одна фиксация (коммит) — одно логически законченное изменение; сообщение фиксации содержит тип изменения (feat — новая функция, fix — исправление, docs — документация и т. п.) и краткое описание. В фиксацию не включаются артефакты сборки, журналы и пользовательские конфигурационные файлы (контролируется файлом .gitignore).
  • Соглашения о коде зафиксированы в документе правил проекта (именование, структура файлов, правила зависимостей между слоями, язык интерфейса — русский) и механически проверяются средой разработки по файлу .editorconfig.
  • Проверка кода (code review): каждое изменение проверяется перед фиксацией (соответствие правилам проекта, отсутствие нарушений зависимостей между слоями, наличие тестов). Дополнительно периодически проводятся полные ревизии кодовой базы; найденные дефекты оформляются в план исправлений с описанием, способом исправления и методом проверки, выполнение плана отслеживается до закрытия всех пунктов.
  • Статистика: разработка ведётся с 25.04.2026; на 04.10.2026 в репозитории 285 фиксаций.

3.1 Менеджмент конфигурации

  • Объекты конфигурации: исходный текст всех модулей, разметка интерфейса, тесты, сценарий сборки, проектная и пользовательская документация, перечень сторонних компонентов с зафиксированными версиями (в файлах проектов).
  • Идентификация: каждое состояние ПО однозначно определяется фиксацией (хешем) в репозитории; каждый выпуск — номером версии (п. 8), который сборка берёт из единственного файла с номером версии в исходном тексте и записывает в метаданные исполняемого файла.
  • Управление изменениями: изменения вносятся только фиксациями в репозиторий (п. 3) с проверкой (code review); сборка выпуска невозможна при незафиксированных изменениях (п. 5.1).
  • Учёт состояния: журнал изменений по датам (п. 8), план работ (п. 2).
  • Хранение и резервирование: репозиторий на GitFlic и локальная копия на компьютере сборки (оба — в РФ); выпущенные дистрибутивы с контрольными суммами SHA-256 — в папке выпусков правообладателя (п. 5.2).

3.2 Приобретение (выбор сторонних компонентов)

  • Сторонние компоненты (библиотеки) используются только со свободными разрешительными лицензиями, не ограничивающими распространение и использование ПО на всей территории РФ; компоненты с копилефт-лицензиями (GPL, AGPL) и компоненты с экспортными ограничениями не применяются.
  • Перед подключением нового компонента проверяются: лицензия и правообладатель, отсутствие территориальных ограничений, отсутствие обращений к зарубежным серверам во время работы ПО; компонент вносится в перечень сторонних компонентов (документ «Перечень используемых сторонних компонентов»), обязательные уведомления лицензий — в файл уведомлений дистрибутива.
  • Выплат иностранным лицам по лицензионным и иным договорам, связанным с разработкой, модификацией и адаптацией ПО, правообладатель не производит (п. 5 «в» Правил).

4. Процесс тестирования

4.1 Автоматизированное тестирование

  • Модульные и интеграционные тесты на фреймворке xUnit, 6 тестовых проектов (по одному на каждый модуль ПО: ядро, инфраструктура, уведомления, удалённое управление, обновления, графический интерфейс) и общий проект вспомогательных средств (имитаторы часов, процессов, хранилищ конфигурации и т. п.). Внутренняя программа выдачи лицензионных ключей (в состав ПО не входит) покрыта двумя отдельными тестовыми проектами.
  • На 04.10.2026 — около 1 300 тестовых методов. Тестами покрыты: политики перезапуска, планировщик перезапусков по расписанию, очередь команд наблюдателя, миграция конфигурации между версиями схемы, обновление контролируемых программ и самообновление (включая откат при сбое), протокол удалённого управления, почтовые уведомления, модели представления интерфейса, лицензирование (формат ключа и кода компьютера, подмена байта или подписи, привязка «2 из 3», граница срока, перевод часов, отзыв ключа).
  • Для каждого исправленного инцидента добавляется регрессионный тест, воспроизводящий условия сбоя.
  • Тесты выполняются командой dotnet test на рабочей станции разработчика перед фиксацией изменений и перед сборкой релиза. Благодаря многослойной архитектуре (заглушки ОС-специфичных компонентов) тесты выполняются на любой ОС.

4.2 Ручное тестирование

  • Сценарии, зависящие от ОС Windows (управление процессами, автозапуск, замена исполняемого файла при самообновлении), проверяются вручную на тестовых стендах под управлением Windows по письменным чек-листам, хранящимся в репозитории.
  • Для проверки реакции на аварийные ситуации используется собственное тестовое приложение, имитирующее отказы контролируемой программы (аварийные завершения различных типов — нативные и управляемые, переполнение стека, исчерпание памяти, зависание); для каждого сценария в матрице проверок описана ожидаемая реакция ПО и предусмотрена графа фактического результата.
  • Результаты проверок и выявленные отклонения фиксируются в журнале изменений.

Непрерывная интеграция (автоматическая сборка и тестирование на сервере) не используется: тесты запускает разработчик на своей рабочей станции перед фиксацией изменений и перед сборкой релиза (п. 4.1).

5. Процесс сборки и поставки

5.1 Сборка релиза

Сборка выполняется скриптом сборки релиза на компьютере сборки правообладателя в РФ — 410056, Саратовская область, г. Саратов, ул. Бахметьевская, д. 44/64, кв. 72 (подробно — документ «Сведения о средствах хранения и компиляции…»). Обе редакции — один и тот же исполняемый файл; отдельной сборки для «Watchdog Про» нет. Скрипт:

  1. Проверяет отсутствие незафиксированных изменений в исходном коде — версия в релизе обязана соответствовать зафиксированному состоянию репозитория (иначе сборка прерывается).
  2. Берёт номер версии из единственного источника — файла с номером версии в исходном тексте.
  3. Выполняет dotnet publish для платформы win-x64 в режиме self-contained single-file: результат — один исполняемый файл Watchdog.exe, включающий среду выполнения .NET и все зависимости; установка .NET на компьютер пользователя не требуется.
  4. Упаковывает исполняемый файл в архив Watchdog-<версия>.zip.
  5. Вычисляет контрольную сумму SHA-256 и размер архива и формирует файл-манифест manifest.json (версия, имя архива, SHA-256, размер, имя исполняемого файла).

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

5.2 Размещение и распространение

  • Архив и манифест размещаются в публичной папке релизов правообладателя на сервисе Яндекс.Диск (российский провайдер): сначала архив, затем манифест.
  • Первичная поставка: пользователь получает архив по ссылке со страницы продукта https://uniday.pro/watchdog. ПО не требует установки: исполняемый файл копируется в любую папку и запускается; при первом запуске открывается мастер настройки. Сразу работает бесплатная редакция «Watchdog»; редакция «Watchdog Про» включается вводом лицензионного ключа (п. 5.4) без переустановки.
  • В ту же папку релизов выкладываются архив и пакеты (.deb, .rpm) для Linux. Кнопка «Скачать» на странице продукта берёт оттуда самую новую версию для Windows или Linux и показывает её номер, размер и контрольную сумму SHA-256.
  • В той же папке релизов правообладатель размещает подписанный список отозванных лицензионных ключей revoked.lic (п. 5.4).

5.3 Доставка обновлений (самообновление)

  • Установленная копия ПО периодически (не чаще одного раза в 5 минут, со случайным разбросом) загружает манифест из папки релизов правообладателя.
  • Обновление применяется только если версия в манифесте новее установленной. Загруженный архив проверяется по контрольной сумме SHA-256; новый исполняемый файл предварительно запускается в режиме самопроверки (--verify) и только при её успешном прохождении заменяет текущий. Предыдущая версия сохраняется рядом (*.exe.old) до подтверждения успешного запуска новой, что позволяет выполнить откат.
  • Пользователь может выбрать режим «Автоматически» или «Вручную» (установка по кнопке «Установить» в окне «О программе») либо полностью отключить самообновление в настройках или конфигурационном файле. Обновления инициируются только правообладателем с сервера, расположенного в РФ; принудительное обновление или управление ПО из-за рубежа невозможно.
  • Самообновление бесплатно и не требует лицензионного ключа: новые версии получают пользователи обеих редакций, в том числе владельцы бессрочных лицензий. При той же проверке ПО загружает список отозванных ключей revoked.lic и проверяет его подпись (п. 5.4).

5.4 Поставка лицензий (редакция «Watchdog Про»)

  • Что продаётся. Право использования редакции «Watchdog Про» на одном компьютере по лицензионному договору (документ «Лицензионный договор (оферта)»); цены — документ «Прайс-лист». Типы лицензии: на N месяцев, на год, бессрочная. Техническая поддержка и обновления входят в лицензию по лицензионному договору и отдельной услугой не являются.
  • Лицензионный ключ — данные, подписанные электронной подписью правообладателя, с привязкой к компьютеру (код компьютера из трёх идентификаторов, ключ подходит при совпадении двух из трёх). Активация выполняется пользователем в окне «Лицензия» (строка ключа или файл .lic) без обращения к серверам — подходит и для компьютеров без интернета.
  • Порядок выдачи: заявка лицензиата с кодами компьютеров (код показывается в окне «Лицензия» и записывается в файл параметром --machine-code) → счёт → оплата → акт → ключ по электронной почте (строка ключа и файл .lic). Ключ выпускается во внутренней программе выдачи на компьютере сборки правообладателя в РФ; каждая выдача записывается в журнал выдачи (средства выдачи и их размещение — документ «Сведения о технических средствах хранения и компиляции…», п. 1.5).
  • Демонстрационные ключи — для пробного использования, демонстраций и проверки экспертами: все функции «Watchdog Про», срок не более 60 дней, могут выдаваться без привязки к компьютеру; выдаются поштучно с записью в журнал.
  • Продление — новый ключ; новый срок отсчитывается от даты окончания действующего ключа (если лицензия уже истекла — от даты выдачи нового ключа). Прежний ключ действует до своей даты, ПО само выбирает ключ с более поздним сроком. Можно продлить лицензию на меньшее число компьютеров. Переход на бессрочную лицензию оформляется новой лицензией.
  • Перевыпуск. Замена диска без переустановки ОС (например, с переносом образа), переустановка ОС или замена материнской платы по отдельности перевыпуска не требуют (два идентификатора из трёх сохраняются). Замена диска с новой установкой ОС меняет два идентификатора; если идентификатор оборудования вне диска и ОС прежний (системная плата, на Linux — сетевая карта), ключ перевыпускается бесплатно и сверх лимита, с той же датой окончания; ключ с новым сроком — только продлением или новой лицензией. При замене компьютера целиком — один бесплатный перевыпуск на лицензию за 12 месяцев, для месячной лицензии — один за срок лицензии; основание — письменная заявка лицензиата с кодом нового компьютера и подтверждением, что прежний компьютер выведен из эксплуатации или ПО с него удалено. Новый ключ выдаётся на новый компьютер, прежний компьютер вносится в список отзыва. Сверх лимита — новая лицензия; исключения — по решению правообладателя на основании истории в журнале выдачи.
  • Отзыв (перевыпуск, утрата или кража компьютера, возврат оплаты, нарушение договора): правообладатель вносит ключ или компьютер в подписанный список revoked.lic и размещает его в папке релизов; ПО получает список при проверке самообновления, кроме того, список на дату выпуска встроен в каждую версию. На компьютерах без интернета или с выключенным самообновлением отзыв действует на основании лицензионного договора (ответственность за использование отозванного ключа).
  • Окончание срока. ПО предупреждает об окончании в интерфейсе (за 7 дней) и письмами за 7, 3 и 1 день (при настроенной почте). После окончания функции «Watchdog Про» отключаются, функции бесплатной редакции продолжают работать; запущенные контролируемые программы ПО не завершает.

6. Процесс эксплуатации

  • ПО работает в фоновом режиме с иконкой в области уведомлений Windows; главное окно показывает состояние каждой контролируемой программы, журнал событий, архив журналов контролируемой программы и график потребления памяти.
  • Поддерживаются: автозапуск вместе с ОС; наблюдение за несколькими программами во вкладках одного экземпляра (редакция «Watchdog Про»; в бесплатной редакции — за одной программой); перенос папки установки на другой компьютер без перенастройки (лицензионный ключ привязан к компьютеру — на новом компьютере нужен перевыпуск, п. 5.4). На компьютере работает один экземпляр ПО.
  • Опциональные функции редакции «Watchdog Про», использующие инфраструктуру заказчика: почтовые уведомления и сводки (SMTP-сервер заказчика), обновление контролируемых программ (папка Яндекс.Диска заказчика).
  • Состояние лицензии отображается в окне «Лицензия» (тип, срок, код компьютера); о приближении окончания срока ПО предупреждает заранее (п. 5.4).
  • ПО ведёт журналы: logs/watchdog.log (события наблюдения), logs/diagnostic.log (внутренняя диагностика), logs/crashes/ (отчёты о необработанных исключениях).
  • Встроенная защита от циклических перезапусков: при 3 и более перезапусках за 5 минут наблюдение приостанавливается и пользователь уведомляется.

7. Документирование и обучение пользователей

7.1 Документирование

  • Пользовательская документация: описание функциональных характеристик, инструкция по установке, руководство пользователя — публикуются на странице продукта на сайте правообладателя и актуализируются при выпуске версий, меняющих функции или интерфейс.
  • Проектная документация (технические решения, описание архитектуры, правила проекта, план работ, журнал изменений) ведётся в репозитории вместе с исходным текстом и изменяется теми же фиксациями, что и код.
  • Язык документации — русский.

7.2 Обучение пользователей

  • Руководство пользователя и инструкция по установке — на странице документации https://uniday.pro/watchdog/docs.
  • Таблица типовых неисправностей и способов их устранения — в инструкции по установке (раздел 10), публикуется на сайте в составе документации.
  • Мастер первого запуска с пошаговой настройкой и всплывающие подсказки в интерфейсе на русском языке.
  • Консультации и дистанционный инструктаж персонала заказчика — по каналам технической поддержки (п. 12).

8. Поддержка версий

  • Схема нумерации: MAJOR.MINOR.PATCH. Единственный источник номера версии — один файл в исходном тексте; из него автоматически формируются версии всех сборок, номер отображается в интерфейсе (нижняя панель главного окна, окно «О программе»).
  • Правила изменения: каждая фиксация, затрагивающая исходный код, увеличивает PATCH; изменения только документации версию не меняют; MINOR и MAJOR увеличиваются вручную при значимых изменениях функциональности.
  • Журнал изменений ведётся в репозитории (один файл на календарную дату, изменения сгруппированы по подсистемам); на 04.10.2026 — 35 записей с 25.04.2026.
  • Поддерживается актуальная версия ПО; обновление до неё доставляется механизмом самообновления без участия пользователя, бесплатно для обеих редакций (п. 5.3); лицензионный ключ при обновлении не меняется. Обращения по предыдущим версиям принимаются; исправления выпускаются только в новых версиях — чтобы их получить, достаточно обновиться до актуальной версии.

9. Устранение неисправностей

9.1 Приём обращений

  • Обращения принимаются по каналам технической поддержки (п. 12).
  • Для диагностики пользователь предоставляет журналы ПО из папки logs/ (включая отчёты о сбоях logs/crashes/crash_*.log) и, при необходимости, файл конфигурации без секретов.
  • Журналы контролируемой программы можно отправить по электронной почте непосредственно из ПО: пункт «Отправить…» контекстного меню архива журналов открывает окно «Отправить лог» (отправка через SMTP-сервер, настроенный пользователем, на указанные адреса, в том числе адрес технической поддержки).
  • Обращения по лицензии (ключ не принимается, заменён компьютер): пользователь сообщает код компьютера из окна «Лицензия»; правообладатель проверяет ключ во внутренней программе выдачи (подпись, срок, соответствие коду компьютера) и при необходимости перевыпускает его (п. 5.4).

9.2 Порядок устранения

  1. Регистрация обращения, уточнение условий, сбор журналов.
  2. Воспроизведение неисправности на тестовом стенде (в том числе с помощью тестового приложения, имитирующего отказы).
  3. Анализ причины, исправление, добавление регрессионного теста.
  4. Выпуск исправленной версии (п. 5) и её доставка механизмом самообновления.
  5. Описание инцидента, причины и исправления в журнале изменений.

Средства оперативного восстановления: на отдельном компьютере — возврат предыдущей версии из файла *.exe.old; для всех установок — выпуск новой версии с большим номером.

Целевые сроки реакции и устранения:

Категория обращенияРеакцияУстранение
Критичное: ПО не запускается, не контролирует или не перезапускает контролируемые программы, действующий лицензионный ключ ошибочно не распознаётсяв течение 4 рабочих часовисправление или способ обхода — в течение 3 рабочих дней
Прочие: ошибка, для которой есть способ обхода; вопросы по установке, настройке и использованиюв течение 24 часовисправление — в одной из следующих версий

Сроки отсчитываются в режиме работы службы технической поддержки (п. 12): для обращения, поступившего в нерабочее время, — с начала следующего рабочего дня.

10. Модернизация

  • Модернизация выполняется по плану работ правообладателя с учётом обращений пользователей.
  • Запланированные направления:
    • версия для ОС семейства Linux (Astra Linux SE, РЕД ОС, Альт Рабочая станция К) разработана и проходит проверку; совместимость будет подтверждена до 01.01.2027 (архитектура с выделенным ОС-независимым ядром это обеспечивает);
    • переход на следующую версию платформы .NET с долгосрочной поддержкой (поддержка .NET 8 производителем завершается в ноябре 2026 г.);
    • развитие функций уведомлений;
    • автоматизация выдачи лицензионных ключей — только на серверах, расположенных в РФ.
  • Новые версии распространяются тем же порядком, что и исправления (п. 5).

11. Персонал

Разработка, сопровождение и техническая поддержка ПО осуществляются штатным работником правообладателя:

РольДолжностьКвалификация (образование, опыт)Количество
Руководитель разработки, разработчик, тестирование, техническая поддержка (роли совмещены)Директорвысшее образование (Саратовский государственный технический университет имени Гагарина Ю.А.); опыт разработки программного обеспечения — 14 лет1

Общая численность персонала, задействованного в процессах жизненного цикла ПО, — 1 человек: все роли совмещает штатный работник правообладателя — директор ООО «Юнидэй», гражданин Российской Федерации. Внештатные сотрудники, сторонние и иностранные организации не привлекаются.

Выпуск, продление, перевыпуск и отзыв лицензионных ключей (п. 5.4) выполняет директор правообладателя: пароль закрытого ключа подписи известен только ему.

12. Адрес и техническая поддержка

ПараметрЗначение
Фактический адрес размещения разработчиков410056, Саратовская область, г. Саратов, ул. Бахметьевская, д. 44/64, кв. 72
Фактический адрес размещения инфраструктуры разработкикомпьютер сборки (сборка выпусков; программа выдачи лицензионных ключей, закрытый ключ подписи, журнал выдачи) — 410056, Саратовская область, г. Саратов, ул. Бахметьевская, д. 44/64, кв. 72; хранилище исходного текста — облачный сервис GitFlic (gitflic.ru; оператор — ООО «РеСолют»), данные хранятся на серверах в РФ
Фактический адрес службы технической поддержки410056, Саратовская область, г. Саратов, ул. Бахметьевская, д. 44/64, кв. 72
Электронная почта поддержкиservice@uniday.pro
Телефон+7 906 314-84-50
Форма обращения на сайтеотдельной формы нет: обращения — по электронной почте service@uniday.pro; контакты поддержки — на странице https://uniday.pro/watchdog/docs (раздел «Техническая поддержка»)
Приобретение и продление лицензийservice@uniday.pro, +7 906 314-84-50, https://www.uniday.pro (тот же контакт указан в письмах ПО о сроке лицензии)
Режим работыпн–пт, 10:00–18:00 по московскому времени, кроме нерабочих праздничных дней; ответ на обращение — в течение 24 часов, а на обращение, поступившее в нерабочее время, — в течение 24 часов с начала следующего рабочего дня
Язык поддержкирусский

Техническая поддержка, гарантийное обслуживание и модернизация ПО осуществляются Обществом с ограниченной ответственностью «Юнидэй» — российским юридическим лицом, являющимся правообладателем ПО. Для редакции «Watchdog Про» техническая поддержка и обновления входят в лицензию по лицензионному договору (документ «Лицензионный договор (оферта)») и отдельной платной услугой не являются; обновления (самообновление) бесплатны для обеих редакций. Для бесплатной редакции «Watchdog» обязательств по технической поддержке правообладатель не принимает, обращения её пользователей рассматриваются по его усмотрению (лицензионный договор, п. 5.3).

© UNIDAY, 2014-2025

ООО «Юнидэй»
г. Саратов, ул. Бахметьевская 44/64, оф. 72
ИНН: 6454142737
КПП: 645401001
ОКВЭД: 62.01 Разработка компьютерного программного обеспечения.
Код вида деятельности: 22.01