12 - Fundamentals of Software Development Flashcards

1
Q

What are the 5 stages of software development?

A

Analysis
Design
Implementation
Testing
Evaluation

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

What is the analysis stage?

A

Where the problem is identified, researched and alternative solutions proposed.

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

What does defining the problem include?

A

Identifying the scope of the problem#
Identifying the constraining factors
Identifying how much of the problem a new system can solve

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

What are four ways to investigate how an existing system works?

A

Interview people involved with the system
Ask people to fill in questionnaires or surveys
Observe current practices
Examine the current system(files, paperwork and processes)

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

What is a feasibility study?

A

An analysis on whether it is possible or desirable to create a system.

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

How is a feasibility study carried out?

A

By identifying possible solutions and suggesting the best way forward.

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

What is the design stage?

A

Where algorithms, data and interface are designed.

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

What is defined in the design stage?

A

The way in which data will be manipulated and stored.
File structures and algorithms that are going to be used.
Choice of hardware.

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

What is top-down design?

A

Breaking a problem down into smaller self-contained modules, where each can be tested and worked ion individually.

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

What is a data flow diagram?

A

A visual method of showing how data passes around a system.

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

What is a data dictionary?

A

A list of all the data being used in the system, including name, length, data type and validation.

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

Why are data dictionaries used?

A

They can reduce the number of problems encountered later in the project.

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

What is a variable table?

A

A list of all variables a program will use, including name and data type.

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

Why is declaring variables useful?

A

It allows the programmer much tighter control of their program.

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

Why is the volume of data important?

A

It will determine how the programmer stores and handles the data.

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

What are the 3 key things to consider when it comes to volume of data?

A

How many transactions the system will need to handle in a given time frame
How much data the system will need to store at any given time
How many users are allowed t access the files/programs at one time.

17
Q

What is the human-computer interface?

A

Any form of communication between a computer and its user.

18
Q

What are the 4 considerations when making an HCL?

A

Ease of use
Target audience
Technology
Ergonomics (feels comfortable)

19
Q

What is the implementation stage?

A

The actual code3 and data strictures are created. (Working system)

20
Q

What is a prototype?

A

A stripped down version of a whole system, sued to test whether a concept works.

21
Q

What is the testing stage?

A

Includes a range of tests using a variety of data, to ensure the code performs as expected.

22
Q

When should tests be carried out?

A

During development and at the end

23
Q

What is test data?

A

Data that generates a know result and that covers every aspect of a solution.

24
Q

What is normal test data?

A

Test data within the expected range of the system, that should produce a correct result.

25
What is boundary test data?
Test data on or close to the boundary of the acceptable range. (eg. max and min values just inside/outside the range)
26
What is erroneous test data?
Test data that is clearly incorrect and that should produce an error.
27
What is black box testing?
Entering test data into a routine and comparing the result with the expected outcome.
28
What is white box testing?
Testing every aspect of a routine, considering all processes involved and pathways. Typically done by adding extra comments).
29
What is unit testing?
Testing carried out on jus one module or component.
30
What is system testing?
Testing the whole system as a complete unit.
31
What is alpha testing?
Creating test data to try and cover all possible eventualities, allowing the system to be tested under normal conditions.
32
What is beta testing?
When an earlier version of the code is released to potential users, where that send details of problems back for the programmer to resolve.
33
What are the advantages of alpha testing?
Allows errors to be fixed before live data is used by the end user.
34
What are the advantages of alpha testing?
Useful to find faults that wouldn't have been found by normal means.
35
What is acceptance testing?
Testing carried out by the intended user, where they enter their own live data and ensure the system matches the specifications.
36
What is the evaluation stage?
The system is judged according to certain criteria.
37
What happens in the evaluation stage?
The outcome of the code if compared to the specification agreed on with the user. Refinements and suggestions for future improvements are made.
38
What criteria is used to evaluate the system? (8)
Functionality Ease of use Easy of implementation Reliability Performance Cost effectiveness Ease of maintenance and adaptability Longevity