30
9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

Embed Size (px)

Citation preview

Page 1: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.1

CSC 123Systems Analysis & Design

Part III: Systems AnalysisChapter 9

Describing Process Specificationsand Structured Decisions

Page 2: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.2

Topics

• Process specifications

• Business rules

• Structured English

• Decision tables

• Decision trees

• Horizontal balancing

Page 3: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.3

Process Specifications

• They explain the decision-making logic and formulas that will transform process input data into output.

• Sometimes called minispecs• Created for primitive processes as well as for

some higher level processes on a data flow diagram

• Created for class methods in object-oriented design and for the steps in a use case

Page 4: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.4

Goals of Producing Process Specifications

a. Reduce process ambiguity

b. Obtain a precise description of what is accomplished

c. Validate the system design

Page 5: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.5

How process specifications relate to the DFD

Page 6: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.6

Process Specification Format Information

a. The process numberb. The process name c. Descriptiond. Input data flowse. Output data flowsf. Type of process g. Uses prewritten codeh. Process logic descriptioni. Logic method reference j. List any unresolved issues

Page 7: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.7

Process Specification Format Information

a. Number– as used on the DFD

b. Name– as used in the process symbol on the DFD

c. Description– Description of what the process accomplishes– Example: Determine if an item is available for

sale. If it is not available, create a backordered item record. Determine the quantity available.

Page 8: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.8

Process Specification Format Information

d. Input data flows– As used on the DFD– Data names used in the formulae or logic

should match the data dictionary, for consistency and good communication

e. Output data flows– As used in DFD and data dictionary

Page 9: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.9

Process Specification Format Information

f. Types of Process– Batch– Online: require screen designs– Manual: should have well-defined

procedures for employees performing the process tasks

g. Uses prewritten code– Include the name of the subprogram or

function containing the code

Page 10: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.10

Process Specification Format Information

h. Process Logic Description– This should state policy and business rules, not

computer language pseudocode– Business rules are the procedures that allow a

corporation to run its business

i. Logic Method Reference– If there is not enough room for a complete

structured English description include a reference to the structured English description, decision table, or tree depicting the logic

Page 11: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.11

Process Specification Format Information

j. List any Unresolved Issues – Incomplete portions of logic– These issues form the basis of the questions

used for follow-up interviews with users or business experts you have added to your project team

Page 12: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.12

An example of a completed process

specification form for determining whether an item

is available

Page 13: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.13

Structured English

• The marriage of English language with the syntax of structured programming.

• Aims at getting the benefits of both the programming logic and natural language.

• Used when the process logic involves formulas or iteration, or when structured decisions are not complex.

• Based on structured logic and simple English statements such as add, multiply, and move.

Page 14: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.14

Writing Structured English

a. Express all logic in terms of sequential structures, decision structures, case structures, or iterations.

b. Use and capitalize accepted keywords such as IF, THEN, ELSE, DO, and PERFORM.

c. Indent blocks of statements to show their hierarchy (nesting) clearly.

d. Underline words or phrases that have been defined in a data dictionary.

e. Clarify the logical statements.

Page 15: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.15

Page 16: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.16

Advantages of Structured English

• Clarifying the logic and relationships found in human languages.

• An effective communication tool, it can be taught to and understood by users in the organization.

Page 17: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.17

The Data Dictionary

• A reference work of data about data (metadata).

• A centralized repository of information about data such as meaning, relationships to other data, origin, usage, and format.

• Helps keep data consistent.• Can be automated using tools.

Page 18: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.18

Data Dictionary & Process Specification

• The data dictionary is a starting point for creating structured English.

• All computer programs may be coded using the three basic constructs:– Sequence

• a simple sequence of statements MOVE, ADD, and SUBTRACT

– Selection• [ ] entries become IF..THEN...ELSE statements

– Iteration• { } entries become DO WHILE, DO UNTIL, or PERFORM

UNTIL

Page 19: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.19

Decision Tables

• A table of rows & columns, separated into 4 quadrants– Conditions– Condition alternatives– Actions to be taken– Rules for executing the actions

1

2

3

Page 20: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.20

Developing Decision Tables

• Determine conditions that affect the decision• Determine possible actions that can be taken• Determine condition alternatives for each condition• Calculate the maximum number of columns in the

decision table• Fill in the condition alternatives• Complete table by inserting an X where rules suggest

actions• Combine rules where it is apparent • Check for errors• Rearrange to make more understandable

Page 21: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.21

Checking for Completeness & Accuracy

• Four main problems:– Incompleteness

• if a condition is left out– Impossible situations

• i.e. a person can not earn greater than $50,000 per year and less that $2,000 per month

– Contradictions• when rules suggest different actions but satisfy the same

conditions– Redundancy

• when identical sets of alternatives require the exact same action

Page 22: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.22

Checking for Completeness & Accuracy

Page 23: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.23

More Advanced Decision Tables

• As the number of alternatives and conditions grow the number of columns increases– A table with seven conditions each having two

alternatives would need 128 columns

• To reduce the number of columns:– Use extended entries– Use the ELSE rule– Construct multiple tables

Page 24: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.24

Decision Table Advantages

• Help the analysis ensure completeness

• Easy to check for possible errors

Page 25: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.25

Decision Trees

• Decision trees are used when complex branching occurs in a structured decision process.

• Consists of nodes and branches.

• Also useful when it is essential to keep a string of decisions in a particular sequence.

Page 26: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.26

Drawing Decision Trees

• Identify all conditions and actions and their order and timing (if they are critical).

• Begin building the tree from left to right, making sure you list all possible alternatives before moving to the right.

Page 27: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.27

Drawing a decision tree to show the noncash purchase approval actions for a department store

Page 28: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.28

Decision Tree Advantages

• The order of checking conditions and executing actions is immediately noticeable.

• Conditions and actions of decision trees are found on some branches but not on others.

• Compared to decision tables, decision trees are more readily understood by others in the organization.

Page 29: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.29

Selecting a Structured Decision Analysis Technique

• Use Structured English when:– there are many repetitious actions or when communication to

end users is important

• Use Decision Tables when:– complex combination of conditions, actions, and rules are

found– you require a method that effectively avoids impossible

situations, redundancies, and contradictions

• Use Decision Trees when:– the sequence of conditions and actions is critical– not every condition is relevant to every action (the branches

are different)

Page 30: 9.1 CSC 123 Systems Analysis & Design Part III: Systems Analysis Chapter 9 Describing Process Specifications and Structured Decisions

9.30

Key Terms

• Data dictionary

• Decision table

• Decision tree

• Process specifications

• Structured English