Форум Сообщества Аналитиков
Общий раздел => Примеры => Задачи студентов => Тема начата: BoytsovDmitry от 22 Апреля 2012, 13:41:42
-
Коллеги, день добрый.
У меня возник вопрос по поводу отношений include и extend. Вернее, по тому, как правильно связать эти отношения с актером.
Прилагаю две картинки для пояснения:
(https://lh5.googleusercontent.com/-VB-Y2kwpsxM/T5PR8pf78WI/AAAAAAAABGU/XiMzYPVl5to/s645/Use%2520Case%2520Diagram1.jpg)
(https://lh5.googleusercontent.com/-5DnMY6ijZlk/T5PR8iXbqCI/AAAAAAAABGQ/r7hM9VLZ18o/s522/Use%2520Case%2520Diagram2.jpg)
Вопрос: нужны ли связи , что нарисованы красным? или верно без них?
(если да или нет-то попрошу вас пояснить почему так: нужны или не нужны)
Если где-нибудь в литературе описан данный вопрос, прошу тыкнуть меня в нужный учебник)
Спасибо
-
Включение вариантов использования (http://www.uml2.ru/index.php?option=com_content&task=view&id=430&Itemid=47)
и
Отношение "extend" (http://www.uml2.ru/index.php?option=com_content&task=view&id=445&Itemid=47)
1. 1-ая диаграмма вообще некорректная
2. красные линии лишние
3. include и extend ВИ обычно абстрактные ВИ, т.е. у них нет независимого пускателя (читай актера), они запускаются в рамках других ВИ, потому и называются абстрактными, и контекстно от него зависят
-
Правильно никак не рисовать, пока не получите практического опыта составления перечней юскейсов, их сценариев и проверки того и другого жизнью.
-
[некробурения псто]
Вопрос актуален [всё ещё]. В стандарте UML нет решения до сих пор. Вероятно, авторам этого стандарта не хватает столь ценимого кое-кем "практического опыта чего-то-там".
Есть сложившиеся практики, которые почти не описываются в учебниках, но следы их применения можно заметить на примерах UC-диаграмм.
Вот пример от Скотта Амблера:
(https://agilemodeling.com/wp-content/uploads/2023/04/useCaseReuse.gif)
Мы тут видим, что включённый ВИ имеет тот же набор связанных экторов, что и базовый, и поэтому явных ассоциаций от него к экторам нет. Также видим, что расширяющий ВИ имеет изменённый набор экторов по сравнению с базовым, и поэтому есть явная ассоциация. Можно заметить, что Амблер предлагает нам додумать такой момент: UC "Perform Security Check" связан неявно со Student, Registrar, Applicant и явно -- с International Student или же ассоциация-коммуникация к International Student перекрывает/переопределяет коммуникацию к Student, как-бы унаследованную от базового UC.