Методы и средства концептуального проектирования информационных систем: сравнительный анализ структурногои объектно-ориентированного подходов

№ 1 (49) 2014

А. А. Вичугова, ассистент кафедры Автоматики и компьютерных систем Национального исследовательского Томского политехнического университета, anya@aics.ru

Методы и средства концептуального проектирования информационных систем: сравнительный анализ структурного и объектно-ориентированного подходов

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

Ключевые слова: разработка программного обеспечения, информационные системы бизнес-моделирования, средства проектирования .

введение

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

• структурный подход, в основу которого положен принцип алгоритмической декомпозиции: структура системы описывается в терминах иерархии ее функций и передачи информации между отдельными функциональными элементами (модулями);

• объектно-ориентированный подход, который использует объектную декомпозицию: структура системы определяется мно-

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

Ключевыми понятиями обоих подходов являются следующие термины: методология, методы и нотации. Методология представляет собой общее теоретическое описание методов исследования. Методы концептуального проектирования ИС реализуются совокупностью графических элементов и правил их использования, которые называются нотацией моделирования.

Целью настоящей статьи представляется сравнительный анализ наиболее популярных методов и средств структурного и объектно-ориентированного подходов к разработке ПО, используемых на этапе концептуального проектирования ИС.

обзор наиболее популярных методов

Агрегацию основных положений структурного подхода принято называть методологией структурного анализа и проектирования — SADT (англ. Structured Analysis and Design Technique), история которой на-

№ 1 (49) 2014

чинается в 60-х гг. XX в. Вслед за появлением структурных методов проектирования ПО началось зарождение и развитие новой управленческой дисциплины, известной как бизнес-моделирование. Важнейшим термином этого направления является понятие бизнес-процесса, которое означает логически завершенную последовательность действий по преобразованию исходных данных в результаты, удовлетворяющие потребителя [1].

Наиболее востребованные структурные методы концептуального проектирования ПО, например IDEF0, IDEF1X, IDEF3, DFD, также успешно используются при описании деятельности и регламентации бизнес-процессов. Это особенно важно в контексте прикладной направленности проектируемого ПО, поскольку позволяет показать поддержку функций бизнес-процесса соответствующими функциями (модулями) ИС. Данное обстоятельство четко отражено в методологии бизнес-моделирования ARIS (от англ. Architecture of Integrated Information Systems), которая представляет собой интегрированный подход к описанию различных аспектов деятельности предприятия, объединяя структурные и объектно-ориентированные методы в рамках целостного взгляда на бизнес-процессы компании. Практическая реализация методологии ARIS представлена в виде одноименного программного продукта [2].

Уникальным методом моделирования бизнес-процессов в ARIS-методологии является eEPC (англ. EventProcess Chain), позволяющий описать не только функции бизнес-процесса и связанные с ними события, но и участников, входы/выходы функций в виде набора информации, материальных объектов, документов и т. д., а также используемые инструменты, например ПО. Поэтому методы и средства ARIS-методологии успешно применяются для задач регламентации использования ПО на этапе концептуального проектирования.

В настоящее время объектно-ориентированный подход реализуется, главным обра-

S

зом, в виде языка графического моделиро- <§ вания объектных систем UML (англ. Unified jg Modeling Language), который позволяет опи- ^ сать структуру и поведение проектируемой ч-системы с помощью множества нотаций. В современной версии языка UML 2.4.1 выделяют около 15 видов диаграмм, позволяющих описать структуру и поведение проектируемого ПО, включая действия пользователей, т. е. бизнес-процессы. Наиболее часто используемыми при концептуальном проектировании ПО можно назвать следующие виды диаграмм UML:

• классов;

• компонентов и развертывания;

• состояний;

• последовательностей;

• деятельности;

• прецедентов (вариантов использования).

Сравнительный анализ

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

Анализ табл. 1 позволяет сделать вывод о том, что наиболее популярные методы существующих подходов к разработке ПО, включая нотации бизнес-моделирования, имеют некоторое сходство между собой.

