软件过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章软件过程规范
1.IEC12207软件生命周期过程示意图
2.ISO/IEC15504软件过程评估标准的组成
3.软件过程规范的概念:过程规范就是对输入输出和活动所构成的过程进行明文规定或约定俗成的标准。软件过程规范是软件开发组织行动的准则和指南,可以依据各类过程的特点而建立相应的规范,如软件基本过程规范、软件支持过程规范和软件组织过程规范。在软件过程的管理中,人们会更多地关注软件管理过程规范、开发过程规范、维护过程规范、配置管理过程规范和质量保证过程规范等。而软件开发过程规范,进一步可分为需求分析和开发的过程规范、设计过程规范、测试过程规范和发布过程规范等。
4.软件过程规范的建立
组织过程规范的建立,除了国家制定的软件过程规范外,可以借鉴的过程模型、框架或模式主要有如下几种:
(1)软件能力成熟度模型(CMM)。适用于评估和改进软件组织的过程能力,提供了关键过程域、过程活动等指导。
(2)个体软件过程(PSP)。帮助软件开发团队中的个体——软件工程师改善其个人能力和素质的组织过程,内容丰富,具有良好的实践性。
(3)团队软件过程(TSP)。建立在个体软件过程之上,致力于开发高质量的产品,建立、管理和授权项目小组,改善开发团队过程、提高开发团队能力的指导性框架。
(4)能力成熟度模型集成(CMMI)。是在CMM的基础上,试图把现有的各种能力成熟度模型集成到一个框架中去,包含了健全的软件开发原则。
(5)IBM—Rational的统一过程(RUP)。定义了一系列的过程元素,如角色、活动和产物,通过适当的组合能够帮助软件开发组织有效管理软件过程。
(6)极限编程方法。为适应快速的需求变化而积累的最佳实践,但需要适度借鉴。
(7)软件解决方案框架(MSF)。基于一套制定好的原理、模型、准则、概念和指南而形成的一种成熟的、系统的技术项目规划、构建和部署的指导体系。
5.项目实施过程规范可定义如下:
(1)参与人员。项目经理、开发组长、测试组长和项目组其他成员。
(2)入口准则。项目计划已批准,项目资源和进度已确定,任务安排完毕,项目计划基线已建立,并通过配置管理组的确认。
(3)出口准则.项目通过用户验收,《验收报告》经用户代表、项目经理、开发组长和测试组长等签字确认。
(4)输入。《市场需求文档》、《软件需求规格说明书》和《软件项目计划书》等。
(5)输出。通过验收测试的、可交付的、源代码及相关文档。
(6)在项目实施期间的主要活动包括如下。
*项目经理、开发组长和测试组长需要提交每日、每周报告,包括存在的问题、缺陷状态、任务进度和资源。
*项目经理、开发组长和测试组长要定期审查项目计划的执行情况,若发现进度延误,应及时采取措施以加快进度或及时调整项目计划。
*项目经理、开发组长和测试组长审查各类问题并及时解决这些问题,清理软件缺陷,决定哪些缺陷要优先修正,哪些缺陷可以留到下一个版本。
(7)相关模板。《软件项目计划》、《项目日报》、《缺陷报告单》、《缺陷状态跟踪表》以及《项目进度周报》等模板。
6.项目管理过程
项目管理过程(PMP)是计划、跟踪和协调项目执行及生产所需资源的管理过程。项目管理过程的活动,包括软件基本过程的活动,包括项目基本过程的范围确定、策划、执行和控制、评审、评价等。该过程的成功实施期待带来如下结果。
(1)为过程和执行指定计划,定义项目的目标、工作范围和责任,以及相关活动和任务的说明。
(2)对任务规模、难度和工作量估计,完成任务所需资源和成本估计,指定时间进度表。(3)任务的分配、责任的指定,对在过程执行期间完成的软件产品、活动和任务的评价结果进行评估,以确保过程满足所设定的项目目标和里程碑准入、准出标准。
(4)实行控制、监视过程计划的执行,随时提供过程进展的内部和外部报告,要对过程执行过程中发现的问题进行调查、分析和解决。
(5)确定和管理项目内不同元素之间、项目与项目之间、组织单元之间的各种接口或关系。(6)当项目进度滞后、阶段性目标未能完成时,要及时采取相应的纠正措施,包括计划的变更。保证对计划更改的效果进行确定、控制和监视,以便达到目标和完成计划。
7.软件过程规范和项目过程规范,有何关系和区别(3,5)
8.通过互联网搜索有关软件过程标准、软件过程建模的更多资料。
第二章软件过程成熟度
1.CMM的基本内容和结构
CMM的四项基本元素。
(1)成熟度等级。是朝着实现成熟软件过程改进的、适当定义的和特定的平台。5个成熟度等级提供了CMM的顶层结构。
(2)关键过程域(KPA)。每个成熟度等级由若干KPA组成,每个KPA标识出一串相关的活动。当KPA作为群体完成时,就达到一组目标,此组目标对建立相应的过程成熟度等级是至关重要的。
(3)关键实践(KP)。每个KPA用若干关键实践加以描述,当实施这些关键实践时,能帮助实现该KPA的目标。关键实践描述了对KPA的有效实施和规范化贡献最大的基础设施和活动。
(4)共同特点(CF)。将关键实践分别归入五个共同特点,执行约定、执行能力、执行活动、测量和分析及验证实施。共同特点是一种属性,能指示一个关键过程区域的实施和规范化是否是有效的、可重复的和持久的。
2.软件过程不同的成熟度分为5个等级——1初始级、2可重复级/受管理级、3已定义级、
4定量管理级、5优化级,为过程不断改进建立了一个又一个循序渐进的、通向成熟软件组织的台阶。
3.成熟度各个级别的软件过程特征
2级软件过程特征:
(1)建立了软件项目管理的策略和实施这些策略的规范,但过程管理的策略主要是针对项目建立的,而不是针对整个组织来建立。
(2)软件开发和维护的过程相对稳定,已有的成功经验可以被复用,即基于以往的成功经验来规划和管理同类的新项目。
(3)软件过程中,引入了软件配置管理、质量保证和管理。
(4)软件项目管理人员负责跟踪成本、进度,有能力识别及纠正过程中出现的问题。
(5)为需求和相应的工作产品建立基线来标志过程进展、控制过程的完整性。
(6)定义了软件项目的标准,能保证项目在执行过程中严格遵守标准。
(7)软件过程中,对子合同管理,保证与转包商建立良好的供求关系。
(8)重视人员培训工作、建立技术支持活动,更好的支持了过程管理。
3级软件过程特征:(1)整个组织内的软件过程都已标准化、文档化,形成有机的整体——组织的标准软件过程。
(2)整个组织内的软件过程得到了良好的管理和监控,过程是稳定的、可重复的和连续的。(3)软件过程标准被应用到所有的项目中,可以根据项目的类型、规模和实际特点。,对组织的标准软件过程进行剪裁,以适应特点项目的需求。
(4)软件过程具有可预见性及防范问题的能力,能使风险的影响最小化,软件质量得到控制。
(5)有专门的过程管理组织单元负责软件过程活动。
(6)全组织范围内安排培训计划,有计划的对不同的技术人员角色进行培训。
(7)整个组织内部的所有人员对已定义的软件过程的活动和任务有着深入的、一致的理解。(8)在定性基础上建立新的软件过程和产品评估技术。
4级软件过程特征:(1)制定了软件过程和产品质量的详细而具体的度量标准。
(2)定量的认识和度量软件过程和组织过程能力,更有效地管理、控制和预测软件过程和提高产品质量、保证所实施项目的生产率。
(3)在定量的限度范围内,预测过程和产品质量的发展趋势,一旦意外情况出现,就可以确定导致这些意外的“特定的原因”,从而采取适当的措施来解决问题。
(4)具有已定义及一致的度量标准来指导软件过程,并作为评价软件过程及产品的定量基础。
(5)组织内已建立软件过程数据库,保存收集到的数据,并用于各项目的软件过程。(6)软件过程变化较小,一般在可接受的范围内。
(7)因为项目的每个人员都了解个人的作用与组织的关系,所以都存在强烈的团队合作意识。
(8)不断地在定量基础上评估新技术。
第三章软件过程的组织管理
1.下图是PSP过程框架:从图中可以看出整个开发过程中从需求开始,经过计划、设计、设计评审、编码、代码评审、编译、测试和总结等开发阶段。而软件工程除了遵循整个开发流程外,还需要通过脚本来指导自己完成工作,脚本还将记录他们所花费的时间和相应的缺陷数据并产生相应的日志,如缺陷日志。在项目总结阶段,需要从日志中收集各种时间和缺陷的数据,度量产品的规模并把他们填入计划总结报告中。最后,连同报告一起发布完成的产品。