3.2.2 Объектная модель

1 2 3 4 5 6 7 8 9 10 11 12 13 14 
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 
30 31 32 33 34 35 36 37 38 39 40 

 

П-модель иллюстрирует функции бизнеса, его окружение и бизнес-процессы, которые он предлагает внешнему миру. Однако для более полного понимания бизнеса такого описания не достаточно. Необходима модель, показывающая как, за счет чего реализуются прецеденты. Внутренняя или объектная модель раскрывает внутреннее устройство бизнеса, а именно: какие виды ресурсов используются для реализации прецедентов и каким образом они взаимодействуют.

Описание О-модели базируется на понятии "объект". Объекты представляют участников процессов и различного рода сущности (продукция, предметы, задачи и т.д.). Различают классы объектов, описывающие общие характеристики  некоторого типа объектов, и экземпляры, описывающие характеристики конкретного объекта. О-модель, представленную в терминах классов объектов, называют идеальной моделью. Такая модель не учитывает некоторых деталей реализации модели на практике. О-модель, описанную в терминах экземпляров объектов, называют реальной. Она учитывает особенности конкретной реализации.

Выделяются следующие типовые классы объектов [3]:

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

2. Управляющие - активные объекты, управляющие процессами, но не имеющие контакта с окружением. Типичные примеры управляющих объектов в компании - это Разработчик продукции, Менеджер проекта.

3. Объекты-сущности - пассивные объекты, которые обрабатываются бизнесом. Как правило, объекты-сущности не являются человеческими или техническими ресурсами. Типичные примеры сущностей в компании - Продукция, Заказ, Извещение.

Один и тот же объект может участвовать не только в одном прецеденте, он может принимать участие во многих событиях в бизнесе. Кроме того, как и в случае с субъектами, один реальный человек или техническая система может выполнять роли нескольких объектов. Например, продавец продукции кроме роли интерфейсного объекта, выполняющего контакт с клиентом, может играть роль менеджера, …

Объекты (классы и экземпляры)  связываются отношениями. Бинарное отношение связывает два объекта. Оно может быть как однонаправленным, так и двунаправленным.

В графической модели взаимодействия объектов прецедента объекты изображаются треугольниками (интерфейсные - с буквой "и" внутри, управляющие - с буквой "у" внутри), а отношения между объектами -  дугой (стрелкой). На рис. 3.4 представлена модель взаимосвязей объектов для прецедента "Продажа заказного продукта", описанного в п.3.2.1.


 

Отношения, представленные на данной модели, относятся к  двум типам: отношения коммуникации (изображены сплошной стрелкой)) и отношения использования (изображены пунктирной стрелкой). Отношения коммуникации отражают материальные, энергетические и информационные потоки между различными объектами, а также между объектами и субъектами. Отношения использования означает, что один объект некоторым образом использует другой. Например, объект "Продавец" формирует объект "Адрес клиента", объект "Отправитель продукта" использует "Адрес клиента" для получения информации о том, куда доставлять продукт.

Кроме отношений коммуникации и использования выделяются отношения наследования и отношения "состоять из" ("является частью"). Эти виды отношений используются для структуризации модели.

Отношения "состоять из" и обратное отношение "являться частью" используются для выражения того, что объект состоит из других объектов. Например, вся информация как о самом клиенте, так и о заказываемом им продукте может содержаться в одном объекте "Заказ", который состоит из двух частей: "Описание продукта" и "Описание клиента" (см. рис. 3.5).

Отношение наследования устанавливается между классами и выражает тот факт, что один класс (потомок) конкретизирует, уточняет другой класс (предок или супер-класс). При этом потомок наследует все характеристики (свойства, атрибуты) предка, однако может иметь дополнительные характеристики. Введение отношения наследования позволяет общие свойства нескольких классов описывать в одном месте - в  описании супер-класса. Например, объекты "Заказ", "Описание продукта" и "Описание клиента" наследуются от одного класса "Информация" ("Документ" - ?), в котором описываются общие характеристики - объем, вид (печатный документ, файл), место хранения, срок хранения и др. На рис. 3.5 представлен пример использования отношения "со

стоять из" и отношения наследования.

 

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

