出版时间:2009-7 出版社:人民邮电出版社 作者:马慧,杨一平 著 页数:432
Tag标签:无
前言
我从事软件工作已经快20年了,其中大部分时间在软件开发的第一线,投身于大大小小的软件项目开发之中。最近几年,我更换了角色,以一个CMMI主任评估师的身份对众多的软件项目进行评估和诊断,所接触的软件项目可以说是包罗万象,既有财富500强公司的很成熟的软件项目,也有存在各式各样问题的不太成熟的项目。通过对这些项目的深入分析,我深切体会到软件开发是一项艰难而特殊的活动,至今仍然主要依赖于经验进行,尚不存在一个公认最有效的开发方法来保证软件项目的成功。即使现在最为体系化的CMMI,在我眼里,这个被命名为“能力成熟度模型”的体系依然是不够成熟的,其实质还是一个工业界最佳实践的集合,很多CMMI实践在千变万化的现实项目中如何解释,仍然存在争议。造成这种局面的根本原因有内在原因与外部原因两个方面,内在原因指的是软件项目本身的特殊性,外部原因指的是软件开发的外部环境的特殊性。从软件项目本身特点来说,用过程改进泰斗沃兹·汉佛瑞(Watts Humphrey)先生所概括的一句话来形容最为贴切:软件开发是“大规模知识劳动”。而目前唯一具备“大规模知识劳动”特点的产业就是软件业。知识劳动的产出物是无形的产品,就软件来说,就是被机器执行的一行行指令。一个大型软件项目的源代码可以有数百万行甚至更多,这样规模的知识劳动的产物,其复杂性决定了我们无法用纯粹的工程活动来解决质量问题,而更加需要依赖于管理手段来保证其质量。即便是图灵奖获得者埃德蒙德·克拉克(Edmund Clarke)博士提出的模型检正(ModelChecking)方法,理论上论证了对代码进行百分之百正确性检正的可能性。但是,这样的方法也只在芯片软件等很局部的场合进行有限的应用,对大规模的应用软件代码来说,在可预见的将来进行这样的模型检正仍然是不可能完成的任务。管理手段仍将是软件质量控制的核心。对大规模知识劳动进行管理也遇到了前所未有的挑战。不同于传统工业,知识劳动的劳动者是设计方案的决策者,因为软件的实质就是设计方案的不断细化过程。很多试图用管理传统工业的手段对知识劳动进行精细化管理的努力都未能取得预想的效果。举例来说,现在对软件规模的基本度量仍然是代码行数,但每一行代码的复杂度差别极大,同时,不同劳动者之间的编码效率与质量也常常有数倍以上的差异,甚至相同劳动者因状态不同而导致代码质量与编码效率的明显差异,这样,以代码行数计量的软件生产效率的管理与传统工业对生产效率的管理就需要用不同的手段。甚至在一个局部要寻找出影响软件开发过程的可变因素也是艰难的,我们还在摸索如何有效管理大规模知识劳动。
内容概要
本书是关于质量评价与软件质量工程知识体系的一本学术专著,反映了此技术领域近年来的最新研究成果。 全书共分5篇9章。第一篇为概论,主要内容包括:现代质量观与著名质量管理大师的主要贡献,以及质量管理的发展、软件质量工程、质量标准与软件质量标准等内容。第二篇为软件项目的风险管理,分析论述了软件项目的风险管理、软件项目文档与配置管理。第三篇为软件质量度量与控制的实践方法,阐述了统计度量与控制基础、软件质量的度量与控制。第四篇为质量标准与实施案例分析,主要内容为六西格玛管理和CMMI软件能力成熟度模型。第五篇为软件质量管理链与知识体系的研究,主要对软件质量管理链与知识体系,以及数据挖掘中的资源耦合与质量管理进行了研究探讨。 本书可供从事质量评价与软件质量工程知识体系研究的人员阅读,也可作为信息管理与信息系统、软件工程、项目管理专业的研究生与本科生的参考用书。
书籍目录
第一篇 概论 第1章 概论 1.1 现代质量观与质量管理战略 1.1.1 质量概述 1.1.2 现代质量管理 1.1.3 质量管理战略 1.2 质量管理的发展与著名质量管理大师的主要贡献 1.2.1 质量管理的发展 1.2.2 著名质量管理大师的主要贡献 1.3 信息产业中软件的重要作用 1.3.1 信息产业:最具有生机与活力的产业 1.3.2 软件产品:现代信息技术的灵魂 1.4 软件与软件管理 1.4.1 软件及其特殊性 1.4.2 软件工程与软件过程管理 1.4.3 软件质量工程 1.4.4 软件产业与CMM的提出 1.5 质量标准与软件质量标准 1.5.1 ISO 9000标准族 1.5.2 六西格玛标准 1.5.3 CMM/CMMI标准 1.6 实现质量管理战略的不断实践和思考 1.6.1 实施信息化战略的商业目标与作用 1.6.2 实施信息化与组织变革 1.6.3 开发软件项目主要管理风险 1.6.4 软件质量偏差形成的主要因素 1.6.5 实施质量管理战略的不断实践和思考第二篇 软件项目的风险管理 第2章 软件项目的风险管理 2.1 风险概述 2.1.1 风险的含义 2.1.2 风险的分类 2.1.3 风险的相对性 2.2 风险管理概述 2.2.1 风险管理的起源与发展 2.2.2 风险管理模型与风险管理 2.3 风险管理的定量分析 2.3.1 风险定量管理的概率论基础 2.3.2 决策树分析 2.3.3 不确定型风险的定量管理 2.4 软件项目风险分析与过程管理 2.4.1 软件项目规划的风险与过程管理 2.4.2 配置风险与过程管理 2.4.3 培训风险与过程管理 2.4.4 软件转包(外包)风险与过程管理 2.4.5 需求分析风险与过程管理 2.4.6 系统设计风险与过程管理 2.4.7 系统实施风险与过程管理 2.4.8 系统维护风险与过程管理 2.5 CMMI的风险管理过程域 2.6 Crystal Ball模拟进行风险分析 【本章案例】Infosys公司实施CMM过程中的风险管理活动 一、Infosys公司背景介绍 二、Infosys公司的风险管理 三、风险管理规划示例 第3章 软件项目的文档与配置管理 3.1 项目管理概述 3.1.1 项目管理概述 3.1.2 项目管理的知识体系 3.2 软件项目的文档管理 3.2.1 软件修改的必然性与主要文档 3.2.2 文档编写的基本要求 3.2.3 文档编写举例 3.3 软件项目的配置管理 3.3.1 软件配置管理概述 3.3.2 软件配置管理的内容 3.3.3 软件配置管理工具第三篇 软件质量度量与控制的实践方法——软件质量工程技术与应用 第4章 统计度量与控制基础 4.1 相关统计基础知识 4.1.1 统计控制过程中的信息反馈 4.1.2 数据分布 4.1.3 统计的基本指标 4.2 常用质量分析工具图 4.2.1 流程图 4.2.2 检查表 4.2.3 直方图 4.2.4 散点图 4.2.5 因果图 4.2.6 帕累托分析图 4.3 中心极限定理以及在质量管理上的应用 4.4 过程稳定性的度量 4.4.1 过程变异(波动) 4.4.2 过程稳定性与过程改进 4.4.3 过程能力以及度量指标 4.5 六西格玛质量水平的度量 4.5.1 界定阶段与质量管理 4.5.2 测量阶段与质量管理 4.5.3 分析阶段与质量管理 4.5.4 改进阶段与质量管理 4.5.5 控制阶段与质量管理 第5章 软件质量的度量与控制 5.1 软件质量的度量 5.1.1 软件质量的度量与经济目标 5.1.2 常用的度量指标与模型 5.1.3 统计工具在软件质量分析中的应用 5.1.4 软件质量度量(指示)器 5.2 软件质量的控制 5.2.1 控制技术应用的一般步骤 5.2.2 软件过程行为图 5.2.3 常用控制图的绘制与应用 5.2.4 分组的重要意义与应用 5.2.5 软件过程稳定性的分析 5.3 CMMI与质量的度量控制 5.3.1 CMMI 二级的度量内容 5.3.2 CMMI 四级中的度量内容 5.3.3 质量控制技术在CMMI标准中的应用案例第四篇 质量标准与实施案例分析 第6章 六西格玛管理 6.1 六西格玛概述 6.1.1 六西格玛的发展 6.1.2 六西格玛的统计含义 6.1.3 六西格玛的管理含义 6.2 六西格玛管理的组织结构 6.2.1 六西格玛的组织构架 6.2.2 部门与成员的选择标准 6.3 DMAIC模型 6.3.1 DMAIC过程活动 6.3.2 主要工具和指标 6.4 六西格玛实施案例介绍 6.4.1 定义阶段 6.4.2 度量阶段 6.4.3 分析阶段 6.4.4 改进阶段 6.4.5 控制阶段 6.5 六西格玛与其他质量管理体系 第7章 CMMI软件能力成熟度模型 7.1 CMM与CMMI 概述 7.1.1 CMMI的应用 7.1.2 CMM等级概述 7.1.3 CMMI的两种表示方法 7.2 CMM的基本内容 7.2.1 CMM的专业术语 7.2.2 不成熟与成熟软件组织的特征 7.2.3 软件过程的可视性 7.2.4 CMM的体系结构 7.2.5 CMM的内部结构 7.2.6 关键过程域举例 7.2.7 如何运用CMM 7.3 CMMI的基本内容 7.3.1 CMMI内部结构 7.3.2 公共目标与共性实践 7.3.3 关键过程域举例 7.3.4 CMMI剪裁和评估 7.3.5 CMMI实施案例说明 7.4 Infosys公司实施软件过程改进介绍 7.4.1 建议书和合同 7.4.2 需求管理 7.4.3 组织过程定义 7.4.4 工作量估计和进度安排 7.4.5 计划阶段 7.4.6 设计和执行阶段 7.4.7 终止阶段第五篇 软件质量管理链与知识体系的研究 第8章 软件质量管理链与知识体系的研究 8.1 质量管理投入的决策分析 8.1.1 质量管理成本的投入分析 8.1.2 质量成本弹性分析 8.2 需求驱动与效益驱动的质量管理 8.2.1 顾客需求驱动的管理方式 8.2.2 效益驱动的质量管理 8.3 软件质量管理链的研究 8.3.1 软件质量管理链的主要活动 8.3.2 软件质量管理链的评价活动 8.3.3 实施质量管理链的主要作用 8.4 数据库的反规范化设计 8.4.1 反规范化设计的基本概念 8.4.2 常用的反规范化设计方法 8.4.3 反规范化设计的具体实例 8.5 软件质量管理知识体系建设的研究 8.5.1 软件质量战略管理研究 8.5.2 质量管理工程化的研究 8.5.3 质量管理效益与信息资源利用的研究 8.5.4 质量标准比较、实施与外包的研究 第9章 数据挖掘中的资源耦合与质量管理 9.1 数据挖掘技术的发展 9.1.1 数据量庞大、查询困难 9.1.2 数据利用率低 9.2 提高数据挖掘系统资源的耦合度 9.2.1 紧密耦合(Tight Coupling) 9.2.2 松散耦合(Loose Coupling)与半紧密耦合(Semi Tight Coupling)1 9.2.3 无耦合(No Coupling)1 9.3 经济学的次优理论与反规范设计1 9.3.1 纳什均衡与次优理论1 9.3.2 次优理论与数据库的反规范处理 9.4 数据挖掘质量管理策略附录 A VSS简介 A.1 VSS的功能和特性 A.2 VSS的重要概念 A.3 VSS的安装与配置 A.3.1 VSS 6.0服务器的安装 A.3.2 VSS 6.0客户端的安装 A.3.3 VSS 6.0服务器端的配置与管理 A.4 VSS客户工具的操作 A.4.1 登录VSS A.4.2 VSS基本操作 A.4.3 VSS高级操作 A.4.4 在客户端的VC中使用VSS进行源代码控制 A.5 利用VSS进行版本管理示例附录 B CMMI-SE/SW/IPPD/SS模型概览——连续式表示法 B.1 组织级过程管理 B.1.1 组织级过程焦点 B.1.2 组织级过程定义 B.1.3 组织级培训 B.1.4 组织级过程性能 B.1.5 组织级改革和部署 B.2 项目管理 B.2.1 项目计划 B.2.2 项目监督和控制 B.2.3 供应商合同管理 B.2.4 集成化项目管理(IPPD) B.2.5 风险管理 B.2.6 集成组队 B.2.7 集成化供应商管理 B.2.8 项目定量管理 B.3 工程 B.3.1 需求管理 B.3.2 需求开发 B.3.3 技术解决方案 B.3.4 产品集成 B.3.5 验证 B.3.6 确认 B.4 支持 B.4.1 配置管理 B.4.2 过程和产品质量保证 B.4.3 度量和分析 B.4.4 决策分析和解决方案 B.4.5 组织化集成环境 B.4.6 因果分析和解决方案 B.5 共性目标和共性实践附录 C CMMI-SE/SW/IPPD/SS模型概览——阶段式表示法 C.1 成熟度等级:2 C.1.1 需求管理 C.1.2 项目计划 C.1.3 项目监督和控制 C.1.4 供应商合同管理 C.1.5 度量和分析 C.1.6 过程和产品质量保证 C.1.7 配置管理 C.2 成熟度等级:3 C.2.1 需求开发 C.2.2 技术解决方案 C.2.3 产品集成 C.2.4 验证 C.2.5 确认 C.2.6 组织级过程焦点 C.2.7 组织级过程定义 C.2.8 组织级培训 C.2.9 集成化项目管理(IPPD) C.2.10 风险管理 C.2.11 集成组队 C.2.12 集成化供应商管理 C.2.13 决策分析和解决方案 C.2.14 组织级集成环境 C.3 成熟度等级:4 C.3.1 组织级过程性能 C.3.2 项目定量管理 C.4 成熟度等级:5 C.4.1 组织级改革和部署 C.4.2 因果分析和解决方案 附录 D 过程管理文档模板 D.1 项目规划过程域的文档模板 D.2 项目监控过程域的文档模板 D.3 风险管理过程域的文档模板 D.4 需求管理过程域的文档模板 D.5 需求开发过程域的文档模板 D.6 技术预研过程域的文档模板 D.7 系统设计过程域的文档模板 D.8 实现与测试过程域的文档模板 D.9 系统测试过程域的文档模板 D.10 Beta测试过程域的文档模板 D.11 客户验收过程域的文档模板 D.12 技术评审过程域的文档模板 附录 E MINITAB简介 E.1 MINITAB的发展 E.2 MINITAB 的功能及操作环境简介 E.2.1 MINITAB 的主要功能 E.2.2 MINITAB 的环境要求 E.2.3 MINITAB的操作界面 E.3 MINITAB的质量管理功能 E.3.1 控制图 E.3.2 质量编制计划工具(Quality Planning Tools)附录 F 控制图与频数分布图
章节摘录
插图:第一篇 概论第1章 概论现代质量以及质量管理理论体系绝不仅仅是技术或理论方面的研究课题,它是长期以来人们面对实际质量问题、企业商业目标、商业环境与技术变化而进行的反复的实践总结。不仅如此,它涉及的领域还越来越宽,特别是人们前所未有地将质量与商业目标紧密地结合在一起,体现了质量管理的商业价值。鉴于软件的特殊性,在强调“防火”与“救火”的关系的同时,人们提出过程管理与持续改进质量的方略。这样,我们便不难理解,质量管理是一项系统工程,需要人们从战略的角度去理解和把握,同时需要有序、有力、有效的实施方法以及工具,需要“成熟”的管理。事实上,在飞速的时代变革中,企业只有克服来自技术、文化等多方面的阻力,用先进的管理方法和质量文化引导质量改进的持续进行,以创新的姿态迎接挑战,才能始终保证最大程度地满足顾客的需求,从而给企业带来最大的经济效益。本篇将介绍质量及质量管理的概念和发展。基于软件的特殊性,本篇将介绍相应的质量管理标准、软件质量工程和质量管理战略的研究和思考。第一篇包括第1章即概论。【学习和研究目标】了解、理解质量。质量管理的发展历史和主要目标。软件质量工程以及与质量管理的关系。实施质量管理的主要方略和实现轨迹。稳定性的判断和控制图的关系。质量标准和外包的关系。
编辑推荐
《质量评价与软件质量工程知识体系的研究》为人民邮电出版社出版发行。
图书封面
图书标签Tags
无
评论、评分、阅读与下载