编辑推荐
适读人群 :高等院校计算机系和软件学院的软件工程教师和学生,想要系统经过现代软件工程训练的IT专业人士 本书赞誉:
《构建之法》倡导的“Learning by doing”,不仅是软件工程实践的重要理念,更成为我教学、科研和团队组织的方法论,已经变成我的“口头禅”。
——张栋/福州大学数学与计算机科学学院
在教学中,学生通过“做中学”学会了软件工程的实践方法,我也在教学过程中通过“做中学”不断改进软件工程的教学方法,互相促进。在科研中,我也鼓励学生“做中学”,通过实践来验证和发现新的想法,避免空谈。
——罗杰/北京航空航天大学计算机学院
我希望按相同的原则研发、教学、生活,《构建之法》在所有方面皆能提供指导原则和具体方法。度量与估算,契约与核查。作业如此,代码如此,为人谋也如此,时时对照三省吾身。构建之法,存乎一心。
——杨贵福/东北师范大学计算机系
《构建之法》改变了我的教学和生活。在教学中,我尝试当教练,带领学生”做中学”,让“以学生为主体,以老师为主导”的想法落地,大大提高了教学质量。在生活中运用构建之法,我成功地减肥,提高了乒乓球技能,背了两万单词。
——娄嘉鹏/北京电子科技学院信息安全系
《构建之法》不仅帮助我开设面向机械专业的控制软件设计课程,也启发我“构建”其他专业课的教学,指导我更有效地开展科研。勤动手,把简单的事情做到位;勤写作,把复杂的问题描述清楚;勤交流,和团队协作完成任务。边读《构建之法》边实践,才是有效的阅读方式。
——陈冰/华中科技大学机械科学与工程学院
第三版增加若干知识点,删掉不少累赘之外,这一版的重点是增加了很多实战的内容,如下所示:
第2章:敏捷软件开发的原则在实践中和教学中的运用
第3章:软件工程师的思维误区和职业发展的故事
第7章:软件工程在微软公司的实战中
第8章:用Kano 图分析三种不同的功能投资和回报
第9章:高效的团队讨论
第11章:实战中的源代码管理
第12章:贯穿多种设备的用户体验
第17章:基于能力和动力模型的领导力
内容简介
软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较空洞乏味的课程。 但是软件工程的技术对于投身IT 产业的学生来说是非常重要的。作者邹欣有长达20年的一线软件开发经验,他利用业余时间在数所高校进行了长达6年的软件工程教学实践,总结出了在16周的时间内让同学们通过 “做中学 (Learning By Doing)” 掌握实用的软件工程技术的教学计划,并得到高校师生的积极反馈。在此基础上,作者对软件工程的各个知识点和技能要求进行了系统性整理,形成教材。
本书共分17章,对照美国ACM/IEEE2013年新出版的计算机科学教学指导(Computer ScienceCurricula 2013)中的软件工程相关部分,这本教材覆盖了其中大多数Core-Tier1和Core-Tier2的内容。可以说,全书对软件工程内容的覆盖不逊于任何一本现行的教材,同时讲述了业界zui新实践方法。
作者简介
邹欣现任微软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
目录
I 推荐序
III 读者反馈
V 第三版前言
VII 第二版前言
VIII 第一版前言
1 第1章 概 论
1.1 软件 = 程序 + 软件工程
1.2 软件工程是什么
1.3 练习与讨论
21 第2章 个人技术和流程
2.1 单元测试
2.2 效能分析工具
2.3 个人开发流程
2.4 实践
2.5 练习与讨论
46 第3章 软件工程师的成长
3.1 个人能力的衡量与发展
3.2 软件工程师的思维误区
3.3 软件工程师的职业发展
3.4 技能的反面
3.5 练习与讨论
68 第4章 两人合作
4.1 代码规范
4.2 代码风格规范
4.3 代码设计规范
4.4 代码复审
4.5 结对编程
4.6 两人合作的不同阶段和技巧
4.7 练习与讨论
96 第5章 团队和流程
5.1 非团队和团队
5.2 软件团队的模式
5.3 开发流程9
5.4 练习与讨论
114 第6章 敏捷流程
6.1 敏捷的流程简介
6.2 敏捷流程的问题和解法
6.3 敏捷的团队
6.4 敏捷总结
6.5 敏捷的问答
6.6 练习与讨论
133 第7章 实战中的软件工程
7.1 MSF简史
7.2 MSF基本原则
7.3 MSF团队模型
7.4 MSF过程模型
7.5 实战中的软件工程
7.6 练习与讨论
157 第8章 需求分析
8.1 软件需求
8.2 软件产品的利益相关者
8.3 获取用户需求—用户调研
8.4 竞争性需求分析的框架
8.5 功能的定位和优先级
8.6 计划和估计
8.7 分而治之(Work Breakdown Structure)
8.8 练习与讨论
191 第9章 项目经理
9.1 PM是啥
9.2 微软PM的来历
9.3 PM做开发和测试之外的所有事情
9.4 领导力—高效的团队讨论
9.5 PM 和风险管理
9.6 练习与讨论
211 第10章 典型用户和场景
10.1 典型用户和典型场景
10.2 用例(Use Case)
10.3 规格说明书
10.4 功能驱动的设计
10.5 练习与讨论
232 第11章 软件设计与实现
11.1 分析和设计方法
11.2 图形建模和分析方法
11.3 其他设计方法
11.4 从Spec到实现
11.5 开发阶段的日常管理
11.6 实战中的源代码管理
11.7 代码完成(Code Complete)
11.8 练习与讨论
258 第12章 用户体验
12.1 用户体验的要素
12.2 用户体验设计的步骤和目标
12.3 评价标准
12.4 贯穿多种设备的用户体验
12.5 练习与讨论
279 第13章 软件测试
13.1 基本名词解释及分类
13.2 各种测试方法
13.3 实战中的测试
13.4 运用测试工具
13.5 练习与讨论
310 第14章 质量保障
14.1 软件的质量
14.2 软件的质量保障工作
14.3 练习与讨论
329 第15章 稳定和发布阶段
15.1 从代码完成到发布
15.2 不同频率和不同覆盖范围的渐进发布
15.3 发布之后—事后诸葛亮会议
15.4 练习与讨论
346 第16章 IT行业的创新
16.1 创新的迷思
16.2 创新的时机
16.3 创新的招数
16.4 魔方的创新
16.5 创新和作坊
16.6 练习与讨论
384 第17章 人,绩效和职业道德
17.1 领导力
17.2 领导力—知人善任
17.3 领导力—带领团队成长
17.4 猪、鸡和鹦鹉的故事
17.5 其实还是人的问题
17.6 绩效管理
17.7 萝卜与白菜
17.8 软件工程师的职业道德
17.9 练习与讨论
420 给任课老师和助教的建议
课程安排
师生关系
给授课老师和助教的建议
436 索引
构建之法 现代软件工程(第三版) 下载 mobi epub pdf txt 电子书 格式