Software Design Development

Unit Content

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:

  • inputs
  • processes
  • outputs

Design

Identify the data types and structures required for a problem

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
  • predefined functions (with parameters):

— random
— round
— length

Read and explain code that makes use of the above constructs.

Implementation(algorithmspecification)

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 spaces