AS CIE Computer Science - Software Development

0.0(0)
studied byStudied by 4 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/78

flashcard set

Earn XP

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

79 Terms

1
New cards

what is the program development cycle?

the process of developing a program set out in five stages: analysis, design, coding, testing and maintenance

2
New cards

what is the analysis stage?

part of the program development lifecycle, a process of investigations, leading to the specification of what a program is required to do

3
New cards

how does the analysis stage often get broken down?

starts with a feasibility study, followed by investigation and fact finding to identify exactly what is required from the program

4
New cards

what is the design stage?

part of the program development lifecycle, it uses the program specification from the analysis stage to show how the program should be developed

5
New cards

what should be achieved by the end of the design stage?

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 the tasks work together

6
New cards

how can the outcomes of the design stage be formally documented?

using structure charts, state-transition diagrams and pseudocode

7
New cards

what is the coding stage?

part of the program development lifecycle, the writing of the program or suite of programs

8
New cards

what is the testing stage?

part of the program development lifecycle, the testing of the program to make sure that it works well under all conditions

9
New cards

how many times and with what kind of data is the testing stage of the program development lifecycle run?

run many times with different sets of test data

10
New cards

what does the testing stage of the program development lifecycle achieve?

tests that the program does everything it is supposed to do in the way set out in the program design

11
New cards

what is the maintenance stage?

part of the program development lifecycle, the process of making sure that the program continues to work during use

12
New cards

what does the maintenance stage of the program development lifecycle involve?

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

13
New cards

what is the waterfall model?

a linear sequential program development cycle, in which each stage is complete before the next is begun

14
New cards

is there high or low customer involvement in a waterfall model? when are customers involved?

low customer involvement, only involved at the start and end of the process

15
New cards

what are the advantages of a waterfall model? (5)

easy to manage, understand and use;
stages do not overlap and are completed one at a time;
each stage has specific deliverables (the quantifiable goods or services that must be provided upon the completion of a project);
works well for smaller programs where requirement are known and understood;
well documented as full documentation is completed at every stage

16
New cards

what are the disadvantages of a waterfall model? (4)

difficult to change the requirements at a later stage;
not suitable for programs where the requirements could be subject to change;
working program is produced late in the lifecycle;
not suitable for long, complex projects

17
New cards

what is an iterative model?

a type of program development lifecycle in which a simple subset of the requirements is developed, then expanded or enhanced, with the development cycle being repeated until the full system has been developed

18
New cards

what kind of programs are produced by an iterative model and how often?

working programs are produced for part of the system at every iteration

19
New cards

what are the advantages of an iterative model? (4)

some working programs developed quickly at an early stage in the lifecycle;
easier to test and debug smaller programs;
more flexible as easier to alter requirements;
customers involved at each iteration therefore no surprise when final system delivered

20
New cards

what are the disadvantages of an iterative model? (3)

whole system needs to be defined at start so it can be broken down into pieces to be developed at each iteration;
needs good planning overall and for every stage;
not suitable for short simple projects

21
New cards

what does RAD stand for?

rapid application development

22
New cards

what is rapid application development (RAD)?

a type of program development lifecycle in which different parts of the requirements are developed in parallel, using prototyping to provide early user involvement in testing

23
New cards

what is prototyping often used for in rapid application developments?

to show initial versions to customers to obtain early feedback

24
New cards

what kind of projects is rapid application development suitable for?

complicated projects that need developing in a short timeframe to meet the evolving needs of a business

25
New cards

what level of planning do rapid application development projects need?

minimal planning

26
New cards

what do rapid application development projects use?

reuses previously written code where possible, makes use of automated code generation where possible

27
New cards

what are the advantages of rapid application development? (4)

reduces overall development time;
rapid frequent customer feedback informs the development;
very flexible as requirements evolve from feedback during development;
as parts of the system are developed side by side, modification is easier because each part must work independently

28
New cards

what are the disadvantages of rapid application development? (3)

system under development needs to be modular (breaking a system into independent modules);
needs strong teams of skilled developers;
not suitable for short simple projects

29
New cards

what is a structure chart?

a modelling tool used to decompose a problem into a set of sub-tasks, it shows the hierarchy or structure of the different modules and how they connect and interact with each other

30
New cards

how is each module represented in a structure chart?

by a box

31
New cards

how are the parameters passed to and from the modules shown in a structure chart?

represented by arrows pointing towards the module receiving the parameter

32
New cards

what does the top level of a structure chart show?

the name for the whole task that is refined into sub-tasks or modules shown on the next level

33
New cards

how do structure charts show selection?

“if statements” are represented by diamond boxes

34
New cards

how do structure charts show repetition?

a semi-circular arrow pointing back to the same box it came out of and having an UNTIL statement next to it

