Topic

Software Design and Development (SDD) – National 5 (v2.1)

Development methodologies

Describe and implement the phases of an iterative development process: analysis, design, implementation, testing, documentation, and evaluation, within general programming problem-solving.

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

Design

Identify the data types and structures required for a problem that relates to the implementation at this level, as listed below.

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.

Implementation (data types and structures)

Describe, exemplify, and implement appropriately the following data types and structures:

  • character
  • string
  • numeric (integer and real)
  • Boolean
  • 1-D arrays

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 <,>, ≤, ≥, =, ≠ operators
  • selection constructs using complex conditional statements
  • logical operators (AND, OR, NOT)
  • iteration and repetition using fixed and conditional loops
  • pre-defined functions (with parameters):
    • random
    • round
    • length

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 1-D 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