Software Design & Development Flashcards

1
Q

The software development process is described as being ‘iterative’, what does this mean?

A

The process being ‘iterative’ means that you may go back to a certain stage at any point in the process.

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

What takes place in the ‘Analysis’ stage of the software development process?

A

In the analysis stage, the functional requirements of a programme are established based off of the client’s needs.

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

What are ‘functional requirements’ in a programme?

A

The ‘functional requirements’ of a programme are the functionalities a program must be able to perform in order to be fit for it’s purpose.

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

What are the three stages we can split the ‘functional requirements’ of a programme into?

A

The three stages we can split the ‘functional requirements’ of a programme into are the inputs, the processes, and the outputs.

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

What are ‘inputs’ in computer programmes?

A

In computer programmes, an ‘input’ is the data received by a programme, often by a user in the form of a prompt, log-in screen, and etc.

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

What are ‘processes’ in computer programmes?

A

In computer programmes, the ‘process’ is the part of the programme where the data derived from the input is used to generate an output.

This can be through the form of concatenation, accessing a database, and etc.

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

What is an ‘output’ in computer programmes?

A

The ‘output’ is how the computer presents the results of the process, this is often done by displaying the processed data on the user interface..

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

What takes place in the ‘design’ stage of the software development process?

A

In the ‘design’ stage, the functional requirements of a programme are iterated upon, and key data types and structure which will be used in the code are identified.

This stage allows for far easier implementation, as the design notations used are based off of universal programming constructs.

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

What are the three different types of design notations?

A

The three types of design notations are structure diagrams, flowcharts, and pseudocode.

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

What is a ‘structure diagram’?

A

A ‘structure diagram’ is a visual design notation.

It uses a small variety of symbols to show what is being done at any point of a programme.

‘structure diagrams’ are read from the left hand side, to the right.

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

What is a ‘flowchart’?

A

A ‘flowchart’ is a visual design notation.

‘Flowcharts’ use a wide variety of symbols to show what is being done at any point in a programme.

‘Flowcharts’ are read in the direction at which they flow.

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

What is ‘pseudocode’?

A

‘Pseudocode’ is a written design notation.

It is unformalized, which means that it is not based on any programming language, and does not follow any set standards.

‘Pseudocode’ is written in a basic code format allowing programmers to clearly state the use of programming constructs.

It is advised you learn this technique for use in questions, as it is by far the simplest to write.

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

How would you design a user interface in the ‘design’ stage?

A

A wireframe (based on the inputs and outputs) can be constructed, which shows the design of the user interface.

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

What takes place in the ‘Implementation’ stage of the software development process?

A

In the ‘implementation’ stage, the programme is written in a programming language, and the code written is derived off of the design.

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

What are the three different types of standard algorithms?

A

The three different types of standard algorithms taught at national 5 are: input validation, running totals within a loop, traversing an array.

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

What is ‘input validation’?

A

‘Input validation’ is code which checks whether an input is valid and can be used within the programme.

E.g. When a user is asked to input a number, and a string is entered, the user is asked to re-enter the number.

17
Q

What is a ‘running total within a loop’?

A

A ‘running total within a loop’ is code which iterates on a total every time a loop runs.

E.g. An array of scores is traversed through a loop, and for every index of the array, the score is added onto the total score.

18
Q

What is ‘traversing an array’?

A

‘Traversing an array’ is code which accesses each item stored in an array, so that the data can be checked or used as part of a process.

E.g. Adding each number within an array, by using a fixed loop, and using the loop counter as the index of the array.

19
Q

What are the 4 ways a programmer can make their code more easily understandable by other programmers?

A

A programme can be made more easily understandable through 4 key principles:

Using internal commentary to describe the meaning of code,
Using meaningful variable names,
Indenting code,
Adding white-space between different parts of code.

20
Q

What is the ‘testing’ stage of the software development process?

A

The ‘testing’ stage is where the code written is tested through a wide variety of data to ensure that it is robust.

21
Q

When a programme is said to be ‘robust’, what does this mean?

A

A ‘robust’ programme is one which will hold up, no matter what input it receives.

22
Q

What are the ways we can ensure a programme is robust?

A

There are a few ways we can ensure a programme is robust: Implementing extremes, and using exceptional data.

23
Q

What are ‘extreme’ data sets?

A

‘extremes’ are the lowest and highest values a programme should be able to accept.

24
Q

What are ‘normal’ data sets?

A

‘normal’ data sets are the expected data sets to be inputted into a programme.

25
Q

What are ‘exceptional’ data sets?

A

‘exceptional’ data sets are ones which should not be accepted in the programme.

26
Q

What are the three types of errors you can come across in a programme?

A

The three types of errors you can come across in a programme are: syntax errors, execution errors, and logic errors.

27
Q

What is a ‘syntax’ error?

A

A ‘syntax’ error is one which occurs when your written code breaks a rule of the programming language.

These are most commonly seen when code is wrongly written, with wrong keywords.

A ‘syntax’ error will cause a crash.

28
Q

What is an ‘execution’ error?

A

An ‘execution’ error is one that occurs while the programme is running, meaning it will not be highlighted to the programmer as the programme is being written.

This type of error usually occurs when input from a user breaks the rules of a programme, e.g. a user tries to divide a value by 0.

An ‘execution’ error will cause a crash.

29
Q

What is a ‘logic’ error?

A

A logic error is one which occurs when a program operates unexpectedly.

This is not truly an ‘error’ as it is not caught by the language itself, but it is one which breaks the requirements of a programme.

E.g. when calculating a price, the output price is shown but it is an unexpected value.

It is up to testing the code to find these errors.

30
Q

What are the three predefined functions you should know?

A

The three predefined functions taught at national 5 are: random, round, length.