12 - software development Flashcards

(29 cards)

1
Q

library routines

A

are pretested functions/procedures ready for use

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

program development lifecycle

A

the process of developing a program
analysis, design, coding, testing, maintenance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

analysis

A

investigation as to whagt is needed to be done and specification of what required

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

design

A

uses spec to show hwo it shoudl develop

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

waterfall model

A

each stage is completed and signed off before the next begins

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

iterative model

A

first develop a subset of the requirements then then the cycle again until the full system is developed - repeats waterfalls

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

waterfall + /-

A

+ easy to manage/ use
+ stages do not overlap and are completed one at a time
+ each stage has specific deliverables
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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

iterative + /-

A

+ quick to develop early stage
+ easier to debug smaller programs
+ more flexible
+ customers involved in each iteration
- need to define whole system to break it down
- needs to be good planning
- not for short projects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

RAD - Rapid Application Development

A
  • develops different parts in parallel using prototyping to provide early involvement with the user
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

RAD + /-

A

+ shorter time
+ frequent feedback
+ flexible
+ modification is easier as parts work separately
- need to be a modular system
- not for short projects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

structure chart

A

used to decompose a problem into sub tasks
shows a hierarchy of different modules and how they connect via oupits / input
each module is a box and parameters are arrows

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

finite state machine

A

can be one of a fixed set of possibile states - states are changes by input

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

state transition diagram

A

states are circles
transitions are arrows
events are labelled
conditions can be specified in []
initial state is an arrow with a black dot
the final state is a double cirle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

locating errors

A
  • most IDEs flag syntax errors
  • logic errors are found in testing
  • can single step to find errors or manual work through a trace table
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

run time errors

A

happen in the execution of the program
may halt unexpectedly or infinitely loop

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

test plan

A

shows all stages of testing and how and when it should be tested
once tested add results to the test plan to show progress

16
Q

dry run

A

developer works through program manually wiht a trace table eg though pseudocode

17
Q

walkthrough

A

used predefined test cases where another member dry runs the pseudocode to check specific areas eg to test the calc use 20 + 10 = 30

18
Q

types of test data

A

normal data - acceptable
abnormal data - rejected
extreme data - on the limit
boundary data - within or just outside limits

19
Q

white box testing

A

involves testing the structure and logic of every path through a program

20
Q

black box testing

A

test inputs and outputs

21
Q

integrations

A

tests seperately written modules work together

22
Q

stub testing

A

used dummy modules to test whole code while certain modules aren’t finished yet
eg run whole code and once the add module is called it will output run add module

23
Q

alpha testing

A

the completed program is tested in house by the development team

24
beta testing
tested by a small group of users
25
acceptance testing
used for the completed program to prove to the customer it works in the required environment
26
corrective maintenance
correct any errors that appear during use eg run time error missed in testing
27
perfective maintenance
improve the performance of a program in its use eg improving speed
28
adaptive maintenance
alter program so it can perform new tasks required by the user eg adding the ability for voice commands as well as text