Разработка програмы Tweaker

 

СОДЕРЖАНИЕ

Введение 5

1 АНАЛИЗ ПРЕДМЕТНОЙ  ОБЛАСТИ 6

1.1 Анализ  существующих языков и нотаций  моделирования 7

1.2 Нотация  BPMN 7

1.2.1. Типы  процессов в нотации BPMN 7

1.2.2. Пример  диаграммы BPMN 8

1.3. Язык моделирования  бизнес-процессов BPML 8

1.4. Язык реализации  бизнес-процессов BPEL 11

1.5. Язык моделирования  XPDL 12

1.6 Язык моделирования  UML 14

1.7 Приемущества  и недостатки стандартов 19

1.7.1 BPMN 19

1.7.2 BPEL 19

1.7.3 UML 20

2 СТРУКТУРА  ПРОИЗВОДСТВЕННОГО ПРЕДПРИЯТИЯ 22

2.1 Составляющие  производства 22

2.2 Потоки  данных 25

2.3 Изучение  задач управления 27

3 ВЫБОР ПРОГРАММНЫХ  СРЕДСТВ 29

3.1 Пакет Aris ToolSet 29

3.1.1 Наиболее  часто используемые на практике  модели Aris 30

3.1.2 Сравнительныей  анализ Aris Toolset 5.0 и BPwin 4.0 31

3.2 BPwin 32

3.3 Rational Rose ‘98 33

3.4 Сравнение программных средств 34

ПЕРЕЧЕНЬ  ССЫЛОК 36

 

 

 

Введение

Ведение бизнеса заставляет учитывать множество аспектов, для  этого необходимо анализировать  и планировать. Бизнес-процессы показывают последовательность и взаимосвязи  работ, условия выполнения и необходимые  для этого ресурсы. В качестве ресурсов можно рассматривать сырье, финансы, людей, оборудование, информационные системы и т.д. Они группируют различные виды деятельности компании по результату, который важен для  конечного клиента или партнера компании. Бизнес-процессы можно оценить  с точки зрения стоимости их для  компании и прибыли, которую они  приносят. Должностные функции в  этой связи трансформируются в конкретные работы и операции и, тем самым, становятся более понятными своим исполнителям: определяется их время и контекст в общей деятельности компании, а  так же условия их выполнения. Одной  важнейшей характеристикой является обеспечение достижения целей бизнеса. Эту характеристику можно считать  важной, так как основной задачей  бизнеса является достижение поставленых целей и получение прибыли. Описание бизнес-процессов компании начинается с их выделения и определения границ. Консультант знакомится с бизнесом и вместе с рабочей группой определяет бизнес-процессы компании, их границы и взаимосвязи. Ознакомление с бизнесом происходит путем изучения документации компании (оргструктуры, положений о подразделениях, должностных инструкций, политики и стандартов (правил) компании) и проведения анкетирования и/или интервьюирования сотрудников. Затем рабочая группа определяет или назначает владельцев бизнес-процессов, и ведется работа по описанию каждого бизнес-процесса. Консультанты описывают бизнес-процессы вместе с его владельцем и участниками – рядовыми сотрудниками. Описание бизнес-процессов рассматривается и утверждается рабочей группой.

 

1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

В данной работе будут рассматриваться четыре языка и нотации моделирования: BPMN, BPML, BPEL, XPDL и получивший на сегодняшний день официальный стандарт моделирования UML.

1.1 Анализ существующих  языков и нотаций моделирования

1.2 Нотация BPMN

Основным инструментом BPMN служит диаграмма бизнес-процессов (BusinessProcess Diagram, BPD). Полученная в результате модель представляетсобой сеть графических объектов, которые изображают действия, связанныепотоками управления.

1.2.1. Типы процессов в нотации  BPMN

В рамках общей нотации BPMN существует три типа процессов:

–– частные, или внутренние, процессы (Private) — внутренние процессы определённой организации;

–– абстрактные, или открытые, процессы (Abstract) — взаимодействие между процессами на уровне обмена сообщениями;

–– совместные, или глобальные, процессы (Collaboration) — два и более абстрактных процесса на одной диаграмме.

Частные бизнес-процессы обычно называют WorkFlow или процессами

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

 

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

Совместный процесс отображает взаимодействие между двумя и более бизнес-объектами. Его можно изобразить в виде двух или более взаимодействующих абстрактных процессов.

1.2.2. Пример диаграммы BPMN

На рис. 1.1 приведён пример BPMN-процесса «Доставка товара в магазин». Магазин отправляет заявку на товар  дистрибьютору. Дистрибьютор подтверждает получение заявки, запрашивает товар  со склада. Перед отправкойтовара со склада проверяется наличие товара, при необходимости товар заказывается у поставщика, после чего товар доставляется грузоперевозчиком вмагазин.

