The design and development of aircraft and their systems is quite complex and requires high levels of security and other considerations. Just like other systems, avionics software usually stick to specified development procedures including planning, development and correctness. Software engineers rely on the given standards and frameworks to guide them throughout the development process. Each software has to be compliant with the development assurance levels as they describe the planning, development and correctness phases. There are five levels of software development assurance with each depending on the type of aircraft being designed and the complexity increases as the levels go higher.
Specific objectives need to be defined when using the criticality levels so as to enable for assessment in complying and meeting the set requirements. Low software development assurance levels require lesser objectives as compared to higher levels. Software design is similar to other development processes since it is made up of planning, development and correctness performed in a specified order. Before initializing the development process, planning has to be done in order to create plans or schedules to specify how the tasks will be accomplished. Planning has five plans and standards associated with the complete cycle before the development process can be started.
The plan for software aspects of certification deals with ensuring that the systems comply to the provided software development requirements. After setting objectives, the software quality assurance plan indicates measures to be used when meeting the specified objectives. Software configuration management plans describe how change management and baseline objectives are deployed and fulfilled.
Software development plan gives a summary of how software requirements, design, code and integration will be deployed in meeting the objectives. Tests to be used, the reviewing procedures, the analysis process and tools deployed in checking that the system meets objectives are included in the software verification plan. The software requirements standards describe how the system requirements will be translated into high level requirements and later to low level requirements.
The software design standards give the criteria for definition and assessment of the software architecture and design.
Software developments requires code to be written and the implementation and assessment of the code is provided in the software coding standard. Software correctness is done throughout the whole project to verify that all requirements and objectives have been met as expected. Correctness makes sure that security and critical level applications meet the integrity levels specified for such systems. When enough time is taken to define the requirements to spend less expenses and time. The reason for continuous correctness or evaluation of the project is to identify areas having problems much earlier to avoid complications later.