Пример технического задания на разработку Андроид-приложения

Создать подобное ТЗ можно с помощью приложения.
1. Общее описание примера-приложения:

Лаунчер (launcher) — оболочка операционной системы Android, запускающийся кнопкой ДОМОЙ (Home). Кнопка НАЗАД — игнорируется. Выхода из приложения (остановки, выгрузки) внутри кода — не предусмотрено, возможно только сторонними средствами

1.1. Только горизонтальная ориентация экрана

1.2. Работа на Android v.2.3+

1.3. Графика будет разработана дизайнером заказчика. Нужна будет тщательная отладка внешнего вида приложения.

 

2. Настройки:

2.1. При первом старте — диалог настроек

2.1.1. Каталоги на FTP сервере:

2.1.1.1. Пакеты — скачивание .ZIP файлов или файла update.apk (например, rootfolder/routes)

2.1.1.2. Статистика использования устройства: загрузка в каталог .TXT файлов c информацией (например, rootfolder/stat)

2.1.2. Имя этого устройства (планшета), принадлежность клиенту, имя пользователя и т.п.

2.1.3. Для сведения дан уникальный ID этого устройства, который должен быть зарегистрирован на FTP для легальной работы

2.1.4. Изменить настройки:

2.1.4.1. Удалить лаунчер и поставить снова

2.1.4.2. Или УДАЛИТЬ ВСЕ ДАННЫЕ в системном диалоге свойств приложения

 

3. Внешний вид и реакция на нажатия экрана:

3.1. Фоновая картинка

3.1.1. Короткий тап:

3.1.1.1. Скрытие лога

3.1.1.2. Запуск синхронизации с FTP-сервером

3.2. Зеленая кнопка слева-внизу

3.2.1. Короткий тап:

3.2.1.1. Запуск навигационной программы YYYY, если система в легальном статусе

3.2.1.2. Вывод сообщения о нелегальности системы в данный момент, если статус нелегален. Запуск YYYY запрещен.

3.3. Правый верхний угол экрана (невидимая кнопка)

3.3.1. Длинный тап: открытие лога обмена с FTP сервером

 

4. Синхронизация с FTP-сервером:

4.1. Логин и чтение листинга каталога с файлами пакетов (routes)

4.1.1. Пароль FTP-каунта хранится зашифрованным

4.1.2. При ошибке чтения листинга — отправка email на адрес www@ssss.com с ящика rrrrr@fff.com

4.1.2.1. Пароль SMTP-экаунта хранится зашифрованным

4.2. Загрузка файлов .ZIP пакетов (и обновления update.apk) из каталога, если присутствуют и если момент времени их записи на сервер — больше времени, сохраненного в предыдущий сеанс связи с сервером

4.2.1. Если обнаружено обновление приложения update.apk c бОльшим номером версии:

4.2.1.1. Остановка работы с выводом сообщения о необходимости перезагрузить устройство

4.2.1.2. Запуск обновления его на установку

4.3. Чтение листинга каталога security

4.3.1. Загрузка файла security/registered.txt, в котором находится список легальных ID устройств

4.3.2. Проверка присутствия ID устройства в списке, при отсутствии — блокировка системы

4.4. По окончании синхронизации файлов пакетов — вывод на весь экран диалог ввода номера пакета, с подсказкой в виде списка скачанных пакетов:

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

4.4.2. После ввода номера пользователем:

4.4.2.1. Распаковка пакета в каталог маршрутов YYYY (с удалением всего прочего в этом каталоге)

4.4.2.2. Показ фона и кнопки запуска YYYY вручную пользователем

5. Работа с навигатором YYYY

5.1. Запуск зеленой кнопкой слева-внизу

5.2. Фиксация времени начала работы

5.3. Фиксация номера пакета, скопированного для работы

5.4. При завершении YYYY и возврате в лаунчерфиксация времени окончания работы с YYYY

5.5. Сохранение этой статистики в памяти и в файл

5.6. При наличии Интернет-соединения — отправка этих данных в файле на FTP в каталог stat

5.7. Новый запрос номера пакета и ожидание ввода

6. Фоновая работа:

6.1. При пропадании Интернет-соединения — всплывающее сообщение об этом

6.2. При появлении Интернет-соединения:

6.2.1. Отправка сохраненной статистики использования пакетов в общем файле с суффиксом saved.txt в каталог stat

6.2.2. Запуск нового цикла синхронизации c FTP-сервером

6.3. Каждые 24 часа — принудительная попытка синхронизации c FTP-сервером:

6.3.1. При неудаче — увеличение счетчика неудач

6.3.2. Если синхронизация прошла — счетчик сбрасывается

6.3.3. При достижении 10 неудач (суток) — предупреждение пользователя, что нужна синхронизация

6.3.4. При достижении 60 суток без синхронизации — блокировка системы

6.3.5. Каждые 10 секунд после старта — проверка наличия отладки по USB (через которое может быть нелегальный доступ к файлам устройства)

6.3.5.1. При наличии включенной отладки — блокировка системы

6.3.5.2. Если отладка отключена — то после касания фона, т.е. ручной синхронизации с FTP — блокировка снимается.

 

7. Блокировка системы:

7.1. Удаление файлов:

7.1.1. Пакетов скачанных с FTP

7.1.2. Распакованных маршрутов пакета в каталоге маршрутов YYYY

7.1.3. Блокировка запуска YYYY зеленой кнопкой

7.1.4. Вывод сообщения о нелегальности работы и просьбой обращаться к Администратору.

7.1.5. Принудительная синхронизация с FTP-сервером (для повторной проверки легальности, сброса счетчика неудач) — доступна при тапе экрана.

8. Общая защита системы производится с помощью приложения-киоска SureLock, запрещающего доступ к другим частям устройства, включая USB-интерфейс.

Comments are closed.