免费智能真题库 > 历年试卷 > 程序员 > 2009年下半年 程序员 上午试卷 综合知识
  第51题      
  知识点:   能力成熟度模型(CMM)简介   CMM   软件过程   维护
  关键词:   CMM   开发   软件过程   维护        章/节:   标准化与知识产权基础知识       

 
CMM软件过程改进的进化步骤组织成5个成熟度等级,其中,在(51),所有项目都釆用根据实际情况修改后得到的标准软件过程来开发和维护软件。
 
 
  A.  可重复级
 
  B.  已定义级
 
  C.  已管理级
 
  D.  优化级
 
 
 

   知识点讲解    
   · 能力成熟度模型(CMM)简介    · CMM    · 软件过程    · 维护
 
       能力成熟度模型(CMM)简介
        软件能力成熟度模型(CMM)是一个目前国际上较流行、较实用的软件生产过程行业标准模型,用于定义软件开发过程的成熟度,并提供怎样做才能提高软件质量的指导。
        CMM为软件企业的过程能力提供了一个阶梯式的进化框架,将软件过程改进的进化步骤分成5个成熟度等级,每一个级别定义一组过程能力目标,并描述了要达到这些目标应该采取的实践活动,为不断改进过程奠定了循序渐进的基础。
               初始级
               在初始级,企业一般缺少有效的管理,不具备稳定的软件开发与维护环境。软件过程是未加定义的随意过程,项目的执行也是随意甚至是混乱的,几乎没有定义过程的规则。软件过程在实际的工作过程中经常改变(过程是随意的),其成果是不稳定的、不可预见的、不可重复的。也就是说,软件的计划、预算、功能和产品的质量都是不可确定和不可预见的。
               可重复级
               在可重复级,企业建立了基本的项目管理过程的政策和管理规程,对成本、进度和功能进行监控,以增强过程能力。对新项目的计划和管理基于以往相似或同类项目的成功经验,以确保再一次的成功。一个可管理的过程则是一个可重复的过程,一个可重复的过程则能逐渐进化和成熟。可重复级的焦点集中在软件管理过程上,包括需求管理、项目管理、质量管理、配置管理和子合同管理等方面。软件项目的计划和跟踪与监控的稳定实施,表现出一个按计划执行的且阶段可控的软件开发过程,并表明软件开发过程相对稳定,且过程建立细化到项目一级。
               定义级
               在定义级,企业全面采用综合性管理及工程过程管理,对整个软件生命周期的管理与工程化过程都已标准化,并综合成软件开发企业标准的软件过程。企业标准软件过程通过证明是正确且实用的,所有开发的项目须根据标准过程,剪裁出与项目适宜的过程,并执行这些过程。
               管理级
               在管理级,企业开始定量地认识软件过程,软件质量管理和软件过程管理是量化的管理。对软件过程与产品质量建立了定量的质量目标,制定了软件过程和产品质量的详细而具体的量度标准,实现了量度标准化。通过一致的量度标准来指导软件过程,保证所有项目对生产率和质量进行量度,并作为评价软件过程及产品的定量基础。
               优化级
               在优化级,企业将会把工作重点放在对软件过程改进的持续性、预见性及自身的增强,防止缺陷及问题的发生,不断地提高过程处理能力。通过来自过程执行的质量反馈和新方法及新技术的定量分析来改善下一步的执行过程,即优化执行步骤,使软件过程能不断地得到改进。根据软件过程的效果,进行成本/利润分析,从成功的软件过程中吸取经验,把最好的创新成果迅速推广到整个企业;对失败的案例进行分析以找出原因并预先改进,把失败的教训告知全体组织以防止重复以前的错误,不断提高产品的质量和生产率。
 
       CMM
        CMM模型描述和分析了软件过程能力的发展程度,确立了一个软件过程成熟程度的分级标准。
        (1)初始级:软件过程的特点是无秩序的,有时甚至是混乱的。软件过程定义几乎处于无章法和无步骤可循的状态,软件产品所取得的成功往往依赖于极个别人的努力和机遇。初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。也许,有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行时没有政策、资源等方面的保证,那么它仍然被视为初始级。
        (2)可重复级:已经建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。对类似的应用项目,有章可循并能重复以往所取得的成功。焦点集中在软件管理过程上。一个可管理的过程则是一个可重复的过程,一个可重复的过程则能逐渐演化和成熟。从管理角度可以看到一个按计划执行的且阶段可控的软件开发过程。
        (3)已定义级:用于管理方面和工程方面的软件过程均已文档化、标准化,并形成整个软件组织的标准软件过程。全部项目均采用与实际情况相吻合的、适当修改后的标准软件过程来进行操作。它要求制定企业范围的工程化标准,而且无论是管理还是工程开发都需要一套文档化的标准,并将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这个标准过程,剪裁出项目适宜的过程,并执行这些过程。过程的剪裁不是随意的,在使用前需经过企业有关人员的批准。
        (4)已管理级:软件过程和产品质量有详细的度量标准。软件过程和产品质量得到了定量的认识和控制。已管理级的管理是量化的管理。所有过程需建立相应的度量方式,所有产品的质量(包括工作产品和提交给用户的产品)需有明确的度量指标。这些度量应是详尽的,且可用于理解和控制软件过程和产品,量化控制将使软件开发真正变成为一个工业生产活动。
        (5)优化级:通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地进行过程改进。如果一个企业达到了这一级,表明该企业能够根据实际的项目性质、技术等因素,不断调整软件生产过程以求达到最佳。
        在CMM中,每个成熟度等级(第一级除外)规定了不同的关键过程域(Key Process Area,KPA),一个软件组织如果希望达到某一个成熟度级别,就必须完全满足关键过程域所规定的要求,即满足关键过程域的目标。每个级别对应的关键过程域见下表。
        
        关键过程域的分类
 
       软件过程
        在开发产品或构建系统时,遵循一系列可预测的步骤(即路线图)是非常重要的,它有助于及时交付高质量的产品。软件开发中所遵循的路线图称为"软件过程"。过程是活动的集合,活动是任务的集合。软件过程有3层含义:一个是个体含义,即指软件产品或系统在生存周期中的某一类活动的集合,如软件开发过程、软件管理过程等;二是整体含义,即指软件产品或系统在所有上述含义下的软件过程的总体;三是工程含义,即指解决软件过程的工程,应用软件的原则、方法来构造软件过程模型,并结合软件产品的具体要求进行实例化,以及在用户环境下的运作,以此进一步提高软件的生产率,降低成本。
               能力成熟度模型(CMM)
               CMM将软件组织的过程能力分成五个成熟度级别:初始级、可重复级、已定义级、已管理级和优化级。由低到高,软件开发生产精度越来越高,每单位工程的生产周期越来越短。
               (1)初始级。软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。
               (2)可重复级。建立了基本的项目管理过程来跟踪费用、进度和功能特性;制定了必要的过程纪律,能重复早先类似应用项目取得的成功。
               (3)定义级。已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件。
               (4)管理级。收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解和控制。
               (5)优化级。过程的量化反馈和先进的新思想、新技术促使过程不断改进。
               能力成熟度模型集成(CMMI)
               CMM的成功导致了适用不同学科领域的模型的衍生,如系统工程的能力成熟度模型,适用于集成化产品开发的能力成熟度模型等。而一个工程项目又往往涉及多个交叉的学科,因此有必要将各种过程改进的工作集成起来。1998年,由美国产业界、政府和卡内基.梅隆大学软件工程研究所共同主持CMMI项目。CMMI是若干过程模型的综合和改进,是支持多个工程学科和领域的、系统的、一致的过程改进框架,能适应现代工程的特点和需要,能提高过程的质量和工作效率。
               CMMI提供了两种表示方法:阶段式模型和连续式模型。
               1)阶段式模型
               阶段式模型的结构类似于CMM,它关注组织的成熟度。CMMI-SE/SW/IPPD 1.1版中有5个成熟度等级。
               初始的:过程不可预测且缺乏控制。
               已管理的:过程为项目服务。
               已定义的:过程为组织服务。
               定量管理的:过程已度量和控制。
               优化的:集中于过程改进。
               2)连续式模型
               连续式模型关注每个过程域的能力,一个组织对不同的过程域可以达到不同的过程域能力等级(Capability Level,CL)。CMMI中包括6个过程域能力等级,等级号为0-5。能力等级包括共性目标及相关的共性实践,这些实践在过程域内被添加到特定目标和实践中。当组织满足过程域的特定目标和共性目标时,就说该组织达到了那个过程域的能力等级。
               能力等级可以独立地应用于任何单独的过程域,任何一个能力等级都必须满足比它等级低的能力等级的所有准则。对各能力等级的含义简述如下。
               CLo(未完成的):过程域未执行或未得到CLi中定义的所有目标。
               CLi(已执行的):其共性目标是过程将可标识的输入工作产品转换成可标识的输出工作产品,以实现支持过程域的特定目标。
               CL2(已管理的):其共性目标集中于已管理的过程的制度化。根据组织级政策规定过程的运作将使用哪个过程,项目遵循已文档化的计划和过程描述,所有正在工作的人都有权使用足够的资源,所有工作任务和工作产品都被监控、控制和评审。
               CL3(已定义级的):其共性目标集中于已定义的过程的制度化。过程是按照组织的剪裁指南从组织的标准过程集中剪裁得到的,还必须收集过程资产和过程的度量,并用于将来对过程的改进。
               CL4(定量管理的):其共性目标集中于可定量管理的过程的制度化。使用测量和质量保证来控制和改进过程域,建立和使用关于质量和过程执行的定量目标作为管理准则。
               CLs(优化的):使用量化(统计学)手段改变和优化过程域,以满足客户要求的改变和持续改进计划中的过程域的功效。
 
       维护
        维护阶段是软件生存期中时间最长的阶段。软件一旦交付正式投入运行后便进入软件维护阶段。该阶段的关键任务是通过各种必要的维护活动使系统持久地满足用户的需要。每一项维护活动都应该准确地记录下来,作为正式的文档资料加以保存。
   题号导航      2009年下半年 程序员 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第51题    在手机中做本题