Software Development Standards have since their inception
been complex in their terminology and understanding mainly due
to the immaturity of the subject. However, since the introduction
and mandatory stipulation of military standards a mature model
has been accepted by most government agencies and developers.
These have been DOD-STD-2167, DOD-STD-2167A and DOD-STD-2168,
and the promoted MIL-STD-498, ISO 12207, and (J-STD-016 - IEEE
1498?).
In addition to the basic software development model other standardization
boards define additional requirements for specialized use, such
as, DO-178B (Airborne software considerations), ISO 9003 (Quality
Management Systems), JSP 188 (Documentation of software in real-time
systems), etc. Additionally, a User-computer interface may be
necessary for developments requiring specific human attributes
(MIL-STD-1801). DEF STAN 00-55 and 00-56 for safety critical systems
and software.
The objectives of this documents are:
Software Development Standards define the process
and activities necessary to produce quality software. The are
used to manage and control the process using standardized methods
and procedures. Several standards, models or guide-lines exist
supported by government, institutions, etc., which propose various
concepts and principles. These standards together with other special
considerations for functional reasons i.e., safety critical, airborne,
build strategy, reengineering, etc., shall be combined to establish
a uniform process and activities for all software for a specific
project.
The development of software needs to adopt a process and methodology
suitable for the specific software under consideration and acceptable
for a specific project.
The development of this software shall be established and described
by a Software Development Plan.
For large and/or complex software development projects
an overall SDP may be required to establish and identify the overall
project management organizations and activities who will manage
and control the overall development of software.
The SDP (overall) shall define the overall plans and procedures
necessary to develop and document the software in a uniform manner.
All software to be developed shall be identified. Individual CSCIs
development shall be defined in a specific CSCI SDP.
Individual and CSCI software the activities, personnel, organizations, code of practice, and process standards to be used for the software development and certification shall be identified.
Each individual SDP shall identify or include the software development resources and organization, development time-line schedule and milestones, security measures, design methodologies, design and implementation approaches, testing methodology, security/certification plan, resource utilization control, programming support centre facilities and potential risk areas of the specific CSCI software development life cycle.
Each SDP shall reference and confirm compliance to the 'Software Development Standards' and identify any authorized deviations or waivers.
The Software Development Standards and supporting Plans shall be prepared by the Software Management Group (SMG) who will enforce, maintain, improve them on a continuous basis.
Proposed "Software Management" documentation
to be known as the "Software Development Standards"
shall comprise of the following:
The above shall be used in conjunction with the CSCI 'Software Development plans' to create a uniform development process.
The hierarchical interconnection between the above
documents is as follows: the 'Software Development Standards'
is the top-level software 'project standard' (quality plan) document
that addresses all software management functions to be considered
during the development.
All software development activities and processes shall be included
but detailed procedural requirements will be defined in lower
supporting documents; see figure 2.
A "Software Management Group" shall be responsible for the preparation, control, correct application, and maintenance of the proposed 'Software Development Standards' and the resulting support/allegiance documents. The SDS shall be updated on a regular basis to assure effective definition and control over the processes and products used in the development of software. The SMG may be a part of the Systems Engineering Management Group defined in the 'Systems Engineering Management Plan'.
A System/software development life cycle consisting
of the following phases shall be implemented:
This process shall represent the eclectic melding of all the specified software management standards, guide-lines, and procedures.
See figure 1 for a graphical illustration.
A detailed description of the activities to be performed in the above phases will be provided in the identified SDS model text. The software development phases may overlap and may be applied iteratively or recursively.
Documents will be prepared in accordance with the 'Technical Documentation Standard' requirements and its referenced model text. The design and coding of the CSCI shall be performed using the Methods and Tools identified in the 'Software Engineering Manual'. Products produced or prepared during the software development life cycle phases shall be evaluated using the methods and procedures defined in the 'Software Product Evaluation Plan'. The identified developmental configuration items will be controlled using the methods and procedures defined in the 'Software Configuration Management Plan'.
For systems which perform critical or essential functions it may not be possible to demonstrate an acceptable low level of software errors without the use of specific design techniques following the System Safety Analysis (Preliminary Hazard Analysis).
Potential effects of user modification can be determined by the system safety assessment process defined in the Software Safety procedure. Design for user-modifiable software will be discussed as follows:
Consideration for the security/privacy assurance of the system shall for software be defined in the Software Development Plan.
To be continued
For a resume of Generic software standards.
Example SDS SDS model text
Example SDP (overall) SDP (overall) model text
Example SDP SDP model text
Back to Home page MANAGING STANDARDS Home page
Please send any beneficial comments or identification of errors
using the following form to: kenr@wysywig.airtime.co.uk