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

×


Diagram: Activity vs Sequence(Прочитано 7500 раз)
Diagram: Activity vs Sequence : 29 Ноября 2010, 14:02:43
Подскажите начинающему аналитику, прочитавшему умную книжку, но ничего не понимающему на практике:
Диаграммы последовательностей и действий используются для разных целей или они взаимозаменяемые?
Если нет, то для каких задач больше подходит диаграмма последовательностей и для каких диаграмма действий.

Спасибо!



Re: Diagram: Activity vs Sequence Ответ #1 : 29 Ноября 2010, 14:51:43
Прагматика использования естественно разная. Однако одну и ту же информацию можно изобразить на этих диаграммах. Но не следует я думаю смешивать семантику.

ДД - это дань блок-схемам, семантика - сети Петри. Идеально подходить для описания алгоритмов (например реализаций операций), но не только. Но никак не приближает к объектной реализации

ДП - диаграмма взаимодействия, показывает последовательность (протокол) взаимодействия объектов и естественно приближает нас максимально к объектной реализации



Re: Diagram: Activity vs Sequence Ответ #2 : 30 Ноября 2010, 12:59:18
Большое спасибо за ответ.
Я понял следующее:
1. Чисто теоретически, любой процесс или операция могут быть изображены и с помощью ДП и с помощью ДА.
2. ДП более ОО. Линии жизни, по сути, это аналитические классы. Из ДП гораздо проще будет построить проектную модель, т.к. классы и их взаимодействие уже подробно описаны.



Re: Diagram: Activity vs Sequence Ответ #3 : 30 Ноября 2010, 13:30:05
2. ДП более ОО. Линии жизни, по сути, это аналитические классы. Из ДП гораздо проще будет построить проектную модель, т.к. классы и их взаимодействие уже подробно описаны.
Линия жизни - вовсе не аналитический класс, а именно линия жизни, т.е. некая продолжительность существования конкретного объекта. Не класса - класс - это спецификация, тип, он существовать не может. Его реальное воплощение - это объекты.
В целом да, более того ДП заточена на выявление операций класса и кроме того показывает фрагменты поведения при взаимодействии наиболее явным для ООП образом



Re: Diagram: Activity vs Sequence Ответ #4 : 30 Ноября 2010, 14:04:43
Еще диаграмма деятельности (activity) может использоваться (и это - часто оправдано) вне непосредственно системы, для изображения реальных бизнес-процессов заказчика. А также в случае, если система сложна и обладает собственной активностью. А диаграмма последовательности - это именно нитка обработки в ответ на некоторойе внешнее воздействие.
Максим Цепков, CustIS



Re: Diagram: Activity vs Sequence Ответ #5 : 19 Декабря 2010, 14:38:31
Давно дело было. Может быть это уже не интересно. Но я хотел бы добавить к выступлениям предыдущих ораторов еще один аспект.
Можно вполне выкинуть из названия темы "vs":

Хотя в UML2 диаграмма последовательности существенно расширена и ее уже никак нельзя назвать диаграммой сценариев (сценарий ифов иметь не может, это детерминированная последовательность), но все же описание логики процесса очень перегружает. Для машины - это не препятствие (различного рода преобразования MDA, в том числе кодогенерация). Но для человека - это кошмар!

В UML2 есть новая диаграмма. Я перевел ее название как "диаграмма обзора взаимодействий". Как на английском - не помню. Может быть я ошибаюсь, мне кажется, что ни в одном из инструментов моделирования она "впрямую" не реализована. Я упоминаний не встречал.

Что я делаю для борьбы со сложностью (на Rational Software Architect):
- верхний уровень процесса я представляю в виде диаграммы деятельности, узлы которой - вызываемые поведения
- вызываемые поведения, в зависимости от сложности, раскрываю с помощью деятельностей или взаимодействий
- двойной щелчок по узлу диаграммы деятельности "проваливает" в диаграмму, которая описывает соответствующую вызываемую деятельность или взаимодействие.
Очень удобно.

Должен заметить еще, что диаграмма деятельности в UML2 существенно приблизилась к ОО: потоки (разделы) представляют экземпляры классов. Вопрос выбора - скорее вопрос традиций.
Общепринято, что чем ближе к коду, тем проще выглядит диаграмма последовательности (за счет декомпозиции процессов на верхних уровнях).

http://lnew.ucoz.ru
Л. Новиков
http://lnew.ucoz.ru
lnew@yandex.ru



Re: Diagram: Activity vs Sequence Ответ #6 : 25 Июня 2022, 20:21:19
Одно и то же поведение может быть описано разными диаграммами. В зависимости от используемой диаграммы будут визуализированы разные аспекты этого поведения. Диаграмма последовательности визуализирует взаимодействие в рамках описываемого поведения, при чём выражает его в виде обменов сообщениями. Диаграмма деятельности визуализирует потоки управления и/или данных в рамках описываемого поведения, выражая их в виде действий и управления. Получается что два типа диаграмм дают два вида проекций. Разные проекции одного и того же поведения могут быть схожи до такой степени, что по потокам управления можно догадаться и/или "прочесть между строк" о том, каким будет взаимодействие. В другую сторону это тоже может быть справедливо. Но это не всегда так. Проекции могут существенно расходится.
Алгоритм, реализация операции могут быть описаны в обеих проекциях.
Выбор типа диаграммы определяется задачей, но это не задача, сформулированная так: "смоделировать алгоритм / операцию / что-то ещё". Это задача в формулировке которой указано, какой аспект важен: передача управления и/или данных между отдельными шагами или обмен сообщениями между объектами.
[...и улетело НЛО.]




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19