Фактические адреса разработки, инфраструктуры и поддержки
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 Про» нет. Скрипт:
Проверяет отсутствие незафиксированных изменений в исходном коде — версия в релизе обязана соответствовать зафиксированному состоянию репозитория (иначе сборка прерывается).
Берёт номер версии из единственного источника — файла с номером версии в исходном тексте.
Выполняет dotnet publish для платформы win-x64 в режиме self-contained single-file: результат — один исполняемый файл Watchdog.exe, включающий среду выполнения .NET и все зависимости; установка .NET на компьютер пользователя не требуется.
Упаковывает исполняемый файл в архив Watchdog-<версия>.zip.
Вычисляет контрольную сумму 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).
Воспроизведение неисправности на тестовом стенде (в том числе с помощью тестового приложения, имитирующего отказы).
Анализ причины, исправление, добавление регрессионного теста.
Выпуск исправленной версии (п. 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).
ООО «Юнидэй» г. Саратов, ул. Бахметьевская 44/64, оф. 72 ИНН: 6454142737 КПП: 645401001 ОКВЭД: 62.01 Разработка компьютерного программного обеспечения. Код вида деятельности: 22.01
ООО «Юнидэй» г. Саратов, ул. Бахметьевская 44/64, оф. 72 ИНН: 6454142737 КПП: 645401001 ОКВЭД: 62.01 Разработка компьютерного программного обеспечения. Код вида деятельности: 22.01