2.3 - 2.5 Flashcards
What is defensive design?
The practice of planning for contingencies in the design stage of a project.
What does anticipating misuse involve in defensive design?
Considering how an end user might accidentally or deliberately break a program and writing additional code to handle these situations.
What is authentication in the context of defensive design?
Verifying a user’s identity before they can use a system.
What is recommended for strong passwords?
Passwords over a certain length with symbols and mixed-case letters.
What is input validation?
Ensuring data input by a user meets specific criteria before processing.
List types of input validation checks.
- Range check
- Type check
- Presence check
- Format check
What does maintainability refer to in defensive design?
Techniques and methods that make code easier to debug, update and maintain.
What are naming conventions?
Defined naming conventions for variables, contents and procedures.
What is camel case in naming conventions?
A style where the first word is all lower case and subsequent words start with a capital letter.
What is the purpose of indentation in coding?
Makes it easier to see where structures begin and end.
What is commenting in programming?
Used to explain sections of code and ignored by the compiler.
What is testing in software development?
Assessing the performance and functionality of a program under various conditions.
What is iterative testing?
Each module of a program is tested as it is developed.
What is final/terminal testing?
Checking that all modules of a program work together as expected.
What is a syntax error?
Rules of the language have been broken, preventing the program from running.
What is a logical error?
The program runs but does not give the expected output.
What are test data?
Values used to test a program.
Define normal test data.
Data supplied to a program that is expected within allowed limits.
Define boundary test data.
Data designed to test the boundaries of a problem.
Define invalid test data.
Data of the correct type but outside accepted validation limits.
Define erroneous test data.
Data of the incorrect type that should be rejected.
What is a logic diagram?
A method of expression Boolean logic in a diagram using standard symbols.
What is a logic gate?
A symbol in a logic diagram that represents a single gate.
What does the AND logic gate do?
Accepts two inputs and produces one output, which is TRUE only if both inputs are TRUE.
What does the OR logic gate do?
Accepts two inputs and produces one output, which is TRUE if at least one input is TRUE.
What does the NOT logic gate do?
Accepts one input and produces the opposite output.
What is a truth table?
A notation used in Boolean algebra to define the output of a logic gate.
What is a high-level language?
Designed to express a computer program in a way that reflects the problem being solved.
What is a low-level language?
Close to machine code and closely related to the design of the machine.
What is a translator in programming?
Takes a program written in one programming language and converts it to another.
What is a compiler?
Translates high-level language source code into a computer’s machine code.
What is an interpreter?
Translates and executes a program one statement at a time.
What is an Integrated Development Environment (IDE)?
A software application that provides comprehensive facilities for software development.
What are error diagnostics in an IDE?
IDE tools that provide detailed feedback on errors in code.
What is a run-time environment?
A configuration of hardware and software required by a particular category of application.