Упражнение 2: Определение архитектурных требований

Продолжительность: 21 мин

Второе упражнение курса — определить архитектурно значимые функциональные требования (Architecturally Significant Requirements, ASR).

Эти требования — подмножество функциональных требований, которые влияют на архитектуру системы.

Они не просто описывают, что приложение делает, а определяют как именно это должно быть реализовано на уровне структуры, модулей и связей.


Цель упражнения

  1. Открыть раздел Функциональные требования в спецификации проекта FoodFleet;
  2. Проанализировать все функции приложения;
  3. Определить, какие из них:
    • требуют особых архитектурных решений,
    • влияют на структуру данных или потоки,
    • затрагивают вопросы производительности, безопасности или масштабируемости.

Пример из FoodFleet

Посмотрим на пару реальных требований из спецификации.

🧭 Пример 1:

Пользователь может просматривать приложение без аутентификации.

🛒 Пример 2:

Пользователь может добавлять блюда в корзину с авторизацией или без неё.

Оба требования архитектурно значимы, потому что:

  • нужно хранить действия пользователя даже без логина (анонимный пользователь);
  • необходимо синхронизировать корзину после входа в аккаунт;
  • это повлияет на выбор модели данных, API, и управление сессией;
  • возможно, потребуется local storage или решение с созданием анонимных пользователей в базе данных.

Эти функции напрямую определяют, как организовать клиентскую логику, данные и взаимодействие с сервером.

Как выполнять упражнение

  1. Скопируй список функциональных требований из спецификации проекта FoodFleet.
  2. Создай новый список, оставив только те пункты, которые могут влиять на архитектуру.
  3. Для каждого такого требования добавь короткое пояснение:
    • Почему оно важно с архитектурной точки зрения?
    • Что в нём может потребовать особого решения?

Подсказки

💡 Не ищи “правильный” ответ.
У разных архитекторов списки будут отличаться — и это нормально.
Опыт и точка зрения сильно влияют на то, что мы считаем значимым.

💡 Фокусируйся на тех требованиях, которые могут вызвать вопросы вроде:

  • Как мы будем хранить данные?
  • Как система узнает, кто пользователь?
  • Как реализовать согласованность между клиентом и сервером?
  • Как обеспечить отказоустойчивость?

По итогу этого упражнения у тебя будет:

  • Отфильтрованный список только влиятельных функциональных требований.
  • Понимание, какие фичи реально формируют архитектуру приложения.
  • Готовая база для следующего шага — проектирования архитектурных решений.

Это платный урок

Купите полный доступ к курсу чтобы просматривать данный контент

Основы архитектуры фронтенда

Изучите основы проектирования современных, высоконагруженных фронтенд-приложений.

3990 Скидка 75%
990

Безопасные платежи обрабатываются сервисом Юкасса

Комментарии

Войдите, чтобы оставить комментарий