Рисунок 1.1. Пример BPMN процесса «Доставка товара в магазин»

1.3. Язык моделирования  бизнес-процессов BPML

Язык моделирования  бизнес-процессов (Business Process Modeling Language, BPML) базируется на метаязыке XML. Бизнес-процесс в BPML соответствует иерархическому набору вложенных и последовательных тегов.

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

BPML может применяться  для более детального определения  процессов.

Он преобразует бизнес-операции в сообщения, которыми обмениваются процессы.

WorkFlow-процесс в BPML определяется при помощи элементов: деятельность (Activity), сигнал (Signal), исключение (Exception), контекст (Context),свойство (Property).

Деятельность (Activity) является основным элементом бизнес-процесса.

Элементы Activity могут соединяться последовательно (простые) или вкладываться один в другой (сложные). Разные типы деятельности выполняютразличные функции.Также существуют типы деятельности, которые запускают дочерние процессы (как с ожиданием их окончания, так и без), организуютзадержки выполнения процесса и т.д. Кроме того, есть несколько типов деятельности, реализующих разного вида циклы.

 

BPML спецификация определяет  следующие виды деятельности

–– простые:

– Action — выполняет или запускает операции обмена входящимии исходящими сообщениями;

– Assign — присваивает новое значение свойству;

– Call — запускает процесс и ждёт его завершения;

– Compensate — вызывает компенсации указанных процессов;

– Delay — выражает течение времени;

– Empty — ничего не делает;

– Fault — выдаёт сообщение об ошибке в текущем контексте;

– Raise — активизирует сигнал;

– Spawn — запускает процесс, не дожидаясь его завершения;

– Synch — синхронизирует по сигналу;

–– сложные:

– All — выполняет указанные операции параллельно;

– Choice — выполняет операции одного из составных комплектов, выбранного в соответствии с возникшим событием;

– Foreach — однократно выполняет операции для каждого пункта изсписка;

– Sequence — выполняет операции последовательно;

– Switch — выполняет операции одного из составных комплектов, выбранного на основе истинного значения условия;

– Until — выполняет операции один или более раз на основе истинного значения условия;

– While — не выполняет операции или выполняет их один или болеераз на основе истинного значения условия.

Для деятельности определены следующие состояния:

–– ready — деятельность находится в состоянии готовности;

–– active — деятельность находится в активном состоянии (работает);

–– completing — деятельность совершает действия для завершения выполненных работ;

–– completed — деятельность полностью завершила выполняемые действия;

–– aborting — деятельность совершает действия для прерывания выполняемых работ;

–– aborted — деятельность полностью завершила действия для прерывания выполняемых работ.

1.4. Язык реализации  бизнес-процессов BPEL

Язык реализации бизнес-процессов (Business Process Execution Language,BPEL) используются для реализации модели нотации BPMN.

Язык BPEL стал результатом  слияния WorkFlow-языков WSFL и XLANG,основанных на разных моделях: WSFL базируется на теории графов, XLANG - на иерархии тегов XML. BPEL позволяет определить последовательность выполнения функционала Web-сервисов в ходе различных потоков операций

(транзакций), но при этом  не учитывает, как реализованы  Web-сервисы, а лишь координирует их работу в ходе бизнес-процесса.

BPEL позволяет применять  условные ветвления, организовывать  потокипараллельных вычислений, описывать правила соединения потоков, обмениваться данными между потоками, применять синхронные и асинхронные режимы взаимодействия, обрабатывать исключительные ситуации и т.п.

Создаваемые с помощью BPEL приложения относятся к категории «процессно-ориентированных» (Process-Based Applications), состоящих из двухотдельных слоев исполнения. Верхний слой описывает бизнес-логику процесса, представленную на языке BPEL, нижний слой выполняет все функциональные операции с помощью различных Web-сервисов.

BPEL определяет два вида  процессов — абстрактный и исполняемый.Абстрактный процесс определяет протокол обмена сообщениями между различными участниками без учёта алгоритма их внутреннего поведения. Исполняемый процесс содержит в себе алгоритмы, определяющие порядок выполнения действий (Activities), назначение исполнителей, обмен сообщениями, правила обработки исключений и т.д.

Действия (Activities) в BPEL делятся на примитивные и структурные.

К примитивным Activities относятся:

–– Receive — ожидает сообщения внешнего источника;

–– Reply — отвечает внешнему источнику;

–– Invoke — запускает операцию какого-либо Web-сервиса;

–– Wait — ждёт в течение определённого периода времени;

–– Assign — копирует значение одной переменной в другую;

–– Throw — отбрасывает исключение в случае ошибки;

–– Terminate — принудительно завершает выполнение службы;

–– Empty — не выполняет никаких действий.

 

 

