软件过程改进学期总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
总述 (2)
CMM的产生背景 (2)
起源: (2)
必要性: (2)
软件过程成熟度的五个等级 (3)
概述 (3)
CMM 2级(可重复级)的内容 (3)
CMM 3级(已定义级)的内容 (4)
CMM 4级(已管理级)的内容 (7)
CMM 5级(优化级)的内容 (7)
总结 (8)
软件过程改进学期总结
总述
本学期,在课程“软件过程改进”中,学习了《软件能力成熟度模型与模型集成基础》一书。从本学期的学习中,可深刻体会到不断改进软件开发过程是软件工程的基本原理之一。
改进软件过程首先需要分析当前的过程状态,确定其需要改进之处,制定适当的改进策略。第一步就是要对当前的软件过程进行评估,找出其中的弱点;第二步才能依据科学的改进途径制定适当的策略。
本书内容以能力成熟度模型(CMM)的5个等级展开,在每个等级中,着重讨论了过程基本特征、关键过程域、软件质量管理、软件配置管理、定量过程管理等问题,并从目标、执行约定和执行能力、实施过程、评价等方面对上述问题进行研究分析。
CMM的产生背景
起源:
能力成熟度模型(Capacity Maturity Mode1,CMM),是卡内基-梅隆大学软件工程研究院(SEI)为了满足美国联邦政府评估软件供应商能力的要求,于1986年开始研究的模型,并于1991年正式推出了CMM 1.0版。CMM自问世以来备受关注,在一些发达国家和地区得到广泛应用,成为衡量软件公司软件开发管理水平的重要参考因素和软件过程改进事实上的工业标准。
必要性:
软件产业已逐步从一个弱小的产业跃居为新兴的、发展最快的、潜力巨大的产业。它代表着一个国家高新技术的水平。没有先进的软件产业,就不可能有先进的信息技术产业。软件能力成熟度模型可用来评估软件过程成熟度,能不断对软件过程进行最有效的改进,提高软件过程能力,降低软件开发风险,因而深受软件产业界关注。而软件过程改进被列为软件生命周期的17个过程之一。实践表明,软件过程需要不断完善,从而不断提高软件过程能力。
软件过程成熟度的五个等级
概述
按照软件成熟度等级的定义,各个等级都是经过
妥善定义的在向成熟软件组织前进途中的平台。每一
个成熟度等级应为软件过程提高到下一更高等级提供
基础。CMM等级划分为5个等级,这5个成熟度等级
定义了一个有序的尺度,用来测量一个组织的软件过
程成熟度并评价其软件过程能力。这些等级还能帮助
组织自己对其改进工作排出优先次序。每一个成熟度
等级包含一组过程目标,通过实施相应的一组关键过
程域达到这一组过程目标,当目标满足时,能使软件过
程的一个重要成分稳定。每达到成熟度框架的一个等
级,就建立起软件过程的一个相应成分,导致组织过程
能力一定程度的增长。
CMM 2级(可重复级)的内容
CMM 2级是一个软件组织从初始级到更高级必须经过的一个等级。CMM 2级在CMM 中处于十分重要的地位。这是因为初始级的软件过程没有组织、标准、规程的保证。而CMM 2级建立了基本的项目管理过程来跟踪成本、进度和机能,它有必要的过程准则来运用以前同类项目的成功经验,它是达到其他层次的基础,是一个软件组织从不成熟变为成熟的关键。本章重点讨论以下内容:
CMM 2级的过程基本特征
在CMM,可重复级要达到以下目标:
1)软件质量保证活动独立于软件开发的项目管理,及时发现偏差并跟踪到底。
2)按照严格的步骤估计软件模型、成本、进度和进行软件开发管理评审。
3)有一种机制控制需求和代码的变更,以及更高层管理机构对软件开发项目状态进行正规
的评审。
CMM 2级的关键过程域
CMM 2级的关键过程域的侧重点就是为软件项目建立项目管理控制。它包括六个关键过程域:需求管理、软件项目计划、软件项目跟踪和监督、软件转包合同管理、软件质量保证、软件配置管理。
这些关键过程域标识了一系列相关的实践活动,当这些活动全部完成时,软件过程能力就可达到CMM 2级所规定的目标。这些可操作的、目标明确的实践活动,指明了组织为改
进其软件过程所应关注的方面以及要解决的问题。
CMM 2级上的需求管理
需求管理简称RM(Requirements Management),它是软件开发过程中最难把握的一个环节,又是项目成败的关键因素。在整个软件生命周期中,需求阶段是基础。做好需求管理,既可以减少软件开发中的错误,保证项目能满足用户需求,还可以减少修改错误的费用,从而大大缩短软件开发时间,提高软件开发效率,降低软件开发成本。
CMM 2级上的软件项目计划
项目计划管理的目的是制定软件项目进行软件工程和管理的合理计划,并将计划付诸实施。软件项目计划管理在软件开发过程中处于十分重要的地位,这是因为软件项目计划体现了对客户需求的理解,并为软件工程的管理和运用提供可行的计划,是开展软件项目活动的基础和跟踪、监督、评审计划执行情况的依据。因此,制定周密、简洁和精确的软件项目计划是成功地开发软件产品的关键。
CMM 2级上的软件项目跟踪和监控
CMM 2级上的软件转包合同管理
软件转包合同管理的目的是为了选择合格的软件转包商,并有效地管理他们。软件转包合同管理不仅包括对纯软件子合同的管理,也覆盖了包括软件、硬件和可能有的其他系统成分的子合同中的软件部分的管理。另外软件转包合同管理既包含了需求管理、项目计划、跟踪和监控等基本管理控制区域,又包含了软件质量保证和配置管理等方面。
CMM 2级上的软件质量保证
软件质量保证简称SQA(Software Quality Assurance),它是软件产品满足规定的、隐含的、需求能力和有关特性的集合,是描述所有计算机软件优秀特性程度的组合。软件质量是贯穿软件生存期的一个极为重要的概念,是软件开发过程中所用的各种开发技术和验证方法的最终体现。通过监控软件产品质量,以确保最终的软件产品符合需求和开发标准。CMM 2级上的软件配置管理
软件过程的关键要素,是开发和维护各个阶段管理软件演进过程的方法和规程。软件配置管理的目的是在项目的整个软件生存周期中,建立和标识软件配置管理项(软件工作产品及其描述等),并对其进行控制和管理,维护其完整性、一致性和可跟踪性。
CMM 3级(已定义级)的内容
CMM 3级是CMM的已定义级,CMM 3级是企业制定了一套软件过程规则(文档),在所开发的项目中,有标准化的过程对所有软件开发的项目和管理给予指导。依据软件的具体项目的需要,将标准过程调整为合适的项目过程。CMM 3级组织的开发和维护软件的标准过程已文档化,这个过程包括软件工程过程和软件管理过程,而且这些过程被集成为一个有机的整体。
CMM 3级的软件过程的基本特征
1)建立了组织的标准软件过程