Theory 10 - Algorithms and
Problem Solving
Program Development Life-Cycle
7.1, 7.2
Stages of the Development Life-Cycle
Theory 10 - Algorithms and Problem Solving 1
, 1. Analysis
a. Research the background to
the system.
b. Define the scope of the system.
c. Identify the key elements whilst
discarding unnecessary detail -
this is called abstraction.
d. Break down the problem into
smaller, more manageable
parts - this is called
decomposition.
2. Design
a. A structure diagram shows the top-down design.
b. You require:
i. Inputs - what data is inputted by the user or read from files/databases.
ii. Outputs - what data is outputted onto screens or printouts, etc.
iii. UI - the user interface must be designed.
iv. Processes - flowcharts and pseudocode are used to plan the solutions
to sub-problems.
v. Data Storage: designed in terms of files or a database.
3. Coding
a. Sub-tasks are then developed and tested iteratively.
4. Testing
a. The completed program is tested against a test plan.
b. Test data is selected to ensure the system matches the requirements and
that it doesn’t crash.
c. This ensures that all elements work together and that the program works as
it was intended.
Theory 10 - Algorithms and Problem Solving 2