0% found this document useful (0 votes)
18 views

Module 2

The document summarizes the program development life cycle, which has five stages: analysis, design, coding, testing, and maintenance. It focuses on the analysis, design, coding, and testing stages. Analysis involves defining requirements and decomposing problems. Design shows how the program will be developed. Coding develops the program modules, which are tested iteratively. Testing ensures all tasks work as specified. It also discusses decomposing computer systems into subsystems and their components of inputs, processes, outputs, and storage.

Uploaded by

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

Module 2

The document summarizes the program development life cycle, which has five stages: analysis, design, coding, testing, and maintenance. It focuses on the analysis, design, coding, and testing stages. Analysis involves defining requirements and decomposing problems. Design shows how the program will be developed. Coding develops the program modules, which are tested iteratively. Testing ensures all tasks work as specified. It also discusses decomposing computer systems into subsystems and their components of inputs, processes, outputs, and storage.

Uploaded by

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

MODULE NO.

2 Teacher: Felix Date: 05/02 - 09/02

Subject: Computer Science Class: 10 (IGCSE)

Parent’s Signature: _______________ Marks: ____/20

Name:________________________________________________

TOPIC: Program development life cycle

SOURCE/REF: Unit 7: Algorithm design and problem solving (p.258)

Learning Objectives:

1. Understand the stages in the program development cycle

2. Understand the main components of a computer system

3. Understand the meanings of key words in context

Instructions:

Read carefully the text about the stages of the program development cycle (analysis, design,
coding and testing) as well as computer systems, sub-systems and decomposition, then
complete activities 1 and 2.

The program development life cycle

The program development life cycle is divided into five stages: analysis, design, coding,
testing and maintenance. This chapter and Chapter 8 will discuss the four stages listed below:

» analysis

» design

» coding

» testing

1
Analysis

Before any problem can be solved, it needs to be clearly defined and set out so anyone
working on the solution understands what is needed. This is called the ‘ requirements
specification’ for the program. The analysis stage uses abstraction and decomposition tools
to identify exactly what is required from the program. Abstraction keeps the key elements
required for the solution to the problem and discards any unnecessary details and
information that is not required. For example, a map only shows what is required for
travelling from one place to another. Different methods of transport will require different
types of map.

Decomposition breaks down a complex problem into smaller parts, which can then be
subdivided into even smaller parts, that can be solved easily. Any daily task can be divided
into its constituent parts. For example, getting dressed: » Select items to wear » Remove any
clothes being worn » Put selected items on in order.

Design

The program specification from the analysis stage is used to show to how the program
should be developed. When the design stage is complete, the programmer should know what
is to be done, i.e. all the tasks that need to be completed, how each task is to be performed
and how the tasks work together. This can be formally documented using structure charts,
flowcharts and pseudocode.

2
Coding and iterative testing

The program or set of programs is developed. Each module of the program is written using a
suitable programming language and then tested to see if it works. Iterative testing means
that modular tests are conducted, code amended, and tests repeated until the module
performs as required.

Testing

The completed program or set of programs is run many times with different sets of test data.
This ensures that all the tasks completed work together as specified in the program design.

Computer sytems, sub-systems and decomposition

A computer system is made up of software, data, hardware, communications and people;


each computer system can be divided up into a set of sub-systems. Each sub-system can be
further divided into sub-systems and so on until each sub-system just performs a single
action. Computer systems can be very large, very small or any size in between; most people
interact with many different computer systems during their daily life without realising it. For
example, when you wake up in the morning, you might use an app on your smartphone for
your alarm, then you might check the weather forecast on your computer before driving to
work. The alarm program is a very small computer system but when you check the weather
forecast, you obtain the information you need from one of the largest computer systems in
the world.

The computer system and its sub-systems

In order to understand how a computer system is built up and how it works it is often divided
up into sub-systems. This division can be shown using top-down design to produce structure
diagrams that demonstrate the modular construction of the system. Each sub-system can be
developed by a programmer as a sub-routine. How each sub-routine works can be shown by
using flowcharts or pseudocode.

3
Top-down design is the decomposition of a computer system into a set of subsystems, then
breaking each sub-system down into a set of smaller sub-systems, until each sub-system just
performs a single action. This is an effective way of designing a computer system to provide a
solution to a problem, since each part of the problem is broken down into smaller more
manageable problems. The process of breaking down into smaller sub-systems is called
stepwise refinement.

This structured approach works for the development of both large and small computer
systems. When larger computer systems are being developed this means that several
programmers can work independently to develop and test different sub-systems for the same
system at the same time. This reduces the development and testing time.

Decomposing a problem

Any problem that uses a computer system for its solution needs to be decomposed into its
component parts. The component parts of any computer system are:

» inputs – the data used by the system that needs to be entered while the system is active

» processes – the tasks that need to be performed using the input data and any other
previously stored data

» outputs – information that needs to be displayed or printed for the users of the system

» storage – data that needs to be stored in files on an appropriate medium for use in the
future.

Example 1: An alarm app

For example, the alarm app can be decomposed into:

» inputs – time to set the alarm, remove a previously set alarm time, switch an alarm off,
press snooze button

4
» processes – continuously check if the current time matches an alarm time that has been set,
storage and removal of alarm times, management of snooze

» outputs – continuous sound/tune (at alarm time or after snooze time expired)

» storage – time(s) for alarms set.

Activity 1 - Match the definitions with these key words:

algorithm, analysis, decomposition, flow chart, pseudocode, iteration, structure diagram, top-
down-design

Key words Definition


1. A) a simple method of showing an algorithm; it describes what the
algorithm does by using English key words that are very similar to
those used in a high-level programming language but without the
strict syntax rules

2. B) a method used in the analysis stage of the program


development life cycle; a complex problem is broken down into
smaller parts, which can then be sub divided into even smaller
parts that can be solved more easily

3. C) a diagram that shows the steps required for a task (sub-system)


and the order in which the steps are to be performed

4. D) an ordered set of steps to solve a problem

5. E) the breaking down of a computer system into a set of sub-


systems, then breaking each subsystem down into a set of smaller
sub-systems, until each sub-system just performs a single action

5
6. F) a diagram that shows the design of a computer system in a
hierarchical way, with each level giving a more detailed breakdown
of the system into subsystems

7. G) part of the program development life cycle; a process of


investigation, leading to the specification of what a program is
required to do
8. H) the breaking down of a computer system into a set of sub-
systems, then breaking down each sub-system into a set of smaller
sub-systems, until each sub-system just performs a single action.

Activity 2

1) A solution to a problem is decomposed into its component parts. Name and describe the
component parts.(8)
2) A ___________________________________is made up of software, data, hardware, communications
and people.(2)

Homework

Using one of the computer systems that you identified, decompose it into its component
parts of inputs, processes, outputs and storage. (2)

You might also like