Software Design & Development

Area Description Questions
Development Methodologies Describe and implement the phases of an iterative development process: analysis, design, implementation, testing, documentation, and evaluation, within general programming problem-solving. 2018 SP Q2(1)
Analysis Identify the purpose and functional requirements of a problem that relates to the design and implementation at this level, in terms of: inputs, processes, outputs 2018 SP Q16(a)(3)
Design Identify the data types and structures required for a problem that relates to the implementation at this level, as listed below. 2013 SP Q17(b)(3)
Describe, identify, and be able to read and understand:
  • structure diagrams
  • flowcharts
  • pseudocode
Exemplify and implement one of the above design techniques to design efficient solutions to a problem.
Describe, exemplify, and implement user-interface design, in terms of input and output, using a wireframe. N/A
Implementation (Computational constructs) Describe, exemplify, and implement the appropriate constructs in a high-level (textual) language:
  • expressions to assign values,
  • expressions to return values using arithmetic operations (addition, subtraction, multiplication, division, and exponentiation),
  • expressions to concatenate strings,
  • selection constructs using simple conditional statements with < , > , < =, >=,
  • selection constructs using complex conditional statements,
  • logical operators (AND, OR, NOT),
  • iteration and repetition using fixed and conditional loops,
  • predefined functions (with parameters):
    •  random
    •  round
    •  length
  • equality, inequality operators
Read and explain code that makes use of the above constructs.
Implementation (algorithm specification) Describe, exemplify, and implement standard algorithms:
  • input validation
  • running total within loop
  • traversing a 1D array
Testing Describe, identify, exemplify, and implement normal, extreme, and exceptional test data for a specific problem, using a test table.
Describe and identify syntax, execution, and logic errors.
Evaluation Describe, identify, and exemplify the evaluation of a solution in terms of:
  • fitness for purpose
  • efficient use of coding constructs
  • robustness
  • readability
    • internal commentary
    • meaningful identifiers
    • indentation
    • white space