lecture 3 - · pdf filedecomposition –this is called balancing •example: ......

35
Lecture 3 Structuring System Requirements: Process Modeling

Upload: lamhanh

Post on 25-Feb-2018

219 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Lecture 3 Structuring System Requirements:

Process Modeling

Page 2: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Learning Objectives Understand the logical modeling of processes through

studying data-flow diagrams.

How to draw data-flow diagrams using rules and guidelines.

How to decompose data-flow diagrams into lower-leveldiagrams.

Balancing of data-flow diagrams.

Discuss the use of data-flow diagrams as analysis tools.

Represent processing logic using Structured English anddecision tables.

Page 3: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Process Modeling• Graphically represents the processes that capture,

manipulate, store and distribute data between asystem and its environment and among systemcomponents.

• Data-flow Diagrams (DFD)– Graphically illustrate movement of data between

external entities and the processes and data stores within a system

• Modeling a System’s Process–Utilize information gathered during requirements

determination

– Structure of the data is also modeled in addition to the processes

Page 4: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Process Modeling (continued)• Deliverables and Outcomes

– Set of coherent, interrelated data-flow diagrams

– Context data-flow diagram (DFD)• Scope of system

– DFDs of current system• Enable analysts to understand current system

– DFDs of new logical system• Technology independent

• Show data flows, structure and functional requirements of new system

– Project dictionary and CASE repository

• Data-flow Diagramming Mechanics

– Four symbols are used

Page 5: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action
Page 6: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Data-Flow Diagramming Mechanics• Data Flow

– Represent data that are in motion and moving as a unit from one place to another in the system

– Drawn as an arrow

– Select a meaningful name to represent the data

• Data Store– Represent data at rest

– May represent data in• File folder

• Computer-based file

• Notebook

– Drawn as a rectangle with the right vertical line missing

– Label includes name of the store as well as the number

Page 7: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Data-Flow Diagramming Mechanics (continued)• Process

– Represent work or actions performed on data so that they are transformed, stored, or distributed

– Drawn as a rectangle with rounded corners

– Number of process as well as name are recorded

• Source/Sink– Depicts the origin and/or destination of the data

– Sometimes referred to as an external entity

– Drawn as a square symbol

– Name states what the external agent is

– Because they are external, many characteristics are not of interest to us

Page 8: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action
Page 9: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action
Page 10: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Data-Flow Diagramming Definitions• Context Diagram

– A data-flow diagram (DFD) of the scope of an organizationalsystem that shows the system boundaries, external entities thatinteract with the system and the major information flows betweenthe entities and the system

• Level-O Diagram

– A data-flow diagram (DFD) that represents a system’s majorprocesses, data flows, and data stores at a higher level

Page 11: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Developing DFDs: An Example• Hoosier Burger’s

Automated Food Ordering System

• Context Diagram contains no data stores

Page 12: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

• Next step is to expand the context diagram to show the breakdown of processes

Page 13: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

• Basic rules that apply to all DFDs:– Inputs to a process are always different than outputs– Objects always have a unique name

• In order to keep the diagram uncluttered, you can repeat data stores and data flows on a diagram

• Process1. No process can have only outputs (a miracle)2. No process can have only inputs (black hole)3. A process has a verb phrase label

• Data Store1. Data cannot be moved from one store to another2. Data cannot move from an outside source to a data store3. Data cannot move directly from a data store to a data sink4. Data store has a noun phrase label

• Source/Sink1. Data cannot move directly from a source to a sink2. A source/sink has a noun phrase label.

Data-Flow Diagramming Rules

Page 14: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Data-Flow Diagramming Rules

–A data flow has only one direction of flow betweensymbols.

–A fork means that exactly the same data go from acommon location to two or more processes, data stores,or sources/sinks.

–A join means that exactly the same data come from anytwo or more different processes, data stores orsources/sinks to a common location

–A data flow cannot go directly back to the same process itleaves

–A data flow to a data store means update.

–A data flow from a data store means retrieve or use.

–A data flow has a noun phrase label.

Page 15: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Decomposition of DFDs• Functional Decomposition

– Act of going from one single system to many component processes

– Repetitive procedure

– Lowest level is called a primitive DFD

• Level-n Diagrams

