1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1...

18
1/68 Chapter 7 Structuring System Process Requirements © 2011 by Prentice Hall: J.A.Hoffer et.al., Modern Systems Analysis & Design, 6 th Edition 2/68 Content 9 Understand the logical (&physical) process modeling by using data flow diagrams (DFDs) 9 Draw DFDs & Leveling 9 Balance higher-level and lower-level DFDs 9 Explain the differences among four types of DFDs: current physical, current logical, new physical, and new logical 9 Use DFDs as a tool to support the analysis of ISs 9 Discuss process modeling for e-Commerce applications 9 Process Description ** 3/68 1. Process Modeling 4/68 Process Modeling (Cont.) Graphically represent the processes that capture, manipulate, store, and distribute data between a system and its environment and among system components Utilize information gathered during requirements determination Processes and data structures are modeled

Transcript of 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1...

Page 1: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

1/68

Chapter 7Structuring System Process

Requirements

© 2011 by Prentice Hall: J.A.Hoffer et.al., Modern Systems Analysis & Design, 6th Edition 2/68

ContentUnderstand the logical (&physical) process modelingby using data flow diagrams (DFDs)Draw DFDs & LevelingBalance higher-level and lower-level DFDsExplain the differences among four types of DFDs: current physical, current logical, new physical, and new logicalUse DFDs as a tool to support the analysis of ISsDiscuss process modeling for e-Commerce applicationsProcess Description **

3/68

1. Process Modeling

4/68

Process Modeling (Cont.)

Graphically represent the processes that capture, manipulate, store, and distribute databetween a system and its environment and among system componentsUtilize information gathered during requirements determinationProcesses and data structures are modeled

Page 2: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

5/68

1.1 Deliverable and OutcomeContext data flow diagram (DFD)

Scope of systemDFDs of current physical system

Adequate detail onlyDFDs of current logical system

Enables analysts to understand current systemDFDs of new logical system

Technology independentShow data flows, structure, and functional requirements of new system

DFDs of new physical systemDescription of each DFD component

6/68

2. Data Flow Diagramming MechanicsRepresent both physical and logical ISsOnly four symbols are used

7/68

Definitions and Symbols (Cont.)

Processwork or actions performed on data

Data storedata at rest (inside the system)

Source/sink (destination); terminator; actor; boundary external entity that is origin or destination of data (outside the system)

Data flowarrows depicting movement of data

8/68

Data Flow Diagramming Mechanics (Cont.)

Useful for depicting purely logical information flowsDFDs that detail physical systems differ from system flowcharts which depict details of physical computing equipment

Page 3: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

9/68

Different between Sources/ Sinks and Processes

10/68

2.1 Developing DFDs: an Example

Context diagram is an overview of an organizational system that shows

the system boundariesexternal entities that interact with the systemMajor “information flows” between the entities and the system

Note: only one process symbol, and no data stores shown

11/68

Context Diagram

12/68

Developing DFDs (Cont.)

Level-0 diagram is a data flow diagram that represents a system’s major processes, data flows, and data stores at a high level of detail

Processes are labeled 1.0, 2.0, etc. These will be decomposed into more primitive (lower-level) DFDs.Leveling & Balancing

Page 4: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

13/68

Level-0 Diagram

14/68

2.2 Data Flow Diagramming Rules

Two DFD guidelinesThe inputs to a process are different from the outputs of that process

Processes purpose is to transform inputs into outputs

Objects on a DFD have unique namesEvery process has a unique name

15/68

Data Flow Diagramming Rules (Cont.)

16/68

Data Flow Diagramming Rules (Cont.)

Page 5: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

17/68

B2

Illegal Data Flows

Whitten 18/68

2.3 Decomposition of DFDsFunctional decomposition is an iterative process of breaking a system description down into finer and finer detail

PROJECTGOAL

0

PHASE

2PHASE

3PHASE

1

ACTIVITY

2.2ACTIVITY

2.1ACTIVITY

2.3

TASK

2.2.2TASK

2.2.1TASK

2.2.3

19/68

Decomposition of DFDs (Cont.)

Primitive DFD is the lowest level of a DFD.Level-1 diagram results from decomposition of Level-0 diagram.Level-n diagram is a DFD diagram that is the result of a n nested decompositions from a process on a level-0 diagram.

20/68

Level-1 DFD

Level-1 DFD shows the sub-processes of one of the processes in the Level-0 DFD.

