1、Copyright Xinjun Mao 2005.1毛新军毛新军http:/ 计算机科学与技术系计算机科学与技术系602教研室教研室 0731-(45)73649软件项目管理课程软件项目管理课程 之之Copyright Xinjun Mao 2005.2n软件项目案例n软件质量n软件质量保证n软件质量保证计划及其实施nCMM对软件质量保证的要求n本讲小结Copyright Xinjun Mao 2005.3案例角色和人物小王:软件项目负责人小王:软件项目负责人老王:公司技术老总老王:公司技术老总开发小组:小李,老赵,小田,小谢开发小组:小李,老赵,小田,小谢Copyright Xinjun
2、Mao 2005.4n软件项目已经开始实施,工作完全按照计划的要求进行,一切似乎非常顺利 按照计划要求,需求分析小组在需求分析截至时间的前一天撰写好了软件需求规格说明书,项目经理对他们的进度感到满意,因为他们没有拖延时间和进度 由于进度的紧迫性,需求分析完成后的第二天,项目开发组马上转入到了软件设计阶段的工作,令人欣慰的是软件设计的工作同样进展顺利,并且提前一周完成软件设计工作,撰写了软件设计规格说明书 尽管软件设计提前完成,项目组仍然决定立即进入编码阶段的工作,期望能够尽快完成在进度约束范围内完成编码工作,提交软件产品Copyright Xinjun Mao 2005.5 各个程序员工作的非
3、常卖力,已经编写了各个软件模块并且对所编写的各个软件模块进行了测试,认为软件已经没有什么大的问题,即使有也是微不足道的,最终将目标软件提交给了用户 用户在使用了该软件后发现了诸多的问题,用户对项目组的工作很有意见,于是项目组不得不重新作需求分析n软件没有完全满足他的要求n有些软件功能与他所想象的不一致n软件系统不稳定,经常出现死机现象 在将用户需求了解清楚之后,设计小组对该软件重新进行改造,发现软件结构不好,要对软件进行调整和修改非常困难Copyright Xinjun Mao 2005.6 然而为了完成项目的要求,设计小组只好硬着头皮对软件设计进行修改和调整 经过调整后的软件系统问题更多,系
4、统不稳定,有大量的错误,软件变得极为脆弱,为此项目组不得不推翻原有的设计,对整个软件重新进行设计和编码 项目最终在拖延了8个月后交货,然而此时项目组成员已经筋疲力尽 回顾整个项目的历程,项目组成员发现导致这种状况的主要原因是在整个项目实施过程中,项目组没有对项目进行有效的质量监控 软件开发项目如果不吸取该项目的经验教训,相信会重新犯这样的错误,经历这样的恶梦Copyright Xinjun Mao 2005.7n有关软件质量的一些数据 20世纪80年代欧洲的“亚利安娜”火箭发射的失败 由于软件出现问题,美国DoD推迟B1轰炸机的部署 由于软件出现问题,美国DoD取消了耗资580亿美元的A12飞
5、机的计划 大量的软件由于质量得不到保证,在交付给用户使用之后不得不被抛弃Copyright Xinjun Mao 2005.8n质量保证是极为重要的n在软件项目实施过程中必须提供待开发软件质量的可视性n缺乏质量保证,将会导致所开发的软件不能满足用户的期望和要求n缺乏质量保证,将会导致整个软件项目延期,甚至失败Copyright Xinjun Mao 2005.9n什么是软件质量?n如何确保所开发软件的质量?Copyright Xinjun Mao 2005.10n软件项目案例n软件质量n软件质量保证n软件质量保证计划及其实施nCMM对软件质量保证的要求n本讲小结Copyright Xinjun
6、 Mao 2005.11l什么是软件质量?l为什么需要关注软件质量?Copyright Xinjun Mao 2005.12n软件质量的概念定义 软件产品满足用户要求的程度n注意 要从客户(而不是开发人员或者企业)的角度看质量n测试 软件质量的内外因素n外在因素:软件所提供的功能、性能、人机交互界面是否美观、易于操作n内在因素:软件的设计好坏、故障的数目和严重程度Copyright Xinjun Mao 2005.13 产产品品修修正正性性 产产品品转转移移性性 产品运行性产品运行性 可维护性可维护性 灵活性灵活性 可测试性可测试性 可移植性可移植性 可重用性可重用性 可互操作性可互操作性 正
7、确性正确性 可靠性可靠性 有效性有效性 完整性完整性 有用性有用性 影响软件质量的具体因素影响软件质量的具体因素Copyright Xinjun Mao 2005.14n用户对软件质量的评价 没有功能(功能) 运行速度太慢(性能) 有太多的错误(故障) 软件不好改动(维护) 界面不美观(人机界面) 这个软件不好使用(易用性) Copyright Xinjun Mao 2005.15n高质量的产品才能 提高客户满意度,占领市场 降低软件开发的风险 确保软件项目按照计划实施 防止软件项目由于质量问题而流产或者失败 提高企业的影响力Copyright Xinjun Mao 2005.16n软件项目案
8、例n软件质量n软件质量保证n软件质量保证计划及其实施nCMM对软件质量保证的要求n小结Copyright Xinjun Mao 2005.17l什么是软件质量保证l从哪些方面关注软件质量l谁来保证软件质量l如何保证软件质量Copyright Xinjun Mao 2005.18n什么是软件质量保证 为管理层提供为获知产品质量信息所需的数据,从而获得产品质量是否符合预定目标的认识和信息n软件质量保证是要为软件产品的质量提供某种可视性,知道哪些地方有质量问题,便于改进方法和措施,提高软件产品的质量 例如,对软件进行测试,发现有哪些错误,这些错误的性质(严重、一般)Copyright Xinjun
9、Mao 2005.19n软件质量保证要做的事情 了解产品质量(例如,软件测试) 提交软件质量报告(例如,软件测试报告),说明质量问题 为项目组和管理层服务(例如,告诉问题所在,便于改进管理和技术)Copyright Xinjun Mao 2005.20需求分析需求分析软件设计软件设计编码编码标准和规程标准和规程Copyright Xinjun Mao 2005.21n软件产品 软件需求规格说明书 软件设计规格说明书 源程序代码,.n开发活动 需求分析 软件设计 编码n标准和规程Copyright Xinjun Mao 2005.22n组织内部或者在项目开始之时要制定软件开发的标准和规程n软件产
10、品 文档类:审核,产生审核报告 代码类:测试,产生测试报告n开发活动 审查,产生审查报告Copyright Xinjun Mao 2005.23n软件项目质量保证小组(SQA小组)n独立于项目开发小组n具有比较大的权限Copyright Xinjun Mao 2005.24n正确理解用户的要求n制定标准和规程n审查软件开发活动n审核软件工作产品n测试源程序代码n记录开发活动和软件产品的偏差n记录所有不符合项,报告高级管理者Copyright Xinjun Mao 2005.25n理解客户的要求和需要n让客户参与开发,随时和客户交流,验证客户的需求 可用性测试(版) 合作开发 伙伴关系 软件原型
11、Copyright Xinjun Mao 2005.26n在组织内部或者项目组内部制定标准和规程,限制和约束软件开发活动,有助于得到规范化的软件产品,从而提高软件质量 软件开发过程规程 需求管理规程 软件需求规格说明书编写规范 C+编码规范 Java编码规范,Copyright Xinjun Mao 2005.27n审查每个活动是否遵循软件开发过程规范 审查每个活动的输入条件是否都得到满足 审查活动的执行是否遵循规范 审查每个活动的输出是否都已经产生Copyright Xinjun Mao 2005.28n审核软件工作产品 遵循规范 正确 一致 准确 可追踪性 .Copyright Xinju
12、n Mao 2005.29n制定测试计划对软件进行测试 单元测试 集成测试 确认测试 系统测试Copyright Xinjun Mao 2005.30n形成报告 记录软件开发活动的偏差 记录软件产品的偏差软件测试报告n目的 发现问题,纠正偏差,提高质量Copyright Xinjun Mao 2005.31n目的 为管理者管理了解软件的质量提供可视性Copyright Xinjun Mao 2005.32n软件项目案例n软件质量n软件质量保证n软件质量保证计划及其实施nCMM对软件质量保证的要求n小结Copyright Xinjun Mao 2005.33n为了确保软件系统的质量,在软件开发早
13、期就要制定软件质量保证计划Copyright Xinjun Mao 2005.341.计划和目的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.媒体控制12.供应商控制13.记录收集、维护和保留14.培训15.风险管理Copyright Xinjun Mao 2005.35n软件项目案例n软件质量n软件质量保证n软件质量保证计划及其实施nCMM对软件质量保证的要求n小结Copyright Xinju
14、n Mao 2005.36n软件质量保证是CMM 2级的一个关键过程域n所谓软件质量保证是指为管理者提供有关软件项目过程和产品的适当的可视性n软件质量保证包括评审和审核软件产品和活动,以验证它们是否符合相应的规程和标准,同时给项目和其它有关负责人提供这些评审和审核的结果 n在软件项目的早期阶段,软件质量保证组就应参与制定计划、标准和规程等。它们能够降低软件项目成本,并满足项目和组织和策略的约束条件Copyright Xinjun Mao 2005.37n SQA小组在整个生存周期中评审项目各种活动,审核各种软件工作产品,并就软件项目是否正遵守已制定的计划、标准和规程等给管理者提供可视性 n对于
15、那些无法在软件项目内部解决的问题,软件质量保证组逐级上递该问题到恰当的管理者以求得解决 Copyright Xinjun Mao 2005.38n共17个关键实践关键实践类关键实践数目制定方针政策1确保必备条件4实施软件过程8度量和分析1检查实施情况3Copyright Xinjun Mao 2005.39n软件质量保证活动是有计划的 n软件产品和活动与其适用的标准、规程和需求的一致性已得到客观地验证 n受影响组和个人接到软件质量保证活动和结果的通知n高级管理者处理在软件项目内部不能解决的不符合问题 Copyright Xinjun Mao 2005.40n项目遵循一个书面的、由组织制定的实施
16、软件质量保证(SQA)的方针,一般规定 对全部软件项目,SQA功能都应到位 SQA应有一个向高级管理者报告的渠道,它独立于项目负责人和项目软件负责人 高级管理者定期地评审SQA活动和结果 Copyright Xinjun Mao 2005.41n存在一个SQA小组,负责协调和实施软件项目的质量保证Copyright Xinjun Mao 2005.42n为进行SQA活动提供足够的资源和经费 指派一个负责人专门负责项目的SQA活动 指派一个在SQA任务方面是博学的,并有权力采取适当的监督行动的高级负责人接受和处理软件的不符合问题 能得到支持SQA活动的工具 Copyright Xinjun Ma
17、o 2005.43nSQA小组的成员受到培训以便完成他们的SQA活动,培训内容包括: 软件工程技巧和实践; 软件工程组和其它软件有关组的作用及职责; 用于软件项目的标准、规程和方法; 软件项目相关的应用领域; SQA的目的、规程和方法; SQA组如何参与软件活动; SQA方法和工具的有效使用; 人员间的交流 Copyright Xinjun Mao 2005.44n软件项目的成员接受有关SQA组的作用、职责、权力和价值等方面的定向培训Copyright Xinjun Mao 2005.45n按照文档化的规程,为软件项目制订SQA计划,一般规定 SQA计划的制定是在整个项目策划的早期阶段进行,并
18、且平行于整个项目计划 受影响组和个人评审该SQA计划 SQA计划应受管理和控制 Copyright Xinjun Mao 2005.46n按照SQA计划进行SQA组的活动,SQA计划的内容包括 SQA组的职责和权力 SQA组的资源需求(包括职员、工具和设施) 项目的SQA组活动的进度表和经费 SQA组参与制定项目软件计划、标准和规程的安排 将由SQA组完成的评价 将由SQA组执行的审核和评审 将用作SQA组评审和审核的的标准和规程 对不符合性问题写成文档并进行跟踪直至结束的规程 要求SQA组生成的文档 SQA活动给有关组提供反馈信息的方法和频率 Copyright Xinjun Mao 200
19、5.47nSQA组参与准备和评审项目的软件开发计划、标准和规程 SQA组就下列几个方面对计划、标准和规程提供咨询和评审 n与组织制定的方针的符合性 n与外部强加的标准和要求的符合性(例如工作说明所要求的标准) n适合项目使用的各种标准 n应在软件开发计划中应阐述的论题 SQA组验证软件开发计划、标准和规程已经到位,并可用于评审与审计软件项目Copyright Xinjun Mao 2005.48nSQA组评审软件工程活动以验证其符合性 对照软件开发计划和指定的软件标准和规程,评价各项活动 对与软件开发计划、标准和规程的偏差进行标识和写成文档,并跟踪到结束 对纠正结果进行检查验证 Copyrig
20、ht Xinjun Mao 2005.49nSQA组审计指定软件工作产品以验证其符合性 在交付给顾客之前,评价可交付的软件产品 对照指定的软件标准、规程和合同要求,评价各种软件工作产品 对与软件开发计划、标准和规程的偏差进行标识和写成文档,并跟踪到结束 对纠正结果进行检查验证 Copyright Xinjun Mao 2005.50nSQA小组定期向软件工程组报告其活动的结果 Copyright Xinjun Mao 2005.51n按照文档化的规程,对软件活动和软件工作产品中标识出的偏差写成文档,并加以处理 将不符合软件开发计划和指定的项目标准及规程的问题写成文档,并与有关人员一起加以解决
21、将那些不符合又不能解决的问题,写成文档并递交给分管质量保证的高级管理者处理 定期评审不符合问题,直至解决它们为止 不符合问题的文档应受管理和控制 Copyright Xinjun Mao 2005.52n合适时,SQA组与顾客的SQA人员一起对其活动和发现进行定期评审Copyright Xinjun Mao 2005.53n进行度量,并将度量结果用于确定SQA活动的成本和进度状态 SQA活动的里程碑的完成情况与计划作比较 在SQA活动中完成的工作、花费的工作量和消耗的资金与计划作比较 进行产品审计和活动评审的次数与计划相比较 Copyright Xinjun Mao 2005.54n高级管理者
22、定期参与SQA活动的评审Copyright Xinjun Mao 2005.55n项目经理既定期地也事件驱动地参与SQA活动的评审 Copyright Xinjun Mao 2005.56n独立于SQA组的专家们定期对项目SQA组的软件工作产品和活动进行评审 Copyright Xinjun Mao 2005.57n软件项目案例n软件质量n软件质量保证n软件质量保证计划及其实施nCMM对软件质量保证的要求n小结Copyright Xinjun Mao 2005.58n软件质量保证是极为重要的n需要成立一个SQA小组,实施软件质量保证n要针对标准和规程、软件开发活动、软件产品三个方面进行质量保证n为此,需要制定质量保证计划,并且按照计划来实施Copyright Xinjun Mao 2005.59n理解 软件质量和软件质量保证概念 软件质量保证的重要性和意义n掌握 软件质量保证的方法和手段 软件质量保证计划n运用 在软件项目开发过程中对软件质量进行保证Copyright Xinjun Mao 2005.60Practice, Practice, and Practice感谢亲观看此幻灯片,此课件部分内容来源于网络,感谢亲观看此幻灯片,此课件部分内容来源于网络,如有侵权请及时联系我们删除,谢谢配合!如有侵权请及时联系我们删除,谢谢配合!
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。