<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.inthewings.net/index.php?action=history&amp;feed=atom&amp;title=COP_2121_Program_Development_Process</id>
	<title>COP 2121 Program Development Process - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.inthewings.net/index.php?action=history&amp;feed=atom&amp;title=COP_2121_Program_Development_Process"/>
	<link rel="alternate" type="text/html" href="http://wiki.inthewings.net/index.php?title=COP_2121_Program_Development_Process&amp;action=history"/>
	<updated>2026-05-06T07:23:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>http://wiki.inthewings.net/index.php?title=COP_2121_Program_Development_Process&amp;diff=1845&amp;oldid=prev</id>
		<title>Jka: /* Sample COBOL Program */</title>
		<link rel="alternate" type="text/html" href="http://wiki.inthewings.net/index.php?title=COP_2121_Program_Development_Process&amp;diff=1845&amp;oldid=prev"/>
		<updated>2007-02-22T20:02:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Sample COBOL Program&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 20:02, 22 February 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l123&quot; &gt;Line 123:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 123:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	WRITE PRINT-REC.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	WRITE PRINT-REC.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==[[COP 2121 Basic Cobol Program Structure]]==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jka</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.inthewings.net/index.php?title=COP_2121_Program_Development_Process&amp;diff=1844&amp;oldid=prev</id>
		<title>Jka at 20:01, 22 February 2007</title>
		<link rel="alternate" type="text/html" href="http://wiki.inthewings.net/index.php?title=COP_2121_Program_Development_Process&amp;diff=1844&amp;oldid=prev"/>
		<updated>2007-02-22T20:01:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Program Development Process==&lt;br /&gt;
===Program Specifications===&lt;br /&gt;
* System analysts, users, and programmers develop specifications&lt;br /&gt;
* Specifications include:&lt;br /&gt;
** Description of input and output data&lt;br /&gt;
** Step-by-step processing required to convert input to output&lt;br /&gt;
Record layout forms describe format of input and output data&lt;br /&gt;
* Data names of each data item in record&lt;br /&gt;
* Location of each data item in record&lt;br /&gt;
* Size of each data item&lt;br /&gt;
* Number of decimal positions (for numerica data items)&lt;br /&gt;
===Design the program===&lt;br /&gt;
Program planning tools used to map out structure and logic of program&lt;br /&gt;
* Flowcharts use block diagrams to represent logic&lt;br /&gt;
* Pseudocode uses English-like statements&lt;br /&gt;
* Hierarchy charts show relationships among sections of program&lt;br /&gt;
====Improving Program Design====&lt;br /&gt;
Two techniques used to develop programs that are easier to understand, test, debug, and modify&lt;br /&gt;
* Structured Programming&lt;br /&gt;
* Top-Down programming&lt;br /&gt;
=====Structured Programming=====&lt;br /&gt;
Program divided into paragraphs&lt;br /&gt;
* Main paragraph or module control logic flow using PERFORM statements&lt;br /&gt;
* Main module &amp;quot;performs&amp;quot; other modules when instructions in that module are required&lt;br /&gt;
* Each module can be written and tested independently of others&lt;br /&gt;
=====Top-Down Programming=====&lt;br /&gt;
For COBOL program&lt;br /&gt;
* Code main modules or routines first&lt;br /&gt;
* Code intermediate modules next&lt;br /&gt;
* Details deferred to minor modules and coded last&lt;br /&gt;
===Code and Enter Program===&lt;br /&gt;
* Programmer writes and enters program into computer&lt;br /&gt;
* Program written in symbolic language (like COBOL)&lt;br /&gt;
* Called source program&lt;br /&gt;
===Compile Source Program===&lt;br /&gt;
Compiler is program that&lt;br /&gt;
* Checks source program for rule violations&lt;br /&gt;
* Translates source program into object program&lt;br /&gt;
===Test Program===&lt;br /&gt;
* Test or debug program to ensure it contains no errors&lt;br /&gt;
* Check for two types of errors&lt;br /&gt;
** Compile-time errors&lt;br /&gt;
** Execution errors&lt;br /&gt;
====Compile-Time Errors====&lt;br /&gt;
* Errors detected by compiler during translation from COBOL to machine language&lt;br /&gt;
* Detects violations of programming rules&lt;br /&gt;
** Misspelled reserved words&lt;br /&gt;
** Missing punctuation&lt;br /&gt;
* Also called [[syntax error]]s&lt;br /&gt;
====Execution Errors====&lt;br /&gt;
* Detected when program is run&lt;br /&gt;
* Logic error causes incorrect output&lt;br /&gt;
** Sequence of instructions incorrect&lt;br /&gt;
** Wrong instruction coded&lt;br /&gt;
* Run-time error if computer cannot execute instruction&lt;br /&gt;
** Attempt to divide by zero&lt;br /&gt;
** Attempt to read a file that cannot be found&lt;br /&gt;
====Debugging Techniques====&lt;br /&gt;
* Desk checking&lt;br /&gt;
* Correcting syntax errors&lt;br /&gt;
* Program walkthroughs&lt;br /&gt;
* Executing the program&lt;br /&gt;
===Document the Program===&lt;br /&gt;
* Documentation - formal set of procedures and instructions to specify how to use program&lt;br /&gt;
* Written for:&lt;br /&gt;
** Those working with output&lt;br /&gt;
** Computer operators who run program&lt;br /&gt;
** Maintenance programmers who make modifications to program&lt;br /&gt;
==Sample COBOL Program==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IDENTIFICATION DIVISION.&lt;br /&gt;
PROGRAM-ID. WAGESBATCH.&lt;br /&gt;
ENVIRONMENT DIVISION.&lt;br /&gt;
INPUT-OUTPUT SECTION.&lt;br /&gt;
FILE-CONTROL. 	&lt;br /&gt;
		SELECT EMPLOYEE-DATA ASSIGN TO “/home/seemab/EMP-DAT.in&amp;quot;.&lt;br /&gt;
		SELECT PAYROLL-LISTING ASSIGN TO “/home/seemab/EMP-OUT-DAT.out&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
