Development methodologies
Describe and compare the development methodologies:
- iterative development process
- agile methodologies
Analysis
- Identify the:
- purpose
- scope
- boundaries
- functional requirements
of a problem that relates to the design and implementation at this level, in terms of:
- inputs
- processes
- outputs
Design
Identify the data types and structures required for a problem that relates to the implementation at this level.
Read and understand designs of solutions to problems at this level, using the following design techniques:
- structure diagrams
- pseudocode
Illustrate and implement efficient design solutions to a problem, using a recognised design technique showing:
- top level design
- the data flow
- refinements
Describe, illustrate, and implement user-interface design, in terms of input and output, using a wireframe.
Implementation
Data types and Structures
Describe, illustrate and implement appropriately the following structures:
- parallel 1D arrays
- records
- arrays of records
Computational Constructs
Describe, illustrate, and implement the appropriate constructs in a procedural high-level (textual) language:
- parameter passing (formal and actual)
- the scope of local and global variables
- sub-programs/routines, defined by their name and arguments (inputs and outputs):
- functions
- procedures
- pre-defined functions (with parameters) to:
- create substrings
- convert from character to ASCII and vice versa
- modulus
- convert floating-point numbers to integers
- file handling
- sequential CSV and txt files (open, create, read, write, close)
Standard Algorithm
Describe, illustrate, and implement standard algorithms using 1D arrays or arrays of records:
- linear search
- find minimum and maximum
- count occurrences
Testing
Describe, illustrate and implement a comprehensive final test plan to show that the functional requirements are met.
Identify syntax, execution, and logic errors at this level. Describe and illustrate de-bugging techniques:
Evaluation
- dry runs
- trace tables/tools
- breakpoints
- watchpoints
Describe, identify, and illustrate the evaluation of a solution in terms of:
- fitness for purpose
- efficient use of coding constructs
- usability
- maintainability
- robustness