| 1 | 1a. Perform low level programming for engineering software | 1.1 | Work safely at all times, complying with health and safety legislation, regulations and other relevant guidelines |
| 1.2 | Plan the programming activities before they start them |
| 1.3 | Prepare for software development, by carrying out all of the following: • check that all software development environment hardware is in a safe and usable working condition (such as cables undamaged, correctly connected, safely routed) • identify the required standards and all relevant sources (such as Defence Standards, other sector specific software standards, software requirements, software design and code standards) • identify the evidence required to allow software to be released to the users • identify all test and diagnostic tools being used as part of the development (such as in-circuit-emulation (ICE), data-bus analysers and temporal execution time measurement devices) |
| 1.4 | Use appropriate sources to obtain the required information for the hardware being programmed |
| 1.5 | Use three of the following to obtain the necessary data to program the low level code: • software design • change order/modification request • software safety requirements • quality requirements • specifications (hardware and software) • regulations • software development process definition documentation |
| 1.6 | Select an appropriate implementation method |
| 1.7 | Ensure the correct utilisation of the development tools being used to produce the software |
| 1.8 | Carry out both of the following before commencing the low level programming: • ensure that the data and information they have is current, complete and under configuration control • check that all equipment being used is calibrated and tested for electrical safety, as per company standards and procedures |
| 2 | 1b. Perform low level programming for engineering software (continued) | 2.1 | Produce and execute the software, using two of the following: • target processor • target emulator • representative development environment |
| 2.2 | Produce evidence of correct operation |
| 2.3 | Test the software on two of the following: • target processor • target emulator • representative development environment Using two of the following: • performance analysis tool • in circuit emulation • hardware probes • instrumented code |
| 2.4 | Check the test results for all of the following: • completeness • traceability • accuracy |
| 2.5 | Save and store the results in appropriate locations, to include carrying out all of the following: • ensure that their results have been checked and that they comply with their company procedure • check that the results are correctly titled, referenced and annotated • save the results to an appropriate location (such as storage device, configuration database) • ensure that a separate backup copy is created and placed in safe storage • register and store the results in the appropriate company information system |
| 2.6 | Review and report their findings on the developed software (such as defects, limitations on use, dependencies on other software/hardware) |
| 2.7 | Deal promptly and effectively with problems within their control, and seek help and guidance from the relevant people if they have problems that they cannot resolve |
| 3 | 2a. Know how to perform low level programming for engineering software | 3.1 | Explain the specific safety precautions to be taken when working with software development environment hardware (to include such things as safety guidance relating to the use of visual display unit (VDU) equipment and work station environment such as lighting, seating, positioning of equipment; repetitive strain injury (RSI); the dangers of trailing leads and cables; how to spot faulty or dangerous electrical leads, plugs and connections) |
| 3.2 | Explain the importance of good housekeeping arrangements (such as cleaning down work surfaces; putting disks, manuals and unwanted items of equipment into safe storage; leaving the work area in a safe and tidy condition) |
| 3.3 | Describe the relevant sources and methods for obtaining any required technical information relevant to the low level programming (such as hardware data sheets, specification sheets, request for changes or modifications to code; technical information) |
| 3.4 | Explain the specialist software development methods and tools used for low level programming (such as national, international and relevant company software development procedures, methods and tools) |
| 3.5 | Explain the identification of the correct version of software tool, and the various techniques that are supported by the tool |
| 4 | 2b. Know how to perform low level programming for engineering software (continued) | 4.1 | Explain the developing low level software |
| 4.2 | Describe testing low level software |
| 4.3 | Explain how to use and configure the tools |
| 4.4 | Explain why it is necessary to be able to recall previous issues of test results |
| 4.5 | Explain how to access, recognise and use a wide range of standard components and symbol libraries from the tools |
| 4.6 | Explain the need for configuration control on all artefacts (such as ensuring that completed results are approved, labelled and stored on a suitable storage device) |
| 4.7 | Describe when to act on their own initiative, and when to seek help and advice from others |