Software design SWDN

(modified)

The specification and design of software to meet defined requirements by following agreed design standards and principles.

Guidance notes

Activities include - but not limited to...

  • designing software, components, interfaces and related characteristics (including security)
  • using design concepts and patterns to develop software design and provide the basis for software construction and verification
  • evaluating alternative solutions and trade-offs to facilitate design decisions
  • taking into account functional and non functional requirements such as target environment, performance, security requirements and existing systems.
  • developing prototypes/simulations to enable informed decision-making
  • The adoption and adaptation of software design models, tools and techniques based on the context of the work.

Depending on requirements and project or work assigned characteristics, appropriate appropriate tools and software design techniques can be predictive (plan-driven) or adaptive (iterative/agile) approaches.

Software design: Level 6

(modified)

Leads the selection and development of software design methods, tools, techniques. Develops organisational policies, standards, and guidelines for software design and software architectures. Ensures adherence to technical strategies and systems architectures (including security).

Software design: Level 5

(modified)

Adopts and adapts software design methods, tools and techniques. Specifies and designs large or complex software applications, components and modules. Undertakes impact analysis on major design options, makes recommendations and assesses and manages associated risks. Specifies prototypes/simulations to enable informed decision making. Evaluates the quality of others' systems designs to ensure adherence to standards and identifies corrective action, if needed. Ensures that the system design balances functional, quality, security and systems management requirements. Contributes to development of organisational software design and architecture policies and standards.

Software design: Level 4

(modified)

Designs complex software applications, components and modules. Use appropriate modelling techniques following agreed software design standards, guidelines, patterns and methodology. Creates and communicates multiple design views to identify and balance the concerns of stakeholders and to satisfy functional and non-functional requirements. Identifies, evaluates and recommends alternative design options and trade-offs

Reviews, verifies and improves own designs against specifications. Leads reviews of others’ designs. Models, simulates or prototypes the behaviour of proposed software to enable approval by stakeholders, and effective construction of the software. Verifies software design by constructing and applying appropriate methods.

Software design: Level 3

(modified)

Undertakes complete design of moderately complex software applications or components.

Applies agreed standards, guidelines, patterns and tools. Assists as part of a team in the design of components of larger software systems. Specifies user and/or system interfaces. Creates multiple design views to address the concerns of the different stakeholders and to handle functional and non-functional requirements. Assists in the evaluation of options and trade-offs. Collaborates in reviews of work with others as appropriate.

Software design: Level 2

(modified)

Creates and documents detailed designs for simple software applications or components. Applies applying agreed modelling techniques, standards, patterns and tools. Contributes to the design of components of larger software systems. Reviews own work.