Перед тем как писать API, необходимо понять:

  • Какие роли должна иметь подсистема Users
  • Какие действия может выполнять каждый пользователь
  • Как взаимодействуют пользователи

usecaseSchool

Мои студенты и выпускники хорошо знакомы с Use Case диаграммами, но если вы с этим не сталкивались, расскажу в двух словах:

  • Большой прямоугольник в середине – это подсистема, модуль или целое приложение
  • Слева от него находятся роли пользователей – клиентов, справа роли пользователей (или подсистем) обслуживающих пользователей. Также этих человечков называют акторами (от action-действие).
  • В прямоугольнике в овалах – действия, которые доступны акторам
  • Закрашенные стрелки показывают направление действия
  • Не закрашенные стрелки (с подписью extends) – показывают варианты действия, которые расширяют основное действие (необязательные варианты действия). Например варианты рассылки сообщения

Эта же диаграмма в дальнейшем использует для написания функциональных тест-кейсов. В этом случае каждая стрелка – это миниальный тест (по их общему количеству и написанным тестам можно судить о покрытии функциональными тестами.

Но одного UML Use Case еще не достаточно, чтобы начать писать API, еще нужно проработать эндпоинты. Для этого удобно использовать UML Component Diagram. Об этом в другом посте.