Диссертация (1145120), страница 44
Текст из файла (страница 44)
При этом была создана новая компонентная архитектура продукта,разработан новый пользовательский интерфейс и т.д. Но при этом автор постоянно ориентировался на нужды пользователей продукта — группу аналитиков, работавших с прежним продуктом. Необходимо отметить, что функциональность, которая не требовалась, так сказать, пользователям «прямосейчас», оставлялась в стороне, хотя также закладывалась в проект. Такимобразом, продукт более похож на заказное решение, чем на «коробочный»продукт.Проект был выполнен под непосредственным руководством автора диссертационной работы. В рамках данного проекта автором были выполнены следующие работы: (i) разработка и управление требованиями к новому продукту; (ii) руководство проектированием продукта, в частности, разработкасредств дополнительного моделирования на базе пакета Visio, включая средства синхронизации; (iii) модернизация языка моделирования; (iv) разработкаи реализация алгоритма слияния версий моделей.
Результаты проекта опубликованы в работах [67], [68], написанных в соавторстве. В [67] автор разработал архитектурную модель, соавторы предложили ряд компонентов этоймодели (внутренние редакторы и отчёты), а также выполнили программнуюреализацию. В [68] автор предложил модель строгой типизации элементовязыка ОРГ-Мастера. Определение прагматики, а также программная реализация предложенных идей принадлежит соавторам.Перейдём к описанию состава созданного DSM-решения и описания процесса его разработки (на основе модели DSM-процесса).5.1.1 Технология ОРГ-МастерОРГ-Мастер является программно-методическим комплексом для реализации решений в области управления архитектурой компаний. ОРГ-Мастервключает в себя оригинальный подход к разработке архитектуры предприя269тия [22], [108], [124], [327], язык моделирования [68] и комплекс программных средств [21], [267], [67].
Ключевой особенностью ОРГ-Мастера являетсяподдержка, помимо традиционных средств моделирования, также табличнодиалогового интерфейса, основанного на онтологии предприятия. Особенности методологии, заложенной в ОРГ-Мастер, заключаются в следующем:проектирование бизнес-архитектуры, а не только разработка её описаний;использование онтологического подхода для представления знаний о предприятии, а не только набора графических нотаций (часто слабо связанныхмежду собой) [22], [108], [124], [327].Программные средства ОРГ-Мастера состоят из базового средства моделирования и набора дополнительных утилит.
Базовое средство включает всебя репозиторий моделей и среду для работы с этим репозиторием, включаягенератор отчётов в формате Microsoft Word, Excel, HTML, импорт данныхиз различных источников, процедуру слияния двух версий моделей и другиесервисные функции.Концептуальная метамодель языка моделирования представлена нарис. 5.153. В этой модели опущено большое количество дополнительных конструкций, атрибутов и связей с тем, чтобы не загромождать целостное представление языка второстепенными деталями.Язык разделён на две части — уровень метамодели и уровень модели.
Напервый уровень попадают основные конструкции-контейнеры, с помощьюкоторых создаётся схема каждой модели. На втором уровне находятся конструкции, с помощью которых проводится наполнение модели.Описание языка мы начнём с конструкции под названием модель (класс«Модель»). Экземпляр этого класса является конкретной бизнес-моделью,создаваемой для определённой компании. В модель входят элементы модели53Описание языка моделирования ОРГ-Мастер приведено в соответствии с работой авто-ра [90].270(экземпляры класса «Элемент модели»), типы (экземпляры класса «Тип») идомены (экземпляры класса «Домен»).Уровень метамодели(схемы)МодельТипВид: тип позиции,**тип связи,свободный атрибут**Элемент моделиДомен****0..10..1*АтрибутКлассификаторПроекция*УровеньмоделиОбъект модели***ЗначениеатрибутаПозиция***Связь0..1ЛистоваяпозицияРазделРис.
5.1. Концептуальная метамодель языка моделирования ОРГ-МастерРассмотрим теперь базовые элементы ОРГ-Мастера — классификаторы ипозиции. Классификатор — это контейнер, содержащий дискретные, упорядоченные и иерархизированные элементы информации, которые, в свою очередь, описывают некоторый связный и достаточно однородный фрагментпредметной области.
Можно сказать, что классификатор является аналогомпакета в UML — то есть он не является типом и не имеет экземпляров и, бу271дучи описан, сразу начинает существовать (в отличие, например, от класса вобъектно-ориентированном программировании, который существует в работающей программе через свои экземпляры, а сам по себе является лишь абстрактной схемой, по которой во время исполнения программы порождаютсяоднотипные объекты).Важно, что информация, которая попадает в один классификатор, являетсяоднородной, поскольку основная задача классификатора — классифицировать, а это делается по принципу близости, похожести.
Приведём примерыоднородной информации, которая может быть помещена в одном классификаторе: данные о целях организации, процессах, выполняемых операциях,организационной структуре и т.д. При этом величина фрагмента предметнойобласти, попавшего в один классификатор, может существенно варьироваться от нескольких элементов (позиций) до десятков, сотен и более. Так,например, классификатор «Операции» содержит несколько тысяч позиций, аклассификатор «Корпоративных целей» — всего около ста.Важно также отметить, что классификатор позволяет упорядочить и разбить на части (дискретизировать) исходно сильно связную информацию, существующую в виде текстовых документов, а также в устной форме. Дискретные, атомарные информационные единицы, хранящиеся в классификаторе, называются позициями. Дискретизация предметной области являетсяважным шагом при проектировании архитектуры организации.
Однако неменее важны и процессы синтеза, что происходит при использовании архитектуры на практике — она должна обеспечивать целостный подход к управлению бизнесом.Процесс дискретизации информации с помощью ОРГ-Мастера тесно связан с построением иерархии — в рассматриваемом информационном фрагменте выделяются разделы (класс метамодели «Раздел»), которые, в своюочередь, могут содержать другие разделы и т.д.
Таким образом, разделы являются не листовыми позициями классификатора.Например, рассмотрим272классификатор «Процессы». Он содержит следующие разделы первого уровня: «Процессы управления (management)» и «Основные процессы цепочеквнешних и внутренних поставок». Первый раздел, в свою очередь, содержитдва других раздела — «Процессы стратегического управления» и «Процессыпроектирования и совершенствования деятельности».
И далее в глубину, последний раздел содержит подраздел «Процессы оптимизации и совершенствования процессов», а тот, в свою очередь, включает в себя позиции «Анализ результатов работы процессов» и «Оптимизация сквозных бизнеспроцессов», которые являются листовыми позициями (класс метамодели«Листовая позиция») в данном классификаторе. Описанный выше примерпредставлен ниже в виде иерархического списка на рис. 5.2.Рис.
5.2. Пример классификатораЕщё одним важным моментом упорядочивания и дискретизации информации является возможность задавать атрибуты, поскольку требуется не толькоструктурировать процессы, но также и описывать их, то есть определять дляних набор свойств и задавать значения этих свойств — важность, уровеньзрелости и т.д. То есть у позиций должны быть атрибуты (класс «Атрибут»метамодели на рис. 5.1).Атрибуты задаются на уровне классификатора или проекции. Атрибуту273можно задать имя и тип (числовой, текстовый, комментарий и т.д.). Послеэтого у всех позиций (связей) данного классификатора (проекции) появляетсявозможность задавать соответствующие значения атрибута (класс «Значение атрибута»).
Можно сказать, что ещё один атрибут каждой позиции (связи) — это её имя, и туда можно помещать произвольный текст, но он не должен быть очень большим (несколько строк — не более).Ввиду общности позиций и связей в метамодели создан класс «Объект модели», от которого наследуют классы «Позиция» и «Связь». Именно этоткласс связан с набором значений атрибутов (класс «Значение атрибута»).Также с этим классом связан набор типов, который выбран для данной позиции (связи) из списка типов, связанных с классификатором (проекцией). Подробнее о типах будет рассказано далее.Механизм атрибутов придаёт классификатору черты класса в объектноориентированном подходе. В самом деле, позиции оказываются типовымиобъектами этого класса (экземплярами), то есть они все устроены по однойсхеме — у каждого из них есть «навязанный» классификатором набор атрибутов с заданной сигнатурой, значения которых можно определять для каждой позиции.Для того чтобы хранить в одном классификаторе разнородные элементыинформации, и, в частности, элементы иерархии, используются типы позиций, и таким образом, позиции могут иметь разные типы (класс метамодели«Тип»).
Для всей модели отдельно определяется множество допустимых типов позиций, а с классификатором связывается набор этих типов — каждаяпозиция в классификаторе должна иметь тип из этого множества. Например,в классификаторе «Процессы» содержатся элементы двух типов — «Группапроцессов», «Процесс», «Версия процесса»54. Аналогично, для проекции исвязей существует тип связи.54На самом деле в этом классификаторе содержится более разнообразная информация, тоесть допустимых типов больше.274Ещё один вид типа — это свободный атрибут. Данный тип введён для того, чтобы позволять атрибутам классификаторов и связей иметь фиксированный список значений для выбора (аналог перечислимого типа, например, вС++).