О требованиях
Сначала рассмотрим вопрос с требованиями:
- A функциональное требование говорит о том, что должно делать программное обеспечение. Все, что связано с целью, игровым процессом или правилами игры, является функциональным требованием.
- A нефункциональное требование говорит о том, каким должно быть программное обеспечение, например, насколько точно, какПроизводительность, простота использования, простота обслуживания. Ваш рассказ не показывает таких требований.
О прецедентах
Методы разработки программного обеспечения, основанные на прецедентах, начинаются с целей пользователя высокого уровня, которые фиксируются в прецедентах. Лично я вижу только одну такую цель:
![enter image description here](https://i.stack.imgur.com/QkPWW.png)
Очень редкое использование : множественность на стороне актера варианта использования. Это говорит о том, что в одном случае использования участвуют 2 или более экземпляров игроков. Конечно, это имеет смысл только для игры в целом, а не для отдельных действий (как у вас на диаграмме).
На вашей диаграмме вы показали 3 варианта использования:
- является
EndTurn
независимой целью, которую пользователь может свободно выбирать? Нет! Это то, что всегда следует за действиями игрока. Так что это определенно не случай использования. - Вы говорите, что
RotateDials
расширяется ChooseDials
. Это означает, что игрок может ChooseDials
, но не вращать его. Это правильный сценарий? - с другой стороны, если вы скажете, что
ChooseDials
включает RotateDials
, последнее всегда будет происходить. Но разве ChooseDial
не будет чем-то большим, чем просто выбор циферблата? Разве это не должно тогда называться PlayTurn
?
Я мог бы понять, что для целей обучения вы захотите разложить Play game
в более подробных сценариях использования. Как правило, когда игроки пытаются достичь своей цели Play game
, это может включать подцели Play turn
. Пока это целенаправленно и не слишком подробно, это нормально. Но избегайте простой функциональной декомпозиции (это не помогает быть более управляемым пользователем, и варианты использования не являются функциями). И, прежде всего, не злоупотребляйте диаграммой прецедентов для попытки показать последовательность действий .
Отслеживаемость требований
Варианты использования не охватывают все требования. Он отражает самую важную вещь: назначение системы и цели пользователя.
Когда вы записываете требования, полезно руководствоваться сценариями использования и их описанием, а также отслеживать каждое конкретное требование варианта использования.
Но, конечно, есть и общие требования. Они не являются специфическими для конкретного варианта использования. Некоторые даже общие для всех вариантов использования. Отметьте их как общие требования (например, вариант использования *
).