Упражнение 2: Определение архитектурных требований
Второе упражнение курса — определить архитектурно значимые функциональные требования (Architecturally Significant Requirements, ASR).
Эти требования — подмножество функциональных требований, которые влияют на архитектуру системы.
Они не просто описывают, что приложение делает, а определяют как именно это должно быть реализовано на уровне структуры, модулей и связей.
Цель упражнения
- Открыть раздел Функциональные требования в спецификации проекта FoodFleet;
- Проанализировать все функции приложения;
- Определить, какие из них:
- требуют особых архитектурных решений,
- влияют на структуру данных или потоки,
- затрагивают вопросы производительности, безопасности или масштабируемости.
Пример из FoodFleet
Посмотрим на пару реальных требований из спецификации.
🧭 Пример 1:
Пользователь может просматривать приложение без аутентификации.
🛒 Пример 2:
Пользователь может добавлять блюда в корзину с авторизацией или без неё.
Оба требования архитектурно значимы, потому что:
- нужно хранить действия пользователя даже без логина (анонимный пользователь);
- необходимо синхронизировать корзину после входа в аккаунт;
- это повлияет на выбор модели данных, API, и управление сессией;
- возможно, потребуется local storage или решение с созданием анонимных пользователей в базе данных.
Эти функции напрямую определяют, как организовать клиентскую логику, данные и взаимодействие с сервером.
Как выполнять упражнение
- Скопируй список функциональных требований из спецификации проекта FoodFleet.
- Создай новый список, оставив только те пункты, которые могут влиять на архитектуру.
- Для каждого такого требования добавь короткое пояснение:
- Почему оно важно с архитектурной точки зрения?
- Что в нём может потребовать особого решения?
Подсказки
💡 Не ищи “правильный” ответ.
У разных архитекторов списки будут отличаться — и это нормально.
Опыт и точка зрения сильно влияют на то, что мы считаем значимым.
💡 Фокусируйся на тех требованиях, которые могут вызвать вопросы вроде:
- Как мы будем хранить данные?
- Как система узнает, кто пользователь?
- Как реализовать согласованность между клиентом и сервером?
- Как обеспечить отказоустойчивость?
По итогу этого упражнения у тебя будет:
- Отфильтрованный список только влиятельных функциональных требований.
- Понимание, какие фичи реально формируют архитектуру приложения.
- Готовая база для следующего шага — проектирования архитектурных решений.
Это платный урок
Купите полный доступ к курсу чтобы просматривать данный контент
Основы архитектуры фронтенда
Изучите основы проектирования современных, высоконагруженных фронтенд-приложений.
Безопасные платежи обрабатываются сервисом Юкасса
Комментарии
Войдите, чтобы оставить комментарий