Bite sized training sessions: Process Modelling – Part 2 of 2 Process Model Documentation.

Slides:



Advertisements
Similar presentations
System Integration Verification and Validation
Advertisements

1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
Karolina Muszyńska Based on:
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Information System Engineering
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
The Architecture Design Process
System Design and Analysis
Chapter 6 - Repetition. Introduction u Many applications require certain operations to be carried out more than once. Such situations require repetition.
PROCESS MODELING Transform Description. A model is a representation of reality. Just as a picture is worth a thousand words, most models are pictorial.
Systems Analysis and Design in a Changing World, 6th Edition
SE-565 Software System Requirements More UML Diagrams.
Systems Analysis I Data Flow Diagrams
Bite sized training sessions: Process Modelling – Part 1 of 2 Process Model Diagrams.
Bite sized training sessions: Fundamentals of Business Analysis.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Bite sized training sessions: Non-Functional Requirements.
Systems Analysis and Design in a Changing World, Fifth Edition
PROCESS MODELING Chapter 8 - Process Modeling
Systems Analysis and Design
AICT5 – eProject Project Planning for ICT. Process Centre receives Scenario Group Work Scenario on website in October Assessment Window Individual Work.
Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 © John Wiley & Sons, Inc. All rights reserved. Slide 1 Process.
Systems Analysis and Design in a Changing World, Fifth Edition
Lesson 7 Guide for Software Design Description (SDD)
1 Shawlands Academy Higher Computing Software Development Unit.
Systems Analysis and Design in a Changing World, Fifth Edition
Requirements Walk-through
Requirements Analysis
Business Process Management. Key Definitions Process model A formal way of representing how a business operates Illustrates the activities that are performed.
Data Flow Diagrams.
1 Phases in Software Development Lecture Software Development Lifecycle Let us review the main steps –Problem Definition –Feasibility Study –Analysis.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Bite sized training sessions: Data Modelling – Part 2 of 2 Data Definitions.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 5: Software Design & Testing; Revision Session.
1 Introduction to Software Engineering Lecture 1.
Software Construction Lecture 18 Software Testing.
Lesson Overview 3.1 Components of the DBMS 3.1 Components of the DBMS 3.2 Components of The Database Application 3.2 Components of The Database Application.
0 SharePoint Search 2013 Rafael de la Cruz SharePoint Developer Seneca Resources twitter.com/delacruz_rafael
Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
Understanding Task Analysis
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
INFO1408 Database Design Concepts Week 16: Introduction to Database Management Systems Continued.
The Software Development Process
Systems Development Life Cycle
Data Segmentation for Privacy November 16 th, 2011.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
Week 3: Requirement Analysis & specification
Systems Analysis and Design in a Changing World, Fourth Edition
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It describes what is a user doing or will.
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It specifies what functions the user will need.
Week04 Project Requirements.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
GCSE ICT 3 rd Edition The system life cycle 18 The system life cycle is a series of stages that are worked through during the development of a new information.
Copyright © 2007, Oracle. All rights reserved. Managing Items and Item Catalogs.
Advanced Higher Computing Science
Process Specifications …and process modelling
Scope Planning.
Introduction to Triggers
How does a Requirements Package Vary from Project to Project?
PROGRAM MANAGEMENT OFFICE Program Quality Management
Engineering Processes
BPMN - Business Process Modeling Notations
EXAMPLE way of documenting…
Putting the Business Analyst in context
EXAMPLE way of documenting…
Presentation transcript:

Bite sized training sessions: Process Modelling – Part 2 of 2 Process Model Documentation

Objectives To understand –What is a process model –Why do process modelling To be able to –Read a process model –Build a process model –Critically review a process model

Recap

What are process models Models business process requirements for a solution – computerised or not. Defines only the process requirements for the solution. Is – by definition – the process scope of the solution. It should be possible to trace back every component of a process model to the objectives it helps achieve Process models consists of 4 components…

