人们社会生活离不开交往。在交往中最先遇到和首先要解决的是通讯工具——语言文字问题,计算机问世以后,同样是语言问题。人要和计算机打交道,需要程序设计语言,这种语言不仅应让计算机理解,而且还应让别人看懂,使其成为人际交往的工具。 程序设计语言的标准化最早提到日程上来。60年代程序设计语言蓬勃发展,出现了名目繁多的语言,这对于推动计算机语言的发展无疑有着重要作用。但同时也带来许多麻烦。即使同一种语言, 由于在不同型号的计算机上实现时,作了不同程度的修改和变动,形成了这一语言的种种“方言”,为编写出程序的交流设置了障碍。制定标准化程序设计语言,为某一程序设计语言规定若干个标 准子集,对于语言的实现者和用户都带来了很大方便。

随着软件工程学科的发展,人们对计算机软件的认识逐渐深 入。软件工作的范围从只是使用程序设计语言编写程序,扩展到 整个软件生存期。诸如,软件概念的形成、需求分析、设计、实现、测 试、制造、安装和检验、运行和维护直到软件引退(为新的软件所代 替)。同时还有许多技术管理工作(如过程管理、产品管理、资源管 理)以及确认与验证工作(如评审与审计、产品分析、测试等)常常 是跨越软件生存期各个阶段的专门工作。所有这些方面都应逐步 建立起标准或规范来。

另一方面,软件工程标准的类型也是多方面的。它可能包括过程标准(如方法、技术、度量等)、产品标准(如需求、设计、部件、描述、计划、报告等)、专业标准(如职别、道德准则、认证、特许、课 程等)以及记法标准(如术语、表示法、语言等)。

在全面考虑以上两个方面的情况下,软件工程的标准可用一 张二维的表格来表示。表9.1(a)和(b)给出了这个二维表的大致 格式。(b)表是(a)表的继续。表中填入了三个标准的例子(请注意 它们在表中所处的位置:

①FIPSl05是美国国家标准局发布的《软件文档管理指南》 (National Bureau OfStandards,Guideline for Software Documentation Management,FIPS PUB 105,June 1984)

②NSAC—39是美国核子安全分析中心发布的《安全参数显示 系统的验证与确认》(Nuclear Safety Analysis Center,Verification and Validation for Safety Parameter Display Systems,NSAC—39,De— cemberl981)

③ISO 5807是国际标准化组织公布(现已成为我国国家标 准)的《信息处理——数据流程图、程序流程图、系统流程图、程序 网络图和系统资源图的文件编制符号及约定》(本书第四章4.1节 讨论过的标准程序流程图正是以此为依据)。 这个表不仅告诉了我们软件工程标准的范围和标准如何分 类,而且对标准的开发具有指导作用。已经制定的标准都可在表中 找到相应的位置,而且它可启发我们去制定新的标准。

推荐内容