Business Processes • A business process describes a set of activities that are necessary to complete a response to a stimulus applied to an organization. What is a business process? Customer (request) Supplier (order) Supplier (shipment) Inventory System (update inventory) Business Management (directive) News (Info. about competitor) Committee (response) Marketing (plan) Examples of Business Processes • Routine business processes: – – – – fulfill customer order receive shipment for inventory review loan applications create a two week payroll • More complex business processes: – Developing a new product – Deciding on a location for new store – Designing a new marketing campaign Triggering Business Processes • The stimulus for an organization to respond to could be external: – customer request – supplier shipment – new knowledge about competitor • or from an internal source: – management wants new product developed – organization opening a new branch office Business Process - A Response • The response is the action(s) that the organizations takes as a result of the stimulus. – For example: • ship product to customer • update inventory based on shipment • All of the activities required to recognize the stimulus and develop and implement the final response are the business process. Business Process Modeling • What is a process model? – A formal way of representing how a business system operates. – Illustrates the activities that are performed and how data moves through the process. – A process model can be used to document current system or to illustrate new system • Use Cases and Data Flow Diagrams (DFD) are among many techniques to support Business Process Modeling Why Draw Process Models? To clearly communicate the processes (flow of data) through a system. To help us structure our view of the business process. To articulate our understanding of how a system under study actually works To formalize the description of processes (documentation) Diagrams are sometimes easier to understand than text. Why Draw Process Models? • Why use a diagram and not just text? – “Since we previously had no way of showing a tangible model, we have had to build the next best thing, which is to use English narrative to describe the proposed system. Can you imagine spending five years’ salary on a custom built house on the basis of an exhaustive narrative description of how the house will be built? ... If you use English to describe a complex system... the result takes up so much space that it’s hard for the reader to grasp how the parts fit together” (Gane and Sarson, Structured System Analysis, 1974) Use Cases • A Foray into the world of objects – Look at business processes in an object oriented view • more ‘natural’ in its makeup – Not all that new • Jacobson 1986 formally introduced them • Late 1990’s they took hold as a ‘norm’ – Part of UML Use Cases • This newer methodology allows analysts to consider what the user and the system need to do to interact and handle a business process • They have recently moved from objectoriented analysis into more mainstream development • Now, pretty much a standard Use Case Modeling Process • First, try to understand the general processes to be studied. – Document Analysis – Questionnaires about problems – Observation • Ask questions, test assumptions. Use Case Modeling Process • Try to understand the objectives of the new project – Interviews – JAD Use Case Modeling • Starts to document the process • Triggers: – Inputs to each use case with source • What causes the system to ‘wake up’ and do something? – Outputs with sync (destination) – Major Steps • with links to all inputs and outputs • What do the users do? • What does the system need to respond with? Automation • Use Cases are critical here – The ‘2B’ system is, in fact, the ‘as is’ system – More interested in physical processes than logical Improvement • Two objectives – Need to understand ‘as is,’ since it will remain the core system • Use Cases are the foundation for discussions about shortcomings of the current system • More time is spent gaining an understanding of the logic of the current system Reengineering • The ‘as is’ system is studied in depth later in the project – deemed ‘essential systems analysis’ – start with the logic of the process • design process, procedure, and physical system • study current system • develop a transition plan – significant user involvement in systems specifications • interviewing • JAD Use Cases • A use case illustrates the activities that are performed by users of a system • Use cases are logical models – they describe the activities of a system without specifying how the activities are implemented • Triggers: – Initiated by an external “actor” (which may be a person, a role, or even another system) – Can be initiated by the passage of time, which is a specific type of trigger, a “temporal event” Benefits of using use cases • Facilitates user involvement. Understandable. • A view of the desired system’s functionality from a business process viewpoint. • An effective tool for validating requirements. • An effective communication tool. • In general: provide a representation of the behavior of a business organization for the purpose of understanding the business itself Processes • Processes are named with verb/noun combinations • High level processes (also known as “events”) are logical units of action that must be completed as a whole • They start with general verbs such as “process”, “respond to”, “generate” or “maintain” • Lower level processes are discrete, detailed activities, with specific action verbs such as “calculate” or “validate” What processes do • • • • • • Perform computations Make decisions Sort, filter, or otherwise summarize data Organize data into useful information (generate reports) Trigger other processes Use stored data (create, read, update, or delete a record) Triggering a business process • Stimulus for a process could be from outside the organization – Customer makes a request – Supplier sends a shipment – Marketing department gets new info re competitors • or from an internal source – Manager wants to analyze sales force productivity – Inventory for a specific item falls below its reorder point Output from a business process • The purpose of a business process is to generate a response to a trigger – A product is shipped to a customer – Inventory is updated to reflect new inventory • All of the activities required to recognize the stimulus and develop and implement the final response are the business process Use Cases • One way to identify use cases is to start with actors think about all the actions they take • Another way is to look directly at outcomes – what are the different services we need to provide. • For each use case, want to be clear on: – – – – the actor that initiates the event the event or business process (this will be the title) the first input or trigger all inputs, outputs and responses Elements of a Use Case • Note: like many of these tools and techniques, there are ‘norms’ rather than ‘standards’. Use Cases can be relatively simple and straightforward, or they might need to model a highly complex process, where they would be correspondingly detailed. Elements of a Use Case • Basic Information – Name – as simple and descriptive as possible – Number – just to keep track – Priority – how essential is this to the overall system – Actor – the key person, system, or device that interacts with the process – Trigger – what starts the use case to happen? • can be external (customer visits our web site) • or temporal (its payday) Elements of a Use Case • Preconditions – the state the system must be in before the use case can commence • for example, a ‘sign in’ use case would require that a customer has an account. If not, it would direct them to a ‘create account’ use case Elements of a Use Case • Major steps performed – ‘Normal Course’ • probably the one you want • no exceptions exist – ‘Alternative Courses’ • what happens if some alternative event takes place – ‘sign up’ would be an alternative course in our eBy log in example Elements of a Use Case • Postconditions – an inventory of the results of progressing successfully through the use case • Exceptions – what errors could happen in the steps • Summary Inputs and Outputs – major elements and their source or destination Steps for generating use cases • Identify the use cases – think about the triggers coming in to initiate action, and the major inputs and outputs • Identify the major steps for each • Identify elements within each step – its triggers, inputs and outputs • Confirm the use case with users Some comments re Use Cases • If you end up with a lot of use cases, think about combining some of them into higher level processes • Write from the perspective of an independent observer • The information flows should deal with “information” rather than physical objects • There should be a match between the major inputs/outputs and the information flows Not all elements of the use cases are always required. They should be as simple, or as complex, as you need them to be.