指导性文件GUIDANCE NOTESGD008-2025
中国船级社
船用软件安全及可靠性评估指南
2025.05
誉目
1 范图及说明2 引用文件3 术语及缩略语计算机系统分类65 质量体系要求. 86 技术要求. -11P 文件要求 -128 系统生命周期 -139 软件开发生命周期 2510测试、验证和批准 45附录1 测试和验证表 49附录2小型低复杂度计算机系统的评估 62附录3计算机系统设计和实现阶段的技术建议 64附录4开发阶段的软件测试要求 69
1范围及说明
1.1本指南是对船用计算机系统(以下简称计算机系统,包括可编程电子系统)中软件的安全及可靠性评估指南,对计算机系统中软件的设计、开发、测试、认证、维护提出了安全及可靠性要求.本指南也对与软件相关的硬件制定了一些要求,这些要求需与产品的技术要求结合使用.
1.2本指南适用于智能船舶的计算机系统、旨在提高船舶智能化的计算机系统、以及基于可编程控制器的计算机系统.对于以下计算机系统,应根据本指南第10章的要求进行测试、验证和批准:
(1)安装在入级船舶上、提供符合入级要求的控制、报警、监测、安全或内部通信功能的计算机系统:(2)拟取得SLC1、SLC2、SLC3附加标志的计算机系统.
本指南不适用于具有法定要求的计算机系统,例如:装载仪、稳性计算机、以及SOLAS公约第IV章和第V章规定的无线电通信设备和航行设备.
1.3本指南主要关注软件开发生命周期,对整体安全生命周期中的一些环节也有所采用.本指南软件开发以V模型为例,其他相关模型的演化并未包含在本指南中.
1.4考虑到小型简单的计算机系统的直接应用和在复杂系统中对部分功能实现的应用,本指南定义了小型低复杂度计算机系统,并在附录2给出了简化的 评估方法.
1.5在应用本指南时,可根据利益相关方内部文件管理系统编制本指南中提到的文件,但内容应符合指南中提及的相关内容.
1.6本指南包括四个附录,其中:
1.6.1附录1是现场验船师进行计算机系统中软件的安全及可靠性评估时使用的测试和验证表.
1.6.2附录2是小型低复杂度计算机系统的评估方法.
1.6.3附录3是计算机系统设计和实现阶段的技术建议.
1.6.4附录4是开发阶段的软件测试要求.
2引用文件
2.1下列参考文件对于指南的应用是不可缺少的.凡是注日期的引用文件,仅引用版本适用.凡是不注日期的引用文件,其最新版本适用于本指南.
表2.1引用文件
1. R001-2024 中国船级社《钢质海船入级规范》2. GD019-2024 中国船级社《电气电子产品型式认可试验指南》3. GB/T33783-2017 可编程逻辑器件软件测试指南5. 4. IACS UR E22 IEC 61508 计算机系统 电气/电子/可编程电子安全相关系统的功能安全6. IEC 61511 功能安全安全仪表系统在过程工业中的应用7. IEC 60092-504 船舶电气设施第504部分:专辑自动化控制装置和仪器8. IEC 60812 仪表 系统可靠性分析技术故障模式影响分析9. IEC 61025 故障树分析10. IEEE 730 软件质量保证计划11. ISO 9001 质量管理体系要求12. 13. ISO/IEC 90003 ISO/IEC 12207 软件工程计算机软件ISO9001:2015应用导则 系统和软件工程软件生命周期过程14. ISO/IEC 15288 系统和软件工程系统生命周期过程15. ISO 17894 船舶和海上技术计算机应用海上用可编程电子系统的开发和使用总则16. ISO/IEC 25000 SQuaRE导则 系统和软件工程系统和软件质量要求和评估(SQuaRE)17. ISO/IEC 25041 系统和软件工程系统和软件质量要求和评估(SQuaRE)开发者、受让人和独立评价者用评价指南18. ISO 10007 质量管理配置管理指南19. ISO 24060 船舶和海洋技术船舶操作技术软件记录系统
3术语及缩略语
3.1术语
3.1.1软件(Software)
与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据.
3.1.2软件安全性(Software safety)
软件安全性是指船用软件在面对潜在威胁和攻击时的保护能力,主要关注保护软件的机密性、完整性和可用性,以防止未经授权的访问、数据泄露、恶意寡改或服务中断.
3.1.3软件可靠性(Softwarereliability)
软件可靠性是指船用软件在规定的条件和规定的时间区间内完成规定功能的能力.
3.1.4计算机系统(Computer-based system)
一种可编程电子设备,或者一组可互操作的可编程电子设备,为达到一个或多个特定目的而组织起来,如信息的收集、加工、维护、使用、共享、传播或处置.船用计算机系统通常包括IT系统和OT系统.船用计算机系统可以是通过网络连接的子系统的组合体,直接或通过公共通信方式(如互联网)连接到岸上计算机系统、其他船舶的计算机系统和/或其他设施.
3.1.5系统(System)
组件、设备和逻辑的组合体,具有明确的用途、功能和性能.计算机系统就是一种系统.在本指南中,系统特指计算机系统,由系统供应商交付.
3.1.6子系统(Subsystem)
系统的可识别部分,可执行特定功能或一组功能.
3.1.7集成系统(Systemofsystems)
由多个计算机系统组成的系统.在本指南中,集成系统作为船舶的一部分,包括船厂交付的监测、控制和安全系统.
3.1.8模块(Module)
可以分解、组合及更换的单元,是组成系统、并易于处理的基本单位.
3.1.9软件模块(Softwaremodule)
软件中独立、具有特定功能且可以独立编译和执行的程序组件.它由程序代码和相关数据结构组成,可以使用特定的接口与其他模块进行交互.
3.1.10软件组件(Software ponent)
一段独立的代码,提供特定且紧密耦合的功能.
3.1.11软件主文件(Software master files)
构成软件初始源的计算机文件.对于定制软件来说,可能是可读的源代码文件,而对于现有商用软件来说,可能是不同形式的二进制文件.
3.1.12软件结构(Software structure)
不同软件组件如何交互的概述,通常称为软件体系结构或软件层次结构.
3.1.13软件注册表(Software registry)
等信息. 用来登记船用软件的软件名称、版本号、开发完成日期、发布状态、变更记录
3.1.14安全功能(Safety function)
针对特定的危险事件,为达到或保持安全状态,由计算机系统、其它技术安全相关系统或外部风险降低设施实现的功能.
3.1.15受控设备(Equipment under control(EUC))