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
BEGINand finish withEND. - 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 theSETkeyword. - Inputs can be shown using
READorINPUT. - Outputs can be shown using
PRINT,RETURNorOUTPUT. - Selection structures can use
IF-THEN,IF-THEN-ELSE,IF-ELSEIF,CASEorSWITCH. - Repetition structures can use
DO-WHILE,REPEAT-UNTIL,WHILEandFOR. - Conditions can be joined with
ANDandOR. - 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.