2003年10月16日星期四(第四课)
二、软件质量的挑战 1、 软件质量事故的困扰
2、 用户对软件工程项目成果评价统计 3、 Y2K的启示
4、 软件开发面临的严重问题 5、 “有没有银弹”的争论
6、 软件开发面临的严重问题(漫画)
三、解决软件质量问题的实际困难
1、 软件开发各环节之间需保持协调一致 2、 软件需求
? 用户提不清 ? 需求多变
3、 软件质量的量化尚未成熟 4、 软件测试技术的局限性
? 传统的测试方法多年来没有突破性进展
? 目前的测试技术现状是:发现一个缺陷便清楚一个缺陷,但无法回答软件中还有多
少缺陷
? 何时停止测试是个难题
5、 我国软件企业在质量管理方面的弱点
? 工程化意识不足
? 管理意识差,认为管理束缚创造性 ? 重视编程(但不注意可读性),忽视文档编址,不愿作测试
? 标准意识薄弱,缺乏规程,许多工作因人而异,眉头统一的要求 ? 项目中不注意收集数据,经验难于积累
? 不注意工具的建设,不理解软件工具在软件开发中的作用
四、软件质量国际/国家标准 (第18章)
1、 GB/T16260(idt.ISO/IEC 9126:1991)
软件产品评价――质量特性及其使用指南
? 该标准制定了―――6各质量特性和21个子特性 ? 评价方法可操作性不理想
质量特性 子特性 (P306两个表格) 2、 ISO / IEC FDIS 9126 (1-4):1997-2001
信息技术软件产品质量 质量模型 内部质量 外部质量 使用质量
(P311 ,图)
图中×为新的ISO/IEC 9126增加的质量子特性 ×吸引行:软件产品吸引用户的能力
×***符合性:软件产品符合***相关的标准或约定(或法规)的能力 ×共存性:软件产品 (P313,图) (P314,图) (P315,图)
3、 ISO/IEC 14598(1-6):1998-2000 软件产品的评价
(P326页图和文字) (P327页图和文字)
? 评价过程框架适用于上述:
――开发方的过程 ――获取方的过程 ――评价方的过程
? 差异:鉴于三种评价
五、软件质量保证的基本概念
1、质量保证QA――Quality Assurance
2、验证(Verification)
? 通过提供客观证据对规定要求已取得满足的认定(ISO2000:2000)
? 确定开展某项活动的软件产品能否满足此前一些活动对其提出的要求和条件 ? 确定软件开发周期中的一个给定阶段的产品是否达到前阶段确定的需求的过程
3、确认(Validation)
? 通过提供客观证据对特定的预期用途或应用要求已得到满足的认定
? 确定需求和最终的、已建成的系统或软件产品是否满足其特定的预期用途 ? 在软件开发过程结束时,对软件进行评价,以确认它和软件需求是否相一致的过程。
(图:验证与确认的关系)
4、评审(Review)
? 确定主题事项达到规定目标的适宜性,充分行有效性所进行的活动 ? 评价项目活动的状态和产品是否适合
4、 审核(Audit)
? 获得客观证据并对其进行客观的评价,以确定满足审核准则(作为依据的一组方针、
规程或要求)的程度所进行的系统的、独立的、并形成文件的过程。ISO9000:2000 ? 确定与需求、计划和合同符合性 (ISO/IEC12207:1995)
? 为评估是否符合软件需求、规格说明、基线、标准、过程、指令、代码以及合同和
特殊要求而进行的一种独立的检查。 (GB/T11475:1995)
? 通过调查研究确定已指定的过程、指令、规格说明、代码和标准或其他的合同及特
殊要求是否恰当和被遵守,以及其实现是否有效而进行的活动。
六、软件质量保证过程 (第7章) (ISO/IEC12207:1995 即GB8566:2001)
? 为软件产品和过程在项目生存期中符合规定的要求,并遵循已指定的计划提供足够
的保证
? 软件质量保证人员应有相应的授权,且不带偏见
? 可以是内部的,也可以是外部的。差别在于向谁提供信任。
七、软件质量保证方法 (P128)
1、 指定SQA计划,作为软件项目开发计划的一部分 2、 按PDCA开展工作
3、 在软件生存期的适当阶段
评审项目活动 审核工作产品
以验证对使用规程和标准的符合情况 4、 充分利用
其他过程,如测试过程
其他组织,如SCM组的评审、验证、确认、审核等活动结果 5、 将评审和审核结果通报给项目经理或其他相关经理
6、 评审和审核发现的问题无法在项目内解决时,上报给高层主管以求解决 7、 SQA各种活动讲求实效,切忌走过场
8、 定期请有关方面平评审SQA工作,或是向有关方面征求对SQA工作的意见
软件配置管理 (第8章)
配置(Configuration)-词其他领域中已有广泛的应用,只不过称呼有所不同,但都有其确切的含义。如原子结构的形态和组态…..
1、 什么是配置管理
1) 几种说法
? ISO 900-3的4.8中给出:配置管理是一个管理学科,它对配置项(包括软件
? ? 2) 2、
项)的开发和支持生存期给予技术上和管理上的指导。配置管理的应用取决于项目的规模,复杂程度和风险大小。
W.Babich认为,软件配置管理能协调软件开发,使得混乱减少到最小、软件
配置管理是一个标识、组织和控制修改的技术,目的是最有效地提高生产率。GB/T 11457:1995(软件工程术语)对配置管理的解释:
A. 标识和确定系统中配置项的过程,在系统整个生存周期内控制这些项的投
放和更动。记录并报告配置的状态和更动要求,验证配置项的完整性和正确性。 B. 对下列工作进行技术和行政指导与监督的一套规范
一对一配置项的功能和物理特性进行标识和文件编制工作; 一控制这些特性的更动情况; 一记录
一含意:配置管理的对象,软件工程过程产生的所有信息项。 一包括:计算机可执行的源代码。目标马等。