软件适航加油站

 找回密码
 成为会员
搜索
查看: 12621|回复: 0

关于“标准”

[复制链接]
ywang 发表于 2009-8-4 20:27:22 | 显示全部楼层 |阅读模式
本帖最后由 ywang 于 2009-8-4 20:31 编辑

问:现在一般把Software Requirements Standards、Software Design Standards和Software Code Standards等中的standards翻译为标准,但我以为这里的标准与通常意义上的标准(如国家标准、行业标准)是不一样的,前者的主要含义是准则。您认为有区别吗?

答:我觉得把Software Requirements Standards、Software Design Standards和Software Code Standards中的“standards”翻译成“标准”是合适,但我觉得有必要对“标准”的语义做些补充性的说明:

首先,英文中用的是复数的“standards”而不是单数的“Standard”,这说明软件设计标准(或软件需求标准,或软件编码标准)不只是一个,而是多个。这一点可以理解为二层意思:
  • 一个项目中软件在必要的时候可以细分成几个不同的软件组件。根据每个软件组件的不同特性,可以采用不同的设计标准。如控制律软件的设计标准可以以数据流图作为基础来写,而发射控制软件的设计标准可以以状态机作为基础。
  • 项目很大,需要很多个单位共同参与才能完成。这时,相应的标准是分成多个层次的。假设有项目P,由公司C做为主机单位,P需要分成n个子项目P1, P2, …, Pn,分别由公司C1, C2, …, Cn负责完成。这时,对项目P会有一个总体的软件设计标准(或软件需求标准、划软件编码标准),我们把它称之为通用标准(generic standards);而每个子项目Pi都可以根据实际情况,依据通用标准,制订专用标准(specific standards)。当然,更复杂的项目和体制会形成更多层次的标准。国内外的很多大项目的研制要求中都可以看到层次的影子。


综上所述,标准有二个特点,一是它的系列性,二是它的层次性。这二个特点可以放大到更广的范围:
  • 标准是一个系列:针对软件生命周期、硬件生命周期、系统生命周期、系统安全评估、电磁兼容等等都有相应的标准,构成一个系列。上面的例子中,针对P1, P2, … ,Pn的软件设计标准也构成了一个系列。显然,这二个系列在二不同层次。
  • 标准是有层次的:对民用航空机载软件来说,DO-178B是一个高层的标准;对项目P制订的通用标准比它低一个层次,它必须符合DO-178B;对项目P1, P2, … ,Pn制订的专用标准又比通用标准低一个层次,它必须符合通用标准。


因此我个人的观点是:软件需求标准,软件设计标准,软件编码标准与DO-178B标准(或其它一些国家标准、行业标准)的作用是类似的,都是定义了某一类行为的准则。只不过由于标准所处的层次不同,它的制定者、接受者和影响范围也会不一样。例如,DO-178B标准或其它高层的标准需要由专门的委员会和工作组来制定、并需要得到国际认可;项目P的总体设计标准也会由专门的组织或者公司C来制定;而Pi的软件设计标准则可以由各个软件开发商Ci自行制定。但是低层次的标准必须要符合高层次的标准。

另外再提一句,标准是在不同的层次对特定行为定义的准则和约束,它常常是被认可、被遵循的,但并不是法律所强制的。这是标准(如DO-178B)与法规(如FAR,CCAR)的区别。

以上是个人观点,若有不同意见,欢迎讨论。
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|Archiver|手机版|软件适航加油站 ( 沪ICP备13019901号-3 )

GMT+8, 2018-7-20 16:40 , Processed in 0.124800 second(s), 16 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表