Conduct Training Provide BA support Monitor Analysis quality BA requests support Analysis Phase Of Project concludes A BA can request one of 4 types of support: 1.Phone or based query about a specific point 2.Informal review of a project deliverable 3.Formal review of full set of project deliverables 4.Facilitated workshop of how to apply analysis to a specific project 1. In the case of phone or query about a specific point the BA poses the question and the training provider will provide guidance for how the technicalities of Business Analysis apply to the problem Informal reviews of project deliverables will be done by and will only discuss the technicalities of Business Analysis in relation to the document Formal reviews will involve the BA sending the full set of Analysis deliverables to the training provider who will critique them from a technical perspective and then deliver the feedback in a one-to-one structured feedback session on the client site Facilitated workshops will be initiated by the BA - the training provider will supply workshop agenda and prerequisites which the BA will use to organise the workshop. The training provider will then facilitate the workshop for the project. Process execution rules Process dependency rules 1.Who is interacts with process 2.Where they are 3.Availability of process 4.Volumetrics 5.Performance of process 6.Security & Authorisation levels Non-functional Rules

Process Execution Rules

Remember Process Decomposition? Notes 1.A process model does not have to be decomposed. 2.Each level of these processes/tasks must ‘balance’ with the level it is a decomposition of: if a process has one input and that process is decomposed, then the input must also be input to at least one sub-process/task on the decomposition and there can be no other inputs although the single input can trigger more than one sub-process/task. Activities Top level Sub-Process Intermediate levels Task Bottom or atomic level

When NOT to specify Process Execution Logic Summary processes, by definition, are not the bottom or atomic layer in a process model. Definition of summary processes is therefore going to be a summary definition of the scope of processes within them. It is not feasible (or desirable) to specify precise execution logic for a summary processes as it would be impossible to ascertain which atomic process each statement belonged to. What is useful to define at summary process level is – Description of the process at the level shown on the diagram. – Metrics provided that they apply only to the process at the level it is shown on the diagram. But, as my old zombie mother used to say, “don’t decompose unless you HAVE to!”

When to specify Process Execution Logic Atomic processes, by definition, are the bottom or atomic layer of a process model. Therefore it will be necessary to document – a description of the process – the precise logic that must be executed by the process. Or as my old zombie mother used to say “Only do it when you have finished decomposing…”

For example…

Process Descriptions Description of a process/task: a natural English description of what the process is for and an overview of how it does it. Example description for Find Customer process: “The process Find Customer allows the user to select the right customer from a list of possible ones. The list of possible Customers are found by using certain search criteria but if none are found then the process Create Customer is triggered.” Ensure that you always stay within process scope – as defined by what triggers it with what, and what it can trigger with what…as defined on the process model!

Process Execution Logic Not descriptions, but definitive statements. Execution Logic: there are a variety of ways of doing this ranging from – natural English to… – …scenario based (good for use case diagrams)… – …structured English… – …pseudo code… – …highly specialised and formalised notations such as Zed. The most common methods that strike a balance between these two extremes are structured English and pseudo-code. Ensure that you always stay within process scope – as defined by what triggers it with what, and what it can trigger with what…as defined on the process model!

Scenario based English used to describe the bulk of the specification. Agree the format with customer and suppliers of your information – UML has many styles for this and levels at which it can be documented Formats can include Business scenario Pre and post conditions Happy path scenario Alternatives and exceptions Example for Find Customer 1.Scenario starts when a Customer wants to purchase goods. 2.Pre conditions: 1.The customer is able to supply information 3.Post conditions: 1.Customer found Take Order triggered or 2.Customer not found and Create Customer triggered or 3.Process ends 4.Happy path 5.The solution prompts the user for the customer name 6.The user supplies the customer name 7.The solution presents a list of matching customers 8.The user selects the desired customer 9.The solution triggers Take Order passing the Customer Number 10. Alternatives there are no matching customers 1.The solution triggers Create Customer The user does not select a Customer 1.End process

Structured English English used to describe the bulk of the specification. The reserved words and phrases typically include – Create – Read – Update – Delete – For each … end for each – If … else … end-if – Go to – Display – Input – Prompt – Invoke – Stop / exit – Etc! Agree with the customers and suppliers of this information. Example for Find Customer 1.Prompt the user to input a Customer Name 2.For each Customer where the Customer Name = input Customer Name 3.Display Customer Name 4. Customer Address 5. Customer Number 6.End for each 7.If no Customers were found 8.Then invoke the process Create Customer 9.End if 10.Prompt the user to select the correct Customer from the list 11.If no Customer selected 12. Then stop 13.End-if 14.Invoke process Take Order passing selected Customer

