Activity diagram в UML
От: Аноним  
Дата: 24.06.09 09:40
Оценка:
Здравствуйте

Вот какой вопрос возник: рисую диаграмму активностей в Rational Rose и в ней есть такая штука: пакет с управляющим словом по сети приходит в программу, и в зависимости от содержимого этого слова, программа должна реализовать тот или иной поток действий. Количество вариантов этих потоков даже сейчас уже видится не менее 20, а в будущем еще увеличится. Соответственно, не хочется реализовывать их с помощью ветвлений, поскольку диаграмма моментально ими забьется. Хочется использовать что-то вроде CASE, но оно не предусмотрено для диаграммы активностей.

Как быть?
Re: Activity diagram в UML
От: stump http://stump-workshop.blogspot.com/
Дата: 25.06.09 10:40
Оценка: +1
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте


А>Вот какой вопрос возник: рисую диаграмму активностей в Rational Rose и в ней есть такая штука: пакет с управляющим словом по сети приходит в программу, и в зависимости от содержимого этого слова, программа должна реализовать тот или иной поток действий. Количество вариантов этих потоков даже сейчас уже видится не менее 20, а в будущем еще увеличится. Соответственно, не хочется реализовывать их с помощью ветвлений, поскольку диаграмма моментально ими забьется. Хочется использовать что-то вроде CASE, но оно не предусмотрено для диаграммы активностей.


А>Как быть?

А зачем тебе все эти потоки рисовать на одной диаграме? Диаграмы рисуют, чтоб было понятней, а не чтоб всех запутать.
Поэтому декомпозируй.Нарисуй линейную диаграму:

принять пакет -> выбрать нужный пакет действий -> выполнить пакет действий

А для каждого пакета нарисуй отдельную подробную диаграму.
Понедельник начинается в субботу
Re[2]: Activity diagram в UML
От: Аноним  
Дата: 25.06.09 12:30
Оценка:
Здравствуйте, stump, Вы писали:

S>Здравствуйте, Аноним, Вы писали:


А>>Здравствуйте


А>>Вот какой вопрос возник: рисую диаграмму активностей в Rational Rose и в ней есть такая штука: пакет с управляющим словом по сети приходит в программу, и в зависимости от содержимого этого слова, программа должна реализовать тот или иной поток действий. Количество вариантов этих потоков даже сейчас уже видится не менее 20, а в будущем еще увеличится. Соответственно, не хочется реализовывать их с помощью ветвлений, поскольку диаграмма моментально ими забьется. Хочется использовать что-то вроде CASE, но оно не предусмотрено для диаграммы активностей.


А>>Как быть?

S>А зачем тебе все эти потоки рисовать на одной диаграме? Диаграмы рисуют, чтоб было понятней, а не чтоб всех запутать.
S>Поэтому декомпозируй.Нарисуй линейную диаграму:
S>

S>принять пакет -> выбрать нужный пакет действий -> выполнить пакет действий

S>А для каждого пакета нарисуй отдельную подробную диаграму.

Понятно, что каждый случай выполнения пакета действий будет потом декомпозирован, иначе зачем это вообще рисовать
Меня интересует диаграмма, на которой реализован алгоритм выбора нужного пакета действий. Не хочется рисовать ее с помощью множества IF, когда заранее знаешь, что при реализации будет CASE.
Re[3]: Activity diagram в UML
От: Буравчик Россия  
Дата: 25.06.09 17:34
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Понятно, что каждый случай выполнения пакета действий будет потом декомпозирован, иначе зачем это вообще рисовать

А>Меня интересует диаграмма, на которой реализован алгоритм выбора нужного пакета действий. Не хочется рисовать ее с помощью множества IF, когда заранее знаешь, что при реализации будет CASE.

Чего-то непонятно. IF от CASE отличается только количеством веток. Кто мешает от Decision направить поток к любому количеству Activities?
... << RSDN@Home 1.2.0 alpha 4 rev. 1218>>
Best regards, Буравчик
Re[4]: Activity diagram в UML
От: Аноним  
Дата: 26.06.09 07:35
Оценка:
Здравствуйте, Буравчик, Вы писали:

А>>Понятно, что каждый случай выполнения пакета действий будет потом декомпозирован, иначе зачем это вообще рисовать

А>>Меня интересует диаграмма, на которой реализован алгоритм выбора нужного пакета действий. Не хочется рисовать ее с помощью множества IF, когда заранее знаешь, что при реализации будет CASE.

Б>Чего-то непонятно. IF от CASE отличается только количеством веток. Кто мешает от Decision направить поток к любому количеству Activities?


Я так и сделал временно, но как-то оно некрасиво выглядело. Не знал, что так можно, все примеры с Decision, что я видел, ограничивались тремя вариантами — по числу свободных углов ромба

Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.