B2 Software design documentation Appropriate design documentation to produce detailed plans for a full stack solution
based on an approved project proposal.
•
Application of logical analysis, problem-solving skills, process approach and
algorithmic thinking, including:
o
decomposition of problems into smaller more easily solvable components
o
abstraction to remove unnecessary detail and focus on only that which is
important
o
planning step-by-step approaches to solve decomposed problems
o
reverse engineering of existing solutions to similar problems.
•
Design documents used during design of software solutions:
o
functional and non-functional requirements specifications
o
algorithm design documentation, including flowcharts and pseudocode
o
architectural and infrastructure designs to demonstrate the systems
deployment stack, including network diagrams, logical architecture diagram and
UML diagrams
o
visual design documentation including visual assets design, colour palettes and
user interface layouts and behaviours
o
data requirements design, (e.g. entity relationship diagrams (ERDs) and data
dictionaries)
o
accessibility and inclusivity considerations, (e.g. alternative layouts, support for
inclusive technologies, user ability levels and cultural and religious sensitivity).
•
Identification and justification of components that are suitable for reuse,
including:
o
reusing or refactoring code produced for previous projects
o
reusing or refactoring code produced by others
o
use of digital content (e.g. images, code and text) produced by the developer
or others.
•
Documenting sources of reused content (e.g. images, code and text) and clear
evidence of licensing and permissions to ensure intellectual property rights are
not infringed.
•
Application of interactive development principles to software design, including:
o
who may be needed to involve to provide feedback on design
o
how to analyse and use feedback to improve the designs
o
gaining approval of designs
o
sign off at design stage and transition to development stage.