Transcript Chapter 10

Chapter 9
Moving to Design
The Structured Approach To
Designing The Application
Architecture
• Module-an identifiable component of a computer
program that performs a defined function
• Computer program—a set of modules that are
compiled into a single executable entity
• System flowchart– a diagram that describes the
overall flow of control between computer
programs in a system
• Pseudocode– structured-programming-like
statements that describe the logic of a module
The Automation System
Boundary
• Partitions the data flow diagram processes into
manual and automated processes
• Processes outside the system boundary are manual
processes (eg., enter customer orders, inspect
reports, etc)
• Processes that are inside the system boundary may
be carried out on-line or in batch mode
• data flows are found inside, outside, or crossing
the system boundary and the program boundaries.
• Data flows that cross the system boundary
represent input and outputs of the system.
The System Flowchart
• Process or program
• File of Database
• Document or report
• File on Magnetic tape
• Input of output screen display
System Flowchart
• Manual Operation
• Communication between components
• Communication Link
The Structure Chart
• A hierarchical diagram showing the relationships
between the modules of a computer program
• Program call—the transfer of control from a
module to a subordinate module to perform a
requested service
• Data couples –the individual data items that are
passed between modules on a program call
Developing a Structure Chart
• Transaction analysis—the development of a
structure chart based on a DFD that describes the
processing for several types of transactions
• Transform analysis –the development of a
structure chart based on a DFD that describes the
input-process-output data flow
• Afferent data flow –incoming data
• Efferent data flow– outgoing data flow
• Central transform – set of DFD processes that are
located between the input and output processes.
Evaluating the Quality of a
Structure Chart
• Module coupling –the manner in which
modules relate to each other (data coupling
is preferred)
• Module cohesion – a measure of the internal
strength of the module
It is most desirable to have highly cohesive
and loosely coupled modules
Coupling
• A measure of how a module is connected to
the other modules in the program
• Objective– make the modules as
independent as possible.
Cohesion
• The degree to which all of the code within a
module contributes to implementing one welldefined task.
• Modules that implement a single task tend to have
relatively low coupling because all of their
internal code acts on the same date item(s)
• A flag passed down the structure chart is also an
indicator of poor cohesion in the low-level
module.
The Object-Oriented Approach