Странный вопрос действительно.Взгляните на определения словаря:
- Алгоритмический : или имеющий или имеющий характеристики алгоритма
- Алгоритм (1): точное правило (или набор правил), указывающее, как решить некоторую проблему
- Алгоритм (2): эффективный метод решения проблемы, выраженный в виде конечной последовательности шагов.
Итак: можно ли использовать диаграммы деятельности для описания «метода решения задач, выраженного в виде конечной последовательности шагов»?Да, это их цель.Они поддерживают все обычные управляющие структуры, необходимые для описания алгоритмов: последовательность (A и B), чередование (A или B), итерация.Они также предоставляют явную поддержку параллельной деятельности.
Области, где они могут считаться слабыми:
- Семантика выполнения не точно и однозначно определены.Хотя спецификация UML обеспечивает некоторую семантику, некоторые точки остаются открытыми.
- Нет предопределенного набора примитивных типов, определенных для диаграмм действий.Таким образом, примитивные действия самого низкого уровня (добавление целых чисел, объединение строк и т. Д.) Не определены заранее.В этом смысле диаграммы деятельности сами по себе не являются завершенными в вычислительном отношении.
Однако: это теоретические придирки.На практике диаграммы деятельности являются популярным средством представления алгоритмов: от разработки процедур программного обеспечения до определения бизнес-процессов.
Конечно, все сводится к определению алгоритмического подхода.Если вы идете с общими определениями выше, то AD являются алгоритмическими.Если вы идете с чем-то более конкретным, они могут не быть.
hth.