T1 Development Life Cycle
T1 Development Life Cycle
Starter
• How is large software created?
• Describe the process
that software
developers use
Development life cycle
Unit 8 Algorithm design and problem solving
Software development
• There are many processes that software
developers use including:
• Agile development
• Incremental development
• Rapid application development (RAD)
• Waterfall development
Analysis
• Analysis involves considering the problem
that needs to be solved computationally
• Which of the following tasks form part of the
analysis stage?
Identification of
Writing
the Flowcharts Pseudocode
program code
requirements
Development life cycle
Unit 8 Algorithm design and problem solving
Analysis
• Which of the following tasks form part of the
analysis stage?
• Abstraction, decomposition of the problem,
identification of the problem and requirements
Identification of
Writing
the Flowcharts Pseudocode
program code
requirements
Development life cycle
Unit 8 Algorithm design and problem solving
Requirements
• Once the problem has been
decomposed it is possible to produce
a list of requirements
• This is often called a requirements specification
Problem decomposition
• When we build a house we decompose
the problem into different parts such as
how many rooms are needed
• In problem decomposition, we break down
the problem into all the smaller parts that
need to be solved
• Problem decomposition is from the client point
of view – it shows each part of the problem but
not how it will actually
be solved
Development life cycle
Unit 8 Algorithm design and problem solving
Abstraction
• Abstraction involves removing unnecessary
detail from a problem so that you can focus
on the essential components
• The London Underground map is a good example
of abstraction
Development life cycle
Unit 8 Algorithm design and problem solving
Abstraction
• When you write a program to play a game
involving dice with a computer, how does
the computer ‘roll the dice’?
Development life cycle
Unit 8 Algorithm design and problem solving
Rolling dice
• When a computer rolls a dice we can use
abstraction to remove unnecessary details
• It will depend on the problem being solved as to
what is and isn’t important
• A computer game may need to show a graphical
representation of a dice – but they may be able
to abstract away all the details about the surface
it rolls onto and the physics of the bounce
• Many programs just need a random number –
in which case they don’t need to worry about
how the dice appears, its weight or how the
spots are arranged – they can just find a random
number with one line of programming code
Development life cycle
Unit 8 Algorithm design and problem solving
Worksheet 1
• Complete Task 1 and Task 2 on Worksheet 1
Development life cycle
Unit 8 Algorithm design and problem solving
Sub-systems
• All computer systems are made up of sub-systems
• These sub-systems are made up of further systems
• The systems and sub-systems
may be hardware, or they can
be software
• What are three physical and
three software sub-systems
of a home computer?
Development life cycle
Unit 8 Algorithm design and problem solving
Sub-systems
• Computer system physical sub-systems
• Hard drive / storage
• CPU / processing
• RAM / main memory
Design
• The design stage takes the requirements
that come out of the Analysis stage
• In the design stage, we are considering how the
program and software itself will be designed
• We are interested in both the overall structure
and individual algorithms that may be used
Development life cycle
Unit 8 Algorithm design and problem solving
Decomposition
• A key part of the design stage
is decomposition
• The problem and requirements are broken down
into smaller parts that are solvable by a computer
• In the design stage, we are interested in how
we solve the problem. The problem is broken
down into component parts such as:
• Inputs, processes, outputs and storage
• Structure diagrams are a graphical way of
showing how a problem is broken down
Development life cycle
Unit 8 Algorithm design and problem solving
Structure diagrams
• A structure diagram uses
boxes and branches
• Each part of the problem is broken
down again and again until each
part is easy enough to understand
and develop
• Compete a structure diagram for
the requirements
Basketball
software
Store current
player details
Development life cycle
Unit 8 Algorithm design and problem solving
Structure diagrams
• One possible answer is shown below
• More levels would be required
for larger projects
Basketball
software
Store current
Store details Results
player details
Flowcharts
• Flowcharts are a way in which algorithms
and processes may be shown graphically
• The flowchart shows a
an algorithm for choosing
appropriate tickets
for a basketball game
at a stadium
• Flowcharts will be looked
at in more detail in
the next topic
Development life cycle
Unit 8 Algorithm design and problem solving
Pseudocode
• It is often easier for programmers to write
pseudocode than create a flowchart
• Pseudocode is very similar to a programming
language, however, it is easier to understand
regardless of what language a developer knows
Pseudocode C#
FOR i 0 TO 10 using System;
Worksheet 1
• Complete Task 3 on Worksheet 1
Development life cycle
Unit 8 Algorithm design and problem solving
Development / Coding
• The next stage in the lifecycle is producing
the software itself
• This is often known as the development stage
• In IGCSE it is known as the coding stage
Development life cycle
Unit 8 Algorithm design and problem solving
Iterative testing
• Programs are tested as they are developed
• Each time the program is updated to add a new
feature or fix a problem is known as an iteration
• The testing of each iteration is known as
iterative testing
Development life cycle
Unit 8 Algorithm design and problem solving
Testing
• The final stage of the product lifecycle is
the testing stage
• Before the program is written, a set of tests will
be designed along with expected results
• Once the program is complete, the tests will be
carried out with test data to check that the
program output matches the expected results
• If any tests fail, the errors are fixed before
being re-tested
• What could the test data be for a program that
reverses an integer that is between 1 and 5
digits long?
Development life cycle
Unit 8 Algorithm design and problem solving
Testing
• One possible test table showing the test
data required and expected output
• In the testing stage the actual output and pass/fail
columns will be completed
Test # Test data Test reason Expected Actual Pass/
output output Fail
1 342 3 digit number 243
2 8 1 digit number 8
3 84237 5 digit number 73248
4 832735 6 digit number Number
too long
Development life cycle
Unit 8 Algorithm design and problem solving
Worksheet 1
• Complete Task 4 on Worksheet 1
Development life cycle
Unit 8 Algorithm design and problem solving
Plenary
• Describe the tasks that are involved
in each of the stages of the program
development life cycle
Identification
Structure Writing
of the Pseudocode
diagrams program code
requirements
Plenary
• Describe the tasks that are involved
in each of the stages of the program
development life cycle
Identification
Structure Writing
of the Pseudocode
diagrams program code
requirements
Copyright
This unit and all the worksheets, PowerPoint presentations, teaching guides and other associated files
distributed with it are supplied to you by PG Online Limited under licence and may be used and copied by you
only in accordance with the terms of the licence. Except as expressly permitted by the licence, no part of the
materials distributed with this unit may be used, reproduced, stored in a retrieval system, or transmitted, in any
form or by any means, electronic or otherwise, without the prior written permission of PG Online Limited.
Licence agreement
This is a legal agreement between you, the end user, and PG Online Limited. This unit and all the worksheets,
PowerPoint presentations, teaching guides and other associated files distributed with it is licensed, not sold, to
you by PG Online Limited for use under the terms of the licence.
The materials distributed with this unit may be freely copied and used by members of a single institution on a
single site only. You are not permitted to share in any way any of the materials or part of the materials with any
third party, including users on another site or individuals who are members of a separate institution. You
acknowledge that the materials must remain with you, the licencing institution, and no part of the materials may
be transferred to another institution. You also agree not to procure, authorise, encourage, facilitate or enable any
third party to reproduce these materials in whole or in part without the prior permission of PG Online Limited.