构建之法(第三版)
出版信息
邹欣 / 人民邮电出版社 / 2017-6 / 69.00元
内容简介
软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较空洞乏味的课程。 但是,软件工程 的技术对于投身 IT 产业的学生来说是非常重要的。作者有在世界一流软件企业 20 年的一线软件开 发经验,他在数所高校进行了多年的软件工程教学实践,总结出了在 16 周的时间内让同学们通过 “做 中学 (Learning By Doing)” 掌握实用的软件工程技术的教学计划,并得到高校师生的积极反馈。在此 基础上,作者对软件工程的各个知识点和实战技能要求进行了系统性整理,形成教材。目前,本书已经在至少 25 所高校作为软件工程课程的教材。
本书共分 17 章, 对照美国 ACM/IEEE 2013 年出版的计算机科学教学指导中软件工程相关部分, 本书覆盖了其中大多数的核心内容。本书同时覆盖了最新的业界实战方法,软件团队中各个角色的成 长和关系,以及 IT 行业的创新奥秘。作者可以向感兴趣的读者提供全部章节的教学课件。
作者简介
邹欣现任微软Windows中国工程团队首席研发总监。1996—2003年,邹欣在微软Outlook团队从事开发工作,2003—2005年,他在微软内部质量工具团队和Visual Studio团队负责软件项目管理工具的开发。2005—2012年,他担任微软亚洲研究院技术创 新组研发主管,负责研究成果的产品化和创新项目。2012—2014年,他担任微软亚洲互联网工程院首席研发总监,负责必应搜索客户端、必应输入法、必应词典等产品。加入微软前,邹欣从事过商用Unix系统、GPS/GIS软件开发及测试工作。他在2007年出版了《移山之道》,于2008年出版了《编程之美》 (合作)。他于1991年获北京大学计算机软件专业学士学位。1996年获美国美国韦恩州立大学(Wayne State University)计算机软件专业硕士学位。
微博 http://weibo.com/sdxinz
博客 http://www.cnblogs.com/xinz
专栏 http://zhuanlan.zhihu.com/goujianzhifa
目录
第1章 概 论 /1
1.1 软件 = 程序 + 软件工程
1.2 软件工程是什么
1.3 练习与讨论
第2章 个人技术和流程 /21
2.1 单元测试
2.2 效能分析工具
2.3 个人开发流程
2.4 实践
2.5 练习与讨论
第3章 软件工程师的成长 /46
3.1 个人能力的衡量与发展
3.2 软件工程师的思维误区
3.3 软件工程师的职业发展
3.4 技能的反面
3.5 练习与讨论
第4章 两人合作 /68
4.1 代码规范
4.2 代码风格规范
4.3 代码设计规范
4.4 代码复审
4.5 结对编程
4.6 两人合作的不同阶段和技巧
4.7 练习与讨论
第5章 团队和流程 /96
5.1 非团队和团队
5.2 软件团队的模式
5.3 开发流程9
5.4 练习与讨论
第6章 敏捷流程 /114
6.1 敏捷的流程简介
6.2 敏捷流程的问题和解法
6.3 敏捷的团队
6.4 敏捷总结
6.5 敏捷的问答
6.6 练习与讨论
第7章 实战中的软件工程 /133
7.1 MSF简史
7.2 MSF基本原则
7.3 MSF团队模型
7.4 MSF过程模型
7.5 实战中的软件工程
7.6 练习与讨论
第8章 需求分析 /157
8.1 软件需求
8.2 软件产品的利益相关者
8.3 获取用户需求—用户调研
8.4 竞争性需求分析的框架
8.5 功能的定位和优先级
8.6 计划和估计
8.7 分而治之(Work Breakdown Structure)
8.8 练习与讨论
第9章 项目经理 /191
9.1 PM是啥
9.2 微软PM的来历
9.3 PM做开发和测试之外的所有事情
9.4 领导力—高效的团队讨论
9.5 PM 和风险管理
9.6 练习与讨论
第10章 典型用户和场景 /211
10.1 典型用户和典型场景
10.2 用例(Use Case)
10.3 规格说明书
10.4 功能驱动的设计
10.5 练习与讨论
第11章 软件设计与实现 /232
11.1 分析和设计方法
11.2 图形建模和分析方法
11.3 其他设计方法
11.4 从Spec到实现
11.5 开发阶段的日常管理
11.6 实战中的源代码管理
11.7 代码完成(Code Complete)
11.8 练习与讨论
第12章 用户体验 /258
12.1 用户体验的要素
12.2 用户体验设计的步骤和目标
12.3 评价标准
12.4 贯穿多种设备的用户体验
12.5 练习与讨论
第13章 软件测试 /279
13.1 基本名词解释及分类
13.2 各种测试方法
13.3 实战中的测试
13.4 运用测试工具
13.5 练习与讨论
第14章 质量保障 /310
14.1 软件的质量
14.2 软件的质量保障工作
14.3 练习与讨论
第15章 稳定和发布阶段 /329
15.1 从代码完成到发布
15.2 不同频率和不同覆盖范围的渐进发布
15.3 发布之后—事后诸葛亮会议
15.4 练习与讨论
第16章 IT行业的创新 /346
16.1 创新的迷思
16.2 创新的时机
16.3 创新的招数
16.4 魔方的创新
16.5 创新和作坊
16.6 练习与讨论
第17章 人,绩效和职业道德 /384
17.1 领导力
17.2 领导力—知人善任
17.3 领导力—带领团队成长
17.4 猪、鸡和鹦鹉的故事
17.5 其实还是人的问题
17.6 绩效管理
17.7 萝卜与白菜
17.8 软件工程师的职业道德
17.9 练习与讨论
给任课老师和助教的建议 /420
课程安排
师生关系
给授课老师和助教的建议
索引 /436