№ 1 (49) 2014
А. А. Вичугова, ассистент кафедры Автоматики и компьютерных систем Национального исследовательского Томского политехнического университета, [email protected]
Методы и средства концептуального проектирования информационных систем: сравнительный анализ структурного и объектно-ориентированного подходов
В статье описаны основные методы концептуального проектирования информационных систем и современные программные средства их реализации . Рассмотрены популярные на сегодняшний день методы структурного и объектно-ориентированного подходов к разработке программного обеспечения . Выполнено сравнение наиболее часто используемых методов и средств концептуального проектирования, даны рекомендации по их применению .
Ключевые слова: разработка программного обеспечения, информационные системы бизнес-моделирования, средства проектирования .
введение
Концептуальное проектирование представляет собой начальный этап разработки программного обеспечения (ПО), когда определяется базовая структура информационной системы (ИС), ее компоненты, их назначение и взаимосвязь. При этом выполняется построение семантической модели предметной области с высоким уровнем абстракции. Также на данном этапе учитывается прикладная специфика использования проектируемого ПО, т. е. в каких областях деятельности и кем оно будет применяться. В настоящее время принято выделять следующие методологии разработки ПО:
• структурный подход, в основу которого положен принцип алгоритмической декомпозиции: структура системы описывается в терминах иерархии ее функций и передачи информации между отдельными функциональными элементами (модулями);
• объектно-ориентированный подход, который использует объектную декомпозицию: структура системы определяется мно-
жеством объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами.
Ключевыми понятиями обоих подходов являются следующие термины: методология, методы и нотации. Методология представляет собой общее теоретическое описание методов исследования. Методы концептуального проектирования ИС реализуются совокупностью графических элементов и правил их использования, которые называются нотацией моделирования.
Целью настоящей статьи представляется сравнительный анализ наиболее популярных методов и средств структурного и объектно-ориентированного подходов к разработке ПО, используемых на этапе концептуального проектирования ИС.
обзор наиболее популярных методов
Агрегацию основных положений структурного подхода принято называть методологией структурного анализа и проектирования — 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, [email protected]
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