03 Handout 1 PDF - Business Process Modeling Notation (BPMN)
Document Details
Uploaded by BrilliantPalmTree
STI
Tags
Summary
This handout provides an introduction to Business Process Modeling Notation (BPMN), a visual language for describing business processes. It details the elements and types found in BPMN diagrams. Examples of these elements are included, along with accompanying diagrams for enhanced comprehension.
Full Transcript
PARALLEL - After a customer places an order, both "Send Confirmation Email" and "Prepare Shipment" happen simultaneously. INCLUSIVE - When ordering online, the customer can choose to "Pay by Card," "Use a Gift Voucher," or both.Waits for an event to occur before deciding which path to take....
PARALLEL - After a customer places an order, both "Send Confirmation Email" and "Prepare Shipment" happen simultaneously. INCLUSIVE - When ordering online, the customer can choose to "Pay by Card," "Use a Gift Voucher," or both.Waits for an event to occur before deciding which path to take. EXCLUSIVE EVENT BASED - Waits for multiple events to happen before proceeding. PARALLEL EVENT BASED - Waits for multiple events to happen before proceeding. IT1913 Enterprise Architecture Languages o Gateway – A decision point that can adjust the path based on Business Process Modeling Notation (BPMN) conditions or events. A gateway can be exclusive or inclusive, parallel, This was originally developed by the Business Process Management complex, or based on data or event. Initiative (BPMI). In 2005, the Object Management Group took over the initiative (Lucid Software Inc., n.d.). This is also known as Business Process Model and Notation. The goal of BPMN is to support business process modeling by providing a comprehensive standard notation to business users, while representing the complex process semantics for technical users. Figure 3. Notation of gateways in BPMN. It is intended to be used by stakeholders who design, manage, and realize Source: https://www.lucidchart.com/pages/bpmn business processes (BP). Connecting Objects Show how things are connected It has an easy to use flowchart-like notation that is independent of any o Sequence flow – This shows the order of activities to be performed. particular implementation environment. o Message flow – This depicts messages that flow across pools, or It creates a standardized bridge for the gap between the business process organizational boundaries such as departments. It should not connect design and process implementation (Object Management Group, n.d.). events or activities within a pool. This helps with communication leading to Extensible Markup Language o Association – This associates an artifact or text to an event, activity, (XML). or a gateway. Element Types in Business Process Diagrams (Lucid Software Inc., n.d.) Swimlanes Show who is responsible for each step Flow ObjectsThese are the main parts that represent what happens in the process o Pool – It represents major participants in a process. A different pool o Event – A trigger that starts, modifies, or completes a process. Event may be in a different company or department but still involved in the types include message, timer, error, compensation, signal, cancel, process. escalation, link, etc. An event can be classified as either "throwing" or o Lane – It is a sub-part of a pool. It shows the activities and flow for a "catching," depending on their function. certain role or participant, defining the accountability within the processes. Figure 1. Notation of events in BPMN. Source: https://www.lucidchart.com/pages/bpmn o Activity – A particular task performed by a person or system. It can include sub-processes, loops, multiple loops, and compensations. Figure 4. Notation of swimlanes in BPMN. Source: https://www.lucidchart.com/pages/bpmn Artifacts Add extra details o Data object – This shows the necessary data for an activity. Figure 2. Notation of different activities in BPMN. o Group – This shows a logical grouping of activities, but does not Source: https://www.lucidchart.com/pages/bpmn change the diagram's flow. 03 Handout 1 *Property of STI [email protected] Page 1 of 3 Zoom in on specific parts of the process to show more details. IT1913 o Annotation – This provides further explanation to a part of the Object – This concept involves class diagrams, which describes the diagram. structure of a system in terms of objects, attributes, associations, and operations. Dynamic – This concept involves interaction diagrams, state machine diagrams, and activity diagrams, which are used to describe internal behavior of the system. Types of UML Diagrams (SmartDraw, LLC, n.d.) Structural UML Diagrams o Class diagram – It describes the static structure of a system. Figure 5. Notation of artifacts in BPMN. o Package diagram – It is a subset of a class diagram used to organize Source: https://www.lucidchart.com/pages/bpmn elements of a system into related groups. Sub-Models Within A BPMN Diagram (Lucid Software Inc., n.d.) o Object diagram – It describes the static structure of a system at a Private BP – This involves internal processes to a specific organization particular time, and can be used to test class diagrams for accuracy. and do not cross pools or organizational boundaries. o Component diagram – This describes the organization of physical Abstract BP – This occurs between a private BP and an external software components, including source codes, run-time code, and participant or process. This does not show the private BP itself. executables. Collaborative BP –This shows the interactions between two or more o Composite structure diagram – This diagram shows the internal business entities. parts of a class. o Deployment diagram – This depicts the physical resources in a Unified Modeling Language (UML) system, including nodes, components, and connections. This was created to establish a common, semantic, and syntactical visual Behavioral UML Diagrams modeling language for the architecture, design, and implementation of o Activity diagram – This illustrates the dynamic nature of a system by complex software systems both structurally and behaviorally (Lucid modeling the flow of control from activity to activity. Software Inc., n.d.). o Communication diagram – This describes the interactions among This is currently the most important industry-standard language for classes in terms of an exchange of messages over time. specifying, visualizing, constructing, and documenting software systems. o Use case diagram – This models the functionalities of a system using It emerged from the combination of three (3) existing practices namely, the actors and use cases, and can be considered as a simplified version Booch Method, Object-Modeling Technique (OMT), and Objectory of a collaboration diagram introduced in UML 2.0. (Lankhorst, 2017). o State machine diagram – This describes the dynamic behavior of a system in response to external stimuli. stimuli = external inputs This is commonly used by programmers, but not generally used by o Sequence diagram – It models the interactions between database developers. objects in sequence. The Object Management Group (OMG) oversees the definition and o Interaction overview diagram – It is a combination of an activity and maintenance of the UML specifications, which provides engineers and a sequence diagram, which models a more complex interaction. programmers the ability to use one language for different purposes during o Timing diagram – It is an interaction UML diagram that focuses on all phases of the software lifecycle, for all system sizes (Lucid Software processes that take place during a specific period of time, wherein Inc., n.d.). time is shown to increase from left to right. Modeling Concepts Specified by UML (Lucid Software Inc., n.d.) Functional – This concept involves use case diagrams, which describes Architecture Description Language (ADL) system functionality from the point of view of a user. 03 Handout 1 *Property of STI [email protected] Page 2 of 3 IT1913 It is a general term referring to different formal languages used in enabling formalization, description, specification, modeling and reasoning of software architectures (Vac, 2017). A good ADL must be capable of providing adequate abstractions in modeling large systems. A wide variety of ADLs exist, with several differences in the exact concepts it offer, and are mainly suitable for users with technical background (Lankhorst, 2017). Some examples of ADLs are UniCon, Wright, and Acme. Important Properties of ADLs Components are the building blocks of a system. A good ADL can describe their properties, how they interact, o Ability to represent components along with property assertions, and how they’re built. interfaces, and implementations Connectors define how components communicate with each other. ADLs should describe protocols (rules for o Ability to represent connectors along with protocols, property communication), their properties, and their implementations. assertions, and implementations ADLs simplify the way we see components and their interactions, making it easier to understand complex o Component and communication abstraction and encapsulation systems. o Ability to accommodate analysis tools openly o Limiting communication to those components connected to each other ADLs allow for easy integration with tools that help analyze or test the software architecture. architecturally Communication between components is limited to only those that are directly connected. This helps o Ability to model dynamic architectures ensure that components only interact as they are supposed to. o Ability to reason about causality and time ADLs can represent systems that change over time, such as components that are added or removed. o Hierarchical refinement support ADLs allow you to think about how events in the system affect each other over time, helping predict o Ability to check conformance behavior. ADLs let you break down large, complex systems into smaller parts (hierarchies), making it easier to manage and understand them. ADLs can check if the actual system design matches the intended architecture, helping to ensure that everything is built correctly. References: Key Differences: Lankhorst, M. et al. (2017). Enterprise Architecture at Work Modeling, Communication and Focus: Analysis (4th ed.). Berlin, Germany: Springer Nature Lucid Software Inc. (n.d.). What is Business Process Modeling Notation?. Retrieved from BPMN: Focuses on business processes and workflows. https://www.lucidchart.com/pages/bpmn on December 17, 2019 UML: Focuses on the design of software systems (structure and behavior). Lucid Software Inc. (n.d.). What is Unified Modeling Language?. Retrieved from ADL: Focuses on the architecture of large and complex software systems. https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language on December Level of Use: 18, 2019 Object Management Group. (n.d.). Graphical Notations for Business Processes. Retrieved from BPMN: Used for high-level business operations (non-technical). https://www.omg.org/bpmn/ on December 17, 2019 UML: Used for detailed system design and software development. SmartDraw, LLC. (n.d.). UML Diagram. Retrieved from https://www.smartdraw.com/uml- ADL: Used for the overall architecture and high-level planning of software systems (more diagram/ on December 18, 2019 technical). Vac, G. (2017). Architecture Description Languages. Today Software Magazine Issue 55. Users: Retrieved from https://www.todaysoftmag.com/article/2241/architecture-description- languages on December 19, 2019 BPMN: Business analysts, process managers. UML: Software developers, system designers. ADL: Software architects, system engineers. Visual Representation: 03 Handout 1 BPMN: Flowcharts that show the process steps and decisions. *Property of STI [email protected] UML: A mix of diagrams that show structure, behavior, and interactions in software. Page 3 of 3 ADL: Formal models that define the architecture and relationships between system components.