#import "../includes/common.typ": pz-fig == Обзор программного продукта Wallenc Wallenc – мобильное приложение для Android: `VaultsManager` объединяет vault (один локальный и удалённые по OAuth), внутри каждого vault пользователь управляет storage с файлами и клиентским шифрованием. Продукт не использует собственный сервер; взаимодействие с облаком выполняется через API внешних провайдеров после OAuth. == Техническое задание Полный текст технического задания на разрабатываемое ПО (производственная практика, ООО НМФ «Нейротех»): #import "tz-pdf.typ": pz-embed-tz-pdf #pz-embed-tz-pdf() == Программа и методика испытаний Испытания проводятся на устройстве или эмуляторе Android. Матрица сценариев – табл. @tbl-testplan. Критерий приёмки: отсутствие блокирующих дефектов по сценариям T-1–T-6. == Отчёт о результатах испытаний Результаты приведены в табл. @tbl-testres (глава 5). Модульные тесты криптографии – пройдены. == Руководство пользователя === Установка Установите APK сборки debug/release, полученной от разработчика, или соберите проект из репозитория GitLab ЮФУ. Разрешите доступ к файловой системе при запросе системы. === Первый запуск и storage в локальном vault 1. Откройте приложение Wallenc. 2. На экране «локальные vault» (список storage в единственном LocalVault) нажмите «+» для создания storage. 3. Укажите имя storage и подтвердите создание. #pz-fig("fig_05_local_vaults.jpg", [Экран списка storage (локальный vault)], "fig-05-rp") === Шифрование storage 1. Выберите storage в списке. 2. Выберите действие «Включить шифрование». 3. Введите пароль (мастер-ключ) и подтвердите. *Важно:* без пароля восстановление невозможно. #pz-fig("fig_06_encrypt_dialog.jpg", [Диалог включения шифрования], "fig-06-rp") === Открытие и закрытие зашифрованного storage 1. Для зашифрованного storage выберите «Открыть». 2. Введите пароль. При успехе содержимое storage доступно для просмотра (`IUnlockManager`). 3. Используйте «Закрыть» для блокировки storage. #pz-fig("fig_07_open_close_dialog.jpg", [Диалог открытия зашифрованного storage], "fig-07-rp") === Переименование и удаление Нажмите на значок «три точки» (опции) у storage и выберите «Переименовать» или «Удалить» (рис. @fig-08-rp). Подтвердите действие в диалоге. #pz-fig("fig_08_rename_delete_dialog.jpg", [Меню storage: переименование и удаление], "fig-08-rp") === Удалённые vault и Яндекс 1. Перейдите на экран удалённых vault (рис. @fig-09-rp). 2. Нажмите «+» и в диалоге выберите провайдера «Яндекс» (рис. @fig-10-rp). 3. Пройдите OAuth в браузере или встроенном окне (последовательность – рис. @fig-20, гл. 1). 4. После успеха аккаунт отображается в списке удалённых vault. #pz-fig("fig_09_remote_vaults.jpg", [Экран удалённых vault: подключённый аккаунт], "fig-09-rp") #pz-fig("fig_10_yandex_oauth.jpg", [Диалог «Добавить хранилище»: выбор провайдера Яндекс], "fig-10-rp") === Секреты и 2FA внутри storage 1. Откройте storage (после создания или из списка). 2. На экране storage перейдите в разделы «Секреты» и «2FA». #pz-fig("fig_33_storage_secrets_2fa.jpg", [Экран storage: секреты и 2FA], "fig-33-rp") 3. В разделе 2FA добавьте TOTP-токен; на экране отображается сгенерированный код. #pz-fig("fig_34_2fa_single_token.jpg", [Экран 2FA с одним токеном], "fig-34-rp") === Фоновые задачи На экране задач отображаются операции шифрования и синхронизации (рис. @fig-12, гл. 5). Уведомления информируют о прогрессе и завершении (рис. @fig-13, гл. 5).