0% found this document useful (0 votes)
6 views32 pages

T1 Development Life Cycle

The document outlines the program development life cycle, which consists of four main stages: Analysis, Design, Coding, and Testing. It discusses various software development methodologies, particularly focusing on the waterfall model, and emphasizes the importance of tasks such as problem decomposition, abstraction, and iterative testing. Additionally, it provides examples related to developing software for a basketball team, including requirements specification and testing procedures.

Uploaded by

minh024055
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views32 pages

T1 Development Life Cycle

The document outlines the program development life cycle, which consists of four main stages: Analysis, Design, Coding, and Testing. It discusses various software development methodologies, particularly focusing on the waterfall model, and emphasizes the importance of tasks such as problem decomposition, abstraction, and iterative testing. Additionally, it provides examples related to developing software for a basketball team, including requirements specification and testing procedures.

Uploaded by

minh024055
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 32

Objectives

• Understand the program development life cycle:


• Analysis - including abstraction, decomposition, problem
identification requirements
• Design – including decomposition, structure diagrams,
flowcharts and pseudocode
• Coding – writing program code and iterative testing
• Testing – testing program code with test data
Development life cycle
Unit 8 Algorithm design and problem solving

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

• In this topic we will consider the life cycle stages as


used in waterfall development
Development life cycle
Unit 8 Algorithm design and problem solving

Life cycle stages


• There are four stages in the program
development life cycle:
• Analysis
• Design
• Coding
• Testing

• These are covered further


in this topic
Development life cycle
Unit 8 Algorithm design and problem solving

Analysis
• Analysis involves considering the problem
that needs to be solved computationally
• Which of the following tasks form part of the
analysis stage?

Decomposition Structure Identification of


Abstraction
of the problem diagrams the problem

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

Decomposition Structure Identification of


Abstraction
of the problem diagrams the problem

Identification of
Writing
the Flowcharts Pseudocode
program code
requirements
Development life cycle
Unit 8 Algorithm design and problem solving

Problem and requirements


• A basketball team wants some software
which will automatically send players
updates of when and where games are
held and results of matches
• A project may start with such an overall aim
• The analysis section will aim to determine exactly
what the problem is and what the requirements are
• What questions would you ask the
basketball team’s manager in order
to identify the problem and create a
set of requirements?
Development life cycle
Unit 8 Algorithm design and problem solving

Problem and requirements


• A basketball team wants some software
which will automatically send players
updates of when and where games are
held and results of matches
• Example questions:
• What information needs to be stored and sent
out for the game information?
• How will the updates and results be sent?
• Which results are sent out?
• Do the results need further analysis?
• How often are updates sent out and who
are they sent to?
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

• Requirements for the basketball software:


1. The software will store the game, place, date,
time and result
2. One email will be sent three days before
the game
3. The result will be sent as soon as the game
is over
4. All current players will be stored in the system;
only these players will be sent the information
Development life cycle
Unit 8 Algorithm design and problem solving

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

• Computer system software sub-systems


• Operating system
• Office applications
• Computer games

• Each of these sub-systems are made up of further


sub-systems
Development life cycle
Unit 8 Algorithm design and problem solving

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

Create emails Send emails


Development life cycle
Unit 8 Algorithm design and problem solving

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;

OUTPUT i public class Program


NEXT i {
public static void Main()
{
for (int i=0; i<10; i++)
{
Console.WriteLine(i);
}
}
}
Development life cycle
Unit 8 Algorithm design and problem solving

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

Decomposition Testing with Identification of


Abstraction
of the problem test data the problem

Identification
Structure Writing
of the Pseudocode
diagrams program code
requirements

Iterative testing Flowcharts Decomposition


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

Decomposition Testing with Identification of


Abstraction
of the problem test data the problem

Identification
Structure Writing
of the Pseudocode
diagrams program code
requirements

Iterative testing Flowcharts Decomposition


Development life cycle
Unit 8 Algorithm design and problem solving

Copyright

© 2021 PG Online Limited

The contents of this unit are protected by 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.

You might also like