Если вы действительно хотите придерживаться вариантов использования, вы должны написать один с функциональной точки зрения системы, а не с точки зрения конечного пользователя. Может быть, что-то вроде этого:
- Система запускается и обнуляет свои переменные итога и числа.
- Система получает номер.
- Добавляет число к сумме и увеличивает счет.
- Шаги 2 и 3 повторяются до тех пор, пока система не получит команду останавливаться.
- Когда приказано остановиться, система делит сумму на счет и возвращает результат.
Прочитайте отличную книгу Аластера Кокберна " Написание примеров эффективного использования ". Это объясняет наличие разных уровней варианта использования. Ваш первоначальный пример будет рассматриваться как вариант использования цели пользователя (или синего цвета), в то время как описанные выше действия будут частью варианта использования подфункции (или индиго) (он настолько прост, что его можно даже классифицировать как вариант использования черного цвета и просто объединить в его родителя).
Как наверняка скажут другие люди, иногда Вариант использования не лучший способ описать алгоритм, и вам следует вернуться к старым добрым потоковым диаграммам, диаграммам состояний, диаграммам последовательности или чему-то еще. Эти инструменты существуют для вашей выгоды - не ограничивайте себя принудительным применением определенного метода, когда он не работает для вас.
EDIT
@ devoured elysium: В ответ на ваши комментарии я добавил еще несколько примечаний ниже:
Когда вы идентифицируете доменные объекты, иногда вам нужно подумать о неписанных объектах. Все зависит от того, как это было написано. Итак, в приведенном вами примере, возможно, «Система» - это «Калькулятор», переменная, используемая для сложения чисел, - это «Аккумулятор», возможно, есть «Очередь», которая получает число. Может быть, само число является объектом типа «Число», если оно может иметь различное поведение, такое как проверка диапазона или проверка синтаксиса ввода. Есть ли какой-нибудь объект «Display», который вам нужно рассмотреть?
Это зависит от того, что вы считаете находящимся в ограниченном контексте, с которым вы имеете дело. Возможно, с точки зрения пользователя, есть один контекст, который имеет дело только с «Калькуляторами», но с точки зрения Системы есть другой, который говорит о более низком уровне контекста с «Аккумуляторами», «ALUs», «Битами», «Словами», « Регистры »,« Часы »,« Защелки »и т. Д. Чем дальше вы переходите в иерархию вариантов использования, спрашивая« Как? » тем более технический язык станет. Вам нужно решить, какие из них являются объектами предметной области, а какие - просто объектами реализации, и это очень сильно зависит от того, что вы пытаетесь описать и построить (и, в значительной степени, от того, кто является вашей аудиторией - вездесущий язык и все такое). !). И наоборот, вы можете подняться в стеке, спросив "Почему?" функция выполняется.
Основной субъект варианта использования подфункции, как правило, является тем же субъектом, что и субъект использования более высокого уровня, который его вызывает. Однако для некоторых «технических» вариантов использования основным действующим лицом будет системный компонент / подсистема. Например, в прецеденте ведения журнала системных сообщений в качестве основного субъекта может использоваться вызывающая подсистема, т. Е. Объект, у которого была воля / необходимость инициировать действие, а не субъект, выполняющий задачу, из-за которой этот подсистема нуждался в регистрации. что-то.
В этом примере, где алгоритм очень прост, я бы, вероятно, просто включил его в основной вариант использования. Однако, если бы он использовался во множестве других случаев использования более высокого уровня, я бы сделал его автономным, чтобы я мог включить его в другие документы. Просто подход функциональной декомпозиции.
Здесь нет жестких правил. Это стиль работы, который вы будете развивать со временем. Как уже говорили другие, убедитесь, что вы знакомы с другими формами диаграмм, чтобы вы могли выбрать правильный инструмент для работы. Помните, что, хотя картинка может стоить тысячи слов, иногда вам действительно нужны эти слова, поэтому не просто полагайтесь на диаграммы.