• No results found

Process Modelling

N/A
N/A
Protected

Academic year: 2021

Share "Process Modelling"

Copied!
26
0
0

Loading.... (view fulltext now)

Full text

(1)

Bite sized training sessions:

Process Modelling Part 2 of 2

Process Modelling – Part 2 of 2

Process Model Documentation

(2)

Objectives

Objectives

• To understand

– What is a process model

– Why do process modelling

Why do process modelling

• To be able to

– Read a process model

– Build a process model

(3)

Recap

Recap

(4)

What are process models

p

Models business process requirements for a solution – computerised or not.

Defines only the process requirements for the solution

Defines only the process requirements for the solution.

Is – by definition – the process scope of the solution.y p p

• It should be possible to trace back every component of a process d l t th bj ti it h l hi

model to the objectives it helps achieve

(5)

Process models consists of 4 components…

A BA can request one of 4 types of support:

Process execution rules

A BA can request one of 4 types of support:

1. Phone or email 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 email 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 email 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 1. Who is interacts with process

Non-functional Rules

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.

p 2. Where they are

3. Availability of process 4. Volumetrics

5. Performance of process 6. Security & Authorisation levels

Process dependency rules

Conduct Training Provide BA support BA requests support

Process dependency rules

Monitor Analysis Analysis Phase Of Project concludes Analysis quality

(6)
(7)

Remember Process

Decomposition?

Decomposition?

Activities Top level + + Sub-Process Intermediate levels + + + + Task

Bottom or atomic level

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

Bottom or atomic level

p p p p , p p

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.

(8)

When NOT to specify Process Execution Logic

• Summary processes by definition are not the bottom or atomic layer in a

• Summary processes, by definition, are not the bottom or atomic layer in a process model.

fi iti f i th f i t b d fi iti

• 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.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!”

(9)

When to specify Process Execution Logic

t

i

b d fi iti

th

Atomic processes, by definition, are the

bottom or atomic layer of a process model.

y

p

Th

f

it ill b

t d

t

Therefore it will be necessary to document

a description of the process

the precise logic that must be executed by the

process.

p

Or as my old zombie mother used to say

“O l d it h h fi i h d d i

(10)

For example…

C ust o mer C Customer name

Find Customer Take Order

e} Customer name Customer selected rganisat ion} rtment or rol e selected No customer No customer

selected Create Customer

Customer wants To purchase goods {an o {a d ep

(11)

Process Descriptions

p

• 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:

“Th Fi d C t ll th t l t th i ht “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 p y g 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

(12)

Process Execution Logic

• Not descriptions but definitive statements • 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)… t t d E li h

– …structured English…

– …pseudo code…

– …highly specialised and formalised notations such as Zed. 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

• Ensure that you always stay within process scope – as defined by what triggers it with what, and what it can trigger with what…as

(13)

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 sto

me

r

Formats can include

• Business scenario

• Pre and post conditions

• Happy path scenario

• Alternatives and exceptions

Cu

s

Customer name

• 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

Find Customer Take Order

{an org ani sat io n} a dep artme nt o r role } Customer selected No customer found No customer

selected Create Customer

Customer wants To purchase goods

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

{a

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

1. 4.7 there are no matching customers

1 The solution triggers Create Customer

1. The solution triggers Create Customer

2. 4.8 The user does not select a Customer

(14)

Structured English

• English used to describe the bulk of the specification.

• The reserved words and phrases typically include

– Create – Read – Update – Delete sto me r – Delete

– For each … end for each

– If … else … end-if – Go to – Display Cu s Customer name p y – Input – Prompt – Invoke – Stop / exit ! i h h d li f hi i f i

Find Customer Take Order

{an org ani sat io n} a dep artme nt o r role } Customer selected No customer found No customer

selected Create Customer

Customer wants To purchase goods

– 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

{a

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

10. Prompt the user to select the correct Customer from the list

11. If no Customer selected

12. Then stop

13. End-if

(15)

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 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 Cu

stom

er

1. Procedure Find_Customer

2. Declare Input_Customer_Name Char(50) init(‘’)

3. Declare Selected_Customer_Number Pic(999999999) init(0)

4. Declare Found Boolean init False

5 Di l “Pl t th t ” & I t C t N

Find Customer Take Order

n isa tion } ent o r r ole } Customer name Customer selected Customer wants To purchase goods

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