К структурным Activities относятся:

–– Sequence — соответствует последовательному выполнению действий,содержащихся внутри элемента;

–– Switch — условная передача управления (соответствует оператору Switch

языков программирования С++, Java и т. д.);

–– While — организует цикл типа «While»;

–– Pick — запускает обработку событий и исключительных ситуаций;

–– Flow — соответствует параллельному выполнению действий, содержащихся внутри элемента;

–– Scope — группирует узлы для программы-обработчика ошибок.

Кроме того, в языке присутствует понятие связь (Link), которая, как правило, применяется к элементам Activities, находящимся внутри параллельногоблока, накладывая ограничения на порядок их выполнения.

Переменные в BPEL описываются  при помощи тега «variables». Для задания исполнителя используется тег «partnerLink».

1.5. Язык моделирования  XPDL

XML Process Definition Language (XPDL) - это язык, предназначенный для описания определений и реализаций рабочих процессов. Спецификация XPDL, предложенная WorkflowManagementCoalition, представляет собой формальную модель для описания рабочих процессов, относящихся к любым сферам деятельности. В соответствии с ней каждый поток работ разбивается на следующий набор взаимодействующих между собой компонент (рисунок 1.2):

Рисунок 1.2 Потоки разбитые на компоненты

 

  • WorkflowProcessDefinition - представляет собой контекст выполняющегося процесса и его данные могут быть доступны всем остальным компонентам.
  • Activity - <действие> или <задание> процесса, представляющее собой этап, на котором происходит изменение содержания объектов процесса.
  • TransitionInformation - переходы между заданиями (могут быть условными и безусловными).
  • WorkflowRelevantData - оперативные данные, доступные всем компонентам процесса в ходе его выполнения.
  • Participant - участник процесса, производящий <действия> над объектами и осуществляющий переходы (участники могут являться как человеческими, так и машинными ресурсами).
  • Application - внешнее IT- или другое приложение, используемое для выполнения <действий>.

 

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

 

 

 

1.6 Язык моделирования  UML

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

 

Диаграммы UML

Диаграмма классов

Диаграмма классов (Class diagram) — статическая структурная диаграмма, описывающая структуру системы, она демонстрирует классы системы, их атрибуты, методы и зависимости между классами.

Существуют разные точки  зрения на построение диаграмм классов  в зависимости от целей их применения:

  • концептуальная точка зрения — диаграмма классов описывает модель предметной области, в ней присутствуют только классы прикладных объектов;
  • точка зрения спецификации — диаграмма классов применяется при проектировании информационных систем;
  • точка зрения реализации — диаграмма классов содержит классы, используемые непосредственно в программном коде (при использовании объектно-ориентированных языков программирования).

Диаграмма компонентов

Диаграмма компонентов (Component diagram) — статическая структурная диаграмма, показывает разбиение программной системы на структурные компоненты и связи (зависимости) между компонентами. В качестве физических компонент могут выступать файлы, библиотеки, модули, исполняемые файлы, пакеты и т. п.

Диаграмма композитной/составной  структуры

Шаблон проектирования Декоратор на диаграмме кооперации

Диаграмма композитной/составной  структуры (Composite structure diagram) — статическая структурная диаграмма, демонстрирует внутреннюю структуру классов и, по возможности, взаимодействие элементов (частей) внутренней структуры класса.

Подвидом диаграмм композитной  структуры являются диаграммы кооперации (Collaboration diagram, введены в UML 2.0), которые показывают роли и взаимодействие классов в рамках кооперации. Кооперации удобны при моделировании шаблонов проектирования.

Диаграммы композитной структуры  могут использоваться совместно  с диаграммами классов.

Диаграмма развёртывания

Диаграмма развёртывания (Deployment diagram) — служит для моделирования работающих узлов и артефактов, развёрнутых на них. В UML 2 на узлах разворачиваются артефакт, в то время как в UML 1 на узлах разворачивались компоненты. Между артефактом и логическим элементом (компонентом), который он реализует, устанавливается зависимость манифестации.

Диаграмма объектов

Диаграмма объектов (Object diagram) — демонстрирует полный или частичный снимок моделируемой системы в заданный момент времени. На диаграмме объектов отображаются экземпляры классов (объекты) системы с указанием текущих значений их атрибутов и связей между объектами.

Диаграмма пакетов

Диаграмма пакетов (Package diagram) — структурная диаграмма, основным содержанием которой являются пакеты и отношения между ними. Жёсткого разделения между разными структурными диаграммами не проводится, поэтому данное название предлагается исключительно для удобства и не имеет семантического значения (пакеты и диаграммы пакетов могут присутствовать на других структурных диаграммах). Диаграммы пакетов служат, в первую очередь, для организации элементов в группы по какому-либо признаку с целью упрощения структуры и организации работы с моделью системы.