Например, IDEF4 и UML-диаграммы классов, позволяющие выполнить типизацию предметной области с точки зрения объектно-ориентированного подхода. При этом нотация IDEF4 относится к семейству структурных методов IDEF и является совместимой с ними. Однако в работах Р. Майера [3] подчеркивается отличие IDEF4, связанное с наличием доменов и артефактов, описанных с помощью других методов IDEF, например

№ 1 (49) 2014

Таблица 1

1

с

12 и

S

О

il

!

«и

£

0 «

12 U

1

s <0 'S

i

is

ï «

I

ы

is §

u

IE

0

1 t

I

s

О

il £

о &

12

0 ï

1 &

с

i Si

!

Задачи концептуального проектирования ПО и методы их решения

Типовая задача Методы решения

концептуального проектирования ПО Структурный подход Объектно-ориентированный подход ARIS-методология

Функциональное разделение на верхнем уровне абстракции IDEF0 (структура и иерархия процессов) иМ^-диаграммы компонентов и пакетов VACD (Value added chain diagram) — последовательность процессов при формировании продукта; ASTD (Application system type diagram) — диаграмма типов ИС

Определение типов предметов, взаимосвязей между ними и их свойств IDEF1X (атрибуты сущностей и связи между ними); IDEF4 (классы объектов, их атрибуты и методы, связи между ними) иМ^-диаграмма классов (классы объектов, их атрибуты и методы, связи между ними) eERM (extended Entity Relation Model) — атрибуты сущностей и связи между ними

Описание движения потоков данных DFD (Data Flow Diagram) — движение данных между процессами и хранилищами иМ^-диаграмма последовательностей (обмен сообщениями между объектами разных классов) IFD (Information flow diagram) — движение данных между процессами, включая исполнителей

Описание логической последовательности выполнения функций бизнес-процесса IDEF3 (PFD — Process Flow Description) — функции процесса, логические операторы иМ^-диаграмма деятельности eEPC (extended Event Process Chain) — логическая последовательность функций и событий (логические операторы), а также их связь с объектами и участниками

Описание изменения состояний предмета IDEF 3 (OSTN — Object State Transition Network) иМ^-диаграммы состояний VACD — изменения предмета через последовательность процессов

IDEF1Х. Меньше отличаются друг от друга методы eERM и IDEF1X, предназначенные для концептуального проектирования реляционных схем данных: фактически eERM является представлением нотации П. Чена в системе бизнес-моделирования ARIS, реализующей одноименную методологию. Но, в отличие от IDEF1X, метод eERM позволяет, помимо сущностей, их атрибутов и отношений между ними, также отобразить типы сущностей.

Таким образом, ортогональность структурного и объектно-ориентированного подходов заметна уже на этапе концептуального проектирования ПО. Однако в данном случае первичную типизацию предметной области рационально выполнить средствами UML в виде диаграммы классов, так как при этом нет необходимости решать задачу разработки логической и физической модели базы данных (БД). Проиллюстрируем это на примере интернет-магазина, в рамках которого

58 у

№ 1 (49) 2014

Контрагент

-Вид контрагента

-Наименование компании

-Адрес

-Телефон

-Е-мейл

-Контактное лицо (ФИО) -Номер расчетного счета

+изменить данные о контрагенте

Ж

*

4

Клиент

-Размер клиентской скидки

+авторизоваться

Заказ

-Номер заказа -Сумма заказа -Статус заказа -Вид доставки -Адрес доставки -Время доставки

+применить скидку для клиента

+изменить данные о времени и месте получения заказа

Поста вщик

-Количество товара в оптовой поставке

+добавить в черный список

< 1..* 1

Оплата

-Вид оплаты

-Дата оплаты

-Статус оплаты

-Номер платежной операции

+изменить статус оплаты

Товар

-Наименование товара -Дата изготовления товара -Срок годности товара (дата) -Статус товара -Стоимость товара

