Carry out software design
Overview
This standard is about the design of software to meet defined requirements by following agreed design standards and principles. This includes creating, maintaining, managing and updating both logical and physical software designs.
A software design is effectively a blueprint or plan for how a proposed software solution will operate to meet its requirements. Software design may take place at the start of a large, planned software development project prior to programming or in small incremental steps in agile projects. The design will ensure that the software developed meets the client's needs and is able to integrate well with other applications already in use.
Logical software design typically describes the functions, processes and data handling needs of the software solution and how the system will be used by and interact with users. Physical design then translates the logical design principles into a proposed physical design, where software platforms, components, file and database systems are specified.
Software design commonly incorporates aspects of data design, user interface design and programming logic design to produce a holistic, end to end view of the proposed software solution design. The resulting software design documentation will be reviewed by developers prior to development.
This standard is for those who undertake software design.
Performance criteria
You must be able to:
- correctly source client requirements and solution architecture models to inform software design activities
objectively analyse and interpret client requirements and architecture models to inform software design activities
develop logical software designs which consider client requirements, the target environment, user and security requirements
- design physical software components and modules using appropriate modelling techniques and following agreed software design standards, patterns and methodologies
produce models, simulations and prototypes to demonstrate the behaviour of the proposed software design to stakeholders
identify and evaluate alternative design options and associated trade-offs making design recommendations to stakeholders
review and evolve software designs against original and updated specifications
- verify software designs with clients in line with organisational standards
accurately document software design deliverables in line with organisational standards
clearly present software designs to clients and stakeholders to agree designs and to resolve any design issues
correctly identify and actively manage changes to software designs arising from new or changed business requirements during the software solution design process
Knowledge and Understanding
You need to know and understand:
- how to source and collate information from systems architecture models to inform software solution design activities and associated deliverables
- how to interpret systems architecture models so that they may be integrated with software solution design deliverables
- the business rules that need to be incorporated into software solution designs
- the standards relating to software solution design activities and associated deliverables
- the professional and ethical standards relating to software solution design work within an organisation
- the software development lifecycle
- what is involved in translating logical designs into physical designs
- how to design and develop plans for the design of a software solution design
- that the design of a software solution needs to consider its efficiency, robustness, maintainability and security as well as the ability to meet the needs of its users
- the quality criteria for the software solution design activities and their deliverables
- how to document and present software design deliverables accurately and clearly
- how to create models, prototypes, simulations and mock ups to assist with the clarification of design
who are the sponsors of and stakeholders for any software solution design assignment
who needs to use the deliverables produced by a software solution design assignment
- how to verify business requirements when producing logical and physical software solution design
- how to apply client requirements when producing logical and physical software designs
- how to identify changes to business requirements agreed and authorised during software solution design activities
- the implications and potential impact of changes to business requirements during software solution design activities
- how to manage changes to business requirements during software design activities