For a number of important reasons, the user should understand the basic steps a computer programmer follows to create software. For example, the user may have to evaluate software vendors’ claims about what their programs can do. More important, if the user fails to communicate clearly and precisely to the programmer the processing procedures and logic to be incorporated into a programmer will have to make assumptions about what exactly should be done. If the assumptions are wrong, the user will probably end up with reports that contain erroneous information or reports that simply do not have the necessary information.
The orderly process that an organization goes through when identifying its applications software program requirements is referred to as the software development cycle. As mentioned earlier, you need to understand these steps so that you will be able to tell a programmer, in terms he or she can understand, exactly what your programming requirements are. Although this section on programming is not detailed enough to allow you to communicate on the level of a programmer, it will tell you the basics that you, as a user, need to understand about programming.
Step 1- Define the problem: Say your company needs a computer-based payroll processing program. That’s the problem. In specifying the objectives of the program, you and your employees would list in great detail everything you want the program to do, which means specifying output, input and processing requirements. For example, do you want both hardcopy and softcopy output? How often? What information must reports and checks include? What will be the source and format of input data? You would also specify who in your company needs to see reports, in what form, and how often.
Step 2 – Map out the program logic and design a solution : During the programming process, users must know how to express their processing requirements in the detailed terms necessary for the computer specialist to convert them into program logic. It may be easy to describe what you want accomplished to someone who is at least slightly familiar with the working of your department. However, you would be amazed at how much detail is required to communicate to a person unfamiliar with your work exactly how it is done. And exceptions must always be accounted for – a program has to be able to take care of the rare case as well as the routine ones.
A number of tools and techniques have been developed to assist in documenting the logic to be built into programs. We will discuss only program flowcharts, pseudocode, and top down design, because it’s unlikely that, as a general business user, you would come into direct contact with any other programming tools or techniques.
Step 3 – Code the program: In this step, the programmer actually writes out the program designed in step 2, using a high-level language. The programmer may write the program out first, using pencil and paper, or he or she may key it in directly. The programmer will follow certain rigid rules and use control structures. A control structure, or controls the logical sequence in which computer program instructions are executed. The structures are used to form the logic of a program: sequence, selection, and iteration. These are the tools with which you write structured programs and take a lot of the guess work out of programming.
One thing that all three control structures have in common is one entry and one exit. The control structure is entered at a single point and exited at another single point. It helps simplify the logic so that it is easier for others following in a programmer’s footsteps to make sense of the program.
• In the sequence control structure, one program follows another in logical order. There are two boxes – “statement” and “statement,” The first statement might be “Open file,” the other “Read a record,” There are no decisions to make, no choices between “yes” and “no”. The boxes logically follow one another in sequential order.
• The selection control structure- also known as as an IF-THEN-ELSE structure-represents a choice. It offers two paths to follow when a decision must be made by a program. An example of a selection structure is as follow
IF a worker’s hours in a week exceed 40
THEN overtime hour equal the number of hours
ELSE the worker has no overtime hours.
• The iteration, or loop, control structure represents a process that may be repeated as long as a certain condition remains true. There are two types of iteration structures- DO UNTIL (the most common form) and DO WHILE.
An example (DO UNTIL):
DO read in employee records UNTIL there are no more employee records
An example (DO WHILE):
DO read in employee records WHILE [as long as] there continue to be employee records.
Step 4 – Test the program: Getting the Bugs out – Program testing involves running various tests, such as desk-checking, and debugging, and then running real world data to make sure the program works.
• Desk-checking: Desk-checking is simply reading through, the program to make sure that it’s free of errors and that the logic works. In other words, desk-checking is sort of like proofreading. This step should be taken before the program is actually run on a computer.
• Debug the program: Once the program is run on a computer, further errors, or “bugs,” will doubtless surface. To debug means to detect, locate and remove all errors in a computer program. Mistakes may syntax errors or logic errors. Syntax error is caused by typographical errors or incorrect use of the programming language. Logic errors are caused by incorrect use of control structures.
• Run-real-world data: After desk-checking and debugging, it will run fine in the laboratory. However, it then needs to be tested with data from the real world. Indeed, it is even advisable to test it with bad data- data that is faulty, incomplete, or in overwhelming quantity- to see if you can make the system crash. Many users, after all may be far more heavy handed , ignorant, and careless than programmers have anticipated.
Step 5 – Collate the Documentation: User documentation usually consists of simple step-by-step procedures that describe what the user is to do and how to do it plus report descriptions and sample output. User documentation is required for programs that have the user interacting directly with the computer during operation-such as entering data into the system, directing the processing, and requesting reports. Operator (technical) documentation consists of a number of items prepared during the development of the program including: a narrative overview of what the program does, a series of flowcharts or paragraphs of pseudocode depicting processing logic (or a combination of flowcharts and pseudocode), examples of all reports produced by the program, examples of any display screed activity such as menus or softcopy reports, a listing of the program language statement. Programmer documentation is required to train new programmers unfamiliar with the program to enable them to maintain it- that is, to keep it in working condition, maintaining and up to date.
As we have stated, the absence of good program documentation can create problems. Users can become frustrated when try to work with the program. Programmers can have a very difficult time modifying programs they did not create if the documentation. And the need for good documentation doesn’t apply just to custom-written programs: Be sure your microcomputer software comes with adequate documentation manuals!