Давно дело было. Может быть это уже не интересно. Но я хотел бы добавить к выступлениям предыдущих ораторов еще один аспект.
Можно вполне выкинуть из названия темы "vs":
Хотя в UML2 диаграмма последовательности существенно расширена и ее уже никак нельзя назвать диаграммой сценариев (сценарий ифов иметь не может, это детерминированная последовательность), но все же описание логики процесса очень перегружает. Для машины - это не препятствие (различного рода преобразования MDA, в том числе кодогенерация). Но для человека - это кошмар!
В UML2 есть новая диаграмма. Я перевел ее название как "диаграмма обзора взаимодействий". Как на английском - не помню. Может быть я ошибаюсь, мне кажется, что ни в одном из инструментов моделирования она "впрямую" не реализована. Я упоминаний не встречал.
Что я делаю для борьбы со сложностью (на Rational Software Architect):
- верхний уровень процесса я представляю в виде диаграммы деятельности, узлы которой - вызываемые поведения
- вызываемые поведения, в зависимости от сложности, раскрываю с помощью деятельностей или взаимодействий
- двойной щелчок по узлу диаграммы деятельности "проваливает" в диаграмму, которая описывает соответствующую вызываемую деятельность или взаимодействие.
Очень удобно.
Должен заметить еще, что диаграмма деятельности в UML2 существенно приблизилась к ОО: потоки (разделы) представляют экземпляры классов. Вопрос выбора - скорее вопрос традиций.
Общепринято, что чем ближе к коду, тем проще выглядит диаграмма последовательности (за счет декомпозиции процессов на верхних уровнях).
http://lnew.ucoz.ru