首页 > 代码库 > 2017.07.07 IT项目管理笔记整理 第八章 软件项目质量管理

2017.07.07 IT项目管理笔记整理 第八章 软件项目质量管理

软件质量的特性:1、正确性 2、可靠性 3、效率 4、完整性 5、使用性 6、维护性
2、 测试性 8、灵活性 9、移植性 10复用性 11、共运行性


软件质量的6个特性用于评价: 1功能性 2、可靠性 3、易用性 4、效率 5、可维护性 6、可移植性

软件质量保证的目标:1通过适当的监控系统及其开发过程来保证软件质量。2确保软件及其开发过程与已定的标准和规程要求完全一致3保证软件及时发现产品、过程和标准的任何不足并提醒管理者注意,以便及时弥补


软件质量保证组织的职责: a对所有开发计划和质量计划的完整性进行评审
b作为审查主持人,参与设计和代码的审查

c对所有测试计划是否符合标准进行评审

d对所有测试结果的显著样本进行评审,以确定是否按计划执行

e定期审核软件配置管理的执行情况,以确定是否符合标准

f参与所有项目的各类阶段评审,如果没有达到相关标准和规程的要求,应对不符项及缺陷进行登记并跟踪解决情况

 

软件评审的概念 软件评审由开发人员的技术同行在项目实施的各个阶段进行的优组织的软件浏览、文档与代码审读活动,验证工作是否符合预定的标准,其目的是协助软件开发人员在项目早期找出工作的错误

软件评审的意义:软件评审能促使开发人员更好地完成工作,可以发现大量的倾向性错误,而且由于评审处于活动的早期,因此纠正错误的成本要低很多。


评审的实施: 1、确定参加评审的人员 2、人员培训 3、评审准备
4、分发评审材料,评审员审读评审材料 5、评审会议 6、评审报告


什么是软件过程:(3个基本要素:人、方法与规程、技术与工具)

研究的是如何将人员、技术和工具等组织起来,通过有效的管理手段,提高软件生产的效率,保证软件产品的质量

 

取得评审的关键:1应为评审及改正评审发现的问题预留项目资源 2评审应以发现问题为重点 3保证评审的技术化 4制订检查和标准 5限制会议人数,并且坚持事先做准备 6对所有的评审者进行有意义的培训

 

软件项目成功的三要素:1 强大的工具 2协同和规范 3执行能力

软件过程改进的根本目的是:提高质量、提高生产率并且降低开发成本
软件产品质量需求层:产品将在用户所在组织当前使用的平台和操作系统上运行。产品将是可靠的并能防止数据丢失的机制。产品将提供完成某些任务所必需的功能。产品将易于使用。


质量特性:可移植性可靠性功能性可使用性 软件质量度量的实施:(1)确定软件质量需求,(2)确定直接度量(3)分析度量结果(4)确认质量度量


软件确认:确认是这样一个过程:它评价“在软件开发过程期间(针对单元)或结束(针对系统)时,单元或系统是否满足用户特定的需求”。验证是一个过程:它评价“在一个给定的开发阶段中,单元或系统是否满足在此阶段开始时确定的条件”。我们正在制作的产品符合用户要求?确认是产品质量,验证的是产品开发过程质量—工作质量。


设计审查的目标:概要设计对需求的完整实现;概要设计与需求的一致性;概要设计向需求的反向可追踪;概要设计中,对系统结构设计的逻辑性、合理性和可扩展性


ISO9000认证的条件:1建立符合ISO9001:2000标准要求的文档化的质量管理体系

2质量管理体系至少运行3个月以上,并被审核判定为有效

3 外部审核前至少完成一次或一次以上全面有效的内部审核,并可提供有效的证据

4外部审核前至少完成了一次或者一次以上有效的管理评审,并可提供有效的证据

5体系保持持续有效,并同意接受认证机构每年一次的年审核和每3年一次的复审,作为对体系是否得到有效保持的监督

6承诺对认证证书可标志的使用符合认证机构和认可机构的有关规定


