Modules, Hierarchy Charts, and Documentation Programming Logic and Design, Second Edition, Comprehensive Chapter 3

Download Report

Transcript Modules, Hierarchy Charts, and Documentation Programming Logic and Design, Second Edition, Comprehensive Chapter 3

3
Modules, Hierarchy Charts, and
Documentation
Programming Logic and Design,
Second Edition, Comprehensive
Chapter 3
1
3
Objectives
• After studying Chapter 3, you should be able to:
• Describe the advantages of modularization
• Modularize a program
• Understand how a module can call another
module
• Explain how to declare variables
Chapter 3
2
3
Objectives
• After studying Chapter 3, you should be able to:
• Create hierarchy charts
• Understand documentation
• Create print charts
• Interpret file descriptions
• Understand the attributes of complete
documentation
Chapter 3
3
3
Modules
• Large programs are never written as one huge
series of steps.
• Programs are broken down into units called
modules.
• Modules are also referred to as:
– subroutines
– functions
– procedures
– methods
Chapter 3
4
3
Advantages
Modularization Allows:
Multiple Programmers
to Work on a Problem
1. Dissect large task into modules
2. divide the task among various people
•
Chapter 3
5
3
Modularization Allows:
You to Reuse Your Work
• REUSE YOUR WORK
• You can find many real-world examples of
reusability
Chapter 3
6
3
Modularization :
Makes It
Easier to Identify Structures
• When you combine several programming tasks
into modules, it may be easier for you to identify
structures
Chapter 3
7
3
Selection of Logic
From a Payroll Program
Chapter 3
8
3
Modularized Logic
from a Payroll Program
•The single program segment
shown in Figure 3-2
accomplishes the same steps as
the two program segments
shown together in Figure 3-3;
both programs are structured
Chapter 3
9
3
Another Example
No module
Modules can better help you
determine if your flowchart is
structured.
Chapter 3
With module
10
3
Modularizing a
Program- Flowchart
Symbols
Sentinel Symbols
• A module has it own
sentinel symbols (Start
and End)
• The Start symbol has the
name of the module
• The End symbol has the
word “RETURN”
Chapter 3
11
3
Modularize a Program:
Naming the MODULE
• In this text, module names will follow the
same two rules used for variable names:
– Module names must be one word
– Module names should have some meaning
– Additionally, in this text module names will be
followed by a set of parentheses
Chapter 3
12
Another Example
Chapter 3
3
13
Let’s try
3
Example 1 Write a flowchart showing the logic to calculate the volume of an
undetermined amount of rooms. (Volume = Length * Width *
Height)
Think about what your logic needs – Input
– Processing (for more than one room)
– Output
Create a flowchart first without and then with a module.
Chapter 3
14
3
Example 1
- Without
a module
Chapter 3
15
3
Example
1 - With
a Module
Chapter 3
16
3
Modules Calling Other Modules
• A module can be called by both the main program or
by another module
• Modules called by other modules are called
submodules.
Chapter 3
20
3
Flowchart and Pseudocode
for Averaging Program with Modules
Chapter 3
22
Flowchart for Averaging
Program with Submodules
Chapter 3
3
23
3
Another Tool:
Creating Hierarchy Charts
• You can use a hierarchy chart to illustrate
modules’ relationships
• A hierarchy chart does not tell you what tasks
are to be performed within a module; it does
not tell you when or how a module executes
• The hierarchy chart for the last version of the
value-averaging program looks like Figure 3-7
Chapter 3
24
3
Hierarchy Chart for
Value-Averaging Program
Chapter 3
25
3
An Organizational Hierarchy Chart
Chapter 3
26
3
Declaring Variables
• Declaring a variable provides a name for a
memory location
– where computer stores variable values
– notifies computer of data type
• Programming languages declare variables
differently, but minimally you must
– give the variable a name
– give the variable a data type
Chapter 3
27
3
Declaring Variables
• An annotation symbol or annotation box is simply
an attached box containing notes
• You can use an annotation symbol any time you
have more to write than conveniently fits within a
flowchart symbol
• Programmers sometimes create a data dictionary,
which is a list of every variable name used in a
program, along with its type, size, and description
• When a data dictionary is created, it becomes
part of the program documentation
Chapter 3
28
3
Declaring Variables in a Flowchart
• One of first things done in a
program in declaring variables
 Next to the process
symbol “Declare
Variables” is an
annotation box stating
the names and types of
the variables
 Annotation boxes can be
