SDD - Theory Flashcards
Name the 6 phases of the software development process in order
Analysis
Design
Implementation
Testing
Documentation
Evaluation.
Explain why the software development process in iterative?
The software development process is iterative because because stages can be revisited if mistakes or issues are found e.g. after testing the process may return to the implementation stage to fix any programming errors, or the design stage to fix any design errors.
What happens in the Analysis stage of the software development process
In the Analysis phase will determine:
1) The purpose of the software - what the software will be used for
2) The functional requirements of the software - this will specify inputs, processes and outputs.
Identify the functional requirements: Software should be created to allow a user to enter ten numbers. Each number must be validated to make sure that it is no less than 0 and no more than 100. The program should keep a running total of the numbers entered and output the final total.
Inputs:
Ten numbers
Process:
Validate ten numbers
Calculate total
Outputs:
Total
Identify the functional requirements: The owners of a theme park have asked that a program be developed to record the average number of visitors in a week. A user will enter the total number of visitors for each day of the week. The program should then output the average number of visitors across the week.
Inputs:
Daily total
Process:
Calculate average
Outputs:
Average
Identify the functional requirements: A program is to be developed to create usernames for a class of twenty pupils. The program will ask a teacher to enter the first name, surname and age of each pupil. The age entered must be between five and eighteen. The program should output a list of usernames for the teacher.
Inputs:
Pupil first name
Pupil surname
Pupil age
Process:
Create username
Validate age
Outputs:
List of usernames
Name 2 common assumptions from the analysis phase
The client has hardware needed to run the software
No software compatibility concerns
No issues with internet connection/ accessibility during use
IT competency of the target user group
List the 5 Data Types you need to know for National 5 Computing
Character
String
Integer
Real/Float
Boolean
Name the appropriate data
type for a students grade. e.g. A, B, C, D, U and explain your choice.
Character - Student grade is stored as a single character
Name the appropriate data
type for number of students going on a trip, and explain your choice.
Integer - you can not have part of a student going on a trip therefore the datatype should be a whole number
Name the appropriate data
type for the price of a item in a supermarket, and explain your choice.
Real Number - The price of items in a supermarket has a decimal point e.g. 1.99 therefore real is the appropriate choice
Name the appropriate data type for the name of a supermarket product , and explain your choice.
String - The name of the product is a string of characters e.g “pepsi”
Name the appropriate data type to record if a student in going on a trip, and explain your choice.
Boolean - The answer to the question is either yes/no or true/false therefore this is the appropriate data type
What is the name of the data structure you need to know for National 5 Computing
1 D Array or 1 dimensional Array
A program is required to store the temperature for each day of the week. Temperatures are recorded to 1 decimal place.
State which data structure would be used in this program.
1 D Array or a 1 D Array of real numbers
Draw the symbols, for a loop, selection, process and predefined function in a structure structure diagram
Loop: Rectange
Process: Oval
Selection: Hexagon
Predefined Function: Rectangle with 2 lines
See bitesize for more details
Name the 3 design notations (techniques) your need to know for Nat 5 Computer Science
structure diagrams
flowcharts
pseudocode
Name the 3 types of test data
normal
extreme
exceptional
Describe normal test data
Data that you would expect to work or be accepted and that lies within the range
Describe normal test data
Data that you would expect to work or be accepted and that lies within the range
Describe and use extreme test data
Data at the lower and upper limits of the range
What type of test data is being described? Data that should not be accepted by the program
exceptional
What type of test data is being described? Data at the lower and upper limits of the range
extreme
What type of test data is being described? Data that you would expect to work or be accepted and that lies within the range
normal
A program asks the user to enter a number between 100 and 1000. Give an example of normal, extreme and exceptional test data
Normal: 500 (any number between 101 and 999)
Extreme: 100 or 1000
Exceptional: 99, bob
(Any Word, any number less than 100, any number greater than 1000)
A program asks the user to enter a password at least 6 characters long. Give an example of normal, extreme and exceptional test data
Normal: password
(any string/number with 7 or more characters)
Extreme: hello1
(any string/number with 6 characters)
Exceptional: 99, bob
(Any Word, any number less 6 characters)
A program asks the user to enter a number between 1 and 100.
When testing the program the following data is input.
1
50
Bob
100
75
-99
101
Identify the test type for each piece of test data
1: extreme
50: normal
Bob: exceptional
100: extreme
75: normal
-99
101
Name the 3 types of programming errors
Syntax
execution
logic
Describe a syntax error
Syntax errors are errors in code such as mis-spelled keywords or incorrect use of the programming language rules.
Identify the error type.
Errors in code such as mis-spelled keywords or incorrect use of the programming language rules.
Syntax
Describe an execution error
Execution errors (also called run-time errors) will cause the program to crash unexpectedly.
For example when a number is divided by 0
When running the program crashed what type of error has occured
execution error
Describe a logic error
A logic error does not cause the program to crash, but it will produce unexpected results.
A program to calculate a quote shows the wrong value when run. What type of error has occurred?
Logic Error
When running your program, the code editor does not recognise the comand you have entered. What type of error has occured?
Syntax error
How do we know if a program is fit for purpose.
A program is fit for purpose if it meets the requirements specification set out during the analysis phase.
The final program should match the purpose and functional requirements
What should you look out for to make your code effiecent.
Efficient code uses less resources (processor, RAM) and executes more quickly. Code can be made more efficient by:
- Using repeat loops wherever possible
- Using if statements that will exit when the selection condition has been met
- Using complex conditions instead of simple conditions
- Using arrays instead of multiple variables
How do you know if your program is robust?
A program is robust if it can handle a range of different inputs without crashing. Test
Name 4 ways you can make your code more readable?
- internal commentary
- meaningful variable names
- indentation
- white space