软件过程的三个流派:1)CMU-SEI的CMM/PSP/TSP 2)ISO 9000质量标准体系 3)ISO/IEC 15504(SPICE)

CMM是什么 CMM(Capability Maturity Model)是用于衡量软件过程能力的事实上的标准,同时也是目前软件过程改进最好的参考标准


软件过程分为三类:管理过程,组织过程,工程过程


CMM 2级的6个KPA(关键过程域): 1需求管理 2软件项目计划 3软件项目跟踪与监督 4软件子合同管理 5软件质量保证 6软件配置管理

CMM 3级的7个KPA:1、机构过程定义 2机构过程焦点 3培训大纲 4软件产品工程 5、同行审评 6组间协调 7综合软件管理


CMM 4级的2个KPA:1、定义过程管理 2、软件质量管理

CMM 5级的3个KPA:1过程更改管理 2技术更新管理 3缺陷预防 每个KPA都具有的五种公共特性 1执行约定 2执行能力 3执行活动 4测量和分析 5验证实施

关键过程域(KPA,Key Process Area):一组相关活动,达到一组目标。

KPA目标(Goal):某个KPA中的KP所表示的范围、边界和意图。每个KPA有若干个目标。

KPA公共特性(Common Features):指出了一个KPA的实现范围、结构要求和实施内容。 关键实践(KP,Key Process):描述对KPA的有效实施和制度化起最重要作用的基础设施和活动。
CMM模型等级 1、初始级 2、可重复级 3、已定义级 4、已管理级 5、优化级
1->2有纪律的过程 2->3标准一致的过程 3->4克预测的过程 4->5不断改进的过程


执行约定:描述软件组织为确保建立并持续执行软件过程,所必须采取的措施,主要包括制定组织策略和构建领导体制等。

1. 策略陈述:项目为实施KPA中的实践必须遵循书面的组织管理策略,以便使组织约定(制度)在项目实施中能得到落实。

2. 领导体制:有些KPA中的执行约定包括指定领导的职责及组织保证。


执行能力:描述了项目或组织能成功地执行软件过程所必须满足的前提条件,通常包括组织机构、资源及资金、培训和前提。

1. 组织机构:某些KPA中包括专门为支持该KPA所建立的组织机构。

2. 资源和资金:资源和资金包括三部分:技术:KPA可能涉及到的专业技术/资金:实际可供使用的资金(不是预算资金)/工具:KPA可以使用的工具,通过实例给出活动可能使用的工具。

3. 培训:包括正式培训和非正式培训,其目的是向组织的相关人员传授知识和技能。

培训方式主要有:课堂教学培训、电视教学、CAI教学、师付带徒弟、定向培训(传授一般技能或知识)/分级培训别:2级CMM强调“接受培训”,指一般培训;3级CMM强调“接受所需的培训”,指高级培训。

4. 前提: 前提是指前一个KPA的输出结果,实施本KPA的条件是“前提”应完成,并以此前提的结果作为本KPA的输入。


执行活动:软件组织执行一个KPA时所必需执行的活动、任务、职责分配和规程,包括制定计划和规程、实施工作、跟踪,并在必要时采取正确的措施。

1. 计划制定和修订:正式计划: (1) 依据书面规程制定和修订;(2) 必须依照计划执行;(3) 经过高级经理的批准。(例如:软件开发计划、软件质量保证计划、软件配置计划等)非正式计划:作为正规计划的一部分记入文档,或正规计划的补充(例如:同行评审计划、风险管理计划、技术管理计划等)。

2. 计划实施:大多数KPA都有一个或若干个关键实践KP描述按照书面规程实施的活动/全面实施文档化。负责一项任务或活动的人员必须按照书面规程来实施活动,以便使工作能重复,使对该领域有一般知识的人也能以同样的方式学习或完成这些任务和活动,并取得满意的结果。

3. 跟踪并采取正确的措施与管理: 对执行的活动进行跟踪,并进行管理和控制/ CMM 2级使用术语“跟踪……并适当采取正确的措施”,没有严格定义,其管理活动仍是“反应式”的/ CMM 3级使用术语“管理……”,有严格的定义,其管理不仅能预计问题的发生,也能阻止问题的发生。