Для отражения динамики описание взаимодействия объектов "накладывается" на П-модель, т.е. создается еще одно описание потока событий прецедента в терминах участвующих объектов. Удобно отображать описание прецедентов в терминах объектов с помощью диаграммы взаимодействия. На рис. 3.6. представлен пример диаграммы взаимодействия объектов для прецедента "Продажа заказного продукта". Методика построения подобных диаграмм взаимодействий использовалась долгое время в сфере телекоммуникаций, в основном, для описания взаимодействия между блоками аппаратуры. И Якобсон предложил использовать эти диаграммы для объектно-ориентированных моделей бизнес-процессов.

В диаграмме взаимодействия слева идет описание события (шага прецедента), справа - соответствующие ему взаимодействия объектов. Каждый объект представляется вертикальным столбцом. Ось времени в диаграмме идет сверху вниз, однако она не связана с метрикой и служит для идентификации порядка взаимодействия. Другими словами, расстояние между взаимодействиями (стимулами) на диаграмме не имеет ничего общего с интервалами времени между событиями. На диаграмме взаимодействия, приведенной на рис. 3.6, показаны только управляющие и интерфейсные объекты и отношения коммуникации между ними. Объекты-сущности, используемые управляющими и интерфейсными объектами в акте коммуникации, указаны как метки дуг взаимодействия.

 

Поток событий

Прецедента

Объекты

 Клиент   Продавец  Проектировщик  Отправитель

Продавец получает заказ клиента

 


Заказ

 

 

 

Продавец передает заказ Проектировщику продукта

 

 


  заказ

 

 

Проектировщик модифицирует продукт и передает его Отправителю

 

 

 


Заказной продукт

 

Продавец принимает от клиента оплату

 


Оплата

 

 

 

Продавец сообщает Отправителю адрес клиента и заказывает транспорт

 

       адрес

       заказ

клиента,

транспорта

 

Отправитель доставляет клиенту продукт

 

продукт

 

 

 

Рис. 3.6.  Диаграмма взаимодействия объектов для

прецедента "Продажа заказного продукта"

 

Если прецедент содержит несколько вариантов хода событий, не стоит пытаться изобразить их все на одной диаграмме взаимодействий, так как она станет слишком запутанной. Лучше выделить варианты в отдельные прецеденты, используя либо отношения наследования, либо отношения "являться частью" (см. п. 3.2.1), и построить несколько диаграмм.

Все выше описанные аспекты О-модели - статическая и динамическая модели взаимодействия объектов - были направлены на описание участия объектов в прецедентах. Причем, один и тот же объект может участвовать в различных вариантах прецедента и в различных прецедентах. Для того, чтобы иметь представление обо всех ролях и обязанностях объекта, нужно составить описание объекта.

Описание объекта состоит из двух частей: описание состояний и описание поведения. Для составления описания состояний объекта, прежде всего, необходимо выделить все его характеристики, свойства, называемые атрибутами. Атрибут должен иметь имя, диапазон возможных значений, а для экземпляра объекта еще и конкретное текущее значение атрибута. Например, объект "Заказ" может иметь атрибуты, указывающие название заказываемого товара, его характеристики, количество, имя клиента, заказавшего товар и т.д. Как правило, состав атрибутов одинаков для всего класса объекта. Различные экземпляры объекта отличаются лишь набором конкретных значений атрибутов.

Различают постоянные атрибуты, значения которых не изменяются в ходе выполнения прецедента и переменные, которые определяют различные состояния объекта. Например, объект «Заказ» может иметь переменный атрибут, указывающий, находится ли заказ в стадии изготовления товара, отправки товара или он уже выполнен.

Описание поведения объекта заключается в выявлении всех его обязательств, т.е. всех взаимодействий объекта с другими объектами и субъектами в ходе выполнения прецедента. В [3] описан алгоритм выявления всех обязательств объекта из диаграмм взаимодействия. Поясним суть алгоритма. Как правило, объект фигурирует в нескольких диаграммах взаимодействия, описывающих различные прецеденты или экземпляры прецедентов. Из всех диаграмм, где фигурирует описываемый объект, вычленяются все обязательства объекта (взаимодействия) и объединяются  (см. рис.3.7). В результате получается описание всех ролей объекта во всех прецедентах.

 

Все требования к объекту, состоящие их описания состояний объекта и описания поведения, собираются в документ, называемый спецификацией объекта.