Читайте также: |
|
Управления посредством сообщений позволяет определить, когда и как следует реагировать на изменения состояния объектов. Сообщения передаются субъектам действия, которые осуществляют эти изменения. Сообщение представляет собой требование отправителя к получателю создать выходной результат.
В диаграммах состояний это указывается действием, предшествующим переходу в новое состояние.
При моделировании простых событийных цепочек (СДП) имена отдельным сообщениям не присваиваются. Предполагается, что сообщения «входят» в стрелки, соединяющие события с последующими функциями.
Если сообщения можно описать при помощи их собственных свойств (например, атрибутов или инструкций), целесообразно построить их точную модель. Иллюстрацией может служить пример на рис. 112, с фрагментом диаграммы СДП, описывающей обработку заказа (Scheer. ARIS — Business Process Frameworks. 1998). Теперь к сообщениям, которые обозначены символом «письмо», можно привязать различные свойства. В соответствии с этим следует расширить метамодель, показанную на рис. 110. Класс СООБЩЕНИЕ связывается с ассоциативной структурой АКТИВИЗАЦИЯ ФУНКЦИИ СОБЫТИЕМ. Одно и то же сообщение можно направлять различным функциям, хотя к «активизирующей» стрелке привязано только одно сообщение.
Рис. 112. Пример моделирования сообщений
В объектно-ориентированном моделировании управление посредством сообщений имеет особое значение, поскольку поток сообщений между объектами управляет поведением системы. Потоки сообщений инициируют обработку задач. Помимо объектов «отправитель» или «получатель», сообщения включают функцию и необходимые параметры, которые нужно передать. Отправитель требует от получателя выполнить данную функцию и вернуть результат(ы). Этот процесс показан на рис. 113.
Рис. 113. Обмен сообщениями между объектами
Объект «клиент Джоунс» посылает объекту «изделие 1234» сообщение с требованием вычислить стоимость заказа на 10 штук определенного изделия. Ответ направляется объекту «клиент», хотя, строго говоря, это сообщение активизируется функцией «вычислить стоимость заказа». Соответствующий объект проверяется с целью определить, реализована ли в нем требуемая функция. Если нет, то исследуется иерархия наследования объекта до тех пор, пока искомая функция не будет найдена.
Одним из важных свойств объектно-ориентированного подхода является полиморфизм. Это означает, что некоторые сообщения могут направляться к объектам различных классов, активизируя различные процессы в зависимости от способа реализации необходимой функции.
Маршруты сообщений могут изображаться в виде диаграмм взаимодействий, причем здесь возможны различные подформы. На рис. 114 представлена подробная диаграмма, показывающая последовательность обмена сообщениями и их распределение во времени. Здесь конкретный процесс можно представить как задачу, обрабатываемую двумя объектами.
В упрощенном виде диаграммы взаимодействий могут отражать только обмен базовыми сообщениями между объектами без детализации времени или последовательностей.
Рис. 114. Диаграмма взаимодействий
В диаграммах объектно-ориентированных классов маршруты сообщений уже определены ассоциациями. Именно поэтому моделирование ассоциаций играет такую важную роль в объектно-ориентированном анализе. Помимо маршрутов сообщений, моделируемых ассоциациями, бывают также специальные (ad hoc) сообщения, где пользователи адресуются к определенным объектам. Однако эти маршруты сообщений не включаются в определение требований, а описываются непосредственно на стадии исполнения.
На рис. 115 представлена метамодель диаграммы классов, дополненная управлением посредством сообщений (см. рис. 101).
Рис. 115. Метамодель управления сообщениями при объектно-ориентированном подходе
СООБЩЕНИЯ направляются от ФУНКЦИЙ ОБЪЕКТОВ к ФУНКЦИЯМ других объектов, при этом отношения определяются ассоциациями. Изделия, участвующие в процессе, обозначаются последовательными номерами или отметками времени, а параметры передачи привязываются к сообщениям.
Определенное состояние может повлечь за собой применение (выполнение) того или иного метода, но может включать и конкретное описание, например, состояние ожидания. В метамоделях такая возможность обеспечивается мощностью связи (0..1) между СОСТОЯНИЕМ и МЕТОДОМ. Состояние инициируется СОБЫТИЕМ, которое, в свою очередь, активизируется другим состоянием.
Если понятие «состояние» приравнять к понятию «функция», то метаструктура диаграммы состояний будет сопоставима с метаструктурой упрощенной диаграммы СДП, хотя и без ее логических отношений, связывающих события.
Дата добавления: 2015-08-03; просмотров: 216 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
А.3.2.1.2.3. Диаграммы состояний | | | А.3.2.1.2.5. Связывание объектно-ориентированного моделирования и СДП |