190 likes | 407 Views
Chapter 6. The Traditional Approach to Requirements. Objectives. Explain how the traditional approach and the object-oriented approach differ when an event occurs List the components of a traditional system and the symbols representing them on a data flow diagram
E N D
Chapter 6 The Traditional Approach to Requirements
Objectives • Explain how the traditional approach and the object-oriented approach differ when an event occurs • List the components of a traditional system and the symbols representing them on a data flow diagram • Describe how data flow diagrams can show the system at various levels of abstraction
Objectives • Develop data flow diagrams, data element definitions, data store definitions, and process descriptions • Develop tables to show the distribution of processing and data access across system locations • Read and interpret information engineering models that can be incorporated within traditional structured analysis
Data Flow Diagram SymbolsFigure 6-2 Process Step-by-step instructions Data flow External agent Data store Data at rest Real-time link
DFD and Levels of Abstraction • DFDs are decomposed into additional diagrams to provide multiple levels of detail • Higher levels are more general • Lower levels are more detailed • Decomposing DFD Fragments • Sometimes DFD fragments need to be explored in more detail (e.g., describing each event) • Broken into subprocesses with additional detail
Layers of DFD Abstraction Figure 6-5 Context Diagram Most general level of abstraction; covers scope of project (single process and external agents) and system boundaries DFD: Drills down into specific areas Increasing detail and resolution DFD: Drills down into specific areas Increasing detail and resolution
Class assignment draw the context diagram for the rat system
DFD Fragment 1 • DFD that models system requirements using a single process for each event in a system or subsystem (Breakdown of the context diagram) DFD Fragment 2 Combined DFT Fragments Diagram 0 Two DFD Fragments for Rat Experiment System
Decomposing DFD Fragments • Sometimes DFD fragments need to be explored in more detail • Broken into subprocesses with additional detail • Numbering scheme doesn’t equate to execution sequence
Detailed Diagram for the Rat Experiment Event “Correctness” Are These in Balance? Physical or Logical Model?
Evaluating DFD Quality • Readable • Dataflow consistency: balanced, black hole, miracle • Accurately represents system • Reduces information overload • Rule: 7 +/- 2 • Use this for producing slides also!
Process with Unnecessary Data Input / Output Where are the problems? Why does this happen?
Documentation of DFD Components • Lowest level processes need to be described in detail • Data flow contents need to be described • Data stores need to be described in terms of data elements • Each data element needs to be described • Various options for process definition exist
Process 2.1 and Structured English Process Description Figure 6-20 • Method of writing process specifications that combines structured programming techniques with narrative English • Well suited to lengthy sequential processes or simple control logic • Ill-suited for complex decision logic or few sequential processing steps
Structured English Class Exercise: develop the structured English to determine the correctness of our rat’s button press. Get button input If button input trial information output information to memory store increment # correct for reinforcement set up next trial Else output information to memory store set up next trial Endif
Data Element Definitions • Data type description • e.g. string, integer, floating point, Boolean • Very specific • Length of element • Maximum and minimum values Data element definitions Rat # Experiment condition Repetition # Item presented Time taken Response given Correct? Algebraic notation Rat data=rat# + experiment condition + 150{repetition # + item presented + time taken + response given + correct} Rat # = positive integer Exp. Condition = a string max 10 characters Repetition # = positive integer 1 – 50 Item presented = code field 0 – 8 0 = red + 1 = red circle 2 = red square 3 = blue + etc.