12.9. Диаграммы последовательностей 279
термина «описание выполнения» («execution specification») нам найти
не удалось, тогда как там есть и «активация», и «фокус управления».
Отсюда можно сделать единственный вывод о том, что «активация»
и «фокус управления» являются стандартными терминами. Мы вспом
нили об этом, потому что в литературе может встретиться термин «опи
сание выполнения» как синоним активации, поскольку он включен
в книгу [Rumbaugh 1].
На рис. 12.8 фокус управления сначала находится на актере :Registrar.
Он посылает сообщение addCourse( "UML" ) актеру :RegistrationManager, ко
торый инициирует операцию addCourse(…) с параметром "UML". Во вре
мя выполнения этой операции фокус управления находится у :Registra
tionManager. Однако обратите внимание, что этот фокус управления вло+
жен в фокус управления актера :Registrar. Это вполне нормально – один
объект, имеющий фокус управления, инициирует операцию другого
объекта, создавая вложенный фокус управления. Затем этот объект
может инициировать операцию еще одного объекта, еще более углуб
ляя вложенность фокуса управления, и т. д.
В рамках выполнения операции addCourse(…) актер :RegistrationManager
создает новый объект uml:Course.
В последние годы активации вышли из моды. Многие разработчики
моделей не утруждают себя их отображением. Отчасти это объясняется
плохой поддержкой активаций некоторыми инструментами UML, от
части тем, что обычно активации не так важны, особенно в аналитиче
ских моделях. В исполняющейся ОО системе активации и так просмат
риваются через обычную семантику вызова операции. На практике чи
тать сложные диаграммы последовательностей без активаций может
быть немного проще. Мы используем активации, только если они не
уменьшают читаемость диаграммы.
12.9.3. Документирование диаграмм последовательностей
Одно из замечательных свойств диаграмм последовательностей – воз
можность добавлять в них «сценарии» путем размещения примечаний
в нижней левой части диаграмм (рис. 12.8). Это делает диаграмму на
много более понятной заинтересованным лицам, которые не являются
специалистами в UML, например пользователям или экспертам. Сце
нарий может состоять из фактических шагов прецедента или краткого
обзора того, что происходит на диаграмме, представленного в тексто
вой форме. В любом случае сценарий может быть полезным дополне
нием, особенно если диаграмма сложна.
12.9.4. Инварианты состояния и ограничения
Сообщение, получаемое экземпляром, может обусловить изменение
его состояния.