CMM 二级SQA 关键过程域_cmm关键过程域

2020-02-28 其他范文 下载本文

CMM 二级SQA 关键过程域由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“cmm关键过程域”。

CMM 二级SQA 关键过程域

软件工程 硕1005班

程陈

3210011075

软件工程学的发展为软件开发带来了收益,但也有许多方面不尽如人意。准确定义软件过程现状,要求有一套评价标准、一个度量框架以及对其他许多工作提出的要求。CMM二级“可重复级”是第1 个软件过程改进的台阶,二级中的6 个关键过程域(KPA)(需求管理、软件项目策划、软件项目跟踪和监督、软件子合同管理、软件质量保证、软件配置管理)集中关注软件项目所关心的、与建立基本软件项目管理和控制有关的事项。

其中,SQA 为管理者提供对软件项目正在使用的过程和正在构造的产品的可视性。SQA 是绝大多数软件工程过程和管理过程不可缺少的一部分,前5 个关键过程域是围绕着组织软件工程过程展开的过程管理,SQA 关键过程域则是全程确保这5 个KPA 活动的过程符合标准、规程和组织方针,与组织外部施加标准和要求的一致性。由于SQA 在整个软件过程管理中对所有KPA 起着全程监督作用,因此SQA 在整个软件工程过程的改进中有着最实际的第一手资料,对过程改进起着关键的作用。SQA 过程实施与软件过程改进

1.1 SQA 过程 1.1.1 SQA 过程的职能

SQA 过程实施必须有一个独立的机构,如SQA 组,充当高层关注软件项目的“眼睛和耳朵”。SQA 组有一个独立于项目经理、项目软件工程组和其他软件有关组的向CMM管理委员会报告的渠道,必须具有独立验证与确认(independent verification and validation, IV&V)的功能。组织可根据自己的情况选择SQA 组人员,例如,SQA 人员可以由质量处人员与开发部门人员结合组成,直接由质量部门领导。SQA 的独立性保证了使其成为高层管理者在软件项目上的“耳目”,并真正行使监督的职能。

1.1.2 SQA 过程的流程与软件开发过程的关系

SQA 参与软件项目早期策划并制定SQA 计划,SQA 的核心工作是对软件过程评审和维护。使软件开发或维护过程不仅是一个技术开发过程,而是一个软件工程过程。图1 显示了SQA 过程的流程。

图1

SQA 过程的流程

从图1 可以看出,SQA 负责对软件开发过程所有阶段进行评价。SQA 通过制定一系列过程评审检查表,来评价每一软件开发过程对标准、规程的符合性,适时地反映软件项目过程可视性,将有关项目过程状态信息提供给高层和软件项目负责人。从软件需求阶段开始到系统测试为止,软件质量保证过程与软件开发过程是同步的,并且与软件开发过程具有双向反馈信息。图中软件配置管理(software configuration management, SCM)是CMM 二级的一个KPA。

1.2 SQA 过程的实施

软件过程管理的目标是在按计划生产产品的同时提高组织的能力,以便生产更好的产品。如果过程的未来业绩在一个设定的统计区间内可以预测,可以认为这一过程是稳定的,或处于统计控制之下的。在CMM 二级中,它为组织定义了管理基本软件过程的模型,在关键实践中,一般只描述“做什么”,而不强制规定“如何做”。

1.2.1 评审软件过程活动

SQA KPA 就是对过程定期地评价以决定它们的当前适宜性和有效性,SQA 应能有效地识别过程必需的和有益的改进,保证软件开发计划、软件配置管理计划、软件质量保证计划或其他计划的实施和控制。下面是SQA 实施软件过程评审的要点:

(1)SQA 评审过程:SQA 本身应遵循一个已定义的审核过程,并且SQA 评审过程应为项目所有人员接受。SQA 评审采用检查表方式将要检查的内容写成检查项;

(2)SQA 评审范围:必须确定SQA 评审的范围,例如:代码审查,单元测试过程评审;(3)过程符合性:对那些遵循过程的开发活动,SQA 人员应积极地报告过程活动符合项目活动和项目目标的有效性,并建议采取改进措施(改变不够健壮的过程);(4)过程不符合性:对那些不遵循过程的开发活动,SQA 人员应报告不符合项以及它对项目的影响,并建议由项目组或向上管理层采取纠正措施。

