Какая диаграмма деятельности более понятна
26.10.2019
|
velkin |
Изображены разные варианты одной и той же диаграммы деятельности. Первые два варианта часто изображаются в книгах, чаще симметричный, нежели асимметричный, а последний вариант взят с вики:
Какая диаграмма деятельности по вашему более понятна, наглядна и удобнее отображает разделение потока исполнения на несколько потоков и почему?
На мой взгляд третья имеет преимущества в том, что можно провести горизонтальное деление, однозначно отсекающее потоки исполнения друг от друга и получив при этом независимую прямоугольную область, которая ни с чем больше не пересекается, что удобно для копипасты.
В связи с этим странно, что Мартин Фаулер делает иначе, особенно там где идёт деление на разделы. Или всё же в этом есть смысл и скрытое преимущество, вроде экономии места или ещё чего?
диаграмма деятельности — вики | |
диаграмма деятельности — фаулер | |
диаграмма деятельности — фаулер с разделами | |
╭───────────────────────────╮
│━┃вариант 1 │
├───────────────────────────┤
│ ● начало │
│ │ │
│ ▼ │
│ ━━━ │
│ │└───────────┐ │
│ ▼ ▼ │
│ ╭────┴─────╮ ╭────┴─────╮ │
│ │активность│ │активность│ │
│ ╰────┬─────╯ ╰────┬─────╯ │
│ │┌───────────┘ │
│ ▼▼ │
│ ━━━ │
│ │ │
│ ▼ │
│ ◉ конец │
╰───────────────────────────╯
╭───────────────────────────╮
│━┃вариант 2 │
├───────────────────────────┤
│ ● начало │
│ │ │
│ ▼ │
│ ━━━ │
│ ┌────┘ └─────┐ │
│ ▼ ▼ │
│ ╭────┴─────╮ ╭────┴─────╮ │
│ │активность│ │активность│ │
│ ╰────┬─────╯ ╰────┬─────╯ │
│ └────┐ ┌─────┘ │
│ ▼ ▼ │
│ ━━━ │
│ │ │
│ ▼ │
│ ◉ конец │
╰───────────────────────────╯
╭───────────────────────────╮
│━┃вариант 3 │
├───────────────────────────┤
│ ● начало │
│ │ │
│ ▼ │
│ ━━━━━━━━━━━━━━━━━━━━━━━ │
│ │ │ │
│ ▼ ▼ │
│ ╭────┴─────╮ ╭────┴─────╮ │
│ │активность│ │активность│ │
│ ╰────┬─────╯ ╰────┬─────╯ │
│ │ │ │
│ ▼ ▼ │
│ ━━━━━━━━━━━━━━━━━━━━━━━ │
│ │ │
│ ▼ │
│ ◉ конец │
╰───────────────────────────╯
Какая диаграмма деятельности по вашему более понятна, наглядна и удобнее отображает разделение потока исполнения на несколько потоков и почему?
На мой взгляд третья имеет преимущества в том, что можно провести горизонтальное деление, однозначно отсекающее потоки исполнения друг от друга и получив при этом независимую прямоугольную область, которая ни с чем больше не пересекается, что удобно для копипасты.
В связи с этим странно, что Мартин Фаулер делает иначе, особенно там где идёт деление на разделы. Или всё же в этом есть смысл и скрытое преимущество, вроде экономии места или ещё чего?
╭──────────────────────────────╮
│━┃вариант с разделами │
├───────────────┬──────────────┤
│ главный поток │ доп. поток │
├───────────────┼──────────────┤
│ ● начало │ │
│ │ │ │
│ ▼ │ │
│ ━━━━━━━━━━━━━┿━━━━━━━━━━━━ │
│ │ │ │ │
│ ▼ │ ▼ │
│ ╭────┴─────╮ │ ╭────┴─────╮ │
│ │активность│ │ │активность│ │
│ ╰────┬─────╯ │ ╰────┬─────╯ │
│ │ │ │ │
│ ▼ │ ▼ │
│ ━━━━━━━━━━━━━┿━━━━━━━━━━━━ │
│ │ │ │
│ ▼ │ │
│ ◉ конец │ │
╰───────────────┴──────────────╯
26.10.2019 1 комментарий |
Они все понятны, но на уровне подсознательного первого взгляда воспринимаются особенности:
Вариант 1 намекает на однотипность действия, которое распараллеливается добавлением одинаковых элементов справа.
Вариант 2 намекает на равноправие активностей и возможную условную вариативность выбора вниз-влево и/или вниз-вправо.
Вариант 3 намекает на независимость активностей от начала и конца благодаря линиям отсечения.