не в целях спорить:
1. От себя сошлюсь на Фаулера, который определяет UseCase (вариант использования) как множество сценариев, объединенных вместе некоторой общей целью пользователя (например "Настроить принтер" - пример мой).
Описание сценариев же выполняется в стиле "Пользователь делает это" - "Система делает то", отсюда и термин "интерфейс "пользователь-система".
Поясню также термин "грубо говоря" - в данном случае он не означает, что UseCase определяется до уровня кнопок (несмотря на написанное выше :о))) - действительно UseCases ведь разрабатываются, когда система еще не существует, о каких конкретно элементах управления может идти речь. Но тем не менее те или иные (назовем их - стандартные или типовые) абстрактные элементы все-таки подразумеваются: элементы выбора - списки, меню, справочники и тп.; элементы продолжения - типа кнопки, элементы для ввода значений и т.д. и т.п. Кстати, с их использованием был разработан стандарт CUA и поныне используемый в Windows, MacOs, Linux и других системах.
Согласен, что ссылаться на "кнопки" не совсем верно, но иногда приходится. Тем более, что потребители (будущие пользователи) далеко не всегда могут держать в голове несколько уровней абстракции: свою предметную область, уровень требований, уровень проектирования, уровень реализации и т.д. Поэтому часто спрашивают - это будет кнопка. Обычно я на отвечаю - элемент управления. В общем, если угодно считайте это отменятиной :о)))
2. Вообще-то я написал выше IMHO, и оно (это самое IMHO) распространяется на все три пункта. Извините, если это неочевидно.
Действительно, UseCase "Настроить принтер" может попасться под руку и при печати документа, и при печати форм, и при настройке устройства печати, и при переформатировании документа Портрет/Альбом, и ... да когда угодно! Поэтому наверняка не существует жесткой и однозначной связи между функциями системы (или может лучше Функциями Системы), которые пишут на коробке, и какими-то там UseCases. Однако существует ряд UseCase, которые связаны ТОЛЬКО с Функциями Системы - это те, которые относятся к основной ее функциональности (опять пардон за тавтологию), т.е. содержат то, для чего система создавалась (пример - "набор сообщения" в клиенте почтовой системы, каждый может по своим системам мноооого таких примеров насобирать). Их, кстати, можно (и нужно!) использовать при сравнении систем сходной функциональности.
всё вышенаписанное - IMHO.