SIL2(Safety Integrity Level 2)
是一种安全完整性级别,用于评估和确定安全相关系统的可靠性和性能。SIL是根据国际标准IEC 61508(功能安全)和相关行业标准(如IEC 61511、ISO 26262等)定义的。
SIL2
认证是指通过对特定系统或设备进行评估和验证,确认其满足SIL2级别的要求。SIL2级别通常适用于具有中等安全风险的系统,要求系统在设计、实施和操作过程中采取特定的安全措施和功能,以确保其能够达到预期的安全性能。
本次我参与的 SIL2
认证是只做软件部分的认证,其中设计的标准为 EN50128-2011
。
目前 SIL2
认证工作已经基本完成,现总结此次认证工作的经验。
EN50128 整体脉络
EN50128 更多的是在强调软件质量保障。
软件质量保障是以计划为指导,计划指导实践。
EN50128 推荐/要求的整体流程为:
- 计划阶段
- 需求阶段
- 架构与设计阶段
- 组件设计阶段
- 组件实现与测试阶段
- 集成阶段
- 总体测试与最后确认阶段
- 软件部署
- 软件维护
其中 2 ~ 7 作为软件研发的主要流程,1和8 ~ 9 作为软件工程管理过程。
计划阶段
所有计划的制定,独立于研发过程。
需求阶段
研发的第一个过程,准确定义需求和需求对应的测试。
架构与设计阶段
对整个系统进行定义,分为哪几个组件,网络拓扑怎么搭建,使用什么硬件,使用什么数据库。
定义组件之间的接口。
组件实现与测试阶段
编码与调试阶段。
集成阶段
对软件组件进行集成,对真实的硬件进行集成。
总体测试与最后确认
对已经集成好的整体系统,对照软件需求测试用例进行测试并记录。发行说明,总体测试报告与软件确认报告。
软件部署
软件发布计划隶属于配置管理计划,规定了每个基线版本包含什么功能,什么时候发布。
而跟随着软件发布的就是软件部署。
软件部署分为:部署计划、部署操作手册、部署记录、部署记录报告。
软件维护
运维阶段(升级)。
软件维护计划、软件变更记录、软件维护记录。
此次认证过程得到的收获
西方主导思想:计划指导实践。
但是在没有计划时,没有构思后面工作流程的能力。
在计划不成熟或不合理时,经常会出现无视规定,灵活应对。
那有的人有心,在实施后会更新计划。但更多的人没有能力将自己的经验推广给每个部门内的人,也没有管理者来主导更新流程。
甚至有人没有责任心,回来不更新计划,完全按照后面自己的意思去实施。
那计划本身已经被弱化,后续逐渐被丢弃。
所以我认为在一个没有经验的项目上,一上来的计划没有必要急着写,而是先写个框架,后续慢慢补充细节。
就比如如上的生命周期,各个阶段完全可以顺序打乱去处理。
需求规范的制定,保证了测试用例的诞生,有依据,
确定了软件架构的设计的。
判断一个人的工作是否完成,应该以计划中的规定来判定,比如测试通过了,那是如何通过的。
版本发布了,那版本中有哪些功能,那些缺陷,那些更改。
软件部署了,部署的什么版本,哪些升级,哪些没有升级。
思路
只讲 SIL2 的要求,给出生命周期,以及要干的事情。
压缩 SIL2 的要求到我们的生命周期中。
为每个周期设立检查点。
对部分代码的查看总结