Форум Сообщества Аналитиков

Дисциплины => Системный Анализ и Требования => Варианты Использования (Use Case) => Тема начата: bas от 22 Августа 2011, 20:05:51

Название: Кто нибудь встречал адекватный пример описания сценариев при обобщении ВИ?
Отправлено: bas от 22 Августа 2011, 20:05:51
Коллеги,

Представим, что есть два ВИ, которые выполняет оператор некоторой банковской системы:
1. Оформить перевод денег со счета на счет внутри банка
2. Оформить перевод денег за счета внутри банка на внешний счет

По идеи поток событий у этих двух ВИ очень схожий, но отличается некоторым нюансом, н-р, фиксации дополнительных параметров при переводе денег на внешний счет (упрощенный пример, не предлагать сделать это в виде одного ВИ).

По хорошему эти два ВИ нужно обобщить (связь generalization) в один ВИ - Оформить перевод денег.

Как правильно при этом написать сценарии к этим трем ВИ?

Я думаю так:
Описываем общий сценарий в ВИ "Оформить перевод денег", если где-то есть разветвление, то ссылаемся на поток событий в ВИ обобщения.

Но нюанс в том, что ветвиться в главном ВИ может несколько раз ...

Что думаете по этому поводу?
Название: Re: Кто нибудь встречал адекватный пример описания сценариев при обобщении ВИ?
Отправлено: Galogen от 22 Августа 2011, 20:32:37
Почитай вот наш FAQ (http://Обобщение вариантов использования)

Название: Re: Кто нибудь встречал адекватный пример описания сценариев при обобщении ВИ?
Отправлено: Elf от 23 Августа 2011, 10:37:16
Может и для другого примера можно и ветвить ВИ, но для именно этого (зная хорошо специфику банковских процессов), лучше не ветвить :)
Название: Re: Кто нибудь встречал адекватный пример описания сценариев при обобщении ВИ?
Отправлено: bas от 23 Августа 2011, 20:32:47
Мдаааа, а ФАК то наш хорошо ) Я даже когда читал эту статейку )
Но честно говоря переписывать сценарий родителя в потомке - как-то грустно ( и можно попасть на рассинхронизацию, но реально другого метода наверное нет.
Название: Re: Кто нибудь встречал адекватный пример описания сценариев при обобщении ВИ?
Отправлено: lnew от 23 Августа 2011, 21:34:02
Честно говоря, я к наследованию UC всегда настороженно относился.Примерно так: в UML UC - это классификатор. И авторы предусмотрели наследование. Ну, пусть наследуют, если хотят. А я обойдусь!

Но, если серьезно.
Если чисто текстовое описание, я себе ничего представить не могу, кроме переписывания.
Я бы попробовал моделировать так:
- общий предок содержит описание - деятельность и, соответственно, описывается диаграммой деятельности
- архитектурно существенные части (действия диаграммы), которые изменяются у потомка, в предке - вызываемое поведение и точки расширения, внешне - UCE со своими деятельностями, можно с параметрами
- в потомках этим точкам расширения соответствуют другие UCE (и деятельности, имеющие ту же сигнатуру)

Если хочется показать на диаграмме UC - показывать UC с точками расширения. У потомков в тех же точках расширения - другие UCE.

Если изменения несущественное - нечего огород городить. Можно решить альтернативными потоками.

Это, конечно, "соображения". Реального примера у меня нет. А придумывать - будет "придуманное".