Введение

Справочная модель — в системной, корпоративной и программной инженерии — это абстрактная структура или предметно-ориентированная онтология, состоящая из взаимосвязанного набора чётко определённых понятий, разработанных экспертом или группой экспертов для обеспечения ясности коммуникации. Справочная модель может представлять компоненты любой последовательной концепции, от бизнес-функций до системных компонентов, при условии, что она представляет собой полный набор. Эта основа может быть использована для чёткого обмена идеями между членами сообщества. Справочные модели часто визуализируются в виде набора понятий с указанием взаимосвязей между ними.

Обзор

Согласно OASIS (Организация по развитию стандартов структурированной информации), эталонная модель – это «абстрактная структура для понимания значимых взаимосвязей между сущностями в определенной среде и для разработки согласованных стандартов или спецификаций, поддерживающих эту среду. Эталонная модель основана на небольшом числе объединяющих концепций и может использоваться в качестве основы для обучения и объяснения стандартов неспециалистам. Эталонная модель не привязана напрямую к каким-либо стандартам, технологиям или другим конкретным деталям реализации, но стремится обеспечить общую семантику, которая может быть использована однозначно в различных и между различными реализациями». В понятие «эталонная модель» включено несколько концепций. Каждая из этих концепций важна:

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

Сущности и взаимосвязи: эталонная модель описывает как типы сущностей (существующие объекты), так и их взаимосвязи (то, как они соединяются, взаимодействуют друг с другом и проявляют общие свойства). Простого перечня типов сущностей недостаточно для использования в качестве эталонной модели.

В рамках среды: эталонная модель не пытается описать «все вещи». Эталонная модель используется для уточнения «вещей в среде» или проблемного пространства. Чтобы быть полезной, эталонная модель должна содержать четкое описание проблемы, которую она решает, и интересы заинтересованных сторон, которым необходимо решить эту проблему.

Технологическая независимость: полезность эталонной модели ограничена, если она делает предположения о технологиях или платформах, используемых в конкретной вычислительной среде. Эталонная модель обычно предназначена для содействия пониманию класса проблем, а не конкретных решений для этих проблем. Таким образом, она должна помогать специалисту, способствуя процессу представления и оценки различных потенциальных решений. Это не исключает разработки эталонной модели, описывающей набор программных приложений, поскольку проблемное пространство может быть «управление набором программных приложений».

Использование эталонной модели

Существует множество способов применения эталонной модели. Одно из применений – создание стандартов как для объектов, которые представлены в модели, так и для взаимосвязей между ними. Создание стандартов облегчает работу инженеров и разработчиков, которым необходимо создавать объекты, соответствующие этим стандартам. Можно разрабатывать программное обеспечение, соответствующее стандарту. При правильной реализации стандарт может использовать шаблоны проектирования, поддерживающие ключевые качества программного обеспечения, такие как возможность недорогого расширения функциональности. Другое применение эталонной модели – обучение. Используя эталонную модель, лидеры в области разработки программного обеспечения могут помочь разбить обширную проблемную область на более мелкие, понятные, решаемые и уточняемые задачи. Разработчики, впервые сталкивающиеся с определенным набором проблем, могут быстро понять суть различных задач и сосредоточиться на тех, которые им поручено решить, будучи уверенными в том, что другие области хорошо изучены и тщательно проработаны. Уровень этой уверенности важен для эффективной концентрации разработчиков на своей работе. Третье применение эталонной модели – улучшение коммуникации между людьми. Эталонная модель разбивает проблему на сущности, или "самостоятельные элементы". Это часто является явным признанием концепций, которые уже разделяют многие, но при формализации эталонная модель становится полезной, определяя различия и взаимосвязи между этими концепциями. Это улучшает взаимодействие между участниками, работающими с этими концепциями. Четвертое применение эталонной модели – определение четких ролей и зон ответственности. Создавая модель сущностей и их взаимосвязей, организация может назначить конкретных сотрудников или команды, ответственных за решение проблем, связанных с определенным набором сущностей. Например, если эталонная модель описывает набор бизнес-показателей, необходимых для создания сбалансированной системы показателей, то каждый показатель может быть закреплен за конкретным руководителем. Это позволяет высшему руководству требовать от членов своей команды достижения качественных результатов. Пятое применение эталонной модели – возможность сравнения различных решений. Разбивая проблемную область на базовые концепции, эталонная модель может быть использована для анализа двух различных подходов к решению этой проблемы. В этом случае компоненты каждого решения можно обсуждать в сопоставлении друг с другом. Например, если эталонная модель описывает компьютерные системы, помогающие отслеживать взаимодействие бизнеса с клиентами, то бизнес может использовать эталонную модель для выбора одного из пяти различных программных продуктов, исходя из своих потребностей. В этом примере эталонная модель может быть использована для сравнения того, насколько хорошо каждое из рассматриваемых решений может быть настроено для удовлетворения требований конкретного бизнес-процесса.