used anytime text does
not fit in a symbol
Chapter 3
29
3
Declaring Variables
• Languages including COBOL, C++, C#, Java,
and Pascal require declaration of variables with
name and type
• Modern programming languages: variables are
declared within each module that uses them.
Such variables are known as local variables
• We will use global variables—variables that are
given a type and name once- used in all
modules of the program
Chapter 3
30
3
What is Documentation
• All supporting material that goes along with
a program
– User documentation
• Manuals
• Training material
– Program documentation
• used for planning or modifying programs
• internal and external program documentation
Chapter 3
31
3
PROGRAM :
Input Documentation
• A file description describes the data contained in
an input file
• File’s description as part of an organization’s
information systems’ documentation;
Chapter 3
32
3
Input
The inventory file description in Figure 3-20 shows that each items’
name occupies the first 15 characters of each record in the file
• The price of any item in the inventory file is allowed five
positions, 16 through 20
• Two of the positions are reserved for decimal places
• Typically, decimal points themselves are not stored in data
files; they are implied or assumed
Chapter 3
33
3
Input Documentation
• Numeric data are stored with leading zeros
• Programmers create one variable for each field in
the input file
Chapter 3
34
3
Input Documentation
• Recall the data hierarchy relationship
introduced in Chapter 1:
– Database
– File
– Record
– Field
– Character
Chapter 3
35
3
Input Documentation
•
The programmer needs to know is:
– What is the name of the file?
– What data does it contain?
– How much room does the file and each of its fields take
up?
– What type of data is each field—character or numeric?
Chapter 3
36
3
Expanded Inventory File Description
•The file description in Figure 3-21 contains nine fields
Chapter 3
37
3
Internal Documentation
• Comments within
programming code
• Lines of code that do not
effect the running of the
program.
/*************************/
/* Program: Payroll
*/
/* Author: Dan Dainton
*/
/* Date: March 2, 1999
*/
/*************************/
• Written so programmers can
– understand what the
program is doing
/*************************/
/* This module calculates*/
– why the program is doing it
/* tax deductions for
*/
/* payroll checks.
*/
/*************************/
Chapter 3
38
3
External Documentation
• All supporting paperwork a programmer develops
before writing a program.
• External documentation can describe
– Input
– Processing
– Output
• Output documentation is developed first. Why?
Chapter 3
39
3
Output Documentation
• Generally, the reason you would write a program
in a business environment is because particular
information is needed.
• Can the programmer decide what information is
needed and how it’s designed? Can the user
requesting the information?
Chapter 3
40
Output Documentation:
3
Designing a Report
• Printed reports are the most common type of output.
• Reports are designed on printer spacing charts.
– Looks like a grid
– One character per box
Chapter 3
41
3
A Report Design Example
• This report will track inventory for a company
• Report Title : ie “Inventory Report”
Chapter 3
42
3
Creating Column Headings
• Report column : heading
– constant that appear on every page of the report
• Because the headings remain the same throughout the report, they
are written on the print chart literally.
Chapter 3
43
3
More on Detail Lines
• Detail lines
– have variable data
– probably have a variable amount of detail lines on the report
• All the detail lines look the same, but you need to show 2 - 3
lines in your print chart. Why?
Chapter 3
44
3
Understanding Documentation
• Documentation refers to all of the supporting
material that goes with a program
• Two broad categories of documentation are
intended for the programmer and for the user
• People who use computer programs are called
end users, or users for short
• When programmers begin to plan the logic of a
computer program, they require instructions
known as program documentation
Chapter 3
45
3
Understanding Documentation
• Program documentation falls into two categories:
internal and external
• Internal program documentation consists of
program comments, or nonexecuting statements
that programmers place within their code to
explain program statements in English
• External program documentation includes all the
supporting paperwork that programmers develop
before they write a program
Chapter 3
46
3
Output Documentation
• Output documentation is usually the first to be
written
• The most common type of output is a printed
report
• You can design a printed report on a printer
spacing chart, which is also referred to as a print
chart or a print layout
• The title and column headings will be constant on
every page of the report so they are written on the
print chart literally
Chapter 3
47
3
Printer Spacing Chart
Chapter 3
48
3
Printer Spacing Chart with First Title
Chapter 3
49
3
Printer Spacing Chart with
Title and Column Headings
Chapter 3
50
3
Output Documentation
• The exact spacing and use of upper- or lowercase
make a difference
• Notice that the constants used within a report do
not need to follow the same rules as variable
names
• A print layout typically shows how the variable
data will appear on the report
• Each line with its Xs and 9s representing data is a
detail line because it contains the data details
Chapter 3
51
3
Print Chart with Generic Data
Chapter 3
52
3
Variable Data in Report Heading
Chapter 3
53
3
Heading with Page Numbers
Chapter 3
54
3
Print Chart with Literal
in Each Detail Line
Chapter 3
55
3
Output Documentation
• Detail lines typically appear many times per
page, as opposed to heading lines, which
usually appear only once per page
• Besides header lines and detail lines, reports
often include special lines at the end of a report
• Even though lines at the end of a report don’t
always contain numeric totals, they are usually
referred to generically as total lines
Chapter 3
56
3
Report with Variable Data at End
Chapter 3
57
3
Report with Constant Data at End
Chapter 3
58
3
Report with Combined
Constant and Variable Data at End
Chapter 3
59
3
Completing the Documentation
• Program Documentation
– Design output
Plan the logic of the program
– Code the program
– Test the program
• User documentation
– User documentation
instructional materials that nontechnical people
use
Chapter 3
60
3
Completing the Documentation
• The areas addressed in user documentation may
include:
– Description of input for the program
– Who needs the output
– What output should look like
– How to interpret and react to any error message
generated by the program
– How frequently the program needs to run
Chapter 3
61
3
IN SummaryReview Modules
• Programming using modules
• Module is given a name- that name is CALLED
by the calling program
• A module can call other modules
Chapter 3
62
3
Summary- Variables
• To Declaring a Variable:
providing a name for the memory location where
the value is stored
• Identify the data type
You can use a hierarchy chart to illustrate
modules’ relationships
• Documentation refers to all of the supporting
material that goes with a program
• Output documentation is usually written first
Chapter 3
63
3
Summary- Documentation
• File description: lists the data in a file
( description, size, and data type)
• Program documentation – file descriptions,
printer spacing charts etc
•
User Documentation
manuals or other
instructional materials that nontechnical people
use as well as the operating instructions that
computer operators and data-entry personnel
may need
Chapter 3
64