Выдержки из дипломного проекта «Разработка фреймворка для автоматизации бизнес-процессов» автор Антон AlterVision Резниченко
Каждая компания, стремящаяся иметь конкурентоспособные рыночные позиции и работать максимально эффективно, старается найти оптимальную модель работы для своего бизнеса. В современных условиях решением данных задач нередко становится автоматизация бизнес процессов компании.
Автоматизация бизнес процессов приносит следующие преимущества:
- сокращение сроков исполнения задач;
- уменьшение трудозатрат;
- минимизация неточности информации, обрабатываемой в компании;
- усовершенствование производственного процесса;
- рост эффективности взаимодействия с клиентами;
- оперативность финансовой отчетности и аналитики;
- повышение уровня командной работы.
Как результат — автоматизация бизнес процессов приводит к повышению эффективности работы предприятия в целом.
Автоматизация бизнес процессов может происходить как по частям (то есть каждый процесс автоматизируется с помощью отдельной системы), так и с помощью внедрения комплексной интегрированной ERP-системы. Преимущества комплексной автоматизации заключаются в том, что ИТ-решение охватывает большинство функций в компании. Клиент получает возможность работы в общей интегрированной системе, объединяющей все бизнес процессы в единое целое.
Одним из способов организации управления бизнес-процессами в компании является использование систем управления бизнес-процессами (Business Process Management System — BPMS). Целями использования таких систем являются повышение качества исполнения бизнес-процессов, снижения операционных расходов, сокращение временных затрат, получение возможности контроля результатов деятельности для повышения качества управления, а также непрерывное совершенствование внутренних бизнес-процессов.
Изначально BPMS предназначена для автоматизации бизнес-процессов, однако сама по себе автоматизация бизнес-процессов не является целью внедрения системы. Основным преимуществом от внедрения BPM-системы является то, что в компании появляется инструмент для управления бизнес-процессами, что позволяет повысить исполнительскую дисциплину, заставить компанию работать по установленным правилам, а также запустить процесс непрерывного совершенствования бизнес-процессов. Ведь хорошо известно, что без должного управления бизнес-процессы склонны терять свою эффективность.
Аналитики компании Gartner предлагают обратить внимание на следующие требования при выборе BPM-системы:
- поддержка задач «человек-человек» и удобство интерфейса пользователя;
- поддержка организационной структуры и ролевых групп;
- возможность переназначения заданий, оперативного вмешательства в процесс и обработки исключительных ситуаций;
- возможность управления логикой процесса с рабочего места пользователя;
- удобство использования и администрирования;
- поддерживаемые архитектуры и стандарты;
- производительность и масштабируемость;
- способность обслуживать многочисленные, продолжительные и распределённые процессы;
- понятный интерфейс настройки и возможность минимального участия ИТ-специалистов во внедрении и поддержке;
- возможность информирования в реальном времени по отклонениям показателей процесса;
- присутствие шаблонов бизнес-процессов, на основании которых могут быть разработаны новые процессы;
- невысокая совокупная стоимость владения.
Преимущества использования BPMS
- Скорость — сокращение времени цикла процесса путём сокращения временных задержек, автоматизации шагов процесса и введения обязательных временных ограничений для исполнения каждого шага процесса.
- Качество — соблюдение всех правил бизнес-процесса и выполнение всех необходимых шагов процесса обеспечивает качество результата, а также делает процесс полностью прозрачным.
- Контроллинг — выполнение процессов может контролироваться через наборы процессных показателей которые отражают затраты на процесс, время выполнения и загрузку ресурсов, таким образом, облегчая анализ и оптимизацию процесса на основании реальных значений показателей.
- Гибкость — возможность достижения организационной гибкости компании через привлечение участников процесса к его проектированию и автоматизации, а также обеспечения минимальных сроков для требуемых изменений.
Постановка задачи
Рынок систем автоматизации бизнес-процессов в настоящее время находится в стадии формирования. Появляются новые компании и новые продукты, поставщики со стажем разрабатывают модули систем автоматизации бизнес-процессов на базе существующей платформы, другие расширяют функциональность своей системы путем приобретения компаний-разработчиков систем автоматизации бизнес-процессов.
Предприятия малого бизнеса часто сталкиваются с проблемами при подборе подходящей им платформы для автоматизации бизнес-процессов.
К современной системе автоматизации бизнес-процессов на малом предприятии предъявляются следующие требования.
- Простота и лёгкость работы.
Система должна выполнять только тот функционал, который требуется от неё на данном предприятии. Пользователь системы должен интуитивно понимать принципы работы в данной системе. - Полная реализация функционала предприятия.
Все требуемые предприятию функциональные возможности желательно реализовать в рамках одного программного продукта от одного производителя. - Низкие требования к ресурсам.
Требования к аппаратным и программным ресурсам должны быть минимальны. Системе не желательно использовать дорогостоящий высокопроизводительный сервер или дорогую программную платформу для функционирования. - Удалённая работа.
Требуется возможность работать с системой не только в рамках центрального офиса предприятия, но и вести работу сотрудникам, расположенным на дому или в отделённых географически офисах предприятия. - Кросс-платформенность.
Клиентская часть системы должна быть максимально независимой от аппаратной и программной платформы, с которой работает пользователь. Оптимальным вариантом является поддержка любых современных компьютеров с распространёнными операционными системами семейства Windows и Unix-подобными. - Полная поддержка русского языка.
Существует ряд зарубежных систем автоматизации бизнес-процессов, реализующих большинство указанных требований, но не обладающих русским интерфейсом. Подобные системы не могут быть внедрены на предприятиях России. - Низкая стоимость.
Одним из основных требований к системе является её низкая стоимость. Оптимальным вариантов является использование бесплатных (OpenSource) систем.
Существует также ряд технических требований, предъявляемых к системе:
- Пользователи и группы.
Разделение доступа к ресурсам системы должно быть реализовано с помощью введения пользователей системы, соответствующих реальным работникам организации, и их групп, определяющих права доступа пользователей к ресурсам. - Наличие виртуальных рабочих мест.
Каждая группа пользователей, в зависимости от выполняемых ими функций в организации, должна работать с определённым набором задач в системе. Оптимальным решением является реализация для каждой группы сотрудников виртуального рабочего места с фиксированным набором задач. - Модульность.
Система должна быть разделена на независимые модули, реализующие отдельные задачи функционирования. Требуется возможность лёгкой сборки рабочего места сотрудника из имеющихся модулей. - Высокая скорость работы.
Реакция системы на запрос пользователя должна быть максимально быстрой. Выполнение простых операций не должно занимать более 1 секунды, операций средней сложности — не более 1 минуты, сложных операций — не более 10 минут.
Этим списком требований руководствуется организация при подборе соответствующей системы автоматизации бизнес-процессов на своём предприятии.
Анализ предметной области
На данный момент существует множество систем, предлагающих автоматизацию бизнес-процессов на предприятиях, отличающихся своей сложностью, функциональными возможностями и стоимостью внедрения.
Одним из наиболее надёжных решений является программный комплекс немецкой фирмы SAP, крупнейшего в Европе производителя программного обеспечения. SAP Business One — это комплексное решение компании SAP для среднего и малого бизнеса. Данное ERP решение сочетает в себе возможности CRM-системы и модулей, предназначенных для ведения финансового учета и логистики.
Решение SAP Business One можно условно разделить на 14 ключевых функциональных групп:
- Администрирование — настройки системы и обмен данными
- Финансы — счета и проводки
- Возможности продаж — отслеживание взаимоотношений с текущими и потенциальными клиентами
- Продажи — прием заказов, продажи и отгрузки
- Закупки — заказы на закупку и поступление продукции
- Бизнес-партнеры — информация о заказчиках, поставщиках и потенциальных партнерах
- Расчеты — контроль входящих и исходящих платежей, выписки банка
- Запасы — контроль запасов, их количества, и перемещения
- Сборка — работа с наборами и комплектами
- MRP (планирование потребности в материалах) — планирование закупок и производства
- Сервис — сервисное обслуживание товаров
- Персонал — информация о работниках
- Система отчетов — различные отчеты по запасам/финансам/персоналу
Основным, и наиболее важным недостатком данной системы является её стоимость. Проект SAP Business One, в зависимости от предполагаемого объема, может оцениваться начиная с 12 тыс. долл. в конфигурации для пяти пользователей, включая стоимость лицензирования и внедрения.
Наиболее распространённым средством автоматизации бизнес-процессов на предприятиях России является отечественная система 1С:Предприятие. Она позволяет целиком автоматизировать бухгалтерскую деятельность фирмы. В системе присутствует встроенный язык программирования, что позволяет на её основе разрабатывать расширенные автоматизированные системы и реализовывать функционал, отличный от финансового.
Использование данной системы в рамках рассматриваемой задачи невозможно по ряду причин, вытекающих из технических требований:
- Система целиком зависит от платформы. Работоспособность 1С гарантируется только на ОС Microsoft Windows, запуск её на Unix-подобных системах крайне затруднён.
- Для работы клиентской части требуется лицензирование каждого рабочего места, что не удобно для географически удалённых сотрудников фирмы.
- Клиентская часть требует широкий Интернет-канал и доступ к папкам по SAMBA-технологии (общие папки Windows) для наиболее простой реализации работы.
Существует урезанная версия системы — 1С:Бухгалтерия. Данная версия применяется исключительно для ведения бухгалтерского учёта на предприятии. Внедрение этой системы на рабочем месте бухгалтера будет целесообразным в рамках рассматриваемой задачи. Использование системы для реализации основного функционала проектируемой АИС невозможно по вышеперечисленным причинам.
Идеальным вариантов в данном случае является самостоятельная разработка АИС. При данном подходе целиком реализуются все поставленные технические требования.
Выбор платформы
По заданным техническим требованиям нам нужно подобрать оптимальное решение для проектирования автоматизированной информационной системы.
В случае самостоятельной разработки, требуется определиться с используемыми при создании АИС технологиями.
Очевидно, что наиболее подходящим вариантом работы системы будет веб-интерфейс. Доступ к веб-интерфейсу может быть получен с любого компьютера, имеющего выход в Интернет и установленный графический браузер. Подобные требования обеспечиваются всеми современными ОС с графическим интерфейсом (Microsoft Windows, семейство бесплатных ОС Linux).
Веб-приложение — клиент-серверное приложение, в котором клиентом выступает браузер, а сервером — веб-сервер. Логика веб-приложения распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб-приложения являются межплатформенными сервисами.
Веб-интерфейс реализуется на базе языка XHTML. Применение этого языка диктуется его поддержкой на одинаково качественном всеми современными качественными браузерами (Internet Explorer 7+, Mozilla Firefox 2+, Opera 9+, Google Chrome, Safari). Использование чистого языка XML неудобно из-за сложностей его использования при проектировании интерактивных веб-приложений. XML-документы используются в системе для передачи «чистых» массивов данных от сервера клиенту.
Интерактивность и удобство пользования реализуется за счёт применения скриптового языка JavaScript. Он поддерживается всеми современными браузерами и позволяет получить неограниченный доступ к веб-документу. Возможным конкурентным решением могло быть использование языка VBScript, но он поддерживается только браузером Internet Explorer.
Веб-приложение всегда работает по принципу клиент-сервер. Таким образом, кроме рассмотренной клиентской части, требуется выяснить технические особенности серверного программного обеспечения.
Для создания веб-приложений используется несколько распространённых языков:
- Perl
Perl — высокоуровневый интерпретируемый динамический язык программирования общего назначения, созданный Ларри Уоллом, лингвистом по образованию. Название языка представляет собой аббревиатуру, которая расшифровывается как Practical Extraction and Report Language «практический язык для извлечения данных и составления отчётов». Основной особенностью языка считаются его богатые возможности для работы с текстом, в том числе реализованные при помощи регулярных выражений. - Python.
Python — высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты). - PHP.
PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста) — скриптовый язык программирования общего назначения, интенсивно применяющийся для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов. В области программирования для Сети PHP — один из популярнейших скриптовых языков благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.
В данном случае мы остановим свой выбор на языке PHP. Он является самым распространённым в области веб-программирования, имеет высочайшую скорость выполнения, обладает широким инструментарием для реализации любых задач.
Для хранения данных в системе должна присутствовать СУБД. Рассмотрим наиболее распространённые СУБД в современном мире:
- MSSQL.
Microsoft SQL Server — система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для от небольших и средних по размеру баз данных до крупных баз данных масштаба предприятия, конкурирует с другими СУБД в этом сегменте рынка. - Oracle Database.
Oracle Database или Oracle DBMS — объектно-реляционная система управления базами данных (СУБД). Все редакции — Oracle Database Personal Edition, Oracle Database Standard Edition, Standard Edition One и Oracle Database Enterprise Edition — содержат общий набор функций для разработки приложений, в том числе объектно-реляционные возможности SQL, программные интерфейсы PL/SQL и Java, предназначенные для написания хранимых процедур и триггеров. - SQLite.
SQLite — встраиваемый движок баз данных. Слово «встраиваемый» означает, что SQLite не использует парадигму клиент-сервер, то есть движок SQLite не является отдельно работающим процессом, с которым взаимодействует программа, а предоставляет библиотеку, с которой программа компонуется и движок становится составной частью программы. Таким образом, в качестве протокола обмена используются вызовы функций (API) библиотеки SQLite. Такой подход уменьшает накладные расходы, время отклика и упрощает программу. - MySQL.
MySQL — свободная система управления базами данных (СУБД). Распространяется под GNU General Public License и под собственной коммерческой лицензией, на выбор. MySQL является решением для малых и средних приложений. Входит в LAMP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Для реализации проекта нам будет требоваться бесплатная СУБД, работающая по технологии клиент-сервер, поддерживающая несколько одновременных подключений, кросс-платформенная.
Из представленного списка всем критериям соответствует система MySQL. Она распространяется по лицензии GNU GPL, работает под любыми распространёнными серверными ОС (Windows Server, Linux Server, BSD Server).
Сделаем вывод об используемых технологиях:
- Клиентская часть основывается на использовании веб-интерфейса.
- Веб-интерфейс реализуется на базе XHTML и JavaScript.
- Серверная часть реализуется на языке PHP.
- Для хранения данных используется СУБД MySQL.
Вышеперечисленные требования являются наиболее распространёнными и легко реализуются в рамках любого веб-сервера на базе ОС Linux или Windows Server.
Использование материалов дипломного проекта разрешается только с письменного согласия автора, Резниченко А.Д.