Skip to content

Detailed Designs

Need a template?

Use the Detailed Design Package Template to structure the data dictionary, object descriptions, mock-ups, IPO charts and pseudocode.

After you receive feedback and evaluate your design ideas against the criteria, develop your preferred idea into a detailed design.

Your detailed designs should clearly represent how the software solution will:

  • function
  • look
  • behave for the user

When you produce detailed designs, include user experience and design principles that affect both appearance and functionality.

Detailed Designs May Include

  • data dictionaries
  • mock-ups with explanations and justifications
  • object descriptions
  • IPO charts
  • pseudocode

Data Dictionaries

Data dictionaries are used to design the data requirements of a software module, including variables, constants, objects and interface controls.

Minimum fields:

  • Name
  • Data type

Additional fields can be added where needed, such as:

  • Description
  • Field size
  • Validation rules
  • Data sample

Sample data dictionary

Name Data type Description
strGivenName String User's given name
strFamilyName String User's family name
intAge Integer User's age calculated from the provided date of birth and rounded down

Mock-ups

Mock-ups are detailed diagrams showing how the interface will look.

Annotations should explain:

  • appearance: font, text colour, text size, alignment or justification, image choices, control properties
  • structure: required controls, default values, control sizes, functionality, control properties
  • design-principle choices and user-experience decisions
  • reasons behind important design choices

Object Descriptions

Object descriptions are used to design objects that will be used in the software module.

Each description should include:

  • the object name
  • the required attributes or properties
  • the required methods or behaviours
  • data types where needed
  • parameters where needed

Sample object description

  • Name: Dog
  • Properties / attributes: Name (string), Breed (string), Age (integer), Colour (string)
  • Methods: bark(), eat(food), wag_tail()

Input-Process-Output (IPO) Charts

IPO charts provide a brief overview of the inputs, processes and outputs for a task. Use separate IPO charts when multiple tasks are being represented.

Sample IPO chart

Input Processes Output
User uploads file containing a series of numbers Calculate the sum and average of the numbers Display the sum and average of the numbers; output values to file

Pseudocode

Pseudocode represents algorithms using structured English and common symbols.

Conventions

  • Blocks must start with BEGIN and finish with END.
  • Reserved words are capitalised and normally shown in bold in a formatted document.
  • Indentation should show hierarchy and nested control structures clearly.
  • Values can be assigned using <- or the SET keyword.
  • Inputs can be shown using READ or INPUT.
  • Outputs can be shown using PRINT, RETURN or OUTPUT.
  • Selection structures can use IF-THEN, IF-THEN-ELSE, IF-ELSEIF, CASE or SWITCH.
  • Repetition structures can use DO-WHILE, REPEAT-UNTIL, WHILE and FOR.
  • Conditions can be joined with AND and OR.
  • Lines may or may not be numbered.

Sample pseudocode

BEGIN
SET a <- 7
SET b <- 1
REPEAT
    SET c <- a * b
    SET a <- a - 1
    SET b <- b + 1
UNTIL a < 4
PRINT c
END

You may also seek further feedback from your client at this point.