Structuring System Requirements: Process Modeling

49
1 Structuring System Requirements: Process Modeling

description

Structuring System Requirements: Process Modeling. Requirements Structuring in SDLC. Introduction. Purpose => clearly and coherently represent information about the system obtained during requirements determination Model How information flows through the system - PowerPoint PPT Presentation

Transcript of Structuring System Requirements: Process Modeling

Page 1: Structuring System Requirements:  Process Modeling

1

Structuring System Requirements: Process Modeling

Page 2: Structuring System Requirements:  Process Modeling

2

Requirements Structuring in SDLC

Page 3: Structuring System Requirements:  Process Modeling

3

Introduction• Purpose => clearly and coherently represent

information about the system obtained during requirements determination

• Model– How information flows through the system– What relationships between data flows exist– What processes transform the data– Where data is stored

Page 4: Structuring System Requirements:  Process Modeling

4

Process Modeling• Graphical representation of processes that

transform data• DFD - graphical tool that models flow of

data in an information system• Structured analysis techniques• Hierarchical• First of three perspectives for system

modeling

Page 5: Structuring System Requirements:  Process Modeling

5

Process Modeling• Input - requirements gathering• Output/deliverables

– 2-4 DFDs (Context -level, Level-0, others)– Logical models (DFDs)– Close match to Use Case models– Physical DFDs replaced with Use Case

Diagram and Use Case Narratives in our class

Page 6: Structuring System Requirements:  Process Modeling

6

Process Modeling Deliverables

Page 7: Structuring System Requirements:  Process Modeling

7

Figure 8-13bPhysical Level-0

Figure 8-13aPhysical

Context Diagram

Page 8: Structuring System Requirements:  Process Modeling

8

Figure 8-15Current LogicalLevel-0 Diagram

Figure 8-16Proposed LogicalLevel-0 Diagram

Page 9: Structuring System Requirements:  Process Modeling

9

Page 10: Structuring System Requirements:  Process Modeling

10

Process

Data flow

Elements of a Data Flow Diagram

Data store

External

entity

Page 11: Structuring System Requirements:  Process Modeling

11

Process• Actions performed on data that transforms

it in some way• Above the line is a number that indicates

the process number and level• Labeled with a verb phrase• Must change or manipulate the data in some

way therefore must have an input and an output

• Close correspondence to Use Cases

Page 12: Structuring System Requirements:  Process Modeling

12

Data Flow• Line & arrow• Data in motion (arrow indicates direction of

flow)• Data that moves together (general name of a

business form)• Labeled with a noun phrase• Close correspondence to inputs and outputs

in Use Case Diagram

Page 13: Structuring System Requirements:  Process Modeling

13

Data Store

• Data at rest• Physical locations• Labeled with a noun phrase• Must interact with a process• Often databases or database tables

Page 14: Structuring System Requirements:  Process Modeling

14

Data Source/Sink• Source of data from environment to system or

destination of data from system to environment (i.e. OUTSIDE the system)

• Can be person, system, organization, etc.• Labeled with a noun phrase• Black boxes from our perspective• All systems must have one source and one sink• Also called External Entities• Close correspondence with Actors in Use Case

models

Page 15: Structuring System Requirements:  Process Modeling

15

Data Sources/Sink Rules

• Ignore:– Interactions between sources and sink– Processes that occur within a source or sink– Designs or controls for them

• Do not allow direct access from one of these to any data store within your system

Page 16: Structuring System Requirements:  Process Modeling

16Data Source/Sink Rules

Figure 8-3aIncorrect

Figure 8-3bCorrected

Page 17: Structuring System Requirements:  Process Modeling

17

Context

Level-0

Level-1

Level-2

Page 18: Structuring System Requirements:  Process Modeling

18

Context Level

Level-0

Level-1

Level-2 Same as previousJust different style

Page 19: Structuring System Requirements:  Process Modeling

19

Context diagramLevel 0 diagram

Level 1 diagram

Level 2 diagram

Page 20: Structuring System Requirements:  Process Modeling

20

Context Level Diagram• Strong relationship between your Use Case

Diagram and this DFD• Always the 1st DFD• Always has just one process (0 process)• Must have at least 1 external entity (shows

all if more than 1)• Must have at least 1 input and 1 output

dataflow (shows all inputs and outputs)

Page 21: Structuring System Requirements:  Process Modeling

21

Level 0 Diagram• 1st step in decomposition (from context

level diagram)• Shows all main processes – should be a

close correlation to your essential Use Case Narratives

• First level where data stores are added• Shows external entities and all major

processes they interact with• Shows relationships between major

processes

Page 22: Structuring System Requirements:  Process Modeling

22

RelationshipBetweenUse CaseNarrativesand DFDs

Page 23: Structuring System Requirements:  Process Modeling

23

Level 1 DFDs• 2nd step in decomposition process• Generally 1 for each major process on

Level 0 DFD• Shows all internal processes for a single

Level 0 process• Shows information flows• Children processes must wholly &

completely make up parent process• Most will have a detailed Use Case

Narrative

Page 24: Structuring System Requirements:  Process Modeling

24

Level 2 DFDs

• 3rd step in decomposition process• Not one for every Level 1 process only

those that need it• Shows information flows• Correct numbering important

Page 25: Structuring System Requirements:  Process Modeling

