Предложенный способ создания диаграммы вариантов использования, где для некоторых вариантов использования требуется аутентификация?
Я и мои коллеги не совсем уверены в том, как смоделировать сценарий использования. Каждый из нас по 3 пришел к разному решению, вы можете видеть каждое изображение ниже, они представляют собой упрощенную версию того, с чем мы сталкиваемся. Мы только начинаем работать над серьезными проектами, и никто из нас не имеет большого опыта, поэтому мы хотим с самого начала узнать, что является наилучшей практикой в этой ситуации.
У нас есть веб-приложение, в котором есть какая-то часть сайта, доступная каждому пользователю, в то время как другие части требуют входа в систему, но сейчас мы не совсем уверены, как правильно написать сценарий использования для этого. Моя идея была отделить user
в guest user
а также authenticated user
Таким образом, наш вариант использования не будет запутан с кучей include relations
(мы получили гораздо больше вариантов использования, чем представлено здесь).
Вот что я сделал:
На мой взгляд, это наиболее понятно и масштабируемо, поскольку четко разделяет два типа пользователей.
Другой возможный подход:
Это тоже хорошо, более понятно, чем в прошлом, когда у нас больше вариантов использования
И последний:
Это наиболее близко к спецификации UML, которую мы изучали в университете, но она начинает выглядеть очень грязно, когда мы добавляем больше вариантов использования, линии начинают пересекаться, и трудно понять, что к чему.
Наш вопрос заключается в том, как лучше всего написать диаграмму прецедентов в этой ситуации?
3 ответа
Не используйте ни один из ваших подходов! Login
это не случай использования, поскольку он не добавляет никакой ценности. Используйте ограничение { needs to be logged on}
для случаев использования, где требуется аутентификация.
Вы должны использовать первый подход с отдельными вариантами использования и субъектами.
Вы могли бы добавить предварительное условие к Use Case A
а также Use Case B
говоря что-то вроде: пользователь должен быть аутентифицирован.
Постусловие Login
Вариант использования может затем прочитать: пользователь аутентифицирован. Это связывает ваши варианты использования с результатом Login
вариант использования, а не фактический вариант использования.
Если завтра вы создадите новый вариант использования, который будет иметь то же постусловие, что и Login
вариант использования, вам не нужно перепроектировать все другие варианты использования, которые включают в себя Login
вариант использования (или хуже, включены Login
случай использования)
В этом случае все кажется очевидным только из имен актеров, так что вы можете даже подумать об этом вообще.
Используйте второй подход. Для понимания разбейте варианты использования на части. Что касается второго подхода, вы можете показать логин пользователя, а в другом случае вы можете показать, что может сделать аутентифицированный пользователь.