{a n or ga n {a d ep art m e No customer found No customer

selected Create Customer

p g 9. Display Customer_Name 10. Display Customer_Address 11. Display Customer_Number 12 Found=True 12. Found True 13. End-if 14. End Do-while

15. If ¬Found then go to procedure Create_Customer

16 E d if

16. End-if

17. Display “Please select Customer to proceed” Selected_Customer_Number

18. If Selected_Customer_Number = 0

19. Then end Procedure Find_Customer

20. End-if

21. Invoke go to procedure Take_Order(Selected_Customer_Number)

(16)

Exercise

Document 1 or 2 process steps from your

process model

process model

Process description

Process execution logic using scenarios or

structured English

g

Th b i

il bl t

The business users are available to answer

any scope or requirements questions.

If you need to make any assumptions

If you need to make any assumptions

(17)
(18)

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 – 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 g 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.

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

items are supplied to be customised. – Etc!

• …and anything else which is not a functional requirement (and not documented h l )!

somewhere else)!

• Ref: Article on NFR in the BA Training sharepoint site

(19)

Remember Process Decomposition?

Activities Top level + + Sub-Process Intermediate levels + + + + Task

Bottom or atomic level

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

Bottom or atomic level

p / p

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.

(20)

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

processes contained within a summary process

• For “Conduct Training” which of the following Non-Functional Requirements b li d

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

+ +

+ + + +

(21)

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 Functional Requirements as are relevant from the following list

– Accessibility Non-Functional Requirements – Accuracy Non-Functional Requirements – Accuracy Non-Functional Requirements – Availability Non-Functional Requirements

– Backup and Recovery Non-Functional Requirements Compatibility Non Functional Requirements

– Compatibility Non-Functional Requirements – Concurrency Non-Functional Requirements

– Legal and Regulatory Non-Functional Requirements

P f N F ti l R i t

– Performance Non-Functional Requirements – Reliability Non-Functional Requirements

– Security Non-Functional Requirements

– Throughput Non-Functional Requirements – Etc, etc, etc!

(22)

• The business users are available to answer

any scope or requirements questions

any scope or requirements questions.

• If you need to make any assumptions

document them

document them.

• Time: 15 minutes.

(23)
(24)

Data that processes need in

order to be able to execute

order to be able to execute

E h t k ill CRUD ( t d d t d l t ) d t titi

• Each task will CRUD (create, read, update, delete) data entities.

• A CRUD matrix specifies which data entities tasks create, read, 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

(25)

Exercise

For the 1 or 2 process steps from your

d l

d

t d

d fi

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

d

t th

(26)

d

End

References

Related documents

In the present study, water extracts of selected medicinal plants (Acalypha indica, Adhatoda vasica, Allium cepa, Allium sativum and Aloe vera) were observed to

The primary objectives of this project is to transform the huge amount of wireless and unstructured data collected from different telematics providers, Hadoop tools and data

Voter Judge <<extends>> Electoral Registrar <<uses>> See complete Vote record See list of candidates Vote Check eligibility Print vote summary List who..

and accept that radiation causes serious health problems. Only then people all over the world will carry out research to come out with solutions... 1) Haumann Thomas, et al,

Hypertension and diabetes may arguably be more complex than hyperlipidemia as a significant number of patients are often are multiple medications or on more complex regimens

F d l ki t t t i l d ith t li it ti t t t di th ’ l l Forward-looking statements include without limitation, statements regarding the company’s plans, goal or objectives and

TNBD 33KV PROJECT DEPARTMENT PLANNING DEPARTMENT MAINTAINANCE DEPARTMENT CABLE SUBSTATION OVERHEAD LINE PROTECTION DEPARTMENT REHAB DEPARTMENT...

to Los Feliz, east on Los Feliz to Highway 5 (Golden State Freeway), north on Highway 5 to Sunland Blvd., east on Sunland Blvd., Big Tujunga Canyon Road, and Angeles Forest Road