#import "preamble.typ": * #practice_title[IV. Анализ проведённой работы в период прохождения практики обучающимся] #table( columns: (1cm, 3.6cm, 1fr), align: (center, left, left), table.header( [№ п/п], [Выполненные мероприятия в соответствии с заданием на практику], [Анализ проведённой работы], ), [1], [Актуализация постановки задачи ВКР], [Уточнены цели преддипломной практики с опорой на уже реализованное ядро Wallenc: приоритет отдан доведению синхронизации storage, групп хранилищ, 2FA и текстовых секретов до демонстрационного уровня. Сформирован перечень доработок, согласованный с темой ВКР и результатами производственной практики, что исключило повторение начального аналитического цикла и сфокусировало сроки на инженерной и отчётной составляющих.], [2], [Реструктуризация модулей Gradle], [Выделение `domain-storage` и перенос логики localVault упростили границы ответственности между слоями: доменные контракты storage отделены от vault-навигации. Реструктуризация выполнена до внедрения крупных функций sync и секретов, поэтому последующие изменения локализовались в целевых модулях без каскадных правок по всему репозиторию.], [3], [Интеграция с Яндекс.Диск], [Развит REST-клиента, репозитория и сценариев удалённого vault довело OAuth-контур до устойчивой эксплуатации: учтены сетевые сбои на экране vault, сужена инвалидация кэша Disk API, добавлен учёт запросов. Пользователь получает рабочий поток подключения аккаунта и операций с удалённым storage без передачи ключей шифрования провайдеру, что соответствует исходной модели угроз Wallenc.], [4], [Синхронизация storage], [Реализован `StorageSyncEngine` с журналом изменений по путям, группами `DbStorageSyncGroup` в Room и фоновым исполнением через очередь задач. Отработаны блокировки sync, cooperative-отмена, foreground-задача и заголовки уведомлений; исправлены ошибки журнала при DELETE/TRASH. Синхронизация переведена из проектного статуса в проверяемый пользовательский сценарий с отображением прогресса на экране задач.], [5], [Секреты и TOTP 2FA], [Добавлены маршруты и экраны текстовых секретов и 2FA; генерация TOTP вынесена в фоновые задачи вместе с прочими длительными операциями. Замена зависимости mlkit на свободную библиотеку и доработка UI прогресса 2FA повысили воспроизводимость сценария на устройстве. Функции второго этапа практики интегрированы в общую модель «storage → содержимое» без отдельного backend.], [6], [Доработка UI/UX], [Унифицированы индикаторы занятости storage и подписи прогресса задач; улучшены карточки vault и обработка ошибок сети. Deep links и открытие экрана задач из уведомления сократили путь пользователя к статусу синхронизации. Иконка приложения и переключение языка завершили визуальную и локализационную подготовку к демонстрации на защите.], [7], [Шифрование и метаданные storage], [Исправлены сценарии шифрования и метаданных для Yandex vault и первого открытия storage; добавлена опция сохранения пароля при включении шифрования. Запрет включения зашифрованных storage в несовместимые группы sync снижает риск рассогласования состояния. Доменная логика `Encryptor` и `ManageStoragesEncryptionUseCase` согласована с фактическим поведением UI.], [8], [Тестирование], [Расширен набор unit-тестов (в том числе после рефакторинга sync и DI); выполнены ручные прогоны T-7…T-12 на эмуляторе. Подтверждены создание storage, шифрование, OAuth Яндекс, фоновые задачи и уведомления. Результаты зафиксированы для включения в раздел тестирования пояснительной записки и отчёта по практике.], [9], [Стабилизация сборки], [Устранена значительная часть предупреждений компилятора и deprecated API; упорядочены Hilt-модули. Оптимизированы debounce-sync, pipeline задач и обработка отсутствия journal/lock при синхронизации. Сборка `assembleDebug` и прогон тестов стали регулярной процедурой контроля качества перед оформлением отчётности.], [10], [Актуализация технического задания], [ТЗ приведено в соответствие с реализованным функционалом (sync, 2FA, секреты, очередь задач) и структурой по ГОСТ 7.32–2017. Зафиксированы критерии приёмки и границы доработок, что обеспечило согласованность между кодом, пояснительной запиской и заданием на практику.], [11], [Оформление пояснительной записки ВКР], [Подготовлены разделы обзора аналогов, архитектуры, проектирования UI, реализации и тестирования с опорой на фактическую кодовую базу. Текст ПЗ согласован с иерархией vault → storage → файлы и терминологией проекта. Объём работ отражает завершение цикла «разработка – проверка – описание», а не только документирование без изменений в приложении.], [12], [Иллюстрации и приложения ПЗ], [Подготовлены скриншоты ключевых экранов, схемы архитектуры и потоков, листинги модулей для приложений ПЗ. Подписи рисунков приведены в соответствие с содержанием (в т.ч. OAuth, sync, 2FA). Иллюстрации привязаны к перекрёстным ссылкам в тексте глав 1, 3 и 5.], [13], [Руководство пользователя и демонстрация], [Составлено руководство пользователя (приложение Б): пошаговые сценарии локального и удалённого vault, шифрования, секретов, 2FA и фоновых задач. Подготовлена актуальная сборка APK и сценарий показа для защиты ВКР с акцентом на zero-knowledge и синхронизацию без утечки ключей.], [14], [Отчёт по практике и дневник], [Ведён дневник практики с привязкой записей к фактическим этапам разработки (11–19.05) и оформлению отчётности (20–24.05). Итоговый отчёт объединяет задание, дневник, анализ работ и ссылки на артефакты Wallenc; зафиксированы сроки и соответствие заданию на преддипломную практику.], [15], [Подготовка к защите практики], [Систематизированы результаты для представления руководителю от организации и университета: демонстрация приложения, ПЗ, отчёт. Выявленные на финальной проверке дефекты sync/Yandex устранены или отражены как направления развития. Практика завершена в установленный срок с полным комплектом отчётных материалов.], )