第13章软件工程标准与软件文档13.1软件工程标准化一、什么是软件工程标准随着软件工程学的发展,人们对计算机软件的认识逐渐深入。软件工作的范围从只是使用程序设计语言编写程序,扩展到整个软件生存期。同时还有许多技术管理工作以及确认与验证工作常常是跨越软件生存期各个阶段的专门工作。所有这些方面都应当逐步建立起标准或规范来。另一方面,软件工程标准的类型也是多方面的。它可能包括过程标准、产品标准、专业标准,以及记法标准。第13章软件工程标准与软件文档二、软件工程标准化的作用(1)可提高软件的可靠性、可维护性和可移植性(这表明软件工程标准化可提高软件产品的质量);(2)可提高软件人员之间的通信效率,提高软件的生产率;(3)可提高软件人员的技术水平,减少差错和误解;(4)有利于软件管理;有利于降低软件产品的成本和运行维护成本;(5)有利于缩短软件开发周期。第13章软件工程标准与软件文档三、软件工程标准的级别分类1.国际标准2.国家标准3.行业标准4.企业规范5.项目规范第13章软件工程标准与软件文档13.2IS09000质量标准一、基本思想(1)强调质量并不是在产品检验中得到的,而是在生产的全过程中形成的。(2)为确保产品质量,ISO9000要求“在生产的全过程中,影响产品质量的所有因素都要始终处于受控状态”。(3)可以用ISO9000标准证实“企业具有持续地提供符合要求的产品的能力”。(4)还可以用ISO9000标准来“持续地改进质量”。二、ISO9000—3标准第13章软件工程标准与软件文档13.3ISO/IEC12207软件生存周期过程标准一、标准制订的目的和适用范围1、目的(1)该标准为软件产业确立了一个软件生存周期过程的通用框架,说明需方在获得一个含软件的系统、一个单独的软件和一项软件服务时,以及供方在供给、开发、操作和维护软件产品时,所涉及的各种必要的过程、各过程包含的活动和各活动包含的任务。(2)该标准还为软件组织规定了一个用于定义、控制和改进其软件生存周期过程的标准过程。第13章软件工程标准与软件文档2、适用范围(1)除了购买已有的软件产品外,其他软件产品,无论是单独的软件产品,还是其他大系统中的一部分或嵌入式软件,或者软件服务,都适用于该标准。(2)在供需双方有约的情况下,供方和需方可以运用此标准;在一个组织内部,自己下达任务、自己开发的情况也可以运用此标准。(3)需方招标采购软件产品或获得服务,用户使用软件产品,供方投标、开发软件产品,操作、维护软件方面,均适用于该标准。第13章软件工程标准与软件文档二、标准的基本内容1.软件生存周期的过程2.各过程的活动和任务3.其他重要内容第13章软件工程标准与软件文档13.4软件文档一、软件文档的作用和分类1.什么是文档2.软件文档的作用3.文档的分类4.软件文档的工作二、文档的管理和维护第13章软件工程标准与软件文档13.5能力成熟度模型CMM一、能力成熟度模型的结构(1)成熟度等级(MaturityLevels)(2)过程能力(ProcessCapability)(3)关键过程域(KeyProcessAreas,KPA)(4)目标(Goals)(5)公共特性(CommonFeatures)(6)关键实践(KeyPractices)第13章软件工程标准与软件文档二、能力成熟度等级1.初始级2.可重复级3.已定义级4.已管理级5.优化级第13章软件工程标准与软件文档三、关键过程域关键过程域是达到一个成熟度等级的必要条件。四、应用CMMCMM的用途:软件开发组织用它来改进开发和维护软件的过程;政府或商业企业用它来评价与一个特定的软件公司签订软件项目合同的风险。