What is the Software Development Lifecycle (SDLC)?
What are the five methodologies?
What are the phases in the SDLC?
What is the waterfall methodology?
What is the Spiral methodology?
What is the Rapid Application Development (RAD) methodology?
What is the Agile methodology?
What is the Extreme Programming methodology?
What are the benefits of the waterfall methodology?
What are the drawbacks of the waterfall methodology?
What are the benefits of the Spiral methodology?
What are the benefits of the RAD methodology?
What are the benefits of the agile/extreme programming methodologies?
What are the drawbacks of the Spiral methodology?
What are the drawbacks of the RAD methodology?
What are the drawbacks of the agile/extreme programming methodologies?
What is an algorithm?
A sequence of steps designed to perform a task. It may be constructed to describe the operation of a complete system or a particular part of it.
What is pseudocode?
Pseudocode is an alternative, text-based method of representing the sequence of steps in an algorithm.
Writing pseudocode allows us to lay down the logic of a problem in a code-like format without worrying about the rules and syntax of a particular language.
What does it mean to refine an algorithm?
The process of producing code that correctly implements a specification.
What is a flowchart?
A diagram that depicts a step-by-step approach to a process, system or computer algorithm.
Why would a program need testing?
Any non-trivial program needs to be tested to make sure it works as intended.
What are the 4 testing strategies?
What is black-box testing?
It involves checking every possible input to a program without concerning about the internal workings and structure of the program. Code efficiency is not important as long as inputs return the desired outputs.
If all inputs produce the desired outputs, we can be satisfied the program works in all cases - however, this is often not feasible.
What is white-box testing?
Involves testing the algorithms in the code and making sure all parts of those algorithms function as intended by identifying and testing all the possible paths of execution through a program.
On each test run, the path of execution is noted so it can be compared with other runs. It also checks the overall efficiency of the code.