© 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems...

23
© 2005 by Prentice Hall © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich

description

© 2005 by Prentice Hall 8-3 Logic Modeling Data flow diagrams do not show the logic inside the processes – what occurs within a process? How input data is converted into output information Logic modeling involves representing internal structure and functionality of processes depicted on a DFD. Processes must be clearly described before translating them into programming language. Logic modeling can also be used to show when processes on a DFD occur. Logic modeling will be generic without taking syntax of a particular programming language

Transcript of © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems...

Page 1: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall

Chapter 9Structuring System Requirements:

Logic Modeling

Modern Systems Analysisand Design

Fourth Edition

Jeffrey A. Hoffer Joey F. George

Joseph S. Valacich

Page 2: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-2

Learning Objectives

Use Structured English as a tool for representing steps in logical processes in data flow diagrams.

Use decision tables and decision trees to represent logical choice in conditional statements.

Select among Structured English, decision tables, and decision trees.

Page 3: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-3

Logic Modeling

Data flow diagrams do not show the logic inside the processes – what occurs within a process? How input data is converted into output informationLogic modeling involves representing internal structure and functionality of processes depicted on a DFD.Processes must be clearly described before translating them into programming language.Logic modeling can also be used to show when processes on a DFD occur.Logic modeling will be generic without taking syntax of a particular programming language

Page 4: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-4

Logic Modeling Deliverables and Outcomes

Each process on the lowest level DFD will be represented by one or more of the following:

Structured English Decision Tables Decision Trees State-transition diagrams Sequence diagrams Activity diagrams

Page 5: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-5

Modeling Logic with Structured English

Structured English is a modified form of English used to specify the logic of information processesUses a subset of English vocabulary to express process procedures Action verbs – read, write, print, move, merge, add, sort Noun phrases – name, address No adjectives or adverbs

No specific standards – each analyst will have his own wayFile and variable names are CAPITALIZEDLogical comparisons are spelled out and symbols are not used

Structured English is used to represent processes in a shorthand manner that is relatively easy for users and programmers to read and understand

Page 6: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-6

Modeling Logic with Structured English

It is possible to represent all three processes used in structured programming: sequence, conditional, repetitionSequence – no special structure but one statement following anotherConditional – IF THEN ELSE statement; CASE statementRepetition – DO-UNTIL loops or DO-WHILE loops

Format of Structured English uses indentation used in programming languages

Structured English does not initialize variables, open and close files, or find related records in separate files – all are done in later design process

Page 7: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-7

Page 8: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-8

Structured English is used here to describe input and output.

Page 9: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-9

Structured English is used here to describe arithmetic operations.

Page 10: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-10

Structured English is used here to describe repetition.

Page 11: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-11

Structured English is used here to describe decisions.

Page 12: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-12

Structured English is used here to describe invoking other processes.

Page 13: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-13

Modeling Logic with Decision Tables

Structured English is not good to represent complicated logic (having several different conditions) as it becomes difficult to understandDecision table: A matrix representation of the logic of a decisionSpecifies all the possible conditions and the resulting actions in a tabular formBest used for complicated decision logic

3 Parts of a Decision Table1. Condition stubs

Lists condition relevant to decision2. Action stubs

Actions that result from a given set of conditions3. Rules

Specify which actions are to be followed for a given set of conditionsIndifferent Condition

Condition whose value does not affect which action is taken for two or more rules

Page 14: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-14

Procedure for Creating Decision Tables

Name the conditions and values each condition can assume some conditions values will be just “yes” or “no” and some may have many

values (called an extended entry)Name all possible actions that can occurList all possible rules

Create exhaustive set of rules – every possible combination of conditions must be represented

Some rules may be redundant or make no sense that can be altered later Number of rules = number of values for condition 1 X number of

values for condition 2 X …..X number of values for condition nDefine the actions for each rule

If an action doesn’t make sense create an “impossible” row for that action If the action is not known place a ? for that rule

Simplify the table Remove any rules with impossible actions

Page 15: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-15

Decision Table

Note: for salaried employees the action stub chosen will always be the same…therefore hours worked is an indifferent condition

Page 16: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-16

Reduced Decision Table

Because of indifferent condition, the complete decision table can be reduced to one with fewer rules

Page 17: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-17

Procedure for Creating Decision Tables

Decision tables can also be used to specify additional decision-related information:If actions for a rule are more complicated and can’t be conveyed in one or two lines of text (or) If some conditions depend on other conditions (nested conditions)

use separate, linked decision table by writing “Perform Table B” as action in the action stub

Table B could contain an action stub that returns to the original tableUse numbers to indicate sequence rather than just Xs where rules and action stub intersect

Decision tables are compact – pack a lot of information into a small tableDecision tables allow you to check for the completeness, consistency, and redundancy of logic

Page 18: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-18

Modeling Logic with Decision Trees

A decision tree is a graphical representation of a decision situationDecision situation points (nodes) are connected together by arcs and terminate in ovalsMain components

Decision points represented by nodes Actions represented by ovals Particular choices from a decision point represented by arcs

To read a decision tree – begin at root node on far leftEach node is numbered and each number corresponds to a choiceChoices are spelled out in a legendFrom each node there are at least two paths leading to next step – another decision point or an actionAll possible actions are listed on the far right in leaf nodesEach rule is represented by tracing a series of paths from root node to the next node and so on until an action oval is reached

Page 19: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-19

Decision tree representation of salary decision

Page 20: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-20

Alternative decision tree representation of salary decision

Page 21: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-21

Deciding Among Structured English, Decision Tables, and Decision Trees

Criteria Structured English

Decision Tables

Decision Trees

Determining Conditions and Actions

Second Best Third Best Best

Transforming Conditions and Actions into Sequence

Best Third Best Best

Checking Consistency and Completeness

Third Best Best Best

Page 22: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-22

Deciding Between Decision Tables and Decision Trees

Criteria Decision Tables Decision Trees

Portraying complex logic

Best Worst

Portraying simple rules

Worst Best

Making decisions Worst Best

More compact Best Worst

Easier to manipulate

Best Worst

Page 23: © 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.

© 2005 by Prentice Hall© 2005 by Prentice Hall8-23

Summary

In this chapter you learned how to: Use structured English as a tool for representing steps

in logical processes in data flow diagrams. Use decision tables and decision trees to represent

logical choice in conditional statements. Select among structured English, decision tables, and

decision trees.