12 - software development Flashcards

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
+ 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
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
+ 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
7
Q

RAD - Rapid Application Development

A
  • develops different parts in parallel using prototyping to provide early involvement with the user
    + 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
8
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
9
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
10
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
11
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
12
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
13
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

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

dry run

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
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

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

types of test data

A

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

17
Q

white box testing

A

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

18
Q

black box testing

A

test inputs and outputs

19
Q

integrations

A

tests seperately written modules work together

20
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

21
Q

alpha testing

A

the completed program is tested in house by the development team

22
Q

beta testing

A

tested by a small group of users

23
Q

acceptance testing

A

used for the completed program to prove to the customer it works in the required environment

24
Q

corrective maintenance

A

correct any errors that appear during use eg run time error missed in testing

25
Q

perfective maintenance

A

improve the performance of a program in its use eg improving speed

26
Q

adaptive maintenance

A

alter program so it can perform new tasks required by the user eg adding the ability for voice commands as well as text