This article discusses the importance of achieving software quality to ensure the safety and security of maritime systems. Software controls the behaviour of many maritime and offshore systems, making it an essential component of such systems. Software defects have been the primary cause of several accidents and have contributed to many more. All the good work of mechanical engineers and marine architects can be undone by a simple programming error. Unfortunately, standards and risk analyses that address software currently are not part of standard industry practice.
This article reviews the motivation for addressing software as part of maritime systems assurance and summarizes the standards and risk analyses available to the industry. Both international standards and classification rules are beginning to be adopted, as part of an increasing recognition of the role of software in all complex systems.
This article introduces a framework for examination of software quality, including process product, operational, and customer perspectives. Important elements of this article were introduced in Card . This article focuses on software process quality. Getting the software right the first time is much cheaper than testing and fixing it to reach acceptability. The cost of rework for a typical software development project ranges from 20% to 50% of total project costs. This article identifies some common software process reference models and explains how they help to achieve software quality. While, there is no specific national or international regulation addressing Software Quality Assurance (SQA) in the Maritime and Offshore industry, some recommendations and guidelines have emerged recently. Three classification societies (DNV GL, ABS, and LR) have published software process reference models (standards) as optional rules for offshore vessels. These standards are based on widely accepted ISO/IEC standards that have been endorsed by national standards bodies. Regulations and liability concerns will eventually force the maritime and offshore industry to accept greater requirements for software quality assurance, as has happened in other major industries. For now, if a customer wants quality, he/she must ask for it. These new optional standards make that easier.