质量包括项目交付成果和项目管理成果,是相对于用于需求的概念。它是对范围所圈定的标准所需要达到的程度而进行的规定。同一成果对不同用户来讲,质量不同。另外,质量强调在一定时间范围内满足需求。
质量规划是指确定与项目相关的质量标准,并决定如何达到这些质量标准;质量保证是定期评估总体项目绩效的活动之一,树立项目能满足相关质量标准的信心;质量控制是指监控项目的具体结果以判断其是否符合相关的质量标准,并确定方法来消除绩效低下的原因。
质量管理八条原则:以顾客为中心、领导作用、全员参与、过程方法系统管理、持续改进、以事实为决策依据、互利的供方关系。
全面质量管理的四个核心特征:全员参加的质量管理、全过程的质量管理、全面方法的质量管理和全面结果的质量管理。
质量管理计划包括:质量政策、质量目标、质量管理活动。具体归纳为:质量责任和人员分工、组织结构、程序与过程、质量控制的方法/工具/重点(质量评审、质量保证方法)、质量管理需要的资源、验收标准。
1、质量管理老七种工具
流程图、因果图、直方图、散点图、排列图、控制图、检查表
因果图(鱼骨图、石川图):展示各因素如何与各种潜在问题或者结果联系,通过看问题陈述和问“为什么”发现原因,直到发现可行动的根本原因
控制图:用来确定一个过程是否稳定,或者是否具有可预测的绩效。用控制图很容易看出实际测量值是否落在这种分布的统计界线之内。上限叫”控制上限”,下限叫”控制下限”。如果图上的测量值高于控制上限或低于控制下限,说明过程失控
流程图(过程图):用来显示在输入转化成输出的过程中,所需要的步骤顺序和可能分支。它通过映射SIPOC模型中的水平价值链的过程细节,来显示活动、决策点、分支循环、并行路径及整体处理顺序
核查表(计数表):用于收集数据的查对清单。它合理排列各种事项,有效地收集关于潜在质量问题的有用数据
直方图:是一种特殊形式的条形图,用于描述集中趋势、分散程度和统计分布形状。与控制图不同,直方图不考虑时间对分布内的变化影响
帕累托图:按照发生频率大小顺序绘制直方图,用于统计和显示一定时间内各种类型缺陷或问题的数目。帕累托原则(20/80原理),仅仅20%的因素造成了80%的问题。它集中于解决最关键的问题
散点图(相关图):通过标记许多坐标点,解释因变量Y相对于自变量X的变化
2、质量管理新七种工具
矩阵图、树状图、相互关系图、亲和图、过程决策方法图、活动网络图、优先矩阵图
亲和图:针对某个问题,产生出可联成有组织的想法模式的各种创意。项目管理中,使用亲和图确定范围分解的结构,有助于WBS的制定
过程决策流程图:用于理解一个目标与达成此目标的步骤之间的关系。有助于制定应急计划,因为它能帮助团队预测那些可能破坏目标实现的中间环节
关联图:有助于在包含相互交叉逻辑关系(可有多达50个相关项)的中等复杂情形中创新性地解决问题
树形图(系统图):可用于表现诸如WBS、 RBS(风险分解结构)和OBS(组织分解结构)的层次分解结构
优先矩阵:用来识别关键事项和合适的备选方案,并通过一系列决策,排列出备选方案的优先顺序
活动网络图(箭头图):包括两种格式的网络图,AOA(活动箭线图)和最常用的AON(活动节点图)
矩阵图:使用矩阵结构对数据进行分析。在行列交叉的位置展示因素、原因和目标之间的关系强弱
3、六Sigma表示发生概率(正态分布)
0 sigma: 50%
1 sigma: 68.27%
2 sigma: 95.45%
3 sigma: 99.73%
6 sigma: 99.99966%(5个9)
4、软件质量强调三个方面的内容
软件需求是测试软件质量的基础;开发标准定义了一组用于指导软件开发方式的准则;期望需求间接定义了用户对某些特性的需求
5、软件确认 vs. 软件验证
软件确认:关注是否达到用户的原始需求,以结果为导向
软件验证(软件测试多在这个层面):关注是否达到软件需求,以过程为导向
6、质量规划的工具和技术
- 成本/效益分析
必须权衡成本与效益之间的关系。效益是指项目的各项工作做得好,能满足项目的质量要求,其主要目标是减少返工,提高生产率,降低项目的成本,提高项目各干系人的满意程度。而符合质量要求的根本好处在于降低返工率,这就意味着较高的生产率、较低的成本和项目干系人满意度的提高。
满足质量要求的成本主要是支出与项目质量管理活动有关的费用,而质量计划编制的目标是努力使获得的收益远远超过实施过程中所消耗的成本。
- 基准分析
基准分析就是将实际实施过程中或计划之中的项目做法同其他类型项目的实际做法进行比较,通过比较来改善与提高目前项目的质量管理,以达到项目预期的质量或其他目标。其他目标可以是执行组织内部的项目,也可以是外部的项目,可以是同一个应用领域的项目,也可以是其他应用领域的项目。
- 实验设计
实验设计是一种统计分析技术,可以用来帮助人们识别并找出哪些变量对项目结果的影响最大。该技术主要用于项目产品或服务问题。如:网络的设计者可能希望通过实验确定哪一种方案得出的结果满足客户的需求。
同时,实验设计也可以用于诸如成本和进度计划平衡的项目管理问题的解决过程。如:在某项目中,使用资深工程师要比使用年轻工程师所花费的成本多,但是资深工程师却能够在较短时间内完成所交给他们的工作任务,能够保证项目的时间进度。
适当设计的实验,能根据初级和高级工程师的不同组合计算各自的项目成本和工期,能从有限的几种相关情况中决定最佳的方案。类似地,汽车设计师用这种技术来决定轮胎的何种悬挂方式能满足最理想性价比。
- 质量成本
质量成本是指为了达到产品或服务质量而进行的全部工作所发生的所有成本。包括为确保与要求一致而做的所有工作都可以叫做一致成本,以及由于不符合要求所引起的全部工作叫做不一致成本。
这些工作引起的成本主要包括三种:预防成本、评估成本和故障成本,而后者又可分解为内部成本与外部成本。其中预防成本和评估成本属于一致成本,而故障成本属于不一致成本。
预防成本是为了使项目结果满足项目的质量要求而在项目结果产生之前而采取的一些活动;而评估成本是项目的结果产生之后,为了评估项目的结果是否满足项目的质量要求进行测试活动而产生的成本;故障成本是在项目的结果产生之后,通过质量测试活动发现项目结果不能满足质量要求,为了纠正其错误使其满足质量要求而发生的成本。
7、反映软件本质的软件质量特性
讨论一个软件的质量,最终要归结到定义软件的质量特性;定义一个软件的质量,就等价于为该软件定义一系列质量特性。产品质量特性包括产品的性能、可信性、安全性和经济性等方面。可信性包括可靠性,维修性,维修保障性。
1991年,ISO发布了ISO/IEC9126质量特性的国际标准,将质量特性定义为6个,即功能性、可靠性、易用性、效率、可维护性和可移植性,并定义了21个子特性。
ISO/IEC 9126―1991标准规定的软件质量模型由三层组成。在这个标准中,三个层次中的第一层称为质量特性,第二层称为质量子特性,第三层称为度量。
该标准定义了6个质量特性,即功能性、可靠性、易用性、效率、可维护性和可移植性;并推荐了21个子特性,如适合性、准确性、互操作性、依从性、安全性、成熟性、容错性、易恢复性、易理解性、易学习性、易操作性、时间特性、资源特性、易分析性、易变更性、稳定性、易测试性、适应性、易安装性、遵循性和易替换性等,但不作为标准。用于评价质量子特性的度量没有统一标准,由各使用单位视实际情况制定。
ISO/IEC 9126软件质量标准包括6个质量特性和21个质量子特性
1)功能性(Functionality):适合性、准确性、互操作性(互用性)、依从性、安全性(Security)
2)可靠性(Reliability):成熟性、容错性、可恢复性
3)可用性(Usability):可理解性、易学性、可操作性
4)效率(Efficiency):时间特性、资源特性
5)可维护性(Maintainability):可分析性、可改变性、稳定性、可测试性
6)可移植性(Portability):适应性、可安装性、依从性、可替换性
8、四控三管一协调
四控:成本、进度、质量、变更控制
三管:合同、信息、安全
一协调:组织协调
9、软件质量管理计划
项目质量管理计划是进行质量管理的依据和规划,是整个质量管理的重要组成部分,它是质量方针和目标的分解和具体化。主要会指出在本次项目实施中,交付成果必须具有哪些标准,达到的程序如何等。
项目质量管理计划要达到几个要求:识别项目干系人,并进行定义和限制;明确信息系统项目建设的整个过程,以及项目建成后的运行情况;项目实施组织能够对需求做出及时的调整,并反馈到质量计划中;对整个质量管理过程进行从计划到收尾的跟踪、保证和控制。
质量管理计划一般包括的内容:质量政策(由项目干系人的决策部门提出的有关质量的期望及方针)、质量目标(项目管理质量和项目交付成果应达到的各种指标)、质量管理活动(项目重要的质量管理活动,如质量管理工作流程等)。具体可归纳为-质量责任与人员分工、组织结构、程序与过程(或项目各个过程及其依据的标准)、质量控制的方法,工具和重点(或质量评审、质量保证方法)、质量管理所需的资源、验收标准。
10、实施质量保证
质量保证包括两方面的内容:一是使用户对项目质量建立信任的外部质量保证;二是对承建方内部中高层领导保证有对目前各工作的信任。另外质量保证还具有质量改进的作用,通过对质量控制数据的对比和分析,得出质量改进的方法和建议。
方法:制定质量标准(质量标准因需求不同而要求不同,根据本项目的政策和方针进行相应的质量标准制定)、制定质量控制流程(项目进行中不同阶段和过程,质量相关活动会采取不同的控制流程)、建立质量保证体系(通过一定的质量方针,制定一个对项目所有干系人职责明晰的体系,并将该体系制度化、规范化、文档化)。
具体地说,首先执行项目的质量管理计划-采用质量保证的工具和技术等-提出相应的质量整改措施(如建议的纠正措施、对项目计划可能的更新、对组织资产可能的更新、变更请求)
质量保证体系包含:是否制定明确的质量计划、是否建立健全专职的质量管理机构、是否实现管理业务标准化,管理流程程序化、是否配备必要的资源条件、是否建立了一套灵敏的质量信息反馈系统
11、质量保证 vs. 质量控制
质量保证主要是按照既定的质量计划来对过程进行追踪,并且还包含质量改进;而质量控制则监控项目的具体成果,确定其是否符合项目的质量标准,并进行不合格情况进行追踪。二者都是项目质量管理的重要过程和手段。
二者的区别和联系:质量计划是质量控制与质量保证的共同依据;达到质量要求是质量控制和质量管理的共同目标;质量保证的输出是下一阶段质量控制的输入;一定时间内质量控制的结果也是质量保证的质量审计对象。质量保证的成果又可以指导下一阶段的质量工作,包括质量控制和质量改进;质量保证一般都是每隔一定时间去如阶段末进行的,主要通过系统的质量审计来保证项目的质量(按质量管理计划正确地做);质量控制是实时监控项目的具体结果,以判断它们是否符合相关质量标准,制定有效方案,以消除产生质量问题的原因(或质量控制检查是否做得正确并纠错)。
12、信息系统中文档管理指南
文档的作用主要包括:桥梁和交流作用、明晰干系人的责任、方便对系统进行理解、进行质量管理。此外,系统的使用手册还是用户在使用过程中的指导。
文档类型主要包括:
- 开发文档(描述开发过程本身 - 可行性研究和项目任务书、需求规则说明、功能规格说明、设计规格说明,包括程序和数据规格说明、开发计划、软件集成和测试计划、质量保证计划/标准/进度、安全和测试信息等)
- 产品文档(描述开发过程中的产物 - 培训手册、参考手册和用户指南、软件支持、产品手册和信息广告等)
- 管理文档(记录项目管理的信息 - 项目管理计划、变更日志、责任分配矩阵等)
每个文档的质量必须在文档计划期间就有明确的规定。最低限度文档(1级文档 - 自用程序)、内部文档(2级文档 - 似乎与其他用户共享的专用程序)、工作文档(3级文档 - 同一单位若干人联合开发的程序)、正式文档(4级文档 - 正式发行工普遍使用的软件产品)。质量方面需要考虑的问题既包括文档的结构。也包含文档的内容。文档内容可以根据正确性、完整性和明确性来判断。
13、有效提高项目交付成果质量
通过强有力的领导,从上而下整体贯彻质量观念、建立组织级项目管理体系、建立组织级项目质量管理系统、建立项目级激励制度,并设法和鼓励全员参与管理、着力提高项目实施过程中产生的各种文档的质量、用规范的成熟度模型来指导自身的组织和体系结构建设、掌控好成本与质量的关系,在有限成本下尽量通过良好的管理来实现更高的质量、形成质量改进的习惯。质量改进要成为一个组织内部的一种习惯和规程,真正发挥质量改进的作用。
14、软件的维护活动
一般来说,软件的维护活动可以分为改正性维护、适应性维护、完善性维护和预防性维护4类:
改正性维护是在软件投入运行一段时间后,可能会暴露出一部分在测试阶段没有发现的错误,为改正这些错误而对软件进行的修改活动
适应性维护是由于软件运行的外部环境(例如软件,硬件)和数据环境等发生了变化而修改软件,使之适应这些变化的活动
完善性维护是因为用户需求经常变化,在软件使用过程中,用户会对软件提出新的功能和性能要求,为了满足这些新的要求而对软件进行修改,使之功能和性能得到完善和增强的活动
预防性维护是不等用户提出维护申请,采用先进的软件工程方法对需要维护的软件或部分软件重新进行设计、编码和测试,以提高软件的可维护性和可靠性等目标,为以后进一步改进软件打下基础的活动
15、计算机系统的可用性
计算机系统的可用性用平均无故障时间( MTTF)来度量,即计算机系统平均能够正常运行多长时间,才发生一次故障。系统的可用性越高,平均无故障时间越长。可维护性用平均维修时间(MTTR)来度量,即系统发生故障后维修和重新恢复正常运行平均花费的时间。系统的可维护性越好,平均维修时间越短。计算机系统的可用性定义为:MTTF/ (MTTF+MTTR)
16、管理评审 & 技术评审
管理评审的目的是监控进展,决定计划和进度的状态,或评价用于达到目标所用管理方法的有效性。技术评审的目的是评价软件产品,以确定其对使用意图的适合性。
17、产品质量和使用质量提升
过程质量有助于提高产品质量,而产品质量又有助于提高使用质量。因此,评估和改进一个过程是提高产品质量的一种手段,而评价和改进产品质量则是提高使用质量的方法之一。同样,评价使用质量可以为改进产品提供反馈,而评价产品则可以为改进过程提供反馈。
19、审计评估系统的作用
- 对潜在的攻击者起到震慑或警告作用
- 对已经发生的系统破坏行为提供有效的追究证据
- 为系统安全管理员提供有价值的系统使用日志从而帮助系统安全管理员及时发现系统入侵行为或潜在的系统漏洞
- 为系统安全管理员提供系统运行的统计日志使系统安全管理员能够发现系统性能上的不足或需要改进与加强的地方
20、软件质量保证(SQA)主要控制哪些方面的质量?如果是软件质量,该职能和测试部门做的有何不同?
一般把SQA活动分为以下五类:
1、评审软件产品、工具和设施
2、SQA活动审查的软件开发过程
3、参与技术和管理评审
4、形成SQA报告
5、处理相互的关系
不同点:
1、SQA评审不只对软件代码进行评审,还对软件开发计划、开发过程与标准、需求分析文档、软件设计文档、数据库设计文档、系统使用手册以及测试报告等进行评审,特别要关注软件开发过程的管理文档。测试部门只针对软件代码进行测试。
2、SQA参与技术和管理评审,测试部门不参与。
3、SQA处理和调整软件产品各种特性相互的关系,以确保软件产品达到其应该达到的质量水平。测试部门没有这种功能。
21、如何进行质量控制,如何进行质量保证?请指出QA与QC的联系和区别?
项目产品或服务的质量控制,项目产品或服务的质量控制室一个诊断和治疗的过程,当产品生产出来以后要检查产品的规格是否符合需要的标准,并消除生产的偏差,质量控制活动包括计划、测试、记录和分析。
项目管理过程的质量控制是通过项目审计来进行的,项目审计是将管理过程作业和成功实践标准进行比较所作出的详细检查,考虑以下5个方面:度量项目质量的实际情况、与质量标准进行对比、识别存在的质量问题和偏差、分析质量问题产生的原因、如有必要进行纠偏、如何进行质量保证。
质量保证是质量系统内实施的所有计划的系统性活动,是保证质量管理计划得以实施的一组过程和步骤,旨在证明项目满足相关的质量标准,质量保证采用主要工具和技术有质量计划、质量审计、过程分析、和质量控制技术和工具以及其他过程中获得的变更请求、质量控制测量、实施的变更请求等,通过这些技术和工具得到的信息作为质量保证的依据,提出请求的变更,以提高组织的质量政策、过程和程序的效率和效益。
请指出QA与QC的联系和区别?
QA和QC 两者基本职责 QC:检验产品的质量,保证产品符合客户的需求;是产品质量检查者;QA:审计过程的质量,保证过程被正确执行;是过程质量审计者;QC进行质量控制,向管理层反馈质量信息;QA则确保QC按照过程进行质量控制活动,按照过程将检查结果向管理层汇报。这就是QA和QC工作的关系。