Диаграмма деятельности

Диаграмма деятельности (Activity diagram) — диаграмма, на которой показано разложение некоторой деятельности на её составные части. Под деятельностью понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий, соединённых между собой потоками, которые идут от выходов одного узла к входам другого.

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

Аналогом диаграмм деятельности являются схемы алгоритмов по ГОСТ 19.701-90.

Диаграмма автомата

Диаграмма автомата (State Machine diagram, диаграмма конечного автомата, диаграмма состояний) — диаграмма, на которой представлен конечный автомат с простыми состояниями, переходами и композитными состояниями.

Конечный автомат — спецификация последовательности состояний, через которые проходит объект или взаимодействие в ответ на события своей жизни, а также ответные действия объекта на эти события. Конечный автомат прикреплён к исходному элементу (классу, кооперации или методу) и служит для определения поведения его экземпляров.

Диаграмма вариантов  использования

Диаграмма вариантов использования (Use case diagram) — диаграмма, на которой отражены отношения, существующие между акторами и вариантами использования.

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

 

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

Диаграммы коммуникации и  последовательности транзитивны, выражают взаимодействие, но показывают его различными способами и с достаточной степенью точности могут быть преобразованы одна в другую.

Диаграмма коммуникации (Communication diagram, в UML 1.x — диаграмма кооперации, collaboration diagram) — диаграмма, на которой изображаются взаимодействия между частями композитной структуры или ролями кооперации. В отличие от диаграммы последовательности, на диаграмме коммуникации явно указываются отношения между элементами (объектами), а время как отдельное измерение не используется (применяются порядковые номера вызовов).

Диаграмма последовательности (Sequence diagram) — диаграмма, на которой изображено упорядоченное во времени взаимодействие объектов. В частности, на ней изображаются участвующие во взаимодействии объекты и последовательность сообщений, которыми они обмениваются.

Диаграмма сотрудничества — Этот тип диаграмм позволяет описать взаимодействия объектов, абстрагируясь от последовательности передачи сообщений. На этом типе диаграмм в компактном виде отражаются все принимаемые и передаваемые сообщения конкретного объекта и типы этих сообщений.

По причине того, что  диаграммы Sequence и Collaboration являются разными взглядами на одни и те же процессы, Rational Rose позволяет создавать из Sequence диаграммы диаграмму Collaboration и наоборот, а также производит автоматическую синхронизацию этих диаграмм.

Диаграмма обзора взаимодействия

Диаграмма обзора взаимодействия (Interaction overview diagram) — разновидность диаграммы деятельности, включающая фрагменты диаграммы последовательности и конструкции потока управления.

Этот тип диаграмм включает в себя диаграммы Sequence diagram (диаграммы последовательностей действий) и Collaboration diagram (диаграммы сотрудничества). Эти диаграммы позволяют с разных точек зрения рассмотреть взаимодействие объектов в создаваемой системе.

Диаграмма синхронизации

Диаграмма синхронизации (Timing diagram) — альтернативное представление диаграммы последовательности, явным образом показывающее изменения состояния на линии жизни с заданной шкалой времени. Может быть полезна в приложениях реального времени.

1.7 Приемущества и недостатки стандартов

1.7.1 BPMN

Преимущества:

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

Недостатки:

  • Высокие требования к компетенции аналитика при использовании стандарта

 

 

1.7.2 BPEL

Преимущества:

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

 

Недостатки:

  • ограничения применения в основной области и интеграции с SOA

1.7.3 UML

Преимущества:

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

 

Недостатки:

  • Избыточность языка
  • Не точная семнтика
  • Проблемы при изучении и внедрении
  • Только код отражает код
  • Кумулятивная нагрузка/Рассогласование нагрузки

 

 

 

 

2 СТРУКТУРА ПРОИЗВОДСТВЕННОГО ПРЕДПРИЯТИЯ

2.1 Составляющие  производства

Целью изучения будет простой  завод по производству микрочипов. Необходимо разработать план завода, распределить ответственные структуры, составить смету расходов и доходов. Завод будет состоять из различных  процессов, таких как производство, финансовый отдел, отдел складирования  и отдела инженерных разработок.

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

 

  1. Рассмотрим структуру производства

Производство состоит  из отделов складирования, цехов, персонала  и инженерных разработок.

 

Рисунок 2.1 Структура основных составляющих производства

 

  • Складирование занимается товарами, сырьём, готовой продукцией.
  • Цеха разделены на участки, производства,, компоновки и сборки готовой продукции.
  • Персонал разделён на различные составы для производства и разработки продукции.
  • Инженерные разработки – это отдел по созданию и внедрению новых технологий в производство, так же занимается модернизацией старых технологий.
Разработка програмы Tweaker