CHAPTER 1
AN INTRODUCTION TO
STRUCTURED
PROGRAM DESIGN IN
COBOL
CHAPTER OBJECTIVES
After
completion of this chapter, the student should be able to:
1. Define the terms "program"
and "software."
2. Distinguish between system software and
application software.
3. Distinguish between interactive and
batch processing.
4. Distinguish between packaged software
and customized software.
5. Explain the difference between machine
language programs and symbolic programs.
6. Explain the program development process.
7. Explain
what documentation is and what it is used for
8. Describe the purpose of record layout
forms and printer spacing charts.
9. Explain what flowcharts and psuedocode
are and describe their purpose.
10. Explain
what hierarchy or structure charts are and describe their purpose.
11. Explain
how a programmer enters a source program.
12. Explain
the term "debugging."
13. Explain
the difference between syntax errors and logic errors.
14. Explain
how program testing can be accomplished.
15. Explain
the nature of COBOL and its background
16. Explain
the different techniques used to debug a program.
17. Identify
the four divisions of a COBOL program.
19. Describe
the source of the Year 2000 Problem.
LECTURE OUTLINE
I. Computer
Programming: An Overview
A. Types of Computer Programs
1. A program is a set of instructions that
enable a computer to process data.
Software is the term used to describe all types of programs.
2. There are two types of computer
programs:
a. Operating system programs, which
control the overall operations of the computer, and
b. Applications programs, which actually
perform tasks required by users.
3. An application program operates on
input data and converts it to meaningful output information.
4. The set of instructions in an
applications program is written by a computer professional called an
applications programmer or software developer.
B. Applications Programs
1. The job of creating application
programs is performed by a programmer.
2. One purpose of application programs is
to read input, process it, and produce information or output that is requested
by the users.
3. Application programs are generally used
to computerize business procedures. A
set of computerized business procedures in an application area is called an
information system.
4. The two modes of computer processing
are interactive and batch processing.
a. Interactive processing is used when
data must be current at all times and output is required immediately after
processing.
b. Batch applications process large
volumes of input at periodic intervals.
5. Packaged software and customized
software differ as follows:
a. Packaged programs are written by
commercial software vendors to meet the needs of a wide range of users.
b. Customized software is specially
tailored and written to meet the unique needs and specifications of a company.
C. Machine Language Programs
1. All programs to be executed by the
computer must be in machine language.
2. Machine language is very difficult to
learn and use.
D. Symbolic Programs
1. Programming languages using
English-like or symbolic instructions were developed to make the programming
task easier.
2. Symbolic programming languages must be
translated into machine language before they can be executed on the
computer. A special program called a
compiler is used to translate the symbolic program into a machine program.
3. Examples of symbolic programming
languages are COBOL, Visual Basic, Pascal, and C+ +.
II. The
Applications Program Development Process
A. Overall
1. Well written programs are those that
are written after the program requirements have been fully specified, typically
by the systems analyst, and the logic to be used has been carefully planned.
2. A program is written, tested, and
documented using the program development process.
B. Determine Program Specifications
1. In large or medium-sized companies a
systems analyst will work with the user to determine the program
requirements. In smaller companies,
however, it may be the role of the Programmer Analyst, who interacts with the
user, to determine the requirements of the project.
2. Program specifications which are given
to the programmer by the Systems Analyst or designed by the Programmer Analyst
should include the following:
a. Record layout forms that describe the
format of input and output data.
b. Printer Spacing Charts that describe
the format of printed output reports.
C. Design the Program Using Program
Planning Tools
1. Before a programmer begins to code the
program he or she should plan the logic of the program. Planning the logic ahead of time will reduce
the possibility of errors when the actual program is coded and tested.
2. The three most common planning tools
used are pseudocode, flowcharts, and hierarchy charts.
3. A flowchart is a conventional block
diagram providing a pictorial representation of the logic to be used in a
program.
4. Pseudocode is written with English-like
expressions rather than diagrams and is specifically suited for depicting logic
in a structured program.
5. Hierarchy or structure charts are used
to show the relationships among sections in a program.
6. Today, more software developers use
pseudocode and hierarchy charts in place of flowcharts to plan a program’s
logic.
D. Code and Enter the Program
1. After the logic of a program has been
designed, the programmer writes the program, which is then keyed into the
computer and typically stored on disk.
2. The set of instructions written by the
programmer in a symbolic programming language is called the source program.
E. Compile the Source Program
1. A source program cannot run until it is
translated into a machine language program called an object program.
2. A system software program called a
compiler translates a source program into an object program which is then ready
for execution.
3. The compiler will typically create the
following output:
a. A source listing.
b. A list of diagnostic messages.
c. The object program.
F. Test the Program
1. After a program has been written, it is
compiled; syntax errors that have occurred in the program must be debugged.
2. The process of detecting and correcting
syntax and logic errors in programs is called "debugging." A
"bug" is any error in the program.
3. COBOL has its own set of syntax rules;
if these rules are violated the program will not compile and thus will not
produce an object program. Many syntax
errors are caused by typographical errors (AD instead of ADD); some are caused
by misunderstanding instruction formats.
4. The COBOL compiler will detect syntax
errors and list them on the compiler or source listing or display them on the
screen. More serious errors result from
faulty logic and may produce unusable or incorrect output information. Usually the only evidence of a logic error is
that the program has produced incorrect output.
5. The compiler will detect syntax errors,
but the programmer must detect any logic errors. Logic errors are detected by the programmer
when the program is tested.
6. Program testing involves running a
program with different sets of data to determine whether correct results are
produced. The programmer checks the
output to be sure it is correct. If it
is not correct, a logic error has occurred.
7. Test data should be carefully
constructed to test every possible condition that the program is likely to
encounter under operating conditions.
8. Program walkthroughs in which the
programmer manually steps through the logic of the program using test data can
help minimize logic errors and debugging time. Program walkthroughs can help find logic
errors before execution begins.
G. Document the Program
1. Programs must be fully documented
before they are turned over to the user.
2. Documentation includes a formal,
written set of procedures which explain how the program is to be executed and
how the output is to be used.
III.
The Nature of COBOL
A. COBOL Is a Business-Oriented Language
1. COBOL is an abbreviation for Common
Business Oriented Language.
2. As a business-oriented language, COBOL
is designed specifically for commercial applications that typically operate on
a large volume of data.
B. COBOL Is a Standard Language
1. COBOL is a common programming language,
meaning that COBOL compilers are available in a standard form for most
computers.
2. COBOL is a standard language, which
means that all compilers, regardless of the computers on which they run, have
the same syntax rules.
C. COBOL Is an English-Like Language
1. COBOL is an English-like language,
which makes it self-documenting and easy to understand.
2. English words are used when coding
COBOL instructions. For example, the
word ADD can be used when adding two numbers together.
D. COBOL Is a Relatively Easy to Understand
Because of its
English-like characteristics, users are able to understand its instructions,
and thus consider it relatively easy to understand
IV. A History of COBOL and the ANS Versions
A. When it Began
1. COBOL was developed in 1959 by the
Conference on Data Systems Languages (CODASYL).
2. Their objective was to develop a
standard business-oriented language for which all major computer manufacturers
would produce compilers.
B. The American National Standards (ANS)
Versions of COBOL
1. The American National Standards
Institute (ANSI) oversees development of COBOL standards to minimize variations
among COBOL compilers.
2. ANSI versions of COBOL were released in
1968, 1974, and 1985. A new version is
planned for the early 2000s.
3. An individual COBOL compiler may
include enhancements, which provide the programmer with additional options not
necessarily part of the standard.
C. The Future of COBOL: Lessons Learned
from the Year 2000 Problem
1. COBOL will remain an important language
in the years ahead for two reasons:
a.
Older, mainframe-based “legacy” systems will
need to be maintained by maintenance programmers who know COBOL.
b.
COBOL is still being used by many
organizations for new application development.
2.
The Year 2000 Problem
a.
The Year 2000 (Y2K) Problem occurred
because older programs used two-digit year codes rather than four-digit year
codes.
b.
The Y2K Problem would have caused many
computer applications to fail or work incorrectly when January 1, 2000 arrived.
c.
Since many of the older programs were
written in COBOL, there was a great need for COBOL programmers to correct those
programs that were not Y2K compliant.
d.
The program code in this text is Y2K
compliant.
V. Techniques
for Improving Program Design
A. Structured Programming Using Modular
Design for Coding Paragraphs
1. In the early stages of programming, the
primary goal was to develop a program that worked.
2. Today, important programming goals
include writing programs that are easy to read, debug, and modify, as well as
work.
3. Structured programming is a standard
for creating programs as series of interrelated modules. This technique uses logical control
constructs that make programs easier to read, debug, and modify.
4. Structured programming simplifies
debugging by eliminating branch points (GO TO statements) in a program.
5. The typical structured program is
subdivided into paragraphs or modules, where a main module calls in other
modules as needed.
B. Top-Down Approach for Coding Modules
1. Structured programs are composed of
modules that can be written and debugged independently. A main module calls in other modules as
needed.
2. Modules should be developed in a
top-down manner, beginning with major (general) modules and working down to
minor (detailed) modules.
VI. A Sample Program
A. Batch vs. Interactive Processing
1. Batch
programs have data collected and processed later.
2. Interactive
programs process data immediately.
B. Overview of the Four Divisions
1. IDENTIFICATION DIVISION
Identifies the program
to the computer and provides documentation about the program.
2. ENVIRONMENT DIVISION
Defines the file-names
and describes the specific computer equipment that will be used by the program.
3. DATA DIVISION
Describes the input
and output formats to be used by the program.
It also defines any constants and work areas necessary for the
processing of data.
4. PROCEDURE DIVISION
Contains the
instructions necessary for reading input, processing it, and creating output.
C. Definition of the Problem
Explain
the problem definition as described in the text.
D. Input Layout
1. Explain the use of the input record
layouts illustrated in the text.
2.
Explain the following terms:
alphanumeric, numeric, implied decimal point.
3. Emphasize the meanings of and
relationships among the following: file, record, field.
E. Output Layout
Describe
the output layout as illustrated in the text.
F. The Program Illustrated
1. Explain the input and output
specifications as discussed in this section.
2. Explain the four DIVISIONs of the
illustrated program as discussed in this section.
G. A Brief Overview of Program Planning
Tools
1. Program planning tools are used to help
design the program logic prior to coding.
2. Flowcharts are composed of symbols that
denote specific operations. A note
within the symbol describes the function.
Flowcharts are read from top to bottom.
3. Pseudocode, like a flowchart, can be
used to plan a program's logic.
Pseudocode consists of English-like statements that are read in
sequence.
4. Either a flowchart or pseudocode should
be used to plan a program.
5. Hierarchy or structure charts
illustrate the modules of a program and show the relationships among the
modules.
H. Text's
Definition for Batch and Interactive Programs
I. Summary
of COBOL as a Language for Both Batch and Interactive Processing
VII.
Entering and Running a COBOL Program
on Your Computer
1.
Discuss how COBOL programs are entered
and updated on your computer system.
Specific items that are likely to be unique to a particular computer
include:
a.
Column restrictions.
b.
The format of the SELECT statement.
2.
Discuss/demonstrate the features of the
text editor your students will be using.
3. Discuss/demonstrate how to compile and
execute a COBOL program on your computer system.
SOLUTIONS
TO REVIEW QUESTIONS
I. True-False Questions
1. F The
compiler does not detect logic errors.
2. F All
symbolic programs need to be compiled in order to create a machine- language
program ready for execution.
3. F Other
languages are more suitable for scientific applications.
4. F The
sequence is IDENTIFICATION, ENVIRONMENT, DATA, and
PROCEDURE.
5. F It
is the ENVIRONMENT DIVISION that specifies the computer device
to be used.
6. T
7. T
8. T
9. T
10. T
II. General Questions
1. a. A
program is a set of instructions that enables a computer to process data.
b. A compiler is a system software program
that translates a symbolic language source program into a machine language
object program.
c. A source program is a set of symbolic
language instructions written by a programmer, which must be converted into machine
language before it can be executed.
d. An object program is a set of machine
language instructions which is produced by a compiler, that is ready for
execution by the computer.
e. A
batch program is a program that processes files only.
f. An
interactive program is a program that has data entered from a keyboard
and/or
displayed on a screen.
2. A symbolic programming language
consists of English-like instructions or symbolic phrases, whereas machine
language utilizes complex binary instructions and memory addresses. Symbolic programs must be translated into
machine language prior to execution.
3. COBOL has become a popular language
because of its English-like style which makes it easy to learn and code. Also, its English-like style makes COBOL easy
to understand and relatively self-documenting.
It is well suited for commercial applications and thus popular among
business environments. Some people
prefer other languages because COBOL can be somewhat wordy and because some
other languages may have features better suited to a particular application.
4. Structured programming is a standard
approach to program design and development that creates programs as a set of
interrelated modules. Debugging is
simplified because branch points (GO TOs) are eliminated from programs.
5. ANS COBOL is the standardized version
of the COBOL language. The American
National Standards Institute is the supporting body for COBOL standards and
oversees development of new releases of the COBOL language. COBOL 85 refers to the set of standards
adopted in 1985.
6. Operating system software is software
supplied by the manufacturer of the computer to control the overall operations
of the computer. This software is the
interface between users of the computer and the hardware itself. Application software is software designed by
application programmers which is specially developed to perform particular
tasks required by users.
7. A syntax error is a violation of the
rules of the programming language. A
run-time error is one that occurs during the running of a program because the
computer was instructed to do something it could not do.
8. The PICTURE clause defines the size and
type of each field being used by a program.
9. The
SELECT statement assigns a name to a file and specifies the device on which the
file is located.
10. The
WORKING-STORAGE SECTION defines and describes all work areas and data fields
which are not part of input or output files but are required for
processing. This section can also be
used to define separate areas for input and output files.
III. Internet/Critical Thinking Questions
1.
Search
Engine: yahoo.com>Computers &
Internet>
Keywords: COBOL
Standards
URL: http://www.cobolstandards.com/
Search
Engine: lycos.com>
Keywords: +COBOL+standard
URL: http://www.cobolreport.com/columnists/don/02192001
Contents: links
to COBOL standard
Search
Engine: hotbot.com>
Keywords: +COBOL+standard
URL: http://www.microfocus.com/whitepapers/developmentcobolstandard.asp
Contents: Links to various COBOL related
sites
2.
Search Engine: yahoo.com>Computers & Internet
URL: http://www.microfocus.com/
Contents: Views
about COBOL's future
Keywords: COBOL future
URL: http://objectz.com/cobolreport/archives/view_townsend.htm
URL: http://www.cobolportal.com/developer/future.asp
Contents: What
professionals think of the future of COBOL
3. The Internet site http://www.wiley.com/college/stern is designed to provide assistance,
supplements, and up-to-date information for teachers and students who use this
textbook.
The site was not yet ready when this
Instructor's Manual was written.
However, the site from the ninth edition of the text was still active
and may be found at http://www.wiley.com/cobol. The contents of the site for the tenth
edition should be similar.
The following topics
and links are available at the web site:
·
Powerpoint
Presentations
·
New
Features