+положить в корзину 0 +удалить из корзины

Оплата наличными

Кассир

+сформировать кассовый чек

Оплата по безналичному расчету

-Вид безналичного перевода

+заполнить реквизиты оплаты

Оплата денежным переводом

Вид средства безналичного перевода Номер счета списания средств

+проверить возможность оплаты со счета списания

Оплата по банковской карте

-Номер карты

-Дата истечения срока работы карты -Данные о владельце карты

+проверить возможность оплаты по карте

Рис. 1. Диаграмма классов UML

^ 59

№ 1 (49) 2014

Контрагент

1

с 12 и

со

0 &

%

1

£

£

0 =8 12

и

1

§

<0 £

16 I I

Ы

К §

и Й 1Е

0

и

1 I

I

со

о &

£

о &

12

0

1 &

1=

I

§

Рис. 2. Диаграмма IDEF1x

необходимо структурированное хранение следующей информации — данных:

• о заказах;

• клиентах;

• товарах;

• поставщиках;

• об оплате заказов.

На рисунках 1 и 2 показан пример типизации данной предметной области в виде объектной UML-диаграммы классов и структурной ЮEF1x-схемы.

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

Таким образом, сравнительный анализ рис. 1 и 2 позволяет сделать вывод о большей наглядности UML-диаграммы классов (по сравнению со структурной схемой БД) и целесообразности ее применения на первичном этапе концептуального проектиро-

60 J

№ 1 (49) 2014

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

Аналогичную ситуацию близости структурного и объектно-ориентированного подходов на этапе концептуального проектирования ПО можно отметить на примере схем IDEF3/OSTN и UML-диаграмм состояний, предназначенных для описания набора состояний исследуемого предмета и переходов между ними. Как и большинство методов для описания алгоритма действий и поведения сложных систем, в их основе лежит теория графов и ее различные модификации в виде аппарата автоматов, сетей Петри и т. д. Данные математические положения о представлении действий (состояний) в виде вершин и переходов между ними используются в большинстве популярных на сегодняшний день поведенческих моделей информационных систем и описании бизнес-процессов.

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

В качестве иллюстрации смыслового и графического сходства структурного и объектно-ориентированного подходов предлагается ранее рассмотренный пример концептуального проектирования интернет-магазина. На рисунках 3 и 4, соответственно, показаны UML-диаграмма состояний объекта класса «Товар» и аналогичная IDEF3/ OSTN-схема.

Сравнительный анализ рис. 3 и 4 позволяет сделать вывод о том, что, IDEF3/OSTN позволяет четко показать процесс, вследствие которого состояние предмета меняется, а в UML можно отобразить лишь операции и условия перехода из одного состояния предмета в другое. Это подтверждает тот факт, что структурные методы в первую очередь ориентированы на процессы,

*

4

