Nothing going on here, move along…

Systems and programme building bits

Systems

An information system must do at least 3 things

Input data into the system

Process data within the system

Output resulting information from the system

Programs

A computer program is a solution to a problem

An algorithm is the logical design used to accomplish a specific objective (step by step instructions)

The two most commonly used tools for documenting the program logic (the algorithm) are flowcharts and pseudocode

Syntax is the structure used in coding, typos are a common source of syntax errors

Flow chart

A flow chart has a start, decisions actions and an end point

Input statements

An input statement takes data from a user and stores it in a variable

A variable is a storage location in memory (RAM) that can be accessed and changed by the code

Making decisions

Sample statements

Pay amount = Hours * Rate

Pay amount = 40 * Rate + (Hours – 40) * Rate * 1.5

40 hours are taken off the hours worked (Standard working week), any extra hours are paid at time and a half (Over time)

The IF statement

The most common decision structure is the if statement

A condition is a boolean expression that evaluates to either true or false (yes or no)

Conditions typically involve one of the 6 relational operators

Relational operators

Operation – Description – Expression

=  –  Equal  –  x = 2

<>  –  Not equal  –  y <> 5

>  –  Greater than  –  x > 1

<  –  Less than  –  x < 2

>=  –  Greater than or equal  –  x >= 2

<=  –  Less than or equal  –  x <= 6

Nested IF statement

An IF statement contained within the true or false branch of another IF statement

Compound conditions

A compound condition consists of two conditions within a parentheses joined by a logical operator

eg. a = b  AND c = d, if both are true then it is true

The four most common logical operators are NOT, AND, OR, and XOR  (A=5, B=8)

NOT = Returns the opposite of the condition

INCOMPLETE NOTES IN ITE BOOK

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.