Developing Software Flashcards

1
Q

Name the three main constructs of programming

A

Sequence, selection and iteration

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

Describe the ‘sequence’ construct of programming

A

Sequence is the process of a program running instructions one after the other, from the top of the program to the bottom

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

What is a syntax error caused by

A

A syntax error is caused by the failure of the programmer to use the correct grammatical rules of the language

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

What is a run-time error caused by

A

A run-time error occurs when the user directs the computer to perform an illegal operation, e.g. Dividing a number by zero, assinging a variable to the wrong type of variable, using a variable in a program before assigning a value to it, etc.

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

What makes logic errors the hardest errors to detect in a program

A

They are the hardest to detect as they do not halt the program

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

Describe black box testing

A

Black box testing treats the system as one that cannot be seen in detail. The structure of the program is not taken into account. The tests are based on what the program does.

This approach should generally be performed as so:
Code and unit test a component
Add the component to the existing combination
Test and debug the new combination

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

Describe white box testing

A

White box testing treats the system as one in which the workings can be seen. The structure of the program is taken into account when tests are designed for the program. It should do the following:
Guarantee all statements in the program have been tested at least once
Test all decision statements on their true and false side and check to see which paths have not been tested in the black box approach
Test all loops at their boundaries and their operational limits
Exercise internal data structures to check their validity
Create new test data for paths not already tested

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

Name the three main categories test data can be divided into

A

Normal, extreme and exceptional

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

Describe normal test data

A

Data input that is likely that the program will process during a typical run

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

Describe extreme test data

A

Data input that is not typical and may occur at the boundaries of the programs processing

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

Describe exceptional test data

A

Data input that is incorrect and will need to be validated by the program to prevent the program giving incorrect results or crashing

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

State the five parts a technical guide is composed of

A
Project brief
Specification document
Design document
Program code listing 
Test documentation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Describe a project brief

A

A project brief sets out the general requirements of a client from a system. It is written in non-technical terms and acts as a reference for the programming team. Used as the basis for the creation of the software requirements specification

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

Describe what a software requirements specification includes and why it is used

A

The project brief is normally not detailed enough for implementation. The software requirements specification is a complete statement of the functional and informational requirements of the proposed system.

Its structure will be similar to this:
Introduction
Information description
Functional description

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

Describe a design document

A

The design document shows the architectural design of the system. Architectural design is concerned with the overall organisation of a software system. The main idea is to use functional decomposition.

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

Describe functional decomposition

A
The process of using the subprogram facility available in most high-level languages to decompose a problem into simpler sub-problems which can be handled seperately.
Each software component is called a module and the process is also known as modular design.

Normally described as a top-down approach

17
Q

Describe a stack pointer and its function

A

The stack pointer is a register that stores the address of the last program request in a stack

18
Q

Describe a stack

A

A stack is a specialised buffer which stores data from the top down

19
Q

Where is a data dictionary found and what does it include

A

A data dictionary is normally found within the specification document and includes variable names, data types, descriptions and scopes.

20
Q

Describe how you would solve a software issue using the troubleshooting process

A

Identify symptoms of problem
Find out where problem lies - could be within the design, code etc.
Isolate the problem to one part of the program
Desk check the code
Make corrections to code
When corrected, update the documents and document the solution to the problem