Методика сбора требований для разработки программного продукта обычно не сильно зависит от вида разрабатываемого продукта (веб-приложение, интернет-магазин, мобильное приложение и т.д.) и аналитики придерживаются проверенных опытом и наработанных тактик сбора требований. Однако при написании технического задания необходимо знать некоторые особенности терминологии и архитектуры мобильной разработки. В данной статье будет рассмотрена структура ТЗ на разработку мобильного приложения, некоторые отличия от структуры ТЗ для веб-сайтов/веб-приложений и особенности терминологии.
Терминология
Основной составной частью веб-сайта (веб-приложения) является веб-страница. В мобильных приложениях такой составной частью является экран. В отличие от страниц сайта, переходы между экранами мобильного приложения могут быть осуществлены различными способами: нажатие на кнопку, свайп и т.д. Такие особенности обязательно должны быть описаны в ТЗ на мобильное приложение.
Перемещение по экранам (и не только это) в рамках одного приложения может отличаться в зависимости от операционной системы устройства: IOS, Android и HarmonyOS (в основном разработка ведется только для IOS и Android). Разработка приложения для определенной ОС на поддерживаемом ею языке программирования называется нативной разработкой. Данный термин не используется в веб-разработке, поскольку сайты и веб-приложения функционируют с помощью веб-браузеров, которые во всех операционных системах работают одинаково.
Противоположностью нативной разработки является кроссплатформенная разработка. Кроссплатформенное приложение способно запуститься как на IOS, так и на Android устройстве.
Могут также отличаться и способы взаимодействия с элементами экранов, анимации элементов, интерфейс для разных платформ. В этом случае потребуется подробное описание экранов для устройств каждой операционной системы в рамках одного документа, либо разработка отдельного документа для приложения под каждую операционную систему, если отличий достаточно много.
Структура
Техническое задание на разработку мобильного приложения, независимо от выбранной для разработки платформы, может содержать следующую структуру:
Общие сведения.
Данный раздел должен содержать общие сведения о разрабатываемом приложении и может содержать следующие подразделы:
- Исходные данные. Данный подраздел может содержать информацию о бизнесе Заказчика и причины решения создания мобильного приложения, связанные с «болями» клиентов или бизнес-целями.
- Назначение системы. Подраздел должен содержать описание вида автоматизируемой деятельности (оформление заказа в магазине, учет товаров на складе и т.д.), реализуемой с помощью приложения.
- Цели системы. В данном подразделе должны быть описаны бизнес-цели заказчика, которых он планирует добиться после выпуска приложения.
- Особенности развертывания. В данном подразделе должны быть описаны языки программирования, фреймворки и инструменты, с помощью которых будет вестись разработка приложения. Также должна быть указана платформа (ОС), на которой должно функционировать приложение. Приложением также может быть мобильная версия веб-сайта, работающая во встроенной среде браузера — WebView.
- Экраны. Подраздел должен содержать перечень всех экранов приложения и может содержать краткое описание контента экранов и условия отображения каждого экрана (нажатия на кнопки, свайпы на определенных экранах).
- Меню. Данный подраздел должен содержать перечень кнопок навигационного меню приложения, если оно предусмотрено.
-
Публичная часть. Подраздел должен содержать требования к функционалу, контенту, взаимодействию с элементами интерфейса и графические макеты каждого экрана приложения.
-
Пуш-уведомления. Включение данного подраздела в ТЗ необходимо в случае реализации пуш-уведомлений в приложении. Подраздел должен содержать описание событий и условий, при которых должна инициироваться отправка уведомлений. В случае использования внешних сервисов для отправки уведомлений должны быть описаны требования к взаимодействию с данными сервисами.
-
Хранение данных. В данном подразделе должны быть описаны требования к хранению данных на стороне приложения. Если приложение не хранит никаких данных и запрашивает данные с сервера, это должно быть указано со ссылкой на пункт ТЗ где описано взаимодействие с сервером.
-
Настройки сайта. Включение данного подраздела в ТЗ целесообразно в случае если в качестве серверной части приложения используется веб-сайт или в качестве приложения разрабатывается мобильная версия веб-сайта, работающая во встроенной среде браузера — WebView и для реализации определенной функциональности должны быть произведены доработки на стороне сайта.
- Требования к аппаратному и программному обеспечениям, версиям операционных систем. В данном подразделе должны быть указаны минимальные поддерживаемые версии операционных систем, для которых разрабатывается приложение, спецификации экранов устройств, с которыми приложение должно корректно отображаться и функционировать, а также возможность или невозможность поддержки альбомной ориентации и функции разделения экрана.
Структура мобильного приложения.
Данный раздел должен содержать сведения о структуре разрабатываемого приложении и может содержать следующие подразделы:
Данный раздел должен содержать требования к функционалу приложения и может содержать следующие подразделы:
Взаимодействие с внешними интерфейсами.
В данном разделе должны быть описаны назначение и требования к взаимодействию с внешними системами. Если взаимодействие реализуется с помощью API, должны быть описаны используемые методы API и представлены примеры запросов и ответов.
Нефункциональные требования
В данном разделе должны быть описаны нефункциональные требования к приложению. Раздел может содержать следующие подразделы:
Требования к поддерживаемым локализациям. Данный подраздел должен содержать требования к поддерживаемым языковым версиям приложения.
Ввод мобильного приложения в эксплуатацию
Данный раздел должен содержать описание процесса ввода мобильного приложения в эксплуатацию, размещение его в магазинах приложений.
Гарантийная поддержка
В данном разделе должны быть описаны условия оказания гарантийной поддержки, если она предусмотрена.
Результат
Данный раздел должен содержать описание итогового результата оказания услуг надлежащего качества по разработке и ввода в эксплуатацию мобильного приложения.
Приложения
Совместно с основным документом могут быть разработаны сценарии пользовательского поведения и структура приложения в графическом представлении.
Описанная в статье структура ТЗ – лишь рекомендация и не является обязательной. Разработчик документации может опускать, объединять описанные разделы или добавлять дополнительные, исходя из требований заказчика или собственных наработанных шаблонов.