16
Примеры / Re: Модель прецедентов использования - практический вопрос
« : 09 Апреля 2012, 11:43:59 »
Предлагаю свой вариант.
1. все описанное вами, т.е. создание, просмотр, редактирование и удаление принято собирать в так называемый CRUD Use Case (Create, Read, Update, Delete);
2. очевидно, что есть несколько актеров, которые используют один и тот же функционал (вопрос полномочий оставляем за рамками UC. Это можно описать в предусловиях, в БП, и т.д. К самим шагам UC это уже не относится - UC уже работает);
3. логично было бы создать один UC, содержащий описание всех основных, описанных выше, операций и ассоциировать этот UC с двумя актерами ("Автор трансляции" и "Модератор"). Это абсолютно нормальная ситуация - назначать одному UC несколько актеров. Это означает лишь то, что в выполнении данной задачи заинтересованы несколько актеров;
4. поскольку модератор имеет возможность делать все то же самое, что и Автор трансляции, за исключением только одной операции - создания трансляции, то логично создать общий CRUD UC, в котором действия по созданию трансляции будут описаны с необходимой детальностью. Все остальные действия по редактированию и удалению трансляции в данном UC описаны одним шагом и являются по сути ссылкой на второй UC. Второй UC детально описывает шаги по редактированию и удалению трансляции. Данная связь между UC будет <include>;
5. Актером первого наиболее полного UC является Автор трансляции. Актером второго - Модератор.
6. Что касается опасений, что один UС содержит сразу несколько равноправных операций (по созданию, удалению, редактированию...), которые не обязательно будут выполняться все и последовательно, или предположений, что первый (более общий UC) не отработает, пока "обязательно!" не отработает второй, то это вопрос написания самого UC. Есть несколько общепринятых приемов для решения такой проблемы, в частности написания CRUD UC. Не буду здесь грузить. Будет интересно - пишите в личку.
Картинку прилагать не буду - она простая.
Еще рекомендация: не используйте термин "прецедент". Это просто неверный перевод термина USE CASE. И уже очень давно не используется.
Удачи!
1. все описанное вами, т.е. создание, просмотр, редактирование и удаление принято собирать в так называемый CRUD Use Case (Create, Read, Update, Delete);
2. очевидно, что есть несколько актеров, которые используют один и тот же функционал (вопрос полномочий оставляем за рамками UC. Это можно описать в предусловиях, в БП, и т.д. К самим шагам UC это уже не относится - UC уже работает);
3. логично было бы создать один UC, содержащий описание всех основных, описанных выше, операций и ассоциировать этот UC с двумя актерами ("Автор трансляции" и "Модератор"). Это абсолютно нормальная ситуация - назначать одному UC несколько актеров. Это означает лишь то, что в выполнении данной задачи заинтересованы несколько актеров;
4. поскольку модератор имеет возможность делать все то же самое, что и Автор трансляции, за исключением только одной операции - создания трансляции, то логично создать общий CRUD UC, в котором действия по созданию трансляции будут описаны с необходимой детальностью. Все остальные действия по редактированию и удалению трансляции в данном UC описаны одним шагом и являются по сути ссылкой на второй UC. Второй UC детально описывает шаги по редактированию и удалению трансляции. Данная связь между UC будет <include>;
5. Актером первого наиболее полного UC является Автор трансляции. Актером второго - Модератор.
6. Что касается опасений, что один UС содержит сразу несколько равноправных операций (по созданию, удалению, редактированию...), которые не обязательно будут выполняться все и последовательно, или предположений, что первый (более общий UC) не отработает, пока "обязательно!" не отработает второй, то это вопрос написания самого UC. Есть несколько общепринятых приемов для решения такой проблемы, в частности написания CRUD UC. Не буду здесь грузить. Будет интересно - пишите в личку.
Картинку прилагать не буду - она простая.
Еще рекомендация: не используйте термин "прецедент". Это просто неверный перевод термина USE CASE. И уже очень давно не используется.
Удачи!