全国工程硕士专业学位教育指导委员会推荐教材·软件工程过程(高级篇)
定 价:32 元
- 作者:林广艳 著
- 出版时间:2011/10/1
- ISBN:9787302241492
- 出 版 社:清华大学出版社
- 中图法分类:TP311.5
- 页码:276
- 纸张:胶版纸
- 版次:1
- 开本:16开
《全国工程硕士专业学位教育指导委员会推荐教材·软件工程过程(高级篇)》以软件工程知识体swebok2004、软件工程教育知识体seek和软件生存周期过程标准iso/iec12207为依据,介绍了软件生存周期过程的基本概念、软件工程过程中包含的主要活动和软件工程过程模型。通过两个过程模型的应用案例说明了过程中各要素间的关系,介绍了软件工程过程模型的三个层次和建立软件工程过程的一般步骤、过程监控中需要考虑的基本问题,以及应用于软件工程过程改进的三类典型的标准评估模型。以极限编程xp过程模型为例介绍了敏捷过程倡导的向用户交付价值的思想,对计划驱动过程和敏捷过程进行比较,总结了其各自适用的领域,为更好地应用这些过程模型提供了指导。
《全国工程硕士专业学位教育指导委员会推荐教材·软件工程过程(高级篇)》作为“十一五”全国工程硕士研究生教育核心教材,其内容翔实,结合实际,实例丰富,论述深入浅出,且书中内容已经过多轮教学验证,既可作为软件工程专业高年级本科生、研究生及计算类相关专业的教材,又可作为专业软件技术人员的参考用书。
做任何事情都需要过程,软件开发也不例外。尽管我们都不否认过程对软件产品质量的作用,但我们常常会看到这样的现象: 在进度压力下,首当其冲被简化的工作还是过程。规范化的过程使过程要素的执行更加严谨,导致短期的活动实施时间拉长,同时需要人力等资源的投入,也无形中增加了软件开发的近期成本。若选择的过程不合适,还会对开发起到阻碍作用。现实中很难有两个软件产品的开发过程完全相同。软件工程过程是对过去经验的总结,僵化地照搬任何一个软件工程过程的结果都可能事与愿违,这也是大家对软件工程过程敬而远之的原因之一。
软件工程过程的应用与所开发的产品的关键度、参与的人员状况、技术成熟度等因素相关,还与企业的文化相关。过程应用的关键是如何充分体现“平衡”的理念。在一个具体过程中,一个过程或活动是否应该有?若有,应执行到什么样的一个“度”?其中的“拿捏”讲究的就是平衡。平衡做得好,则可为软件工程过程中的各要素创造和谐环境,使项目或产品开发按预期进行; 平衡做得不好,则过程各要素间不但相互制约导致预定义过程被束之高阁,当然项目或产品的目标也很难达到。软件工程过程应用中的这些现象也为弱化软件工程过程的人们提供了很好的理由。如今交付环境日趋复杂,稍具规模的软件企业都清醒地认识到: 制造软件产品的过程和软件产品本身一样重要。因为高质量的软件产品的背后一定有一个合理的过程来保证。从长远角度看,软件产品的高产出和低成本的背后一定有持续的过程改进做后盾。
如何理解软件工程过程?软件工程过程到底包括哪些内容?如何组织这些内容?如何正确地认识软件工程过程?为什么过程如此重要却未能得到足够的重视?针对目前软件工程过程应用中的这些问题或困惑,以及有关软件工程过程概念的不规范,要求我们把软件工程过程的相关内容说清楚,让学生明白软件工程过程中各要素间的内在联系,以及软件工程过程与企业文化的关系。
本书是作者多年来从事一线软件项目开发、管理与咨询过程中积累的经验与软件工程教学实践的结晶,书中内容结合实际案例对软件工程过程进行比较全面、清晰的论述。
本书在写作过程中,得到了很多人士的帮助。
麦中凡教授对本书的框架提出了非常中肯的建议并审阅了本书的大部分内容,在此表示感谢。
北京航空航天大学的姚淑珍教授、杨文龙教授和国防科技大学的齐治昌教授,正是他们的信任、鼓励与支持,才使本书得以问世,在此表示感谢。
前人的工作是本书写作的基础,本书在写作过程中借鉴了前人已有著作和论文的内容,在此对列入参考文献部分的引用文献清单的作者表示感谢。
教学与研究工作是本书写作的基础,软件工程过程是北京航空航天大学软件学院重点建设的现代软件工程课程系列之一,自2004年开设以来,得到了学校精品课程建设的资助,学院给予了大力支持。在教学过程中,800多名本科生和2000多名研究生对课程的学习和反馈为本书的写作提供了帮助,在此表示感谢。
最后,特别感谢清华大学出版社给予本书的支持,感谢各位编辑为本书的策划和出版付出的心血。
因工作做得不够细致,书中未能明确标记文献的引用。限于编者的水平,难免存在错误与不妥之处,衷心希望广大读者指正赐教,联系E-mail: lingy@buaa.edu.cn。
作者2011年6月于北京
第1章 绪论
1.1 软件制造是个复杂的过程
1.2 软件产品与软件工程过程
1.3 研究软件工程过程的意义
1.4 软件生存周期过程标准
1.4.1 基本概念
1.4.2 iso/iec 12207软件生存周期过程标准
1.5 本书结构
第2章 软件开发的主要活动
2.1 需求工程
2.1.1 需求获取
2.1.2 需求分析
2.1.3 需求规格说明
2.1.4 需求验证
2.1.5 需求跟踪管理
2.1.6 需求变更管理
2.2 设计
2.2.1 高层设计
2.2.2 详细设计
2.3 构造
2.4 测试
2.5 运行与维护
2.6 软件项目管理
2.6.1 项目管理活动
2.6.2 软件开发计划
2.6.3 风险管理
2.7 配置管理
2.7.1 配置项和基线
2.7.2 配置库
2.7.3 配置管理流程
2.7.4 配置项标识
2.7.5 版本控制
2.7.6 配置控制
2.7.7 状态簿记
2.7.8 配置审计
2.8 验证与确认
2.8.1 v&v的目标
2.8.2 计划v&v过程
2.8.3 软件v&v实施
2.9 软件质量保证
2.9.1 计划sqa过程
2.9.2 软件产品保证
2.9.3 软件工程过程保证
2.9.4 sqa实施考虑
2.10 联合评审
2.10.1 计划评审过程
2.10.2 项目管理评审
2.10.3 技术评审
2.11 审核
2.11.1 审核过程规划
2.11.2 审核的实施
2.12 软件文档管理
2.12.1 计划文档过程
2.12.2 文档的设计和开发
2.12.3 文档的生产和发行
2.12.4 文档的维护
2.13 基础设施过程
2.14 改进过程
2.15 培训过程
2.16 本章小结
第3章 软件生存周期模型
3.1 编码修正模型
3.2 瀑布模型
3.2.1 瀑布模型的优缺点
3.2.2 v模型
3.3 增量模型
3.4 演化模型
3.5 螺旋模型
3.6 原型构造在生存周期模型中的应用
3.7 生存周期模型中并发的作用
3.8 商业组件和复用的作用
3.9 统一软件工程过程模型
3.9.1 过程框架
3.9.2 核心元素
3.9.3 制品集的进化
3.9.4 项目计划
3.9.5 质量内嵌于过程中
3.9.6 主要困难与基础保障
3.10 msf过程模型
3.11 本章小结
第4章 瀑布模型应用实例
4.1 过程实例活动
4.1.1 infosys过程模型概述
4.1.2 需求规范
4.1.3 高层设计
4.1.4 详细设计
4.1.5 构建(编码)与单元测试
4.1.6 集成测试计划与实施
4.1.7 系统测试计划与实施
4.1.8 验收测试与安装
4.1.9 维护支持阶段
4.2 文档编制
4.3 war系统开发过程实施案例
4.3.1 war系统需求概述
4.3.2 高层设计阶段
4.3.3 详细设计阶段
4.3.4 构建与单元测试阶段
4.3.5 系统测试
4.3.6 验收和安装
4.4 本章小结
第5章 协同过程模型
5.1 模型概述
5.2 实际应用案例需求
5.3 初始阶段
5.3.1 基本活动
5.3.2 实施考虑
5.4 细化阶段
5.4.1 基本活动
5.4.2 实施考虑
5.5 构造阶段
5.5.1 主要活动
5.5.2 实施考虑
5.6 移交阶段
5.6.1 基本活动
5.6.2 实施考虑
5.7 本章小结
第6章 软件工程过程的建立与监控
6.1 软件工程过程的层次
6.1.1 u级过程模型
6.1.2 a级过程模型
6.1.3 w级过程模型
6.1.4 各级别过程模型的应用层次
6.2 软件工程过程的建立
6.2.1 定义软件工程过程的一般步骤
6.2.2 软件开发过程的定义示例
6.3 软件工程过程剪裁示例
6.3.1 概要级剪裁指南
6.3.2 详细级剪裁指南
6.3.3 war项目的剪裁示例
6.4 项目计划的编制
6.5 过程的监控
6.5.1 过程变更处理
6.5.2 变更实施
6.6 过程改进
6.7 过程基础数据积累
6.7.1 过程数据库
6.7.2 过程能力基准
6.7.3 过程资源
6.8 本章小结
第7章 软件工程过程改进
7.1 iso 9001
7.1.1 质量体系框架
7.1.2 生存周期活动
7.2 cmm/cmmi
7.2.1 cmm内部结构
7.2.2 cmm成熟度级别
7.2.3 cmm关键过程域
7.2.4 cmm公共特征
7.2.5 cmm关键实践
7.2.6 cmmi
7.2.7 评估模型的应用
7.2.8 其他过程评估模型
7.3 iso/iec 15504
7.3.1 iso/iec 15504的组成
7.3.2 iso/iec 15504的过程类别
7.3.3 iso/iec 15504的能力等级
7.3.4 iso/iec 15504的能力度量
7.3.5 iso/iec 15504的应用
7.3.6 用iso/iec 15504开发与之兼容的评估方法
7.4 评估模型的发展
7.4.1 各种模型的比较
7.4.2 iso/iec 15504标准发展趋势
7.5 本章小结
第8章 敏捷过程
8.1 敏捷联盟
8.2 xp概述
8.3 xp过程模型
8.3.1 模型总框架
8.3.2 迭代的过程细化
8.3.3 开发的过程细化
8.3.4 集体拥有代码的过程细化
8.4 xp项目小组模型
8.5 本章小结
第9章 软件工程过程的发展趋势
9.1 计划驱动过程
9.2 敏捷过程
9.3 计划驱动过程与敏捷过程的比较
9.3.1 应用特征
9.3.2 管理特征
9.3.3 技术特征
9.3.4 人员特征
9.3.5 总结
9.4 敏捷过程与计划驱动过程的平衡
9.5 本章小结
参考文献