25

Alternative Data Flows

• When a process can produce different outputs given different conditions

• Show both in DFD• Use Logic Models (process descriptions) to

explain• Typically associated with IF-THEN-ELSE

or CASE (decisions or choices)

Page 26: Structuring System Requirements:  Process Modeling

26

Process Relationships• Tightly coupled processes - no data stores

between them• Decoupled processes - data stores between

processes

DecoupledProcesses

TightlyCoupledProcesses

Page 27: Structuring System Requirements:  Process Modeling

27

DFD Diagramming RulesKnow for the Final!!!

Page 28: Structuring System Requirements:  Process Modeling

28

CommonDFD

Errors

Page 29: Structuring System Requirements:  Process Modeling

29

Page 30: Structuring System Requirements:  Process Modeling

30

General DFD Guidelines

• Inputs to a process must be different from outputs of a process

• DFD objects must have unique names• Functional decomposition - going from

highest level deeper and deeper into more detail (each level on its own page)

• Balancing - conservation of inputs and outputs

Page 31: Structuring System Requirements:  Process Modeling

31

Page 32: Structuring System Requirements:  Process Modeling

32

Steps in Building DFDs• Build context DFD (from use case diagram)• Create DFD fragment for each essential Use

Case Narrative• Organize DFD fragments into Level 0 DFD• Decompose level 0 processes into level 1

DFDs and level 1 processes into level 2 DFDs as needed

• Validate• Iterate

Page 33: Structuring System Requirements:  Process Modeling

33

Figure 8-4Context Level

Diagram

Figure 8-5Level-0 Diagram

Hoosier Burger’sFood Ordering System

Page 34: Structuring System Requirements:  Process Modeling

34

Decomposition of Process 1.0

Hoosier Burger’s Food Ordering System

Page 35: Structuring System Requirements:  Process Modeling

35

Decomposition of Process 4.0 From the Level-0 Diagram

Level-0

Level-1

Level-2

Page 36: Structuring System Requirements:  Process Modeling

36

Context Level

Level-0

Level-1

Level-2 DecompositionProcess

Page 37: Structuring System Requirements:  Process Modeling

Validating the DFD

• Syntax errors – diagram follows the rules– Assure correct DFD structure

For each DFD: Check each process for: A unique name: action verb phrase; number; description

At least one input data flowAt least one output data flowOutput data flow names usually different thaninput data flow namesBetween 3 and 7 processes per DFD

Page 38: Structuring System Requirements:  Process Modeling

Validating the DFDFor each DFD:

Check each data flow for:A unique name: noun; descriptionConnects to at least one processShown in only one direction (no two-headed arrows)A minimum number of crossed lines

Check each data store for:A unique name: noun; descriptionAt least one input data flowAt least one output data flow

Check each external entity for:A unique name: noun; descriptionAt least one input or output data flow

Page 39: Structuring System Requirements:  Process Modeling

Validating the DFDAcross DFDs:

Context Diagram:Every set of DFDs must have one Context Diagram

Viewpoint:There is a consistent viewpoint for the entire set of DFDs

Decomposition:Every process is wholly and complete described by the

processes on its children DFDs

Balance:Every data flow, data store, and external entity on a higher level

DFD is shown on the lower level DFD that decomposes it No data stores or data flows appear on lower-lever DFDs that do not appear on their parent DFD

Page 40: Structuring System Requirements:  Process Modeling

Validating the DFD

• Semantics errors – diagram conveys correct meaning– Assure accuracy of DFD relative to

actual/desired business processes• To verify correct representation, use

– User walkthroughs– Role-play processes

• Examine lowest level DFDs to ensure consistent decomposition

• Examine names carefully to ensure consistent use of terms

Page 41: Structuring System Requirements:  Process Modeling

41

Advanced DFD Guidelines• Composite data flows can be broken into

component data flows• Inputs must be sufficient to produce outputs• Exception messages at primitive DFD level

can be new• Can repeat external entities to avoid

messiness

Page 42: Structuring System Requirements:  Process Modeling

42

Figure 8-11 An Example of Data Flow Splitting

Page 43: Structuring System Requirements:  Process Modeling

43

An Example of Repeating External Entities to Avoid Crossed Lines and Messiness

* *

Page 44: Structuring System Requirements:  Process Modeling

44

More Guidelines

• Completeness - all necessary components are modeled correctly and fully described

• Consistency - balanced DFDs• Timing - DFDs are drawn as if in perpetual

motion• Iterative - lower level rule of thumb 3

revisions

Page 45: Structuring System Requirements:  Process Modeling

45

DFDs - Stop When:• Reach lowest logical level• Each data store represents a single entity• Each process is a single decision,

calculation or database operation• Users doesn’t want more detail• Detail is good enough for spec development• Data flows can’t be split any further• A separate process for each lowest level

menu exists

Page 46: Structuring System Requirements:  Process Modeling

46Hoosier Burger’s Hiring Procedures

Page 47: Structuring System Requirements:  Process Modeling

47Repository Entry for a Data Flow Diagram

Page 48: Structuring System Requirements:  Process Modeling

48

List 3 Errors(DFD Rule Violations)For this set of DFDs

Page 49: Structuring System Requirements:  Process Modeling

49

Any Errors??

Note Source And Destination Information on

Data Flows