This is a Level-1 DFD for Process 4.0

Processes are labeled 4.1, 4.2, etc. These can be further decomposed in more primitive (lower-level) DFDs if necessary.

Balancing!!!

Page 6: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

21/68

Level-n DFD

Level-n DFD shows the sub-processes of one of the processes in the Level n-1 DFD.

This is a Level-2 DFD for Process 4.3.

Processes are labeled 4.3.1, 4.3.2, etc. If this is the lowest level of the hierarchy, it is called a primitive DFD.

Not Necessary for this level!!

22/68

2.4 Balancing DFDs

Conservation Principle: conserve inputs and outputs to a process at the next level of decompositionBalancing: conservation of inputs and outputs to a data flow diagram process when that process is decomposed to a lower level

23/68

Balancing DFDs (Cont.)

Balanced means (in general):Number of inputs to lower level DFD equals number of inputs to associated process of higher-level DFDNumber of outputs to lower level DFD equals number of outputs to associated process of higher-level DFD

24/68

Balancing DFDs (Cont.)

This is unbalanced because the process of the context diagram has only one input but the Level-0 diagram has two inputs.

1 input1 output

2 inputs1 output

Page 7: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

25/68

Balancing DFDs (Cont.)

Data flow splitting is when a composite data flow at a higher level is split and different parts go to different processes in the lower level DFDThe DFD remains balanced because the same data is involved, but split into two parts

26/68

Balancing DFDs (Cont.)

27/68

Balancing DFDs: More DFD Rules

28/68

Exercise

Document your project requirements by usingContext diagram (scope)L-0 DFD (main activities)++ Leveling & Balancing ++ Process description

Page 8: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

29/68

3. Four Different Types of DFDs

Current PhysicalProcess labels identify technology (people or systems) used to process the dataData flows and data stores identify actual name of the physical media

Current LogicalPhysical aspects of system are removed as much as possibleCurrent system is reduced to data and processes that transform them

30/68

Four Different Types of DFDs (Cont.)

New LogicalInclude additional functionsRemove obsolete functions Reorganize inefficient data flows

New PhysicalRepresents the physical implementation of the new system

31/68

System Development Model (Classical Model)

AS IS (Current)

1 Physical Model

2 Logical Model

TO BE (New)

4 Physical Model

3 Logical Model

32/68

4. Using Data Flow Diagram in the Analysis Process

4.1 Guidelines for Drawing DFDsCompleteness

DFD must include all components necessary for systemEach component must be fully described in the project dictionary or CASE repository

ConsistencyThe extent to which information contained on one level of a set of nested DFDs is also included on other levels

Page 9: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

33/68

Guidelines for Drawing DFDs (Cont.)

TimingTime is not represented well on DFDsBest to draw DFDs as if the system has never started and will never stop

Iterative DevelopmentAnalyst should expect to redraw diagram several times before reaching the closest approximation to the system being modeled

34/68

Primitive DFDs

Lowest logical level of decompositionDecision has to be made when to stop decomposition…

35/68

Rules for stopping decompositionWhen each process has been reduced to a single decision, calculation or database operationWhen each data store represents data about a single entityWhen each user does not care to see any more detailWhen every data flow does not need to be split further to show that data are handled in various waysWhen you believe that you have shown each business form or transaction, online display and report as a single data flowWhen you believe that there is a separate process for each choice on all lowest-level menu options

36/68

4.2 Using DFDs as Analysis Tools

Gap Analysis is the process of discovering discrepancies between two or more sets of data flow diagrams or discrepancies within a single DFD

Page 10: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

37/68

4.3 Using DFDs in BPR

FIGURE 7-16IBM Credit Corporation’s primary work process before BPR(Source: Based on Hammer and Champy, 1993.) 38/68

Using DFDs in BPR (Cont.)

FIGURE 7-17IBM Credit Corporation’s primary work process after BPR(Source: Based on Hammer and Champy, 1993.)

39/68

5. e-Commerce Application: Process Modeling using Data Flow Diagram

Process modeling for Pine Valley Furniture’s WebstoreCompleted JAD sessionBegan translating the Webstore system structure into data flow diagram

Identified six high-level processes

40/68

e-Commerce Application: Process Modeling using Data Flow Diagrams (Cont.)

Page 11: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

41/68

e-Commerce Application: Process Modeling using Data Flow Diagrams (cont.)

Figure 7-22 Level-0 data flow diagram for the WebStore42/68