– A DFD that is the result of n nested decompositions of a series of sub-processes from a process on a level-0 diagram

Page 16: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Balancing DFDs• When decomposing a DFD, you must conserve inputs to

and outputs from a process at the next level of decomposition– This is called balancing

• Example: Hoosier Burgers– In Figure 5-4, notice that there is one input to the system, the

customer order

– Three outputs: • Customer receipt

• Food order

• Management reports

– Notice Figure 5-5. We have the same inputs and outputs

– No new inputs or outputs have been introduced

– We can say that the context diagram and level-0 DFD are balanced

Page 17: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Balancing DFDs An Unbalanced Example

– In context diagram, we have one input to the system, A and one output, B

– Level-0 diagram has one additional data flow, C

– These DFDs are not balanced

Page 18: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Balancing DFDs• We can split a data flow into separate data flows on

a lower level diagram

Page 19: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Balancing DFDs - Four Additional Advanced Rules

Page 20: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Guidelines for Drawing DFDs1. Completeness

– DFD must include all components necessary for system– Each component must be fully described in the project

dictionary or CASE repository• Examples: data flows that do not lead anywhere or data stores, processes

that are not connected to anything else

2. Consistency– The extent to which information contained on one level of a set

of nested DFDs is also included on other levels

3. Timing– Time is not represented well on DFDs– Best to draw DFDs as if the system has never started and will

never stop.

4. Iterative Development– Analyst should expect to redraw diagram several times before

reaching the closest approximation to the system beingmodeled

Page 21: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Guidelines for Drawing DFDs (continued)

5. Primitive DFDs– Lowest logical level of decomposition– Decision has to be made when to stop decomposition

• Rules for stopping decomposition:

– When each process has been reduced to a singledecision, calculation or database operation

– When each data store represents data about a singleentity

– When the system user does not care to see any moredetail

Page 22: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Using DFDs as Analysis Tools• Gap Analysis

– The process of discovering discrepancies between two or more sets of data-flow diagrams or discrepancies within a single DFD• Examples: Redundant data-flows, data captured but not used

by the system,

• Inefficiencies in a system can often be identified through DFDs

Page 23: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Using DFDs in Business Process Reengineering

• Example: IBM Credit

• Credit approval process is required six days before Business Process Reengineering (see Fig 5-12)

Page 24: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Using DFDs in Business Process Reengineering

• After Business Reprocess Engineering, IBM was able to process 100 times the number of transactions in the same amount of time

Page 25: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Logic Modeling• Data-flow diagrams do not show the logic inside the

processes

• Logic modeling involves representing internalstructure and functionality of processes depicted ona DFD

• Two methods:– Structured English

– Decision Tables

Page 26: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Modeling Logic with Structured English• Modified form of English used to specify the logic of

information processes

• Uses a subset of English

– Action verbs

– Noun phrases

– No adjectives or adverbs

• No specific standards

• Similar to programming language

– If conditions

– Case statements

Page 27: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action
Page 28: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Modeling Logic with Decision Tables• A matrix representation of the logic of a decision• Specifies the possible conditions and the resulting

actions• Best used for complicated decision logic• Consists of three parts:

– Condition stubs• Lists condition relevant to decision

– Action stubs• Actions that result for a given set of conditions

– Rules• Specify which actions are to be followed for a given set of conditions

Page 29: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Modeling Logic with Decision Tables (continued)

• Indifferent Condition– Condition whose value does not affect which action is taken for

two or more rules

• Standard procedure for creating decision tables:– Name the conditions and values each condition can assume

– Name all possible actions that can occur

– List all possible rules

– Define the actions for each rule (See Figure 5-18)

– Simplify the decision table (See Figure 5-19)

Page 30: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action
Page 31: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action
Page 32: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

Process Modeling for Electronic Commerce Application

• Process modeling for electronic commerce projects is no different than other projects

• See Pine Valley Furniture example; Table 5-4

Page 33: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action
Page 34: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action
Page 35: Lecture 3 - · PDF filedecomposition –This is called balancing •Example: ... Guidelines for Drawing DFDs 1. Completeness ... –Condition whose value does not affect which action

• Construct Context Diagram And Level-0 DFD

• Ideas

– Online cell phone apps store.

– checking out a book from your university Library

– University Class Reservation

– Training Center