В настоящее время автоматизированные системы различного характера активно используются в различных сферах человеческой деятельности. Уже несколько десятков лет наблюдается тенденция роста спроса на использование информационных систем и различных вспомогательных программно-аппаратных комплексов, представляющих набор инструментов для реализации различных методологий и нотаций проектирования. Как следствие, стремительно возрастает как количество различных программ, на базе которых создаются информационные системы, так и их сложность.
Наибольшее распространение при этом получают готовые решения, предлагаемые компаниями 1С или SAP (Systems, Applications and Products in Data Processing), а также системы моделирования процессов в различных нотациях, на которых базируются программные средства проектирования. Подавляющее большинство современных программ позволяют осуществлять автоматическую генерацию программного кода спроектированной информационной системы, что позволяет получать готовый продукт, реализованный, как правило, в форме веб-приложения. При этом открытым остается вопрос качества генерируемого кода, его понятности и читабельности.
Наиболее широко распространены следующие нотации: стандарты IDEF (Integration Definition for Function Modeling), в частности IDEF0 и IDEF3, диаграммы потоков данных DFD (Data Flow Diagram), унифицированный язык моделирования UML (Unified Modeling Language) и нотация BPMN (Business Process Modeling Notation), применяемая для моделирования бизнес-процессов.
В настоящее время стандарт IDEF0 считается устаревающим и наиболее часто используется только лишь при описании системы в рамках предпроектного исследования.
Постановка задачи
Основной целью работы являлось исследование допустимости применения стандартов разного уровня абстракции для решения аналогичных задач.
В рамках проводимого анализа была поставлена задача проектирования АСОИУ (автоматизированной системы обработки информации и управления), основного процесса документооборота для регистратуры больницы, осуществляемого с помощью программных средств моделирования различных нотаций.
Для этого были произведены сопоставление и анализ стандартов UML и BPMN. Помимо теоретического анализа было проведено практическое сравнение нотаций на примере двух систем проектирования для заданного объекта автоматизации. Таким образом, ключевым методом исследования является сравнение различных этапов проектирования информационных систем в разных нотациях на примере двух программ, реализующих работу с этими стандартами.
Выбор данной предметной области обусловлен тем, что она имеет достаточно строгую и упорядоченную структуру, но при этом ее внутренние процессы не являются стандартными. При этом вышеуказанные стандарты для проектирования информационных систем в выбранной сфере, как правило, не используются.
В качестве основных критериев сравнения выбраны параметры, которые наиболее точно определяют качество и адекватность проектируемой модели, а также степень ее соответствия реальной системе, доступности, понятности и практической полезности. К таким критериям относятся, прежде всего, выразительная мощь стандарта визуального проектирования, структурированность, возможность создания готовой информационной системы, ее практического применения, удобство, скорость разработки и внедрения и т.д.
Рассмотрение стандартов
UML – согласно одному из определений – язык графического описания для объектного моделирования процессов, в частности производственных, а также бизнес-процессов, системного проектирования, процессов разработки различных систем, программного обеспечения, а также описания и отображения организационных структур [1].
UML является открытым стандартом, использующим визуальные графические обозначения для проектирования абстрактной модели системы, рассматривая ее с точки зрения конструктивного описания. При этом система рассматривается как набор взаимосвязанных сущностей – объектов [1].
Технология визуального моделирования предоставляет возможность упрощенной и наглядной работы со сложными системами, позволяя более детально рассматривать как систему в целом, так и ее отдельные компоненты.
Основным преимуществом унифицированного языка является то, что он, прежде всего, является объектно-ориентированным, в результате чего методы описания результатов анализа и проектирования системы структурно близки к методам непосредственного программирования на современных объектно-ориентированных языках [2].
Вторым плюсом применения визуальных моделей при проектировании АСОИУ является то, что они позволяют организовать эффективное взаимодействие между участниками процесса анализа и автоматизации системы: заказчиками, аналитиками и разработчиками.
BPMN (Business Process Modeling Notation) – спецификация, содержащая графическую нотацию описания бизнес-процессов на диаграммах, называемых BPD (Business Process Diagram). Данная нотация, подобно прочим, призвана обеспечить взаимопонимание между всеми участниками процесса анализа и автоматизации системы [5].
Нотации UML и BPMN не являются взаимоисключающими. Несмотря на идентичность некоторых функций, схемы процессов в этих нотациях отличаются по визуальному представлению информации.
Основным отличием данных стандартов является то, что UML рассматривает систему в виде взаимосвязанных объектов – классов, образующих ее, и их взаимодействия, в то время как в BPMN система описывается на более высоком абстрактном уровне – уровне бизнес-процессов. Главным в данной нотации являются процессы, а не объекты [5].
Следует отметить, что сравнение данных методологий уже неоднократно производилось. По результатам проведенных исследований отмечалось, что в плане выразительной мощности оба стандарта приблизительно одинаково эффективны. Однако, как уже было упомянуто, BPMN является более высокоуровневой нотацией, рассматривающей систему с точки зрения основного процесса. Это заключает в себе определенный минус, поскольку описание организационной структуры и модели данных затрудняется.
Однако на сегодняшний день существуют BPMS (Business Process Modeling System), позволяющие описывать не только процессы организации, но также структуру и модель данных.
Выбор средств разработки
На сегодняшний день существует большое разнообразие программного обеспечения для работы с рассматриваемыми стандартами.
В ходе работы был проведен сравнительный анализ существующего программного обеспечения. По результату анализа выбор был сделан в пользу open-source системы ArgoUML. Данная система является кроссплатформенной, иными словами может работать практически на всех платформах [3].
Среди BPMS выбор был сделан в пользу системы Bizagi. Данная BPM-система направлена на моделирование, исполнение, автоматизацию и анализ бизнес-процессов.
Основной ее особенностью среди многих прочих BPMS является возможность описания модели данных для будущей информационной системы.
Разработка системы
При проектировании АСОИУ выбранного к рассмотрению объекта первоначально была разработана действующая модель с помощью UML. По данной модели была осуществлена генерация программного кода и получено работоспособное приложение автоматизации документооборота медицинского учреждения.
Следующим шагом было осуществлено проектирование аналогичной системы средствами BPMN системы Bizagi.
Обе реализованные системы являются работоспособными. Следует отметить, что поскольку моделирование объекта автоматизации производилось упрощенно, разрабатываемые модели не включали в себя отражение специфичных функций, присущих системе. За счет этого можно было явно проследить параллели различных диаграмм нотаций UML и BPMN.
При проектировании информационной системы в среде ArgoUML был создан проект, содержащий две стандартные для UML диаграммы: классов и автоматов (состояний).
Рис. 1. Диаграмма классов
Рис. 2. Диаграмма состояний
Рис. 3. Схема документооборота
Диаграмма классов UML позволяет обозначать отношения между классами и их экземплярами, абстрагируясь от предметной области и работая исключительно с сущностями, реализуя принцип объектно-ориентированного программирования. Полученная схема является моделью данных будущего приложения (рис. 1).
Эта диаграмма является основным уровнем описания структуры организации и работы системы [2].
Диаграмма состояний – это один из способов детального описания системы в определенные различные состояния и переходов между ними [2] (рис. 2).
В рассматриваемом примере для реализации системы оборота медицинской карты данных достаточно использования этих двух диаграмм [6, 7].
Субъектами – участниками процесса документооборота являются: регистратор, сестра приемного отделения, врач приемного отделения, диспетчер отделения, лечащий врач, патологоанатом (рис. 3) [6].
По окончанию проектирования двух диаграмм проект был экспортирован в формат XMI (XML Metadata Interchange – стандарт обмена метаданными с помощью языка расширенной разметки XML), и с помощью системы Plone было сгенерировано готовое приложение [4]. Полученное веб-приложение представляет собой интерфейс для взаимодействия с базой данных.
Далее было спроектировано аналогичное приложение средствами Bizagi Studio. Первым шагом была создана диаграмма процесса в нотации BPM (рис. 4).
Для выбранной предметной области можно четко проследить связь этой диаграммы и диаграммы состояний нотации UML. Субъекты, взаимодействующие в данной системе (роли), отражены на «дорожках» процесса.
Описанные функции субъектов в диаграмме состояний UML находят отражение в блоках задач и условных переходах. Процесс можно поделить на несколько крупных блоков: Регистрация, Осмотр, Лечение и Выписка.
Наиболее значимым при проектировании информационной системы, помимо моделирования процесса, является второй шаг разработки в среде Bizagi Studio – создание модели данных будущего приложения (рис. 5).
Данный шаг в рассматриваемой системе эквивалентен схеме взаимодействия объектов, описываемой на диаграмме классов UML.
Для каждой задачи впоследствии создаются формы интерфейса на третьем шаге проектирования. Логика задач и условных переходов описывается на четвертом шаге. После выполнения оставшихся шагов система автоматически генерирует программный код и создает приложение, доступное в браузере.
Рис. 4. Диаграмма процесса BPMN
Рис. 5. Модель данных
Заключение
Реализованные приложения для оптимизации работы системы документооборота больницы в настоящее время обладают достаточно низким функционалом.
В рамках исследования отработана связка ArgoUML, ArchGen, Plone, с помощью которой была автоматически получена информационная система без написания программного кода [6]. Программа Bizagi позволяет создать приложение подобного функционала встроенными средствами.
На основании проделанной работы можно сделать вывод о том, что для простейших автоматизированных систем работы с данными, в частности документами, выразительная мощь обеих нотаций моделирования схожа. Более того, при реализации описании простейших систем четко прослеживаются параллели между различными диаграммами в разных стандартах.
Однако при проектировании систем, в которых организационная структура играет большую роль, чем типовые процессы, предпочтение следует отдавать UML.
Скорость разработки системы с помощью рассматриваемых технологий, а также степень практической применимости выходных продуктов в целом одинаковы и зависят от человеческого фактора.
Помимо непосредственно практического применения, данные системы рекомендуется в настоящем их состоянии использовать в учебном процессе для изучения технологии проектирования и моделирования информационных систем в качестве практического учебного материала.