测量与分析:描述测量的基本规则,以便确定、控制和改进软件过程的状态。包括:培训大纲的质量、管理的有效性、软件产品的功能和质量!


验证执行:为保证所实施的活动是否遵循了已制订的软件过程步骤,对实施活动通过管理和软件质量保证进行评审和监督活动。

1.高级经理定期审查:定期评审的目的是适时地掌握软件过程活动,以便采取适当的措施。

2. 项目经理定期或不定期评审和监督:根据项目的具体情况,在不同阶段进行评审,以便了解项目的工作情况,清楚软件项目中发生的重要事件,比高级经理审查监督更详细更具体。

3. 软件质量保证活动:由软件质量保证小组SQA进行评审或审核活动。若SQA不起作用,就无法实现SQA验证活动。


同一个组织可能采用多种过程改进模型,因而带来一些问题:
1、不同改进模型(衍生CMM)有一些对相同事物说法不一致,或活动不协调,甚至相抵触。
2、要进行一些重复的培训、评估和改进活动,因而增加了许多成本;
3、不能集中其不同过程改进的能力以取得更大成绩


CMM内部结构特性:CMM通过内部结构的规范,使软件组织能够制定方针、政策、标准,并参照自身的特点来建立软件过程,以提高软件过程成熟度。/这些建设性的活动对软件组织开展业务、进行实践工作、改进过程的基本环境和企业文化起到了极大的支持作用。/在这样的组织中,一旦组织内的人员发生变化,组织内部开展的各项活动仍然可延续下去。


CMM衍生模型:1、软件工程CMM 2、系统工程CMM 3、软件采购CMM
4、集成产品群组CMM 5、集成产品和过程开发CMM 6、人力资源CMM


CMMI能帮助 : 1建立过程改进目标和次序 2为质量过程提供了指南
3为评估当前实践提供一个准绳


CMMI以三个基本成熟度模型为基础综合形成: 1、软件CMM 2系统工程CMM 3、 IPPD-CMM
集成产品和流程开发CMM,它主要面向并行工程。

CMMI与CMM的不同: 它不但提出
了软件能力成熟度模型,还提出了软件过程能力等级 (Capability Level,CL)模型。它显示一个组织
在实施控制其过程,以及改善其过程性能等方面所具备、或设计的能力。


CMMI着眼点是: 1使软件组织走向成熟,以增强实施和控制软件过程的能力 2改善过程本身的性能。 3这些能力等级有助于软件组织在改进各个相关跟踪、评价和验证中项改进过程。


分级表示法: 规定了一系列已经证明的改进措施,每一级都是其上一级的基础,服务于上一级. /运用成熟度等级,使得组织之间的比较成为可能./组织成熟度体现为一组过程域..好处:使得SW-CMM 能简便地转化到 CMMI/用一个简单的等级概括了评估结果,使组织之间可以比较.


连续表示法:允许选择改进的次序,使其最适合组织的商业目标,减少组织的风险.(先提升一科,再改进第二科…)/以过程域为基础,使得组织之间可以在同一过程域内进行比较. /提供一个简便的由 EIA/IS-731 转换至 CMMI的方式.


比较CMMI的分级表示法和连续表示法(相同和异同点)
两种表示法都提供了执行过程改进达到组织目标的方法 两种表示法提供的实质内容是相同的,只不过是: 1内容的组织方式不同而已. 2各部分内容实现改进的先后顺序不同
过程域能力和组织成熟度的关系: 过程域能力和组织成熟度具有相似的概念。二者的区别是:过程域能力只与单一的过程域或实践相关,/而组织成熟度包含一组既定的过程域….一般来说,如果一组过程已被评估确认达到某个成熟度等级,那么这些被评估的过程会对应相关的过程域能力水平

CMMI两种表示方法: 1连续性表示——6个能力等级: CL0不完备级 CL1,已执行级 CL2,受管理级 CL3、已定义级 CL4定量管理级 CL5持续优化级
2分阶表示——5个成熟等级 ML 1,初始级 ML 2 受管理级 ML3 已定义级 ML4定量管理级 ML5持续优化级

