## Nothing going on here, move along…

### Explaination of the program life cycle and its components

The program development life-cycle has 6 phases

1. Define the problem
2. Design the solution
3. Code the program
4. Test the program
5. Document the program
6. Implement the program

In this post I will further define these phases

Define the problem

• Determine the program requirements – What should it do?
• Usually this means meeting with analysts/users
• Identify the program components – Input, processing, output (IPO)

Design the solution

• Design an algorithm for a solution to the problem
• An algorithm is a series of logical steps required to solve a particular problem
• Design tools help to break down the problems and describe the solution

Design tools

• Flow charts to show the steps in the algorithm
• Structure charts to show program flow
• Desk checking to validate the solution

Flowcharting

• A flow chart is a graphical representation of an algorithm
• Each step is represented by a symbol and the arrows indicate the flow and order of the steps
• The shape of the symbol indicates the type of operation that is to occur
• Flow charts may help the more visual students learn and understand logic

Structure charts

• Structure charts like flow charts are graphical
• They show the order in which each step in the algorithm should be performed – the program flow
• They also show the logic that determines the order

Desk checking

After designing a solution, make sure it is going to work before coding it by desk checking it.

1. Develop sets of test data (inputs)
2. Determine the expected result (output) for each data set without using solution algorithm
3. Step through solution using one set of test data and writing down actual result obtained (output)
4. Compare expected results with actual results
5. Repeat steps 3 and 4 for each set of test data

Code the program

• Translate the solution algorithm into a programming language
• Enter program code into a programming development tool using the correct syntax

Test the program

• Remove the syntax and logic errors
• Syntax error – when code violates the programming languages rules
• Logic error – when the program does not generate expected output when using the test data
• Logic errors are also called bugs, so finding and fixing bugs is referred to as ‘debugging’
• Debugging tools – some errors are difficult to find so programmers use a debugger that allows them to walk through the as each statement is executed

Document the program

Programs should be documented so that others can easily understand and change them

Details include:

• A narrative description of the program
• Comments in the program that explain what is happening
• Flow charts, IPO charts and structure charts
• Testing procedures

Implement and maintain the program

• The program(s) are installed on the clients system
• Training, user manuals, user upgrades and conversions must be taken into consideration during the implementation
• Eventually programs may need to be updated due to mandatory updates such as government regulations or changes in the way the business operates
• Programs may be enhanced to add new features or functionality
• Programs may become obsolete when changes become too difficult or new technology becomes available. When this happens, the program development life cycle starts again

Input, Processing and Output (IPO charts)

Many programs use three steps:

1. Gather input data – from the keyboard, from files on disk drives
2. Process the input data
3. Display the results as an output – Send it to the screen, write it to a file.