Введение
Объектно-ориентированный анализ ролей и моделирование (OOram) — это метод, основанный на концепции роли, для выполнения объектно-ориентированного моделирования. Изначально (1989) названный объектно-ориентированным ролевым анализом, синтезом и структурированием (OORASS), метод фокусируется на описании паттернов взаимодействия без привязки этого взаимодействия к конкретным объектам/экземплярам. OOram был первоначально разработан Трюгве Реенскаугом (1996), профессором Университета Осло и основателем норвежской IT-компании Taskon. Использование "ролей" в OOram аналогично применению в агентно-ориентированном программировании. Корпоративные модели, созданные в соответствии с OOram, могут иметь несколько видов, при этом каждый вид представляет определенные аспекты модели. Предлагаются следующие десять видов:
Вид области интересов: Текстовое описание явления, представленного в ролевой модели. Вид "стимул-реакция": описывает, как роли внешней среды могут инициировать действия в организации (стимул) вместе с эффектом (реакцией). Вид списка ролей: список, описывающий все роли ролевой модели вместе с атрибутами и текстовым пояснением. Семантический вид: описывает значение ролей и взаимосвязи между ними. Вид сотрудничества: описывает паттерны ролей и пути обмена сообщениями. Вид интерфейса: описывает все сообщения, которые могут быть отправлены по пути обмена сообщениями. Сценарный вид: предоставляет пример последовательности сообщений, передаваемых между ролями (конкретный пример). Процессный вид: описывает поток данных между ролями и связанные с ними действия, выполняемые ролями. Вид диаграммы состояний: для каждой роли могут быть описаны допустимые состояния вместе с сообщениями, вызывающими переходы. Вид спецификации метода: описывает, какие сообщения отправлять для каждого метода, принадлежащего роли. Также может указывать процедуры для выполнения. OOram предлагает разнообразное сочетание формальных и неформальных обозначений и языков для представления и передачи моделей. Выбор вида зависит от потребностей в конкретной ситуации.
Area of concern view: Textual description of a phenomenon represented in the role model. Stimulus response view: Describes how environment roles may trigger activities in the organization (stimulus), together with the effect (response). Role list view: List describing all roles of a role model together with attributes and textual explanation. Semantic view: Describes meaning of roles and relationships between roles. Collaboration view: Describes patterns of roles and message paths. Interface view: Describes all messages that can be sent along a message path. Scenario view: Provides a sample sequence of messages flowing between roles (a concrete example). Process view: Describes data flow between roles and associated activities performed by the roles. State diagram view: For each role, the legal states can be described together with messages that trigger transitions. Method specification view: Describes what messages to send for each method belonging to a role. May also specify procedures to perform. OOram suggests a varied mix of formal and informal notations and languages for representing and communicating models. Which view to use depends upon the needs in a particular situation.