DATA DIVISION.&lt;br /&gt;
FILE SECTION.&lt;br /&gt;
FD	EMPLOYEE-DATA.&lt;br /&gt;
01	EMPLOYEE-RECORD.&lt;br /&gt;
	05	EMPLOYEE-NAME-IN		PIC X(20).&lt;br /&gt;
	05	HOURS-WORKED-IN		PIC 9(2).&lt;br /&gt;
	05	HOURLY-RATE-IN		PIC 9V99.&lt;br /&gt;
&lt;br /&gt;
FD	PAYROLL-LISTING.&lt;br /&gt;
01	PRINT-REC.&lt;br /&gt;
	05				PIC X(20).&lt;br /&gt;
	05	NAME-OUT		PIC X(20).&lt;br /&gt;
	05				PIC X(10).&lt;br /&gt;
	05	HOURS-OUT		PIC 9(2).&lt;br /&gt;
	05				PIC X(8).&lt;br /&gt;
	05	RATE-OUT		PIC 9.99.&lt;br /&gt;
	05				PIC X(10).&lt;br /&gt;
	05	WEEKLY-WAGES-OUT	PIC 999.99.&lt;br /&gt;
&lt;br /&gt;
WORKING-STORAGE SECTION.&lt;br /&gt;
01	ARE-THERE-MORE-RECORDS	PIC XXX VALUE &amp;quot;YES&amp;quot;.&lt;br /&gt;
PROCEDURE DIVISION.&lt;br /&gt;
100-MAIN.&lt;br /&gt;
	OPEN 	 INPUT 	EMPLOYEE-DATA&lt;br /&gt;
		OUTPUT	PAYROLL-LISTING&lt;br /&gt;
&lt;br /&gt;
	PERFORM UNTIL ARE-THERE-MORE-RECORDS = &amp;quot;NO&amp;quot;&lt;br /&gt;
		READ EMPLOYEE-DATA&lt;br /&gt;
			AT END&lt;br /&gt;
				MOVE &amp;#039;NO &amp;#039; TO ARE-THERE-MORE-RECORDS&lt;br /&gt;
			NOT AT END&lt;br /&gt;
				PERFORM 200-WAGE-ROUTINE&lt;br /&gt;
		END-READ&lt;br /&gt;
	END-PERFORM&lt;br /&gt;
	CLOSE  EMPLOYEE-DATA&lt;br /&gt;
		   PAYROLL-LISTING&lt;br /&gt;
	STOP RUN.&lt;br /&gt;
&lt;br /&gt;
200-COMPUTE-WAGE-ROUTINE.&lt;br /&gt;
	MOVE SPACES TO PRINT_REC&lt;br /&gt;
	MOVE EMPLOYEE-NAME-IN TO NAME-OUT&lt;br /&gt;
	MOVE HOURS-WORKED-IN TO HOURS-OUT&lt;br /&gt;
	MOVE HOURLY-RATE-IN TO RATE-OUT&lt;br /&gt;
	MULTIPLY HOURLY-RATE-IN BY HOURS-WORKED-IN GIVING WEEKLY-WAGES-OUT&lt;br /&gt;
	WRITE PRINT-REC.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
		
	</entry>
</feed>