SOFTWARE DEVELOPMENT
Program/System development lifecycle
Stages in the program development lifecycle
1. Analysis
Before any problem can be solved, it needs to be clearly defined and set out so everyone
working on the solution understands what is needed. This is called the requirements
specification. The analysis stage often starts with a feasibility study, followed by
investigation and fact finding to identify exactly what is required from the program.
2. Design
The program specification from the analysis stage is used to show how the program should
be developed. When the design stage is complete, the programmer should know what is to
be done, all the tasks that need to be completed, how each task is to be performed and how
1
the tasks work together. This can be formally documented using structure charts, state-
transition diagrams and pseudocode
3. Coding
The program or set of programs is written using a suitable programming language.
4. Testing
The program is run many times with different sets of test data, to test that it does
everything it is supposed to do in the way set out in the program design
5. Maintenance
The program is maintained throughout its life, to ensure it continues to work effectively.
This involves dealing with any problems that arise during use, including correcting any
errors that come to light, improving the functionality of the program, or adapting the
program to meet new requirements
Different development lifecycles
The models we will consider will be divided into the five stages set out above: analysis,
design, coding, testing and maintenance. We will look at three models:
The waterfall model
The iterative model
Rapid application development (RAD)
The waterfall model
This linear sequential development cycle is one of the earliest models used, where each
stage is completed and signed off before the next stage is begun. This model is suitable for
smaller projects with a short timescale, for which the requirements are well known and
unlikely to change.
2
3
The iterative model
This development cycle first develops a simple subset of the requirements, then expands or
enhances the model and runs the development cycle again. These program development
cycles are repeated until the full system has been developed. This model is suitable for
projects for which the major requirements are known but some details are likely to change
or evolve with time.
4
Rapid application development (RAD)
This development cycle develops different parts of the requirements in parallel, using
prototyping to provide early user involvement in testing. Program development cycles are
run in parallel for each part of the requirement, using a number of different teams.
Prototyping is often used to show initial versions to customers to obtain early feedback.
This model is suitable for complicated projects that need developing in a short timeframe
to meet the evolving needs of a business.
5
PROGRAM DESIGN
Purpose and use of structure charts
A structure chart is a modelling tool used in program design to decompose a problem into a
set of sub-tasks. The structure chart shows the hierarchy or structure of the different
modules and how they connect and interact with each other. Each module is represented
by a box and the parameters passed to and from the modules are shown by arrows
pointing towards the module receiving the parameter. Each level of the structure chart is a
refinement of the level above.
The figure below shows a structure chart for converting a temperature from Fahrenheit to
Celsius. The top level shows the name for the whole task that is refined into three sub-tasks
or modules shown on the next level.
Structure charts can also show selection. The temperature conversion task above could be
extended to either convert from Fahrenheit to Celsius or Celsius to Fahrenheit using the
diamond shaped box to show a condition that could be true or false, as shown in the Figure
below.
6
Structure charts can also show repetition. The temperature conversion task above could be
extended to repeat the conversion until the number 999 is input. The repetition is shown
by adding a labelled semi-circular arrow above the modules to be completed as shown in
the figure below
7
Activity 1
Amend your structure chart to input the radius of a sphere, calculate and output either the
volume or the surface area. The algorithm should repeat until a radius of zero is entered.
The Figure below shows a possible structure chart for Activity 1
8
Cont pg 306