35
New cards

what does FSM stand for?

finite state machine

36
New cards

what is a finite state machine (FSM)?

a mathematical model of a machine that can be in one state of a fixed set of possible states, one such state is changed to another by an external input, this is known as a transition state

37
New cards

what is a state-transition diagram?

a diagram showing the behaviour of a finite state machine (FSM)

38
New cards

what does a state-transition diagram show?

the conditions needed for an event or events that will cause a transition to occur, and the output or actions carried out as the result of that transition

39
New cards

how are states represented in a state-transition diagram?

as nodes (circles)

40
New cards

how are transitions represented in a state-transition diagram?

interconnecting arrows

41
New cards

how are events represented in a state-transition diagram?

as labels on the arrows

42
New cards

how are conditions showed in a state-transition diagram?

specified in square brackets after the event label

43
New cards

how is the initial state indicated in a state-transition diagram?

an arrow with a black dot

44
New cards

how is a stopped state indicated in a state-transition diagram?

by a double circle

45
New cards

what is a state-transition table?

a table showing every state of a finite state machine (FSM), each possible input and the state after the input

46
New cards

how does fault avoidance start?

with the provision of a comprehensive and rigorous program specification at the end of the analysis phase of the program development lifecycle, followed by the use of formal methods such as structure charts, state-transition diagrams and pseudocode at the design stage, at the coding stage, the use of programming disciplines such as information hiding, encapsulation and exception handling all help to prevent faults

47
New cards

can testing guarantee that large, complex programs are fault free under all circumstances?

no

48
New cards

what are syntax errors?

errors in the grammar of a source program in the coding phase of the program development lifecycle, programs are either compiled or interpreted so they can be executed, during this operation, the syntax of the program is checked and errors need to be corrected before the program can be executed

49
New cards

what does IDE stand for?

integrated development environment

50
New cards

what do most IDEs offer in reference to syntax errors?

suggestions about what syntax errors are present and how to correct them

51
New cards

what are logic errors?

errors in the logic of a program, meaning the program does not do what it is supposed to do, these errors are usually found when the program is being tested

52
New cards

what is a trace table?

a table showing the process of dry-running a program with columns showing the values of each variable as it changes

53
New cards

what is a run-time error?

an error found in a program when it is executed the program may halt unexpectedly

54
New cards

what is a patch?

a small program released by the developers to run with an existing program to correct an error or provide extra functionality

55
New cards

why should tests be documented?

to show that the program is robust and ready for general use

56
New cards

what is a test strategy?

an overview of the testing required to meet the requirements specified for a particular program, it shows how and when the program is to be tested

57
New cards

when is a test strategy set out?

in the analysis stage of the program development lifecycle

58
New cards

what is a test plan?

a detailed list showing all the stages of testing and every test that will be performed for a particular program

59
New cards

in what stage of the program development lifecycle does testing occur?

although there is a testing stage in the program development lifecycle, testing in some form occurs at very stage, from design to maintenance

60
New cards

what is a dry run?

a method of testing a program that involves working through a program or module from a program manually

61
New cards

what is a walkthrough?

a method of testing a program, a formal version of a dry run using pre-defined test cases

62
New cards

how are test plans often set out?

as a table

63
New cards

what is normal test data?

test data that should be accepted by a program

64
New cards

what is abnormal test data?

test data that should be rejected by a program

65
New cards

what is extreme test data?

test data that is on the limit of that accepted by a program

66
New cards

what is boundary test data?

test data that is on the limit of that accepted by a program or data that is just outside the limit of that accepted by a program

67
New cards

what is white-box testing?

a method of testing a program that tests the structure and logic of every path through a program module

68
New cards

what is black-box testing?

a method of testing a program that tests a module’s inputs and outputs

69
New cards

what is integration testing?

a method of testing a program that tests combinations of program modules that work together

70
New cards

what is stub testing?

the use of dummy modules for testing purposes

71
New cards

if any of the modules have not been written yet, what can integration testing include?

stub testing

72
New cards

what is alpha testing?

the testing of a completed or nearly completed program in-house by the development team

73
New cards

what is beta testing?

the testing of a completed program by a small group of users before it is released

74
New cards

in what order is testing after a program has been completed and is tested as a whole carried out in?

alpha testing is used first followed by beta testing

75
New cards

what is acceptance testing?

the testing of a completed program to prove to the customer that it works as required

76
New cards

what is corrective maintenance?

the correction of any errors that appear during use

77
New cards

what is perfective maintenance?

the process of making improvements to the performance of a program

78
New cards

what is adaptive maintenance?

the alteration of a program to perform new tasks

79
New cards

what are the categories that program maintenance can usually be divided into?

corrective maintenance, perfective maintenance, adaptive maintenance