This shows you the differences between two versions of the page.
docs:bpwiki-about [2017/09/19 14:31] |
docs:bpwiki-about [2022/03/23 16:59] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== 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' | ||
+ | |||
+ | Busines Process Managament is an process-centric activity that aims to improve the process by automatisation, | ||
+ | |||
+ | **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 === | ||
+ | |||
+ | 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. | ||
+ | |||
+ | [[.: | ||
+ | |||
+ | === Activities === | ||
+ | |||
+ | Point where actual work is done. | ||
+ | There are 4 types of activities: | ||
+ | * [[# | ||
+ | * 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, | ||
+ | * Call Activity - Indicates a call to globally defined Task or Sub-Process. | ||
+ | |||
+ | [[.: | ||
+ | |||
+ | [[.: | ||
+ | |||
+ | [[.: | ||
+ | |||
+ | [[.: | ||
+ | |||
+ | == 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, | ||
+ | |||
+ | [[.: | ||
+ | |||
+ | === 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 | ||
+ | |||
+ | [[.: | ||
+ | |||
+ | [[.: | ||
+ | |||
+ | [[.: | ||
+ | |||
+ | [[.: | ||
+ | |||
+ | |||
+ | ==== 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/ | ||
+ | * 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, | ||
+ | |||
+ | __Identify the process boundaries: | ||
+ | |||
+ | - Start: Process starts when we have an event of supervisor giving us the project topic. | ||
+ | - End: Process can end in two ways: project is passed or project is failed. | ||
+ | - Intermediate: | ||
+ | |||
+ | __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) | ||
+ | |||
+ | [[.: | ||
+ | |||
+ | ===== What's next? ===== | ||
+ | |||
+ | If you are interested in BPwiki, you can [[downloads: | ||
+ | |||
+ | If you do not want to install it, you can see [[cases: |