Шаг 138.
Унифицированный язык моделирования UML.
Структурированное управление на диаграммах последовательности

    На этом шаге рассмотрим структурированное управление на диаграммах последовательности.

    Последовательность сообщений прекрасно подходит для отображения отдельных линейных последовательностей, но часто возникает необходимость показать условные операторы и циклы. Иногда нужно отобразить параллельное выполнение множества последовательностей. Эти разновидности высокоуровневого управления могут быть показаны на диаграммах последовательности с помощью операторов структурированного управления.

    Оператор управления (control operator) изображается на диаграмме последовательности в виде прямоугольной области. Он сопровождается тегом – текстовой меткой, заключенной в маленький пятиугольник, в верхнем левом углу. Она показывает, какой это оператор управления. Оператор применяется к линиям жизни, которые его пересекают. Эта часть называется телом оператора. Если линия жизни не затрагивается оператором, она может быть прервана в его начале (вверху) и продолжена в конце (внизу). Чаще всего применяются следующие виды управления:

    Существует также множество других операторов, но перечисленные используются наиболее часто.

    Для четкого обозначения границ диаграмма последовательности может заключаться в прямоугольник с тегом sd в верхнем левом углу. За этим тегом может следовать имя диаграммы.

    На рис. 1 представлен упрощенный пример, который иллюстрирует использование некоторых управляющих операторов.


Рис.1. Операторы структурированного управления

    Пользователь инициирует последовательность. Первый оператор – оператор цикла. Цифры в скобках (1, 3) означают минимальное и максимальное количество выполнений тела цикла. Поскольку минимальное число – единица, это тело выполнится как минимум один раз, прежде чем будет проверено защитное условие. В цикле пользователь вводит пароль, и система проверяет его. Цикл прерывается после трех попыток, хотя может завершиться и раньше в случае ввода неправильного пароля.

    Следующий оператор необязательный. Его тело выполняется, если введен правильный пароль; в противном случае остаток диаграммы последовательности пропускается. Тело необязательного оператора содержит в себе параллельный оператор. Операторы могут быть вложены, как показано на рис. 1.

    Параллельный оператор имеет две подобласти: одна разрешает пользователю ввести номер счета, а другая – сумму. Поскольку они параллельны, для этих двух элементов не предусматривается определенный порядок ввода. Это говорит о том, что параллельность не всегда означает одновременное выполнение. На самом деле это говорит о том, что два действия не скоординированы и могут совершаться в любом порядке. Если они действительно независимы, то могут перекрывать друг друга; если же последовательны, то одно начинается по завершении другого в произвольной очередности.

    После того как оба действия выполнены, параллельный оператор завершен. Далее внутри необязательного оператора банк выдает наличные пользователю. Этим исчерпывается роль диаграммы последовательности.

    На следующем шаге рассмотрим вложенные диаграммы деятельности.




Предыдущий шаг Содержание Следующий шаг