12.1 Program Development Lifecycle
AS Level · 7 questions found
What this topic covers
Section titled “What this topic covers”- Purpose of a development life cycle
- Lifecycle models: waterfall, iterative, rapid application development (RAD)
- Principles, benefits and drawbacks of each model
- Stages: analysis, design, coding, testing, maintenance
Past paper questions
Section titled “Past paper questions”A program is developed to satisfy a specific customer requirement.
The project follows a program development life cycle model. This model divides the development process into several different stages.
(a) The table lists some of the development activities. 4 marks
Complete the table by writing the name of the life cycle stage for each activity:
| Activity | Name of life cycle stage |
|---|---|
| a structure chart is produced | |
| a program is modified to allow it to run on new hardware | |
| the programmer identifies the customer’s requirements | |
| an Integrated Development Environment (IDE) provides context-sensitive help such as ‘auto-complete’ |
(b) Alpha and beta testing has been completed. The final testing stage is carried out by the customer. 1 mark
Identify this final testing stage.
Show mark scheme
5(a) [4 marks]
Activity Name of life cycle stage a structure chart is produced Design a program is modified to allow it to run on new Maintenance hardware the programmer identifies the customer's Analysis requirements an Integrated Development Environment (IDE) Coding provides context-sensitive help such as 'auto- complete' One mark per row
5(b) [1 mark]
Acceptance testing
A program is being developed to control the production line in a factory.
(a) A number of different program life cycles are available for the development of a program.
(i) Explain the need for different program development life cycles. 1 mark
(ii) Coding is a stage in a program development life cycle. 1 mark
State one consideration that would influence the choice of programming language.
(b) The program has been in use for a number of months and adaptive maintenance is required.
(i) Give three reasons why adaptive maintenance may be required. 3 marks
1
2
3
(ii) As well as adaptive maintenance, other types of program maintenance may be needed. 1 mark
Identify one other type of program maintenance.
Show mark scheme
1(a)(i) [1 mark]
One mark for Choice of program development cycle depends on the approach/method required to produce the program Or One mark for a factor that would influence the choice of program development cycle, e.g. • Rapid development of program/prototypes required • Need for prototypes (at an early stage) • Complexity of problem • Skills / experience of development team / programmer(s) • Budget / Time / Resources available • Size of development team • Developer / programmer can return to earlier stages / any stage • Avoidance of repeating previous stages in development of program • How much involvement clients will have • Allows the (program) requirements to be changed during program development • (Program) requirements agreed at start of development of program Max 1
1(a)(ii) [1 mark]
Which programming language would best be suited to control the production line // Which programming language would best suit the problem being solved
1(b)(i) [3 marks]
Examples include: • Change to (production line) requirements • New technology / hardware available (to control production line) • Changes made to library modules used • Change in relevant legislation Max 3
1(b)(ii) [1 mark]
Perfective // Corrective
1(c) [4 marks]
1 mark for each correct row Expression Data type RIGHT(MachineCode, 4) STRING Speed * 2.5 REAL NOT Status BOOLEAN IS_NUM(Check) BOOLEAN
1(d)(i) [1 mark]
Two / 2
1(d)(ii) [1 mark]
1000 DECLARE Product : ARRAY [0:99, 0:9] OF INTEGER
1(d)(iii) [2 marks]
1 mark for correct upper and lower bound • [0:99, 0:9 1 mark for all other parts of declaration DECLARE Product : ARRAY [0:99, 0:9] OF INTEGER
A software developer follows a program development life cycle. The life cycle divides the development process into various stages.
(a) The following table lists some development activities. 5 marks
Complete the table by writing the name of the life cycle stage for each activity.
| Activity | Name of life cycle stage |
|---|---|
| The walkthrough method is used. | |
| An algorithm is implemented in a programming language. | |
| The client is interviewed about problems with the current system. | |
| The program is modified to run on new hardware. | |
| Records and file structures are defined. |
(b) The program contains a validation function.
(i) The function will: 4 marks
take an integer value as a parameter
return TRUE if the value is within the range 24 to 37, inclusive
otherwise return FALSE.
Complete the table to define a test plan to thoroughly test the operation of the function.
| Type of test data | Test data value | Expected result |
|---|---|---|
| Normal | 30 | TRUE |
(ii) The function is to be tested on its own. When it is shown to work correctly the function will be combined with other modules and testing will continue. 1 mark
Identify the type of testing that this represents.
Show mark scheme
5(a) [5 marks]
Name of life Activity cycle stage The walkthrough method is used. Testing An algorithm is implemented in a programming language. Coding The client is interviewed about problems with the current Analysis system. The program is modified to run on new hardware. Maintenance Records and file structures are defined. Design One mark per row
5(b)(i) [4 marks]
One mark per row Type of test data Test data value Expected result Abnormal 12 (< 23) FALSE Abnormal / Boundary / Extreme 23 FALSE Boundary / Extreme 24 TRUE Boundary 25 TRUE Boundary 36 TRUE Boundary /Extreme 37 TRUE Abnormal / Boundary / Extreme 38 FALSE Abnormal 99 (> 38) FALSE Max 4 marks
5(b)(ii) [1 mark]
Integration (testing)
A program has been developed and released for general use. After a few months of use an error is detected where under certain circumstances it outputs an unexpected value.
(a) The error in the program needs to be corrected. 1 mark
Identify the stage of the program development life cycle that this correction is made in.
(b) The program contains a function Lookup(). After investigation, it is found that this is the function that sometimes returns an incorrect value. 3 marks
An Integrated Development Environment (IDE) is used to help locate the error.
The IDE features of watch window, single stepping and breakpoint will be used.
Explain these features including the order that they will be used in to locate the error in Lookup().
(c) To solve the error a programmer decides to create a new module. 2 marks
The design of the new module has been completed and the module is being coded.
Identify two features of an IDE that will help during the coding of this new module.
1
2
(d) The new module referred to in part (c) introduces three new variables. 3 marks
Complete the following table by giving the appropriate data type for each.
| Variable name | Used to store | Data type |
|---|---|---|
| Name | A customer name. | |
| Index | An array index. | |
| Result | The result of the division of any two non-zero numbers. |
Show mark scheme
1(a) [1 mark]
(Corrective) Maintenance
1(b) [3 marks]
For example: • Set a breakpoint at the start of / within to stop execution at a Lookup, given statement • then use single stepping to execute one statement / instruction at a time • to display the value of variables using a watch window One mark for each: MP1 Order starting with a breakpoint and an explanation – ‘stop execution at this statement / line’ MP2 Explanation of single stepping – execute ‘line by line’ / statements MP3 Explanation of watch window – displaying the value of variable(s)
1(c) [2 marks]
Features include: MP1 Editor MP2 Auto
(syntax) complete / auto correction // identify undeclared variables(s) MP3 Prettyprint / auto-indentation / auto (structure) highlighter MP4 Dynamic syntax checking MP5 Expand / collapse code blocks MP6 Context sensitive prompts Max 2 marks
1(d) [3 marks]
One mark per row: Variable name Used to store Data type Name a customer name STRING Index an array index INTEGER the result of the division of any two non-zero Result REAL numbers
A software developer follows a program development life cycle. The life cycle divides the development process into various stages.
(a) The following table lists some development activities. 4 marks
Complete the table by writing the name of the life cycle stage for each activity.
| Activity | Name of life cycle stage |
|---|---|
| A compiler is used. | |
| A program that has been released for general use is modified. | |
| The dry run method is used. | |
| The program structure is specified. |
(b) A software developer has written modules Test_A() and Test_B(). These have been written but contain errors. These modules are called from several places in the main program and testing of the main program (integration testing) has to stop. 3 marks
Identify a method that can be used to continue testing the main program before the errors in these modules have been corrected and describe how this would work.
Method
Description
Show mark scheme
5(a) [4 marks]
Name of life Activity cycle stage A compiler is be used. Coding A program that has been released for general use Maintenance is modified The dry run method is used. Testing The program structure is specified. Design One mark per row
5(b) [3 marks]
One mark for method – two marks for the description MP1 Stub testing MP2 The modules and are replaced by dummy Test_A() Test_B() modules MP3 ... which return a known result // An output statement is displayed when called (to check it works) // gives expected output
(a) A programmer is testing a program using an Integrated Development Environment (IDE). 1 mark
The programmer wants the program to stop when it reaches a specific instruction or program statement in order to check the value assigned to a variable.
Give the technical term for the position at which the program stops.
(b) The following table lists some activities from the program development life cycle. 4 marks
| Complete the table by writing the life cycle stage for each activity. | |
|---|---|
| Activity | Life cycle stage |
| An identifier table is produced. | |
| Syntax errors can occur. | |
| The developer discusses the program requirements with the customer. | |
| A trace table is produced. |
(c) An identifier table includes the names of identifiers used. 2 marks
State two other pieces of information that the identifier table should contain.
1
2
(d) The pseudocode statements in the following table may contain errors. 4 marks
State the error in each case or write 'NO ERROR' if the statement contains no error.
You can assume that none of the variables referenced are of an incorrect type.
| Statement | Error |
|---|---|
Status TRUE AND FALSE |
|
IF LENGTH("Password") < "10" THEN |
|
Code LCASE("Electrical") |
|
Result IS_NUM(-27.3) |
Show mark scheme
1(b) [4 marks]
Activity Life cycle stage An identifier table is produced. Design Syntax errors can occur. Coding The developer discusses the program requirements with the Analysis customer. A trace table is produced. Testing
1(c) [2 marks]
Max 2 A description of what the identifier is used for / the purpose of the identifier The data type of the identifier The number of elements of an array // the length of a string An example data value Value of any constants used The scope of the variable (local or global)
1(d) [4 marks]
Statement Error NO ERROR Status TRUE AND FALSE IF LENGTH("Password") < "10" shouldn’t be a string // must be an "10" THEN integer Parameter must be a char // cannot be a Code string LCASE("Electrical") Alternative: LCASE should be TO_LOWER Parameter must be a string / char // Result IS_NUM(-27.3) cannot be a number
1 Initialise password to empty string at the start and return (attempted) password at the end of the function
The following diagram shows the incomplete waterfall model of the program development life cycle.
(a) Complete the diagram. 3 marks

(b) Explain the meaning of the downward and upward arrows. 2 marks
Downward arrows
Upward arrows
(c) Identify another type of model for the program development life cycle. 1 mark
Show mark scheme
8(a) [3 marks]
One mark for: 1 (at least) three intermediate shapes with at least one valid stage names 2 Up and Down arrows between each pair of shapes 3 Design – Coding – Testing labels in correct sequence
8(b) [2 marks]
Downward arrows: result from one stage is input / passed to the next Upward arrows: more work is required at a previous stage to complete the current stage
8(c) [7 marks]
For example: Iterative / Rapid Application Development (RAD) FUNCTION Generate() RETURNS STRING