6. Process Description Use Structured English as a tool for representing steps in logical processes in DFDsUse decision tables to represent the logic of choice in conditional statementsSelect among Structured English and decision tables for representing processing logicUnderstand how logic modeling techniques apply to the development of your project study

© 2011 by Prentice Hall: J.A.Hoffer et.al., Modern Systems Analysis & Design, 6th Edition

43/68

Logic Modeling: process description

Data flow diagrams (DFDs) do not show the logic inside the processesLogic modeling involves representing internal structure and functionality of processes depicted on a DFDLogic modeling can also be used to show when processes on a DFD occur

44/68

Deliverable and Outcome

Structured English representation of process logicDecision Tables representationOOT

Interaction diagram Sequence diagram & Communication diagramActivity diagram

Plus: decision tree & flowchart

Page 12: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

45/68

Structured English

Structured English: modified form of English language used to specify the logic of IS processesTypically relies on action verbs and noun phrases and contains no adjectives or no specific standards

46/68

Structured English

47/68

Structured English

48/68

Structured English Constructs (Part 1)

Whitten

Page 13: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

49/68

Structured English Constructs (Part 2)

50/68

Process Description: Modeling Logic * * * Process #: Process NameDescription: .......................Created Date: .....................

InputActor

form…P#: ...

attribute, ...D#: ...

(attribute, ...)

OutputActor

report…P#: ...

attribute, ...D#: ...

(attribute, ...)

Tasks and Activities (show logic not brief description)Use:

•Structured English or•Activity diagram•Flowchart•Decision table/ tree •etc.

P# process

boundary

outp

ut

inpu

t

D# data store

p p

51/68

Decision Table

Decision table: a matrix representation of the logic of a decision which specifies the possible conditions for the decision and the resulting actionsBest used for complicated decision logic

52/68

Decision Table

1

2

3

Page 14: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

53/68

Decision Table

Condition stubs: list conditions that relevant to the decisionAction stubs: list actions that result for a given set of conditionsRules: define which actions are to be followed for a given set of conditions

54/68

Modeling Logic with Decision Table

55/68

Logic Modeling (Cont.)

56/68

Logic Modeling (Cont.)

Page 15: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

57/68

SummaryUnderstand the logical process modeling by using data flow diagrams (DFDs)Draw DFDs & LevelingBalance higher-level and lower-level DFDsExplain the difference among four types of DFDs: current physical, current logical, new physical, and new logicalProcess Description

58/68

Questions & Answers

59/68

Exercise

What is a data flow diagram? Why do system analysts use data flow diagrams (DFDs)?Explain the rules of drawing good DFDs.What unique rules apply to drawing context diagram?

60/68

Case Study

A simple banking system1 Open new a/c2 Deposit and withdraw3 Close a/cDraw the context diagram and DFD of this

simple banking system.

Page 16: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

61/68

Main ActivityNew customers are registered; and accounts are closed by bank managerWhen accounts are closed, customers are notified by a systemCash deposits into an account are made by the customer, and salary are paid by the employerThe bank clerk performs a balance check before allowing a withdrawal by a customer at the bank counter

List of System Logical ElementsWichian 62/68

List of system logical elements

Wichian

63/68

Context Diagram :A simple banking system

Wichian 64/68

Data Flow Diagram : a simple banking system

Wichian

Page 17: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

65/68

Data Flow Diagram : a simple banking system

Wichian 66/68Wichian

67/68

Problems of System Development

Poor system thinkingPoor system integrationPoor verifying the model

Finding missing algorithmSyntax checkingTracing data elementCross-referencingTracing objective

68/68

Physical Data Flow Diagrams (PDFDs)

Technical and human decisions to be implemented as part of an information system

Page 18: 1. Process Modeling - SIT KMUTT ProcessSpec Stu.pdf · of decomposition Balancing: ... 4.1 Guidelines for Drawing DFDs Completeness ... (DFDs) do not show the logic inside the processes

69/68

Example: Classify the following aspects into functional (F), non-functional (NF), or not be a requirement.

1. How information about flights, passengers and booking are entered.

2. What information appears on tickets and reports.

3. How fares are calculated.4. What information must be stored in the

database that travel agents and others access.5. The system should be designed so it can be

extended to handle a frequent flier plan.6. The system must be available at all times.

Only 2 minutes downtime a week is to be permitted.

7. A “merge sort” algorithm must be used to sort the flights by departure time.