SQA 评价软件开发过程及其评价项目所有过程的任务,并验证二级5 个KPA 活动。以此来保证项目开发的质量。在整个实施过程中,SQA 人员工作同步于开发人员,并在周例会、评审会上适时地报告当前开发过程的状态,使软件开发过程适当可视。对过程符合的,建议项目组采取改进措施;对过程不符合的,建议项目组采取纠正措施。如在项目级不能解决的不符合问题,则上溯至高层。作为组织过程改进的数据信息,分6 个方面进行描述:

(1)评价软件产品评审过程:SQA 应该报告评价的软件产品验证过程的结果和报告实施任务的度量。

(2)评价项目计划和监督过程:SQA 保证项目产品评价活动满足项目计划,对计划的任何变更需得到项目负责人的批准。SQA 将确定标准或实施方针,适当的数据项描述有助于剪裁标准、实施方针以符合项目的需要。

(3)评价基本软件开发过程:参与软件项目早期策划并制定SQA计划;主要评价体系结构设计、需求和设计,负责代码审查;评价单元测试、CSC 集成测试、CSCI 合格性测试、系统集成及测试、系统合格性测试和项目结束交付过程。SQA 将评价准备最终项交付的活动,以保证最终项产品的功能和物理审核满足计划和项目需求。在某些情况下,如果项目不符合项目需求或标准,SQA 应禁止项目的交付,例如:文档,代码或系统。

(4)评价其他管理过程:评价软件开发过程中的支撑过程满足组织相关规程、项目软件配置管理计划要求。

(5)实施配置审核:按配置管理计划实施配置审核,一般在以下几种时机:1)软件工作产品正式发布即软件产品基线建立之前;2)很多较小的变更或基线变更时。

(6)验证5 个KPA:1)SQA 组评审和/或审核管理分配需求的活动和工作产品,并报告其结果;2)SQA 组评审和/或审核软件项目策划的活动和工作产品,并报告其结果;3)SQA 组评审和/或审核软件项目跟踪和监督的活动和工作产品,并报告其结果;4)SQA 组评审和/或审核软件分包工作的活动和工作产品,并报告其结果;5)SQA 组评审和/或审核SCM 的活动和工作产品,并报告其结果。

1.2.2 审核软件工作产品

审核系统需求分析过程、系统设计过程、软件需求分析过程、软件设计过程、编码和单元测试过程、单元集成和测试、CSCI 合格性测试、CSCI/HWCI 集成和测试、系统合格性测试过程、项目结束交付过程的所有文档审核。

1.2.3 参与配置审核、评审技术活动、管理活动

SQA 按需求实施或依据项目SCMP 协助做正式配置审核。配置审核是CSCI 的正式验证。有2 种配置审核类型:功能配置审核(FCA)和物理配置审核(PCA)。由项目组实施的技术评审将评审过程和最终软件产品,而不是评审产生的文档资料。SQA 将保证技术评审是可实施的和有选择地关注符合经批准的技术文档,并报告评审结果。

对软件项目状态、进展、问题和风险的SQA 的周期管理评审将提供项目活动的一个独立的评价。SQA 将提供下列各项数据给上级管理部门:(1)依从性。识别项目与已建立的组织和项目规程的依从性。(2)问题区域。基于技术评审结果分析,识别潜在的或实际的项目问题区域。(3)风险。基于参与和评价项目进展和问题区域,识别风险。SQA 人员将报告评审结果,并跟踪管理评审发现的问题直至问题处理结束。

1.2.4 SQA 处理项目的不符合问题

对项目的不符合问题,无论是在项目内还是在项目外处理,都必须由SQA 人员来跟踪,直至关闭。对不符合问题有3 种方式解决:

(1)使得产品或过程满足标准、规程、或需求(改正不符合项);(2)改变标准或规程以它可用;

(3)做出管理决策,允许不满足标准、规程、或需求(让步)。

对组织暂时不能处理的不符合问题,提出让步处理,作为组织软件过程改进的信息。