(——

На складе

Рис. 3. Диаграмма состояний UML для объекта класса «товар»

Ч..... 61

-N ПРИКЛАДНАЯ ИНФОРМАТИКА

№ 1 (49) 2014 ' -

1

с

12 и

S о

il !

<и

0 =s 12

U

s

§

<0 'S

1 il К

I «

I

К g

u й IE

0

и

1 f

il

s

о

il £

о &

12

0 ï

1 &

t=

i Si

!

Рис. 4. Диаграмма IDEF3 (OSTN), описывающая изменение состояния товара

а не на их окружение, в отличие от объектно-ориентированных методов.

В контексте бизнес-моделирования и использования его методов при концептуальном проектировании ПО следует также отметить метод BPMN (англ. Business Process Modeling Notation), который в настоящее время набирает все большую популярность. Однако он позволяет описать не только организационные особенности выполнения бизнес-процессов, но и техническую часть, важную с точки зрения разработки ПО. Учитывая графическую нотацию BPMN, можно отметить ее схожесть с диаграммами деятельности UML. Но при этом в BPMN нельзя показать объекты (кроме сообщений) различных классов, как в UML, зато можно описать события и исполнителей функций, аналогично eEPC. Таким образом, BPMN в некотором роде яв-

ляется сочетанием UML и eEPC, что позволяет детально описать логику выполнения процесса по сравнению с IDEF3/PFD. Это обусловливает тот факт, что в настоящее время метод IDEF3 теряет популярность и используется не часто.

Для документирования потоков данных структурные методы DFD (англ. Data Flow Diagram) и IFD (англ. Information Flow Diagram, в ARIS-методологии) являются более подходящими по сравнению с объектно-ориентированным UML. DFD и IFD позволяют описать движение и преобразование данных через бизнес-процессы, при этом в DFD возможно отобразить хранилища данных. Бизнес-ориентированность ARIS добавляет возможность указания исполнителей процессов, которые в DFD могут быть показаны в виде внешних сущностей. Таким образом, DFD и IFD-концепции формально-

№ 1 (49) 2014

го описания взаимодействия процессов через потоки данных дополняют друг друга. В связи с этим в настоящее время на практике встречается большое количество моделей, совмещающих в себе смысловые объекты обоих указанных методов: процессы, субъекты и статические хранилища данных в виде графических фигур, соединенных стрелками, которые означают движение информации. При этом отличия двух существующих нотаций DFD (Йордана де Марко и Гейна-Сарсона) не являются существенными, поскольку заключаются лишь в использовании разных фигур для одного понятия, например, круг или прямоугольник для обозначения функции и т. д.

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

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

Популярные средства концептуального проектирования По

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

s

что ПО разрабатывается для конкретных <§ областей деятельности, процессов, кото- ^ рые необходимо формализовать с помо- ^ щью специализированных средств. В свою ^ очередь, ПО стало неотъемлемым бизнес-инструментом, поэтому в средства бизнес-моделирования активно включаются возможности по описанию функций и модулей ИС. Таким образом, прослеживается тенденция к объединению CASE-пакетов (англ. Computer Aided Software Engineering), реализующих типовые инструменты и методы программной инженерии, и систем бизнес-моделирования.

В настоящее время наиболее часто используемыми средствами концептуального проектирования объектно-ориентированных систем являются UML-редакторы, например, Rational Rose, Visual Paradigm UML, BOUML и др. В таблице 2 приведены некоторые их характеристики, важные с точки зрения использования разработки ПО как на этапе концептуального проектирования, так и при написании программного кода. Последний столбец табл. 2 показывает возможность поддержки метода BPMN в рассматриваемом CASE-средстве.

Следует также отметить еще одну современную тенденцию развития интегрированных сред разработки ПО: они включают модули для концептуального проектирования, с возможностью последующей генерации программного кода из построенных UML-моделей. В настоящее время модули поддержки UML включены в такие популярные среды разработки, как Microsoft Visual Studio, NetBeans, Delphi XE3, TJI Java IDE, JBuilder и др. Подобная тенденция по расширению функциональных возможностей наблюдается и в области систем бизнес-моделирования. Например, ПО ARIS включает поддержку UML, что позволяет использовать это средство не только для организационного проектирования, но и для разработки ИС на начальном концептуальном уровне.

В случае другого популярного средства бизнес-моделирования, Business Studio,

№ 1 (49) 2014

Таблица 2

1

с

12

Ü

5 00

О

6

!

<u

£

0 =£ 12

U

Ü

lg <0 'S

1 «

is

I «

S-

ы

SS g

u ö I

0

И

1 f

Ü

s 00

О &

<u

о &

12

0

1

I

с

и

Si

!

з

Некоторые CASE-средства объектно-ориентированных систем

Название Лицензия Платформа Кодогенерация BPMN

StarUML GPL Windows + -

yEd Свободно распространяемая Кроссплатформенное ПО - +

Visual Paradigm UML Проприетарная Кроссплатформенное ПО + +

ArgoUML EPI Кроссплатформенное ПО + -

BOUML до версии 4 . 23 лицензия GPL, с версии 5 — проприетарное ПО Кроссплатформенное ПО + -

Dia GPL Кроссплатформенное ПО - -

MS Visual Studio Проприетарная Windows + -

MS Visio Проприетарная Windows + +

Rational Rose Проприетарная Windows + -

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

с помощью нотации eEPC, которую, помимо ARIS и Business Studio, также поддерживают такие популярные средства бизнес-моделирования, как Ramus, Бизнес-Инженер. В таблице 3 показаны некоторые современные средства бизнес-моделирования и поддержка ими наиболее популярных методов.

Таблица 3

Современные средства бизнес-моделирования и поддержка ими наиболее популярных методов

Название Лицензия Платформа IDEF0 IDEF1X IDEF3 DFD eEPC BPMN UML

ARIS Проприетарная Windows - + - + + + +

Business Studio Проприетарная Windows + - - - + + -

Ramus Проприетарная Windows + - + + - - -

Бизнес-Инженер Проприетарная Windows + - + - + - -

All Fusion Process Modeller Проприетарная Windows + + + + - - -

yEd Свободная Кроссплатформенная - + - - + + +

Dia GPL Кроссплатформенная - + - - + - +

MS Visio Проприетарная Windows - + - + + + +

№ 1 (49) 2014

Заключение

Аналитический обзор современных средств бизнес-моделирования показал отсутствие единого программного продукта, реализующего все наиболее популярные методы описания бизнес-процессов и концептуального проектирования ИС. Однако на основании анализа табл. 2 и 3 целесообразно выделить универсальные графические редакторы, например yEd, Dia, MS Visio, которые позволяют изображать диаграммы как в структурных, так и в объектно-ориентированных нотациях. Кроме того, согласно современной тенденции использования ПО в качестве сервиса в настоящее время все более активно появляются онлайн-ре-дакторы различных диаграмм и схем, реализуемые в интернет-браузере, например Gliffy, Balsamiq Mockups, Lucidchart, Draw.io и др. Их преимуществом является возможность бесплатного использования и отсутствие необходимости установки на локальном компьютере. К недостаткам следует отнести сложность (а порой и невозможность) сохранения разработанных моделей с целью их последующего редактирования.

Подводя итог рассмотрению методов | и средств концептуального проектирования ^ ПО, следует сделать вывод о том, что в на- с§ стоящее время не существует универсально- ^ го инструмента, сочетающего все преимущества структурного и объектно-ориентированного подходов. Поэтому при выборе метода и средства моделирования следует в первую очередь руководствоваться задачами их применения и удобством использования.

Список литературы

1. Хаммер М., Чампи Дж. Реинжиниринг корпорации: Манифест революции в бизнесе. М.: Манн, Иванов и Фербер, 2006. — 276 с.

2. Рожкова Е. Case-средства. Сравнительный анализ. ARIS — Rational Rose [Электронный ресурс] URL: http://ocnova.ru/?p=334 (доступно 09.01.2014).

3. Richard J. Mayer. IDEF4. Object-Oriented Design Method Report Version 2.0 [Электронный ресурс] URL: http://www.idef.com/pdf/Idef4.pdf (доступно 09.01.2014).

4. Ovidiu S. Noran. Business modelling: UML vs IDEF [Электронный ресурс] URL: httpY/www.slideshare.net/NgoHungLong/u-m-lvs-i-d-e-f (доступно 09.01.2014).

A. Vichugova, Assistant, Chair of Automatic Equipment and Computer Systems, Tomsk Polytechnic University, anya@aics.ru

Methods and tools for conceptual design of information systems: comparative analysis of structural and object-oriented approaches

The paper describes the basic methods of conceptual design of information systems and advanced tools to implement them. Considered popular today methods of structural and object-oriented approaches to software development. The comparison of the most commonly used methods and tools for conceptual design, made recommendations for their use.

Keywords: software development, information systems, business modeling and design.

v 65