《【教学课件】第8讲软件质量保证.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第8讲软件质量保证.ppt(60页珍藏版)》请在三一办公上搜索。
1、Copyright Xinjun Mao 2005,1,第8讲 软件质量保证,毛新军http:/计算机科学与技术系602教研室 0731-(45)73649,软件项目管理课程 之,Copyright Xinjun Mao 2005,2,讲授内容,软件项目案例软件质量软件质量保证软件质量保证计划及其实施CMM对软件质量保证的要求本讲小结,Copyright Xinjun Mao 2005,3,软件项目案例,案例角色和人物,小王:软件项目负责人,老王:公司技术老总,开发小组:小李,老赵,小田,小谢,Copyright Xinjun Mao 2005,4,要确保软件系统的质量(1/4),软件项目已经
2、开始实施,工作完全按照计划的要求进行,一切似乎非常顺利按照计划要求,需求分析小组在需求分析截至时间的前一天撰写好了软件需求规格说明书,项目经理对他们的进度感到满意,因为他们没有拖延时间和进度由于进度的紧迫性,需求分析完成后的第二天,项目开发组马上转入到了软件设计阶段的工作,令人欣慰的是软件设计的工作同样进展顺利,并且提前一周完成软件设计工作,撰写了软件设计规格说明书尽管软件设计提前完成,项目组仍然决定立即进入编码阶段的工作,期望能够尽快完成在进度约束范围内完成编码工作,提交软件产品,Copyright Xinjun Mao 2005,5,要确保软件系统的质量(2/4),各个程序员工作的非常卖力
3、,已经编写了各个软件模块并且对所编写的各个软件模块进行了测试,认为软件已经没有什么大的问题,即使有也是微不足道的,最终将目标软件提交给了用户用户在使用了该软件后发现了诸多的问题,用户对项目组的工作很有意见,于是项目组不得不重新作需求分析软件没有完全满足他的要求有些软件功能与他所想象的不一致软件系统不稳定,经常出现死机现象在将用户需求了解清楚之后,设计小组对该软件重新进行改造,发现软件结构不好,要对软件进行调整和修改非常困难,Copyright Xinjun Mao 2005,6,要确保软件系统的质量(3/4),然而为了完成项目的要求,设计小组只好硬着头皮对软件设计进行修改和调整经过调整后的软件
4、系统问题更多,系统不稳定,有大量的错误,软件变得极为脆弱,为此项目组不得不推翻原有的设计,对整个软件重新进行设计和编码项目最终在拖延了8个月后交货,然而此时项目组成员已经筋疲力尽回顾整个项目的历程,项目组成员发现导致这种状况的主要原因是在整个项目实施过程中,项目组没有对项目进行有效的质量监控软件开发项目如果不吸取该项目的经验教训,相信会重新犯这样的错误,经历这样的恶梦,Copyright Xinjun Mao 2005,7,要确保软件系统的质量(4/4),有关软件质量的一些数据20世纪80年代欧洲的“亚利安娜”火箭发射的失败由于软件出现问题,美国DoD推迟B1轰炸机的部署由于软件出现问题,美国
5、DoD取消了耗资580亿美元的A12飞机的计划大量的软件由于质量得不到保证,在交付给用户使用之后不得不被抛弃,Copyright Xinjun Mao 2005,8,案例提示我们,质量保证是极为重要的在软件项目实施过程中必须提供待开发软件质量的可视性缺乏质量保证,将会导致所开发的软件不能满足用户的期望和要求缺乏质量保证,将会导致整个软件项目延期,甚至失败,Copyright Xinjun Mao 2005,9,软件项目管理问题,什么是软件质量?如何确保所开发软件的质量?,Copyright Xinjun Mao 2005,10,讲授内容,软件项目案例软件质量软件质量保证软件质量保证计划及其实施
6、CMM对软件质量保证的要求本讲小结,Copyright Xinjun Mao 2005,11,软件质量,什么是软件质量?为什么需要关注软件质量?,Copyright Xinjun Mao 2005,12,什么是软件质量(1/3),软件质量的概念定义软件产品满足用户要求的程度注意要从客户(而不是开发人员或者企业)的角度看质量测试软件质量的内外因素外在因素:软件所提供的功能、性能、人机交互界面是否美观、易于操作内在因素:软件的设计好坏、故障的数目和严重程度,Copyright Xinjun Mao 2005,13,什么是软件质量(2/3),影响软件质量的具体因素,Copyright Xinjun
7、Mao 2005,14,什么是软件质量(3/3),用户对软件质量的评价没有功能(功能)运行速度太慢(性能)有太多的错误(故障)软件不好改动(维护)界面不美观(人机界面)这个软件不好使用(易用性),Copyright Xinjun Mao 2005,15,为什么需要关注软件质量?,高质量的产品才能提高客户满意度,占领市场降低软件开发的风险确保软件项目按照计划实施防止软件项目由于质量问题而流产或者失败提高企业的影响力,Copyright Xinjun Mao 2005,16,讲授内容,软件项目案例软件质量软件质量保证软件质量保证计划及其实施CMM对软件质量保证的要求小结,Copyright Xin
8、jun Mao 2005,17,软件质量保证,什么是软件质量保证从哪些方面关注软件质量谁来保证软件质量如何保证软件质量,Copyright Xinjun Mao 2005,18,什么是软件质量保证(1/2),什么是软件质量保证为管理层提供为获知产品质量信息所需的数据,从而获得产品质量是否符合预定目标的认识和信息软件质量保证是要为软件产品的质量提供某种可视性,知道哪些地方有质量问题,便于改进方法和措施,提高软件产品的质量例如,对软件进行测试,发现有哪些错误,这些错误的性质(严重、一般),Copyright Xinjun Mao 2005,19,什么是软件质量保证(2/2),软件质量保证要做的事情
9、了解产品质量(例如,软件测试)提交软件质量报告(例如,软件测试报告),说明质量问题为项目组和管理层服务(例如,告诉问题所在,便于改进管理和技术),Copyright Xinjun Mao 2005,20,从哪些方面关注软件质量(1/3),文档,程序代码,软件产品,需求分析,软件设计,编码,标准和规程,开发活动,Copyright Xinjun Mao 2005,21,从哪些方面关注软件质量(2/3),软件产品软件需求规格说明书软件设计规格说明书源程序代码,.开发活动需求分析软件设计编码标准和规程,Copyright Xinjun Mao 2005,22,从哪些方面关注软件质量(3/3),组织内
10、部或者在项目开始之时要制定软件开发的标准和规程软件产品文档类:审核,产生审核报告代码类:测试,产生测试报告开发活动审查,产生审查报告,Copyright Xinjun Mao 2005,23,谁来执行和实施软件质量保证,软件项目质量保证小组(SQA小组)独立于项目开发小组具有比较大的权限,Copyright Xinjun Mao 2005,24,如何保证软件质量,正确理解用户的要求制定标准和规程审查软件开发活动审核软件工作产品测试源程序代码记录开发活动和软件产品的偏差记录所有不符合项,报告高级管理者,Copyright Xinjun Mao 2005,25,正确理解用户的要求,理解客户的要求和
11、需要让客户参与开发,随时和客户交流,验证客户的需求可用性测试(版)合作开发伙伴关系软件原型,Copyright Xinjun Mao 2005,26,制定标准和规程,在组织内部或者项目组内部制定标准和规程,限制和约束软件开发活动,有助于得到规范化的软件产品,从而提高软件质量软件开发过程规程需求管理规程软件需求规格说明书编写规范C+编码规范Java编码规范,,Copyright Xinjun Mao 2005,27,审查软件开发活动,审查每个活动是否遵循软件开发过程规范审查每个活动的输入条件是否都得到满足审查活动的执行是否遵循规范审查每个活动的输出是否都已经产生,Copyright Xinjun
12、 Mao 2005,28,审核软件工作产品,审核软件工作产品遵循规范正确一致准确可追踪性.,Copyright Xinjun Mao 2005,29,测试源程序代码,制定测试计划对软件进行测试单元测试集成测试确认测试系统测试,Copyright Xinjun Mao 2005,30,记录开发活动和软件产品的偏差,形成报告记录软件开发活动的偏差记录软件产品的偏差软件测试报告目的发现问题,纠正偏差,提高质量,Copyright Xinjun Mao 2005,31,报告高级管理者,目的为管理者管理了解软件的质量提供可视性,Copyright Xinjun Mao 2005,32,讲授内容,软件项目
13、案例软件质量软件质量保证软件质量保证计划及其实施CMM对软件质量保证的要求小结,Copyright Xinjun Mao 2005,33,软件质量保证计划及其实施(1/2),为了确保软件系统的质量,在软件开发早期就要制定软件质量保证计划,Copyright Xinjun Mao 2005,34,软件质量保证计划及其实施(2/2),1.计划和目的2.参考文献3.管理3.1 组织3.2 任务3.3 职责4.文档4.1目的4.2 所需的软件工程文档4.3 其他文档5.标准、实践和约定5.1目的5.2 约定,6.复审和审查7.测试8.问题报告和改正行动9.工具、技术和方法学10.代码控制11.媒体控制
14、12.供应商控制13.记录收集、维护和保留14.培训15.风险管理,Copyright Xinjun Mao 2005,35,讲授内容,软件项目案例软件质量软件质量保证软件质量保证计划及其实施CMM对软件质量保证的要求小结,Copyright Xinjun Mao 2005,36,CMM对软件质量保证的要求(1/3),软件质量保证是CMM 2级的一个关键过程域所谓软件质量保证是指为管理者提供有关软件项目过程和产品的适当的可视性软件质量保证包括评审和审核软件产品和活动,以验证它们是否符合相应的规程和标准,同时给项目和其它有关负责人提供这些评审和审核的结果 在软件项目的早期阶段,软件质量保证组就应
15、参与制定计划、标准和规程等。它们能够降低软件项目成本,并满足项目和组织和策略的约束条件,Copyright Xinjun Mao 2005,37,CMM对软件质量保证的要求(2/3),SQA小组在整个生存周期中评审项目各种活动,审核各种软件工作产品,并就软件项目是否正遵守已制定的计划、标准和规程等给管理者提供可视性 对于那些无法在软件项目内部解决的问题,软件质量保证组逐级上递该问题到恰当的管理者以求得解决,Copyright Xinjun Mao 2005,38,CMM对软件质量保证的要求(3/3),共17个关键实践,Copyright Xinjun Mao 2005,39,目标,软件质量保证
16、活动是有计划的 软件产品和活动与其适用的标准、规程和需求的一致性已得到客观地验证 受影响组和个人接到软件质量保证活动和结果的通知高级管理者处理在软件项目内部不能解决的不符合问题,Copyright Xinjun Mao 2005,40,制定方针政策,项目遵循一个书面的、由组织制定的实施软件质量保证(SQA)的方针,一般规定对全部软件项目,SQA功能都应到位 SQA应有一个向高级管理者报告的渠道,它独立于项目负责人和项目软件负责人高级管理者定期地评审SQA活动和结果,Copyright Xinjun Mao 2005,41,确保必备条件(1/4),存在一个SQA小组,负责协调和实施软件项目的质量
17、保证,Copyright Xinjun Mao 2005,42,确保必备条件(2/4),为进行SQA活动提供足够的资源和经费指派一个负责人专门负责项目的SQA活动 指派一个在SQA任务方面是博学的,并有权力采取适当的监督行动的高级负责人接受和处理软件的不符合问题 能得到支持SQA活动的工具,Copyright Xinjun Mao 2005,43,确保必备条件(3/4),SQA小组的成员受到培训以便完成他们的SQA活动,培训内容包括:软件工程技巧和实践;软件工程组和其它软件有关组的作用及职责;用于软件项目的标准、规程和方法;软件项目相关的应用领域;SQA的目的、规程和方法;SQA组如何参与软件
18、活动;SQA方法和工具的有效使用;人员间的交流,Copyright Xinjun Mao 2005,44,确保必备条件(4/4),软件项目的成员接受有关SQA组的作用、职责、权力和价值等方面的定向培训,Copyright Xinjun Mao 2005,45,实施软件过程(1/8),按照文档化的规程,为软件项目制订SQA计划,一般规定SQA计划的制定是在整个项目策划的早期阶段进行,并且平行于整个项目计划 受影响组和个人评审该SQA计划 SQA计划应受管理和控制,Copyright Xinjun Mao 2005,46,实施软件过程(2/8),按照SQA计划进行SQA组的活动,SQA计划的内容包
19、括SQA组的职责和权力 SQA组的资源需求(包括职员、工具和设施)项目的SQA组活动的进度表和经费 SQA组参与制定项目软件计划、标准和规程的安排 将由SQA组完成的评价将由SQA组执行的审核和评审 将用作SQA组评审和审核的的标准和规程 对不符合性问题写成文档并进行跟踪直至结束的规程 要求SQA组生成的文档 SQA活动给有关组提供反馈信息的方法和频率,Copyright Xinjun Mao 2005,47,实施软件过程(3/8),SQA组参与准备和评审项目的软件开发计划、标准和规程 SQA组就下列几个方面对计划、标准和规程提供咨询和评审 与组织制定的方针的符合性 与外部强加的标准和要求的符
20、合性(例如工作说明所要求的标准)适合项目使用的各种标准 应在软件开发计划中应阐述的论题 SQA组验证软件开发计划、标准和规程已经到位,并可用于评审与审计软件项目,Copyright Xinjun Mao 2005,48,实施软件过程(4/8),SQA组评审软件工程活动以验证其符合性对照软件开发计划和指定的软件标准和规程,评价各项活动 对与软件开发计划、标准和规程的偏差进行标识和写成文档,并跟踪到结束 对纠正结果进行检查验证,Copyright Xinjun Mao 2005,49,实施软件过程(5/8),SQA组审计指定软件工作产品以验证其符合性在交付给顾客之前,评价可交付的软件产品 对照指定
21、的软件标准、规程和合同要求,评价各种软件工作产品 对与软件开发计划、标准和规程的偏差进行标识和写成文档,并跟踪到结束 对纠正结果进行检查验证,Copyright Xinjun Mao 2005,50,实施软件过程(6/8),SQA小组定期向软件工程组报告其活动的结果,Copyright Xinjun Mao 2005,51,实施软件过程(7/8),按照文档化的规程,对软件活动和软件工作产品中标识出的偏差写成文档,并加以处理 将不符合软件开发计划和指定的项目标准及规程的问题写成文档,并与有关人员一起加以解决 将那些不符合又不能解决的问题,写成文档并递交给分管质量保证的高级管理者处理 定期评审不符
22、合问题,直至解决它们为止 不符合问题的文档应受管理和控制,Copyright Xinjun Mao 2005,52,实施软件过程(8/8),合适时,SQA组与顾客的SQA人员一起对其活动和发现进行定期评审,Copyright Xinjun Mao 2005,53,度量与分析,进行度量,并将度量结果用于确定SQA活动的成本和进度状态 SQA活动的里程碑的完成情况与计划作比较 在SQA活动中完成的工作、花费的工作量和消耗的资金与计划作比较 进行产品审计和活动评审的次数与计划相比较,Copyright Xinjun Mao 2005,54,验证实施(1/3),高级管理者定期参与SQA活动的评审,Co
23、pyright Xinjun Mao 2005,55,验证实施(2/3),项目经理既定期地也事件驱动地参与SQA活动的评审,Copyright Xinjun Mao 2005,56,验证实施(3/3),独立于SQA组的专家们定期对项目SQA组的软件工作产品和活动进行评审,Copyright Xinjun Mao 2005,57,讲授内容,软件项目案例软件质量软件质量保证软件质量保证计划及其实施CMM对软件质量保证的要求小结,Copyright Xinjun Mao 2005,58,小结,软件质量保证是极为重要的需要成立一个SQA小组,实施软件质量保证要针对标准和规程、软件开发活动、软件产品三个方面进行质量保证为此,需要制定质量保证计划,并且按照计划来实施,Copyright Xinjun Mao 2005,59,教学目的,理解软件质量和软件质量保证概念软件质量保证的重要性和意义掌握软件质量保证的方法和手段软件质量保证计划运用在软件项目开发过程中对软件质量进行保证,Copyright Xinjun Mao 2005,60,Q&A,Software Project Management,Practice,Practice,and Practice,
链接地址:https://www.31ppt.com/p-5659580.html