Software Design & Development Flashcards
The software development process is described as being ‘iterative’, what does this mean?
The process being ‘iterative’ means that you may go back to a certain stage at any point in the process.
What takes place in the ‘Analysis’ stage of the software development process?
In the analysis stage, the functional requirements of a programme are established based off of the client’s needs.
What are ‘functional requirements’ in a programme?
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.
What are the three stages we can split the ‘functional requirements’ of a programme into?
The three stages we can split the ‘functional requirements’ of a programme into are the inputs, the processes, and the outputs.
What are ‘inputs’ in computer programmes?
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.
What are ‘processes’ in computer programmes?
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.
What is an ‘output’ in computer programmes?
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..
What takes place in the ‘design’ stage of the software development process?
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.
What are the three different types of design notations?
The three types of design notations are structure diagrams, flowcharts, and pseudocode.
What is a ‘structure diagram’?
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.
What is a ‘flowchart’?
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.
What is ‘pseudocode’?
‘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 would you design a user interface in the ‘design’ stage?
A wireframe (based on the inputs and outputs) can be constructed, which shows the design of the user interface.
What takes place in the ‘Implementation’ stage of the software development process?
In the ‘implementation’ stage, the programme is written in a programming language, and the code written is derived off of the design.
What are the three different types of standard algorithms?
The three different types of standard algorithms taught at national 5 are: input validation, running totals within a loop, traversing an array.
What is ‘input validation’?
‘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.
What is a ‘running total within a loop’?
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.
What is ‘traversing an array’?
‘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.
What are the 4 ways a programmer can make their code more easily understandable by other programmers?
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.
What is the ‘testing’ stage of the software development process?
The ‘testing’ stage is where the code written is tested through a wide variety of data to ensure that it is robust.
When a programme is said to be ‘robust’, what does this mean?
A ‘robust’ programme is one which will hold up, no matter what input it receives.
What are the ways we can ensure a programme is robust?
There are a few ways we can ensure a programme is robust: Implementing extremes, and using exceptional data.
What are ‘extreme’ data sets?
‘extremes’ are the lowest and highest values a programme should be able to accept.
What are ‘normal’ data sets?
‘normal’ data sets are the expected data sets to be inputted into a programme.