Pseudo Code Pseudo-code takes this one stage further and represents the logic in the programming style of the language to be used to code the solution. As such it will where feasible use the syntax of that language. Example for Find Customer: 1.Procedure Find_Customer 2.Declare Input_Customer_Name Char(50) init(‘’) 3.Declare Selected_Customer_Number Pic( ) init(0) 4.Declare Found Boolean init False 5.Display “Please enter the customer name: ” & Input_Customer_Name 6.Do while ¬EOF Customer 7. Read Customer 8. If Customer.Name = Input_Customer_Name then 9. Display Customer_Name 10. Display Customer_Address 11. Display Customer_Number 12. Found=True 13. End-if 14.End Do-while 15.If ¬Found then go to procedure Create_Customer 16.End-if 17.Display “Please select Customer to proceed” Selected_Customer_Number 18.If Selected_Customer_Number = Then end Procedure Find_Customer 20.End-if 21.Invoke go to procedure Take_Order(Selected_Customer_Number) 22.End Procedure Find_Customer

Exercise Document 1 or 2 process steps from your process model Process description Process execution logic using scenarios or structured English The business users are available to answer any scope or requirements questions. If you need to make any assumptions document them. Time: 20 minutes. Deliverable: flipchart specification.

Process Non-Functional Rules

We only know what a non-functional isn’t… …and it isn’t a functional requirement! The usual ones are – How many users can use it concurrently. Example: up to 100 concurrent users. – Where (physically) it can be run. Example: The Call Centre at No 1 The High Street, Anytown. – When it is available for use. Example: 08:00 to 18:00 Monday to Saturday excluding Bank Holidays. – How often it is run. Example: up to 1,500 transactions per hour. – How quickly it should execute. Example: it should take no longer than 5 seconds to find a customer. – How reliable it should be. Example: no more than 2 un-planned system unavailable events per year. – Any usability Non-Functional Requirements. Example: allow the order in which data items are supplied to be customised. – Etc! …and anything else which is not a functional requirement (and not documented somewhere else)! Ref: Article on NFR in the BA Training sharepoint site Is “Who can use a process” a non-functional requirement?

Remember Process Decomposition? Notes 1.A process model does not have to be decomposed. 2.Each level of these processes/tasks must ‘balance’ with the level it is a decomposition of: if a process has one input and that process is decomposed, then the input must also be input to at least one sub-process/task on the decomposition and there can be no other inputs although the single input can trigger more than one sub-process/task. Activities Top level Sub-Process Intermediate levels Task Bottom or atomic level

When can Non-Functional Requirements be specified? At the highest level in the process hierarchy where they will apply to all processes contained within a summary process For “Conduct Training” which of the following Non-Functional Requirements can be applied Available Monday to Friday Available 09:00 to 17:00 Runs 4 times per day: 2 trainers x 2 training courses (each has 2 sessions) per day

Exercise For the 1 or 2 process steps from your process model you documented process execution logic, document as many Non- Functional Requirements as are relevant from the following list –Accessibility Non-Functional Requirements –Accuracy Non-Functional Requirements –Availability Non-Functional Requirements –Backup and Recovery Non-Functional Requirements –Compatibility Non-Functional Requirements –Concurrency Non-Functional Requirements –Legal and Regulatory Non-Functional Requirements –Performance Non-Functional Requirements –Reliability Non-Functional Requirements –Security Non-Functional Requirements –Throughput Non-Functional Requirements –Etc, etc, etc!

The business users are available to answer any scope or requirements questions. If you need to make any assumptions document them. Time: 15 minutes. Deliverable: flipchart specification.

Process Data Usage Rules

Data that processes need in order to be able to execute Each task will CRUD (create, read, update, delete) data entities. A CRUD matrix specifies which data entities tasks create, read, update and/or delete. Typically a task will CRUD many data entities. – For example, “Find Customer” will read the Customer entity. All entities should as a minimum be created and read by one or more tasks. How data entities relate to each other and the other business rules defined for entities is not covered within this module.

Exercise For the 1 or 2 process steps from your process model you documented, define the data CRUD for the data entities on your data model. The business users are available to answer any scope or requirements questions. If you need to make any assumptions document them. Time: 15 minutes. Deliverable: flipchart specification.

End