军用软件工程标准研究及意义分析
GJB 2786规定了软件开发的8项主要活动,即:
a. 系统要求分析和设计
b. 软件需求分析
c. 概要设计
d. 详细设计
e. 编码和计算机软件单元测试
f. 计算机软件部件集成和测试
g. 计算机软件配置项测试
h. 系统集成和测试
同时又从软件开发管理、软件工程、正式合格性测试、软件产品评价、软件配置管理、向软件保障阶段转移等6个方面对上述8项活动提出了具体要求。
GJB 2786中每项要求都是唯一的,不存在冗余,一般要求与详细要求具有严格的对应关系,可以很方便地对标准进行一致的剪裁;而且标准只包含要求,没有其他指导或辅助性信息。便于剪裁是GJB 2786的另一大特点。
GJB 2786的参考标准DOD-STD-2167A《防务系统软件开发》是美国国防部于80年代末期组织强有力的技术队伍,包括各种不同意见的专家,政府部门、学术界及应用领域中的人才共同研究制定的,是这一时期美国标准化工作的一项重要成果。美国防部规定,凡国防部关键任务计算机资源项目一律要遵守该标准,足见其位置之重要。但随着技术的发展,DOD-STD-2167A于1994年11月被美军标MIL-STD-498《软件开发和文档》所代替,究其原因,主要有以下两方面:一方面是受当时业已开始的美国军用标准改革的冲击;另一方面是进入90年代以后,软件工程技术日益普及,软件工具、平台环境开始广泛进展。MIL-STD-498与DOD-STD-2167A相比不论在指导思想上,还是标准的内容上都有较大改变,不仅增强了与不同开发模型的兼容性,而且还增强了与非层次结构设计方法以及与CASE工具的兼容性,对文档的编制要求也更具灵活性,并对软件重用提出了明确要求。另外还引进了软件管理标准,更加强调了软件的可支持性及与系统的联系。
军用软件工程标准体系应是一个动态的体系,以适应不断变化的环境需求。对于一些不适用的标准应及时作废或修订,对于新的需求应制定新的标准及时给予反应。从目前情况来看,这方面我们虽然做了不少工作,但还有不少地方有待进一步改进完善,从前面的分析中可以看出,GJB 437和GJB 439已到了作废的时候,GJB 437的内容完全可由GJB 2786取代:GJB 439的要求也在GJB/Z 90000系列中基本都得到反映。GJB 1091、GJB 1267和GJB 1268也应及时修订以保证与GJB 2786的协调一致。对于不断涌现的新的软件工程技术如软件过程评估、软件安全性分析、软件风险管理及软件重用等也应积极开展标准化研究工作,加强有关标准的制定,以补充完善军用软件工程标准体系。
2. 加强软件工程标准宣传工作,促进标准的贯彻实施
计算机软件已成为现代化武器装备中不可缺少的组成部分,武器装备的性能和功能越来越依赖于软件来实现。然而,我们有些项目管理人员对此重要性没有足够的认识,他们知之甚少,对软件开发缺乏足够的重视,因而监督管理不力,致使软件开发常常成为拖延武器装备研制进度、费用增加的一个主要问题。对此,我们应通过各种方式加强软件工程重要性及其标准内容的宣传,提高广大科研人员、管理人员的标准化意识和促进其对软件工程的了解,从而使软件工程标准在武器装备研制、生产和使用中真正得到贯彻实施。
3. 积极跟踪和研究国际。国外软件工程标准发展动向
国际标准反映了世界工业发达国家当代的先进技术水平。通过积极研究和采用国际、国外软件工程标准是一条加速标准制定、提高软件工程化水平的捷径。目前我们虽然拥有丰富的美国军用标准资料,有能查询各种标准最新信息的Internet网站点,然而由于这方面工作缺乏统一规划和具体安排,加之标准化研究队伍松散,致使新的标准技术跟踪很不及时。因此,笔者认为,加强国际、国外软件标准化发展动向的跟踪,深入开展ISO 9000-3和ISO15504及 CMM等研究,对加速有关标准的制修订,提高软件质量是十分重要的,应当有组织、有计划地开展好此项工作。
软件工程标准化的意义
为什么要积极推行软件工程标准化工作,其道理是显而易见的。仅就一个软件开发项目来说,有多个层次、不同分工的人员相配合,在开发项目的各个部分以及各开发阶段之间也都存在着 许多联系和衔接问题。如何把这些错综复杂的关系协调好,需要有一系列统一的约束和规定。在软件开发项目取得阶段成果或最后完成时,需要进
评论