Software Design & Development

At Kings Park High School we use Python has the programming language for this unit. You can download python from https://www.python.org/downloads/.

Alternatively you can work on Python code via https://repl.it/repls/LinenGleefulMachinecode

The Higher Python resource that is used in class can be found here if you would like to do additional work at home.

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

Exemplify and implement efficient design solutions to a problem, using a recognised design technique, showing:

  • top level design
  • the data flow
  • refinements

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 structures:

  • parallel 1D arrays
  • records
  • arrays of records
Implementation (computational constructs) Describe, exemplify 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
    • to convert from character to ASCII and vice versa
    • to convert floating-point numbers to integers
    • modulus
  • file handling:
    • sequential CSV and txt files (open, create, read, write, close)
      Read and explain code that makes use of the above constructs.
Implementation (algorithm specification) Describe, exemplify and implement standard algorithms using 1D arrays or arrays of records:

  • linear search
  • find minimum and maximum
  • count occurrences
Testing Describe, exemplify 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 exemplify debugging techniques:

  • dry runs
  • trace tables/tools
  • breakpoints
  • watchpoints
Evaluation Describe, identify and exemplify the evaluation of a solution in terms of:

  • fitness for purpose
  • efficient use of coding constructs
  • usability
  • maintainability
  • robustness