User Tools

Site Tools


docs:bpwiki-about

BPwiki - wiki for Business Processes

BPWiki is a wiki for collaborative Software Engineering. It supports simplebpmn syntax for easy modeling of Business Processes.

To guarantee compatibility with BPMN models, BPMN → simplebpmn converter is provided.

Business Process

Business Process (BP) is a set of activities that take a particular input and transform it into particular output. It answers to customer's needs (input) and after executing some activities and tasks it produces product that satisfies customer's needs (output).

Busines Process Managament is an process-centric activity that aims to improve the process by automatisation, eraleasing bottlenecks in process, better control of managment (identifying risks etc), improving collaboration between human and systems.

So what are actually business processes?

Every process that can be identified that has some goal eg. buying things in the shop (see example). In companies they are made to improve all the processes that they describe so they can be drawn for any business process. In some way the are similar to UML diagrams although they concern some flow of activities from the business point of view - so there can be tasks made by people as well as by some system.

Basic element definitions

Process consists of Flow Elements, which are the core of each Process, and Sequence Flows between them. There are three categories of Flow Elements :

  • events - they mark that something is happening in the Process; it's possible that they catch some triggered action or that they throw some result; eg. incoming message, incoming signal, error, some (particular) amount of time passing, etc.
  • activities - they symbolize exact work done in the Process; eg. fullfiling order, sending invoice, etc.
  • gateways - they represent the control flow of the Process; they can merge or split the flow of the process with regard to some conditions that are put on them; eg. they would be put where there's question of product availability - gataway would split the flow into two branches - one when the product is available and the other when it's not.

Events

Action that happens during the course of a process and it's important for the process. It affects the process flow and usually have a result or trigger.

There are 3 ways of events affecting the flow:

  • Starting Events - start the flow;
  • Ending Events - end the flow;
  • Intermediate Events - happen in the middle of the flow.

Events Example

Activities

Point where actual work is done. There are 4 types of activities:

  • Task - The most common type: it is the unit of work to be performed. Can be typed to indicate the kind of task. Can be atomic or compound (Sub-Process)
  • Transaction - A group of logically connected activites, that may follow some protocol.
  • Event Sub-Process - A specialized sub-process that is a part of Process. It isn't contained in normal from of its parent process: it activates when its starting event is triggered, so it's possible that it will happen many times. Additionally, it may or may not occur while the parent process is active. It can run either parallelly to the main flow or interrupt it.
  • Call Activity - Indicates a call to globally defined Task or Sub-Process.

Task Example

Transaction Example

Event Sub-Process Example

Call Activity Example

Tasks

Task can be performed by participant - eg. user or sysem, as well as it have particular type eg. script task. These are the types of tasks:

  • Abstract - General task, not specialized one;
  • Service - Indicates the use of some kind of service or system, eg. automated application
  • Send - Sending a message to another Participant
  • Receive - Receiving a message from another Participant
  • User - Task performed by a human with the assistance of software application
  • Manual - Task performed by a human that does not require any software
  • Business Rule - Uses the Business Rule Engine
  • Script - Indicates executing a specified script

Additionally, activities can be interrupted by some events, eg. during the activity of implementing project it can be interrupted by time event when the deadline for the project has passed.

All possible tasks

Gateways

They control how sequence flows.

Types of gateways:

  • Exclusive - It activates exactly one of outgoing branches or waits for exactly one of the incoming ones
  • Event-based - Followed by catching Events or the Receive Tasks, it activates the branch for the Event that was triggered first
  • Parallel - It activates all outgoing branches at the same time or waits for all incoming ones before outgoing flow is activated
  • Inclusive - It activates one or more outgoing branches at the same time or waits for all incoming ones before outgoing flow is activated
  • Complex - Complex behavior that is not covered by other gateways

Exclusive Gateway Example

Event-based Gateway Example

Parallel Gateway Example

Inclusive Gateway Example

Process Modeling

In order to model some process in SimpleBPMN it's important to organize work and think about all the elements that will be needed to design the whole real process.

These are the 4 steps to design a proper model (Steps are design for modeling process in simpleBPMN; since it's lighter than BPMN itself, some steps that would be necessary for BPMN modeling are omitted):

  • Identify the process boundaries: When the process starts ? What are the conditions? What are the results of process?
  • Identify activities and events: What is done during the process? What are the tasks? What events are happening during the process? What kind of events? (incoming message, error, etc.)
  • Identify the type of activities: Is it manual/service/user task?
  • Identify the control flow: What is the order of tasks and events?

Example of designing a Process

Let's assume that we want to model the ideal process of the student building a program for some subject.

User story:

We get the topic and short description of a program. We get the functionality, implement the program while writting the documenation ( ;) ). Since the supervisor is busy we meet with him/her only once and then we either pass (then additionally the report about the project is automatically generated) or fail.

Identify the process boundaries:

  1. Start: Process starts when we have an event of supervisor giving us the project topic.
  2. End: Process can end in two ways: project is passed or project is failed.
  3. Intermediate: nope.

Identify activities and events + identifying the type of activities:

We will have several tasks:

  • Functionality analizing → manual (we do it by ourselves, no system involved)
  • Implementing → user
  • Writing documentation → user
  • Meeting with supervisor → manual
  • Generating the report → service (it's done by some system automatically)

Example in SimpleBPMN

What's next?

If you are interested in BPwiki, you can download our plugin, install it and follow our tutorial to make a quickstart with BPwiki!

If you do not want to install it, you can see use cases in this demo wiki.



docs/bpwiki-about.txt · Last modified: 2017/09/19 14:31 (external edit)