1.3 SQA KPA 与软件过程改进

CMM 主要目标是实现过程的控制和度量,以建立持续改进的基础。组织要求有一套评估方法和项目管理体系才能确保使用CMM,评估帮助组织认清其成熟度状态。整个软件过程的改进以许多小的改进步骤为基础,这些小的改进步骤通过一些关键实践来实现。过程改进的信息从哪里来?表面上好像项目组可以向SEPG 提出,SEPG 自己也可以去发现。但是实际情况往往是:一方面项目组成员尤其是成熟度等级较低企业的项目组成员缺乏质量意识,只关注与自身相关的开发工作,对过程改进工作缺乏应有的认识,提不出问题或者有问题也不愿提出来;而另一方面SEPG 却又往往苦于不了解项目情况而找不到关键问题所在。SQA 的存在可以解决这一矛盾,因为SQA 经常要参与过程改进工作,又常常参与项目的活动,既熟悉过程体系又熟悉项目情况,所以SQA 在整个软件过程的改进中起着关键的作用,充当SEPG 和项目组之间的桥梁。过程改进的信息来源于:(1)它呈现了项目在实施CMM 二级中大部分问题,有些问题是因为项目组本身执行得不够规范而产生的,而另一些问题则是由于过程本身存在着一些缺陷引起的,如可操作性不强或前后矛盾等而让项目组无法实施。另外项目实施过程中值得借鉴的一些经验做法通过SQA 也会反映给高层和SEPG;(2)内部评估和外部机构对组织CMM 二级的评价中产生的强项、弱项、待改进项和建议项。以上2 点,SQA 在工作中都会客观反映这些问题以促使过程改进。

为改进软件能力,组织必须分 6 步:(1)了解开发过程现状;(2)确定目标过程;

(3)确定所需要的过程改进活动清单,并安排先后顺序;(4)制定完成所需活动的计划;(5)提供实施计划所需要的资源;(6)回到第(1)步。

实施 CMM 是组织软件过程的一面镜子,看到组织目前软件过程的水平;评估是组织认清CMM 实施后的结果。例如,根据组织当前软件工程状况和发现的弱项、待改进项、建议项,提出过程改进分2 步:

(1)强化培训,采取在组织级上实施以下几方面培训:

1)软件开发文档模板(SJ 20778-2000)及UML 建模方法专题培训; 2)单元测试、合格性测试类型、技术、工具使用的专题培训; 3)Project 高层使用培训(结合开发计划案例);

4)SQA 高层技能培训、课题组长项目管理专题培训。(2)开发SPP、SPTO 工具。实施SQA 过程的资源

2.1 SQA 角色和技能

SQA 角色来自CMM,这个角色也将拓展成软件项目管理的SQA,它对组织无论是处在软件工程的管理层上,还是在CMM 的管理层上,都必须有这个角色。这个角色的作用即是高层领导的耳目又是项目经理的副手,直接负责项目的质量保证。它应具备软件开发的技能、软件工程知识和基本项目管理知识。

2.2 SQA 工具

SQA 检查工具是检查单,分析工具首推Pareto 图。(1)检查单是SQA 的有效工具;

(2)检查单既对过程活动又对工作产品;

(3)过程检查表的有效性取决于检查项与项目实际的贴切程度和具体程度;(4)对检查结果必须进行分析,了解趋势,发现问题,宜采用Pareto 图。

2.3 组织对SQA 的评审

SQAG 是唯一一个检查其他KPA 的机构,而他本身也必须被监督,才能保证他的公正性、客观性。高层管理者、独立SQA 专家、项目经理定期评审SQA 活动,并向SQA 组发放评审结果,对不符合问题也被跟踪至关闭,确保SQA 活动是有效的。结论

本文从 CMM 角度来阐述组织软件过程的改进,通过实施CMM,尤其是由SQA KPA 发现的问题。为此真正提供组织软件工程的能力,从而保证软件产品质量。

《CMM 二级SQA 关键过程域.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
CMM 二级SQA 关键过程域
点击下载文档
相关专题 cmm关键过程域 过程 关键 CMM cmm关键过程域 过程 关键 CMM
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文