Title: System Development And Analysis
1System Development And Analysis
2MOVING FROM LOGICAL TO PHYSICAL PROCESS MODELS
- Analysis phase focus on logical processes and
data flows - Design phase create physical process models
showing how the final system will work - Physical process models convey the system view
of the new system
3The Physical Data Flow Diagram
- The physical DFD contains the same components as
the logical DFD, and the same rules apply - There are five steps to perform to make the
transition to the physical DFD
4New Logical to New Physical System Design
- Some design investigate alternate ways to
implement the system by drawing a boundary to
identify those processes that are to be automated - The automation boundary can be drawn on high and
low level DFD or on a class diagram
5Steps to Create the Physical Data Flow Diagram
Metadata is data about data
6The Physical Data Flow Diagram (to remind you)
7Dividing into Computer Subsystem
- Architecture design then continues with DFDs in
automation boundary and uses out put from
database design and user procedure design to
produce a structure chart - Logically connected processes are grouped in to
computer subsystem - These sub system usually involve one
transaction(similar function) or some connected
transactions and become transaction program or
batch suites program. - The most common method for grouping DFD processes
is to follow through on kind of input, which
usually identifies a part of a business process
see example on page 400
8The Structure Chart
- Describes functions and sub-functions of each
part of system - Shows relationships between modules of a computer
program - Simple and direct organization
- Each module performs a specific function
- Each layer in a program performs specific
activities - Chart is tree-like with root module and branches
9The Structure Chart
- Purpose
- A structure chart is a hierarchy chart with
arrows showing the flow of data and control
information between the modules. Structure charts
are used as design tools for functionally
decomposing structured programs.
10Structure Chart Conventions
- Structure chart uses a number of conventions to
describe system operations - The most common conventions specify the execution
sequence and parameter passing between modules -
11Coupling Cohesion
- Module coupling
- Measure of how module is connected to other
modules in program - Goal is to be loosely coupled (independent)
- Module cohesion
- Measure of internal strength of module
- Module performs one defined task
- Goal is to be highly cohesive
12Coupling Cohesion
- coupling is a measure of how independent or
inter-dependent modules are - has the module everything it needs or does it
depend on any other module(s) to complete its
task? - cohesion is a measure of how much the internal
elements logically belong together - has the module nothing more than it needs to do
one task well, or does it contain extra
undesirable elements? - does it have more than one role?
13Types of cohesion
- Functional - best type of cohesion
- all the modules elements are necessary for the
single, specific task - module contains all elements required for the
task, and no more - single minded modules
- Sequential
- the elements are related by sequence the output
from one is the input for some other - e.g. the 3 modules
- calc_gross_pay, calc_deductions,
calc_net_pay - Communicational
- all of the elements in a module operate on the
same input data or produce the same output data
14Types of cohesion
- Procedural
- the elements make up a single control sequence
usually occurs if flowcharting has been used as a
design technique - Temporal
- the elements are all executed at the same time
(e.g. initialisation or close down) - Logical
- the elements perform a set of logically related
tasks e.g. different types of error handling - Coincidental - the weakest type of cohesion
- no significant relationship between the elements
of a module, they are simply bundled together by
coincidence producing scatterbrained modules
15Cohesion
16Hints for achieving Functional Cohesion
- write down a sentence describing the purpose of
each function and then analyse it - if it cannot be phrased without a comma or more
than one verb it probably has sequential or
communicational cohesion - if it contains words concerning time (first,
next, then, after, when, etc) then it probably
has sequential or temporal cohesion - if the verb is not followed by a simple, single
noun then it probably has logical binding e.g.
edit all data - words such as initialise, clean up, etc suggest
temporal cohesion
17Coupling
- Normal coupling
- one module calls another with no parameter
passing nor return values (i.e. no data
communication) - e.g.clearScreen
- Data coupling
- data is passed between modules
- achieved via parameter passing
- and/or return values
- simple example
18Coupling
- Stamp Coupling
- unnecessary data passed between modules
- e.g. whole personnel record sent to calc_age
module when only the date of birth is needed - makes the called module do more than it needs to
- makes it less reusable in programs with different
record structures
19Coupling
- procedure PrintRec is begin
Display Name (name, sex) - ..... end PrintRec
- procedure DisplayName (in name, sex) is
begin if sex m - then
- print Mr.
- else
- print Ms print
the name end DisplayName
- Control Coupling
- one module passes a piece of information intended
to control the internal logic of another -this
may be data or a flag
20Coupling
- Common (global) coupling - very undesirable
- communication via shared or global data
- Suppose modules A, B C each access some global
data. - Module A reads it and then invokes B, which
alters it incorrectly. - Later C reads it, attempts to process it, fails,
and the program crashes. - Apparent cause is module C, actual cause is
module B. - Content (pathological) coupling
- the highest and worst degree of coupling,
occurring when either - one module makes use of data or control
information held within another module, or - one module branches into the middle of another
(gotos!)
21Types of Coupling
22Elements in Structure Chart
23Basic Building Blocks in SC
- Rectangular box
- A rectangular box represents a module
- It is always annotated with the name of the
module it represents - Example
24Basic Building Blocks in SC
- Module invocation arrow
- An arrow connecting two modules (rectangular
boxes) - It represents the control passing from one module
to another - Example
25Basic Building Blocks in SC
- Data flow arrow
- To represent the data passes from one modulo to
the other in the direction of arrow - Small arrow appears alongside the modulo
invocation arrow - It is annotated with the corresponding data name
- Example
26Basic Building Blocks in SC
- Library Modules
- To represent frequently called modules
- When a module is invoked by many other modules it
is treated as a library module - It is denoted by a rectangle with double edges
- Example
-
27Basic Building Blocks in SC
- Decision
- To represent a selection out of many options
- It is denoted by a diamond symbol
- One module out of several modules connected with
the diamond symbol is invoked depending on the
condition attached to the diamond symbol - Example
-
28Basic Building Blocks in SC
- Iteration
- To represent a repetition when two or more
modules are invoked repeatedly - It is denoted by a control flow with loop
- Example
-
29A Simple Structure Chart for the Calculate Pay
Amounts Module
30Structure Chart Symbols
31Structure Chart for Entire Payroll Program
32Developing a Structure Chart
- Two strategies are know for transforming DFD into
a structure chart - Transaction analysis
- Uses system flow chart and event table inputs
- Upper-level modules developed first
- Identifies each transaction supported by program
- Transform analysis
- Uses DFD fragments for inputs
- Computer program transforms inputs into outputs
- Charts have input, calculate, and output sub-trees
33Transaction Analysis
- Transformation analysis is suitable for
transforming central system, which is
characterized by identical processing steps for
each data items - Transaction analysis is suitable for
transaction-driven system which is characterized
by several possible paths are to be traversed
through the DFD depending on the input data item - The number of bubbles on which the input data to
the DFD are incident defines the number of
transactions - However, some transactions may not require any
input data
34Transaction Analysis
- Identify a transaction by tracing the path from
an input data to output data - All traversed bubbles belong to the transaction
- These bubbles is to be mapped to a module in the
structure chart - There will be root module under which all modules
identifying transactions will be drawn - Every transaction carries a label identifying its
functionality - A transaction can be refined to its more detailed
level (sub-modules)
35An Example of Transaction Analysis eSale
36An Example of Transaction Analysis eSale
37An Example of Transaction Analysis eSale
38(No Transcript)
39(No Transcript)
40Transform Analysis
- Based on the idea that computer program
transforms input data into output data - Structure charts developed with transform
analysis usually have 3 main subtrees - Input subtree to get data
- A calculate subtree to perform logic
- An output subtree to write the results
- Can create it rearranging elements from
- DFD fragment for an event (e.g. create new
order) - The detailed DFD for that event
- E.g. see next two slides for create new order
DFD fragment, and its corresponding detailed DFD
41Transformation Analysis
- Transform analysis identifies the primary
functional components and high level input and
outputs for these components - There are three steps in the transformation
analysis - First step.
- Divide the DFD into three parts
- Afferent branch
- The input portion that transform input data from
physical (e.g. reading from a source) to logical
(storing into a table) - Efferent branch
- The output portion that transform output data
from logical form (e.g. output from a process) to
physical form (e.g. display the result) - Central Transform
- The remaining portion of the DFD
42Transformation Analysis
- Second step.
- Derive the structure chart by drawing on module
for each of the afferent branch, central
transform, and the efferent branch - They are drawn below a module called the root
module which invokes these modules - Example
43Transformation Analysis
- Third step.
- Refine the structure chart by adding sub modules
required by each of the high-level functional
components - Factoring
- Process of breaking functional components into
subcomponents is called factoring - The factoring process should be repeated until
all bubbles in the DFD are represented in the
structure chart
44(No Transcript)
45(No Transcript)
46High-Level Structure Chart for the Order-Entry
Subsystem After Transaction Analysis
47Steps to Create a Structure Chart from a DFD
Fragment
- Determine primary information flow
- Main stream of data transformed from some input
form to output form - Find process that represents most fundamental
change from input to output - Redraw DFD with inputs to left and outputs to
right central transform process goes in middle - Generate first draft of structure chart based on
redrawn data flow
48The Create New Order DFD Fragment
49Decomposed DFD for Create New Order
50Rearranged Create New Order DFD
51First Draft of the Structure Chart for Create
New Order (Figure 10-14)
52Steps to Create a Structure Chart from a DFD
Fragment (continued)
- Add other modules
- Get input data via user-interface screens
- Read from and write to data storage
- Write output data or reports
- Add logic from structured English or decision
tables - Make final refinements to structure chart based
on quality control concepts
53The Structure Chart for the Create New Order
Program (Figure 10-15)
54Structure Chart vs. Flow Chart
- SC Identify different modules of the software
- FC - Identify the control of execution of a
program - SC - Represent data interchange among different
- modules
- FC Technique to represent the flow of control
- SC Not able to depict ordering of tasks
- FC Depicts the ordering of tasks
55Required DFD's For Structure Chart
56Self Study Main Text Ch16