Вы можете найти статью, такие как this полезной.
Мой образ мыслей. У вас есть общее описание вариантов использования, поэтому вы знаете, что должна делать ваша система. Но у этих случаев применения, несомненно, много морщин и особых случаев. [Проходя от «Менеджмента студентов», кажется, отличается от детализации от «Предполагаемого учителя», вам нужно «Записаться на учебу», «Приостановить студента», «Студент-выпускник» или некоторые из них.]
Итак, ваш следующий шаг захватить больше требований системы, предоставив более подробную информацию о вариантах использования. Вы выражаете это с точки зрения действий людей и систем. У вас есть системная диаграмма системы или некоторые такие? Это будет показывать все, с чем взаимодействует ваша система. Затем вы выражаете свои сценарии как последовательность действий участников, вашей системы и других систем.
The Teacher logs on
TheSystem presents a menu
The Teacher selects "record grade"
The System presents a list of classes taught by the teacher
The Teacher selects class
etc.
Морщины возникают из-за возможных изменений. Какие-либо специальные действия для неудачных оценок? Ограничения по классификации для определенных типов студентов? Таким образом, вы создаете дополнительные сценарии для таких «интересных» случаев.
В моем понимании, на данном этапе не нужны специальные классы и диаграммы классов. Позже вы можете рассмотреть один шаг, такой как «Система представляет список классов taugh от учителя» и рассмотрите, как система реализует это, используя диаграмму классов.
Помните цель здесь: получите полное представление о требованиях, которые вам необходимо удовлетворить.