CMMI的评估方式: 自我评估:用于本企业领导层评价公司自身的软件能力。 主任评估:使本企业领导层评价公司自身的软件能力,向外宣布自己企业的软件能力 CMMI的评估类型: 一种是软件组织的关于具体软件能力的评估 ,另一种是软件组织整体软件能力的评估

 

CMMI的基本思想 1、解决软件项目过程改进难度增大问题
2、实现软件工程的并行与多学科组合 3、实现过程改进的最佳效益


CMMI的新特性:1、CMMI 模型中比CMM 进一步强化了对需求的重视
2 CMMI 模型对工程活动进行了一定的强化 3、CMMI中还强调了风险管理
4 保留了CMM阶段式模式的基础 5增加了连续式模型


改进过程的生命周期模型:1确定目前处于什么现状2确定想改进到什么程度 3制定计划 4执行计划 5汲取经验教训继续做 PDCA过程: 计划、执行、检查、改进
IDEAL代表生命周期的五个阶段:1初始化, 2诊断, 3建立 4行动 ,5扩充/提升.


定义过程:1成熟的过程是文档化的 ,2通常采用两种方式进行过程文档化:1)描述正式的过程 ----读者主要是过程专家 ---详细正规的描述 ---主要用于开发、剪裁和改进过程 2)描述面向用户的过程 ---读者主要是每天使用过程的用户.---- 简单清晰的描述 -----主要用于执行过程


过程描述格式:过程描述格式 1:过程必须描述下列事项: 在这个过程中将执行什么活动?谁来完成?为什么要完成它们? 什么时候完成?如何完成? 哪些输入是必须的? 能有哪些输出?怎样测量其性能。 过程描述格式

2:---不同的描述格式强调过程的不同方面,因此,各有长处和短处.----不一样的描述格式不一定都能方便地描述: a活动的次序b活动的时间c活动中的数据流d分层次的细节e与标准的出入f叙述性的资料。 过程描述格式

3:描述格式的其它特征: a灵活性b简单化c易于理解和培训d实用性


CMMI在IDEAL模型中的运用:1初始阶段(CMMI模型能帮助组织了解如何发起并确定改进的基本内容.)2诊断阶段(用于过程改进的标准CMMI过程改进评估方法(SCAMPISM)为基于CMMI的过程评估提供了准绳.)3建立阶段(CMMI过程域注重于建立过程改进组. )4行动阶段( CMMI模型为定义和改进过程提供了指南.)5学习阶段 (学习CMMI文档是组织进行过程改进的基础)


一些常用的过程描述格式:
1通用的:a数据流图b流程图c决策树或决策表d检查表e叙述
2特殊的a、ETVX (入口-任务-确认-出口)b、SADT/IDEF0 (结构分析和设计技术)信息图( Information Mapping ? ) 3或是上述的综合


SCAMPI(标准CMMI评估方法)原则:
1、高级主管部门主持 2、关注组织的业务目标 3、使用已文档化的评估方法
1、 使用过程参考模型 5、为被采访者保密 6、采用分工协助的方法
7、集中于过程改进的后续措施


SCAMPI评估的3个阶段: 1、最初的计划和准备 2、现场评估 3、报告结果


CMMI 与CMM适应的开发模型:
CMM:1有次序的、基于活动的度量方法与管理规范 2与瀑布过程的有非常密切的联系,更适合瀑布型的开发过程。CMMI相对CMM:1更一步支持迭代开发过程2支持经济动机推动组织采用基于结果的方法:—开发业务案例、构想和原型方案;—细化后纳入基线结构、可用发布,—最后定为现场版本的发布。虽然CMMI保留了基于活动的方法,它集成了软件产业内很多现代的最好的实践,但淡化了与瀑布思想的联系


CMMI的质量保证过程:CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、可扩展的框架。因而能够从总体上改进组织的质量和效率。CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。

2017.07.07 IT项目管理笔记整理 第八章 软件项目质量管理