1
 软件工程
1.11.2.2 9.2.2 ISO/IEC 12207软件生存周期过程标准

9.2.2 ISO/IEC 12207软件生存周期过程标准

国际标准化组织(ISO)和国际电工委员会(IEC)共同制定了一项国际标准“ISO/IEC 12207信息技术——软件生存周期过程”于1995年8月1日发布。此标准为全球软件产业界商讨、洽谈计算机软件产品研制和管理事项提供了一个基本框架,并与ISO 9000标准在软件方面的应用协调一致,因而得到各国软件产业界的高度重视。了解该标准的制定的目的和适用范围、基本内容及特点是非常必要的。

1.标准制定的目的和适用范围

该标准为软件产业确定了一个软件生存周期过程的通用框架,说明需求方在获得一个软件的系统、一个单独的软件和一项软件服务时,以及供应方在供给、开发、操作和维护软件产品时,所涉及的各种必要的过程、各过程包含的活动和各活动包含的任务。同时,该标准还为软件组织规定了一个用于定义、控制和改进其软件生存周期过程的标准过程。

除了购买已有的软件产品以外,其他软件产品或软件服务,都适用于该标准。在供需双方约定的情况下,供应方和需求方可以运用此标准;在一个组织内部,自己下达任务、自己开发的情况也可以运用此标准。需求方招标采购软件产品或获得服务,用户使用软件产品,供应方投标、开发软件产品,操作、维护软件方面,均适用于该标准。

2.标准的基本内容

标准的基本内容包括了软件生存周期的过程、各过程的活动和任务,以及其他的一些重要内容,如剪裁过程和剪裁指南、标准的结构说明,以及标准的特点等。

1)软件生存周期的过程

ISO/IEC12207软件过程结构提出三类过程,分别为基本过程、支持过程和组织过程,这三类过程又包含了17个具体的过程。其中,基本过程中的开发过程是活动最密集的过程,企业的主要的人力、资金和时间的相当部分都投入这一过程,因为它是直接生产软件产品的过程,产品的质量和效率与该过程的活动密切相关,当然,其他过程也是与开发过程相协调,以形成一个完整的软件过程结构。

2)各过程的活动和任务

该标准不仅定义了软件生存周期的3大类共17个过程,而且详细规定了各过程的具体活动及每项活动的具体任务。

(1)基本过程:对软件产品的生产、使用和维护至关重要的活动被归入基本过程的类别。基本过程主要关心一个独立的软件系统或产品的生存周期中技术和合同方面的内容,如软件开发过程、获取过程。

(2)支持过程:基本过程使用支持生存周期过程来帮助执行基础的软件生存周期活动,如质量保证过程。另外,一个特定的支持过程可能使用其他支持过程来执行其活动,例如,质量保证过程使用验证、确认、联合评审、审核和问题解决等过程。

(3)组织过程:组织过程由组织使用,提供成功执行软件生存周期过程,如开发、运行、维护和文档等过程所需要的底层结果,如培训过程、基础设施过程。

3)剪裁过程和剪裁指南

该标准的一项重要内容就是给出了剪裁过程,包括有4项活动:标识项目环境;征求输入,考虑受剪裁决策影响的各组织的意见;选择过程、活动和任务;将剪裁决策及其原则写成文档。此外,作为参考,该标准提供了一个简要的剪裁指南,指出在两个层次上应用此剪裁指南的不同考虑:第一层考虑不同业务领域的不同要求,第二层考虑具体项目或合同的要求。

4)标准的结构说明

一是软件生存周期过程的组织结构。如前文所述,该标准将软件生存周期分为3大类共17个过程,基本的生存周期过程和支持性的生存周期过程都是以组织的生存周期过程为基础的,要改进前两类过程必须首先要加强和改进基础过程。对于一个项目或一项合同,主要考虑基本过程和支持过程。

二是软件生存周期过程之间的关系。作为参考资料,该标准说明了不同的组织或部门从5种不同观点来考虑或使用该标准时各过程之间的关系。需求方和供应方按照合同,分别采用获取过程和供应过程,双方协商建立合同关系;管理者按照管理观点,对各有关过程使用管理过程,并从各有关使用中吸取经验教训;操作者和用户按操作观点,采用操作过程。操作者向用户提供服务;开发人员和维护人员按工程观点,分别采用开发过程和维护过程来生产和修改软件产品;而支持过程的有关部门(如配置管理、质量保证等部门)则按支持观点,采用支持过程,向各有关过程提供支持服务;一个组织从全组织考虑,采用组织过程,为建立、不断改进上述各过程打下基础。上述各过程之间也有相互使用或支持的关系。

3.标准的特点

(1)只规定做什么,不规定如何做。正如该标准在正文中所述,它只描述软件生存周期过程的体系结构,而不规定如何实施过程中的活动和任务。例如,它规定一个项目应选定软件开发方法,确定具体的软件生存周期模型,但选用什么方法、确定采用哪种生存周期模型及如何选用等都由本标准的使用者决定。

(2)与ISO 9000标准协调一致。该标准在软件质量管理方面明确规定,质量保证体系活动按照合同中规定ISO 9001标准的条款执行。同时,如果将该标准的条款与ISO 9000-3标准的规定做一比较,那么就可看出前者与后者非常协调,而且对软件生存周期过程阐述得更系统、详细。

(3)明确规定了组织的软件生存周期过程。在该标准的第三大类过程(组织的软件生存周期过程)中明确规定,一个组织应从各软件项目中总结经验,建立组织的软件生存周期过程,作为该组织承担具体软件项目时,建立具体软件生存周期过程的一个基础,并不断加以改进和提高,这一点比ISO 9000标准的规定更明确。同时也表明该标准吸取了软件工程学最新发展的成果,即一个软件组织不断改进其软件生存周期过程,它是提高其软件工程过程能力的系统方法。因此,贯彻该标准可使企业在软件产业市场上的竞争力得到不断提高。