Producing engineering software design
Overview
This standard identifies the competences you need to create a software design as part of the product definition activity, in accordance with approved procedures. You will be given a detailed brief or a request for change/modification order, and you will be required to access these requirements and to extract all necessary information in order to carry out the software design activity. You will need to select the appropriate software design tool to use, based on the type and complexity of the software functions to be developed. You will be expected to use current British, European, international and company standards to produce a software design, which must include the identity of the appropriate design elements, date of software modification and other relevant information.
Your responsibilities will require you to comply with organisational policy and procedures for working in the software development team. You will be required to report any problems with the computer hardware, software or procedures that you cannot personally resolve, or that are outside your permitted authority, to the relevant people. You will be expected to work to verbal/written instructions and draft specifications, with a minimum of supervision, taking personal responsibility for your own actions and for the quality and accuracy of the work that you carry out.
Your underpinning knowledge will provide a good understanding of your work and will provide an informed approach to applying software design procedures. You will understand the computer system and software used, and its application, and will know about the various tools and techniques used to produce the software design, in adequate depth to provide a sound basis for carrying out the activities to the required specification.
You will understand the safety precautions required when working in the software development team. You will be required to demonstrate safe working practices throughout and will understand the responsibility you owe to yourself and others in the workplace.
Performance criteria
You must be able to:
- work safely at all times, complying with health and safety legislation, regulations, directives and other relevant guidelines
- plan and prepate the software design modelling activities before you start them
- use appropriate sources to obtain the required information for the software design model to be created
- access and use the correct design modelling software
- create software design models using appropriate techniques
- use codes and other references that follow the required conventions
- produce the finished software design models, with sufficient detail to allow implementation
- make sure that design models are checked and approved by the appropriate person
- save and store the software design models as the appropriate file type and in the correct location
- deal promptly and effectively with problems within your control, and seek help and guidance from the relevant people if you have problems that you cannot resolve
Knowledge and Understanding
You need to know and understand:
- the specific safety precautions to be taken when working with software development environment hardware (to include such items as safety guidance relating to the use of visual display unit (VDU) equipment and workstation environment; repetitive strain injury (RSI); the dangers of trailing leads and cables; how to spot faulty or dangerous electrical leads, plugs and connections)
- how to return the work area to a safe and useable condition (such as cleaning down work surfaces; putting media, manuals and unwanted items of equipment into safe storage; leaving the work area in a safe and tidy condition)
- the relevant sources and methods for obtaining any required technical information relevant to the model being produced (such as drawing briefs, specification sheets, request for changes or modifications to models; technical publications; calculations; software requirements)
- identification of the correct version of software tool, and the various design techniques that are supported by the tool
- how to access the specific software design model to be used
- the basic principles of software design and how to apply them to the work being undertaken
- types of representation that may be produced by the modelling software (such as static structure, sequence diagrams)
- the national, international and organisational standards and conventions that are used for the models/drawings
- the application and use of design modelling tools for either functional or object orientated methods
- how to access, recognise and use a wide range of standard components and symbol libraries from the modelling tools
- the need for document control (such as ensuring that completed models are approved, labelled and stored on a suitable storage device)
- why it is necessary to be able to recall previous issues of modified models
- when to act on your own initiative and when to seek help and advice from others
Scope/range
- Prepare for the software design activities, by carrying out all of the following:
- check that the working environment is in a safe and appropriate condition and that all working equipment is in a safe, tested and usable condition (such as cables undamaged, correctly connected, safely routed)
- open the appropriate design modelling software
- set up the software design modelling environment and select a suitable template/folder
- identify relevant software design requirements to be implemented
- identify the required standards and all relevant sources (such as software requirements and existing design)
- Use three of the following to obtain the necessary data to produce the required design model:
- new model brief/request
- specifications (such as software acceptance tests)
- change order/modification request
- regulations
- technical publications
- previous models/designs
- calculations
- software requirements
- standards reference documents (such as Universal Modelling Language (UML))
- notes from meetings/discussions
- other specific available data
- Take into account seven of the following, as appropriate to the design model being produced:
- function
- cost
- operating environment
- quality
- lifetime of the product
- interfaces
- testing method
- accuracy
- safety
- resources (such as memory, performance and bandwidth)
- design structure
- ease of modification of design
- Carry out all of the following before producing the software design model:
- ensure that the data and information you have is complete and accurate
- analyse the data and information to identify the model requirements
- recognise and deal with problems (such as technical issues and lack of information, or incorrect information)
- Use one of the following modelling methodologies to produce the software design:
- object orientated design (such as UML)
- functional design (such as Modular Approach to Software Construction Operation and Test (MASCOT)
- Create/modify the software design elements using four of the following:
- objects
- classes
- types
- functions
- procedures
- data
- change requests
- sequence diagrams
- Check the software design model for all of the following:
- completeness
- coherence
- accuracy
- coupling and cohesion
- traceability
- Save and store the software design model in appropriate locations, to include carrying out all of the following:
- check that the design model is correctly titled, referenced and annotated
- ensure that the software design model has been checked and that it complies to organisational procedures
- save the design model to an appropriate location (such as storage device, configuration database)
- register and store the design models in the appropriate company information system (where appropriate)
- record and store any changes to the design models in the appropriate organisation information system
- ensure that a separate backup copy is created and placed in safe storage
- Produce software design models which comply with one of the following:
- organisation standards and procedures
- customer standards and requirements
- statutory regulations and codes of practice
- software standards
- BS, ISO or BSEN standards and procedures
- other international standards