构建之法

出版日期:2014-9
ISBN:978711536916X
作者:邹欣
页数:396页

内容概要

邹欣现任微软Windows中国工程团队首席研发总监。
1996年~2003年,邹欣在微软Outlook团队从事开发工作,2003年~2005年,他在微软内部质量工具团队和Visual Studio团队负责软件项目管理工具的开发。2005年~2012年,他担任微软亚洲研究院技术创新组研发主管,负责研究成果的产品化和创新项目。2012年~2014年,他担任微软亚洲互联网工程院首席研发总监,负责必应搜索客户端、必应输入法、必应词典等产品。加入微软前,邹欣从事过商用Unix系统、GPS/GIS软件开发及测试工作。
他在2007年出版了《移山之道》,于2008年出版了《编程之美》 (合作)。
他于1991年获北京大学计算机软件专业学士学位。1996年获美国韦恩州立大学(Wayne State University)计算机软件专业硕士学位。

书籍目录

第 1 章 概 论 1
1.1 软件 = 程序 + 软件工程
1.2 软件工程是什么
1.3 练习与讨论
第 2 章 个人技术和流程 /20
2.1 单元测试
2.2 效能分析工具
2.3 个人开发流程
2.4 实践
2.5 练习与讨论
第 3 章 软件工程师的成长 /43
3.1 个人能力的衡量与发展
3.2 软件工程师的职业发展
3.3 技能的反面
3.4 练习与讨论
第 4 章 两人合作 /56
4.1 代码规范
4.2 代码风格规范
4.3 代码设计规范
4.4 代码复审
4.5 结对编程
4.6 两人合作的不同阶段和技巧
4.7 练习与讨论
第5 章 团队和流程 /84
5.1 非团队和团队
5.2 软件团队的模式
5.3 开发流程
5.4 练习与讨论
第 6 章 敏捷流程 /101
6.1 敏捷的流程
6.2 敏捷流程的问题和解法
6.3 敏捷的团队
6.4 敏捷总结
6.5 敏捷的故事— 兼酒后问答
6.6 练习与讨论
第 7 章 MSF /121
7.1 MSF 简史
7.2 MSF 基本原则
7.3 MSF 团队模型
7.4 MSF 过程模型
7.5 MSF 敏捷开发模式
7.6 MSF CMMI 开发模式
7.7 练习与讨论
第 8 章 需求分析 /142
8.1 软件需求
8.2 软件产品的利益相关者
8.3 获取用户 需求— 用户调查
8.4 竞争性需求分析的框架
8.5 功能的定位— 四象限方法
8.6 计划和估计
8.7 分而治之(Work Breakdown Structure)
8.8 练习与讨论
第 9 章 项目经理 /175
9.1 PM 是啥
9.2 微软PM 的来历
9.3 PM 做开发和测试之外的所有事情
9.4 PM 的能力要求和任务
9.5 练习与讨论
第10 章 典型用户和场景 /185
10.1 典型场景和典型用户
10.2 规格说明书
10.3 功能驱动的设计
10.4 练习与讨论
第11 章 软件设计与实现 /205
11.1 从Spec到实现
11.2 开发阶段的日常管理
11.3 练习与讨论
第12 章 用户体验 /218
12.1 用户体验的要素
12.2 用户体验设计的步骤和目标
12.3 评价标准
12.4 练习与讨论
第13 章 软件测试 /237
13.1 基本名词解释及分类
13.2 各种测试方法
13.3 实战中的测试
13.4 运用测试工具
13.5 练习与讨论
第14 章 质量保障 /268
14.1 软件的质量
14.2 软件的质量保障工作
14.3 练习与讨论
第15 章 稳定和发布阶段 /284
15.1 从代码完成到发布
15.2 发布之后 — 事后诸葛亮会议
15.3 练习和讨论
第16 章 IT 行业的创新 /301
16.1 创新的迷思
16.2 创新的时机
16.3 创新的招数
16.4 魔方的创新
16.5 创新和作坊
16.6 练习与讨论
第17 章 人、绩效和职业道德 /337
17.1 猪、鸡和鹦鹉的故事
17.2 其实还是人的问题
17.3 绩效管理
17.4 萝卜与白菜
17.5 团队合作的几个阶段
17.6 软件工程师的职业道德
17.7 练习与讨论
索 引 /358

作者简介

内容简介:
软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较空洞乏味的课程。 但是软件工程的技术对于投身IT 产业的学生来说是非常重要的。作者邹欣有长达20年的一线软件开发经验,他利用业余时间在数所高校进行了长达6年的软件工程教学实践,总结出了在16周的时间内让 同学们通过 “做中学 (Learning By Doing)” 掌握实用的软件工程技术的教学计划,并得到高校师生的积极反馈。在此基础上,作者对软件工程的各个知识点和技能要求进行了系统性整理,形成教材。
本书共分17章,对照美国ACM/IEEE2013年新出版的计算机科学教学指导(Computer ScienceCurricula 2013)中的软件工程相关部分,这本教材覆盖了其中大多数Core-Tier1和Core-Tier2的内容。可以说,全书对软件工程内容的覆盖不逊于任何一本现行的教材,同时讲述了业界最新实践方法。
本书评论:
推荐软件工程专业学子阅读,了解软件工程真正内涵,懂得“工程”二字真正含义,知道软件工程和计算机科学的区别。了解之后,就知道为何软件工程是就业含金量较高的行业了。
——朝红阳(http://weibo.com/u/1794892070)/中山大学软件学院
书中 设想了大量的场景“学”和“习”,并且用了大量的类比,非常生动有趣。这本教材也对软件工程课老师提出了更高的要求;对学生而言,同样面临着要付出怎样的努力才能学到“干货”的选择。
——鞠小林(http://weibo.com/jukxy)/南通大学软件学院
关于计算机科学与软件工程的差别?这是我们学生问的最多的,这下有解释啦!包括书中谈到的师生关系、软件工程师的职业发展、职业道德等,这些内容我上课时都可以用。
——牛慧娟/华中科技大学软件学院
面对在软件开发方面经验很少的学生,邹欣老师通过丰富生动的故事和隐喻帮助学生建立软件工程的思维习惯,通过严格扎实的动手训练与考核帮助学生总结归纳自己的“最佳实践经验”。读这本书,软件工程课不再枯燥沉闷,而是变得出乎意料的生动有趣。
——王忠杰(http://weibo.com/travellingwithme)/哈尔滨工业大学计算机科学与技术学院
读完《构建之法——现代软件工程》,不禁惊叹,软件工程的书还可以这样写!像团队和流程、敏捷流程、需求分析、设计与实现这些章节我看了又看,看完之后不禁拍大腿(书里说的“拍脑门、拍胸脯、拍屁股”的三拍有点不全,还差“拍大腿”):为什么邹欣老师会把原本无趣的问题写得这么吸引人?我深深地感觉到,不会讲故事的软件工程老师不是好老师!这本书给我最大的感受是,作者能把一个个鲜活的例子(或故事)与软件工程的相关问题恰到好处地结合起来,让软件工程的理论和方法更好地落地。
——王赞(http://weibo.com/scswz)/天津大学软件学院
将对软件工程思想的理解内化为软件工程师的职业习惯,是软件工程教学的核心目标,本书的实验设计恰恰非常有助于这一内化过程。个人项目、两人项目和团队项目由易到难,循序渐进,不断总结。我在教学中借鉴这一思路,从学生较为熟悉的编程训练入手,以范例演示基本编码规范、 No Design时的代码、经过基
本Modularity (also called separation of concerns)设计的代码、writing code to make it reusable on future projects以及一些特殊的接口设计……从编码实践中理解软件工程思想,就会跳出纸上谈兵的框框。
——孟宁(http://staff.ustc.edu.cn/~mengning/,http://weibo.com/mengning997 )
/中国科技大学软件学院
软件工程在大学是最难讲,也是最容易讲的一门课,容易在这门课涵盖的内容和外延特别丰富,这些内容学生基本没概念,短期也无法落到实处来验证有用没用,所以老师可以大讲特讲,人畜无害;难在你要在学生一片空白(没有很强的代码能力、没有团队概念、没有项目经验)的情况下去让他们懂得这些东西。在我认识的人中,能有丰富的项目经验又愿意花时间在教学实践上,最终能把各种知识理论体系化的人寥寥无几。邹欣老师恰好这几点都具备。快速翻完整本书,最大的感受是这本书出版得恰逢其时,传统的软件工程教材早就该翻新了!
——徐亚波(http://ss.sysu.edu.cn/~xyb,http://weibo.com/arber)/中山大学软件学院


 构建之法下载 更多精彩书评



发布书评

 
 


精彩书评 (总计20条)

  •     #Comment_Alpha timestamp = 20140830-05:00am先不论书,首先五星给邹老师精彩的博客和至今仍在脑海中回想的《移山》。(博客地址 http://www.cnblogs.com/xinz/ )邹老师的博客有一段时间不更新了,原来是在潜心着书啊!作为《移山》和作者的博客长期读者,可以说邹老师的文章enlightens me a lot。 对这本书,别的不说,仅仅就邹老师极其幽默的文笔和Learning by doing,Knowledge construction by critical thinking的授课风格,小弟就充满了期待。 btw,说现代软件工程任务量大的同学,可以看看Coding Master Univ的计算机系的这门课 http://www.cs.cmu.edu/~410/ 翻翻过往的记录,同学您就知道现代软件工程的任务量已经很人性化了。以上是满满的期待。(☆_☆)/~~先占坑,等到手后再写具体的评论。
  •     如果出版社已经发布了所有链接的面面,建议在本书的介绍页面中明显标示。就像介绍页面中明显标示出各网店出售本书的地址一样。第8章,需求分析第164页http://www.stellman-greene.com/aspm/contnt/view/23/38/http://en.wikipedia.org/wiki/Wideband_delphihttp://www.drdobbs.com/stop-promising-miracles/184414570
  •     邹老师的课程资料我在备课中已多次研习参考,内容大多都已熟识,可拿到书稿读来仍有一气呵成盎然生趣之感。毫无疑问这是一本集软件开发实战与软件工程教学的多年经验双剑合璧的精华之作,可以预期这本书将在教材市场和畅销书市场获得双丰收,甚至会在一定程度上促进国内业界软件工程素养的提高。软件工程来源于软件开发实践又应用于软件开发实战,而将软件工程思想的理解内化为软件工程师的职业习惯是软件工程教学的核心目标,《构建之法》的实验设计恰恰非常有助于这一内化过程,个人项目、两人项目和团队项目由易到难循序渐进不断总结,我在教学中借鉴这一思路,从学生较为熟悉的编程训练入手,以范例演示基本编码规范、 No Design时的代码、经过基本Modularity (also called separation of concerns)设计的代码、writing code to make it reusable on future projects以及一些特殊的接口设计如callback函数和函数的可重入性(reentrant)或线程安全等较深入的设计问题;并在演示代码基础上进一步引入实际可用的测试代码并切入测试技术基本理论和方法。从编码实践中理解软件工程思想就会跳出纸上谈兵的政治课之感。重实践可以形成对软件工程直观感性的认识,并逐渐由直观感性的动手编码过渡到更高层抽象的设计,如OO的封装、多态和继承,高内聚低藕合、UML等。然后再来理解软件生命周期、软件项目任务切分工作量评估、项目计划、项目管理、进度跟踪等涉及软件工程项目全局性的概念方法。这些做法很多思想和具体资料都来源于邹老师的课程资料,即《构建之法》一书。

精彩短评 (总计50条)

  •     胡乱吞枣,有收获。
  •     按照叫教材来设计的,没有加入互联网行业的许多方法论,不够好。
  •     了解下微软的软件工程过程。
  •     都是大实话
  •     废话太多,建议的阅读方法是快速地全书过一遍,然后精读感兴趣的部分。
  •     学《软件工程》,可以把课本扔了读这本,或者先读这本再读课本。
  •     全都是启示
  •     用的材料新。部分讲解举例啰嗦。
  •     写的好好一点不像教材 很全面实用又通俗易懂 适合入门
  •     的确更接地气
  •     这是一本软件工程方面的好书,尽管作者有很强烈的传教意愿,但是书中的内容还是很有启发意义。
  •     软件工程入门书,简单介绍了从需求、分析、设计、开发、测试、到产品发布的流程,着重学习了需求分析和PM应当关注的点。写法简洁、举例风趣,看着不累。内容范围较广、不过并不深入,只是表面的了解,适合软件专业大学生或其他专业的行业从业者。
  •     接地气,阅读也轻松,微软哥们还是给行业贡献不少
  •     看到了一些工作的真相,但写得太教材化了,不太喜欢
  •     构建之法,移山之道。用计算机的严谨和软件工程的逻辑去构思
  •     软件工程方法论,思维方式提升,开发过程的理解
  •     国内难得一见的软件工程好书了,不容易
  •     课本风格,介绍的工具很多是微软那一套,但是总觉得不适合新手看,比较适合野路子出身的、经验丰富的程序员。
  •     仔细体会一下还没有得到的东西
  •     就是把原来的博客文章整在一起把软件项目的过程走了一遍,一些工具和方法还是比较好。 感叹一下微软的水平就是高,项目里能够花的钱就是多,能够找到的人也是好,自己公司的项目还是根据实际情况来做,不能强求。
  •     邹老师出品必属精品
  •     非常不错的软件工程书,生动活泼,让人重温,除了开始上来就提到测试有点怪,别的都不错。
  •     无聊,适合完全没项目经验的看看
  •     挺有趣的,说了不少大实话。因为是面向学生的书,所以比较宽泛,不太涉及具体技术。
  •     通俗,接地气地将软件工程的基本流程进行描述
  •     软件工程的教材,写的很生动,但还是难改软件工程类书的让人没兴趣。通篇看完了本书,软件开发的整个流程都涉及到了。对于学生来讲,可以一看,算是科普,对于工作的人来说,看了也白看,大点的公司工作流程就是这样的,小公司流程不规范,看了也没用。总结:刚毕业的学生,最好先去大公司,做好入门。
  •     姜jun分的书里的一部分,这本应该还在李hai东那里,算送出去了。自己没怎么看
  •     很不错的一本软件工程类的书,让人能从头读到尾的书,如果配合课堂教学就更好了~值得推荐
  •     写的不错,属于少见的写的平实易懂的软件工程基础教材,值得在图书馆借回来认真一读
  •     今年终于看了本专业相关的。赞一个。
  •     很早就知道这边书,抽空了一天,好好看完,评价如下。 1个人认为这本书比较适合教材教书使用,毕竟许多知识还是点到为止,最好有人指导看,当然指面对初级的工程师。 2本书较为系统,由于有多年开发和团队管理经验,所以许多知识都有感觉,因此较为适合我平常当做工具翻一翻。 3邹欣老师的书少了许多枯燥,多了些平易近人,看起来较为没有压力。 由于本书案例是.net,计划自行改为php,把书本知识点变为PPT课件,内部培训使用。
  •     传统的软件工程思想,略过时
  •     一盘散沙,没有主线,泛泛而谈,也不知道为何评分这么高。差。
  •     软件工程理论大观。有不少可以直接拿来用的方法,但要用好也不是易事。
  •     邹老师签名版。
  •     比学校里的软件工程课本好读到不知道哪里去了
  •     过于简单
  •     邹老师的软件开发经验和水平自不必多说。但我始终不习惯这种写童话故事似的技术书籍。阅读体验往往变成了在一大堆技术人员写的人物对话中去寻找那些可能对我有用的知识。
  •     一本很实际的软件工程,国内出版少有的优质资源
  •     看了几章,内容还不够深入,应该比较适合初学者,每一章最后都有很多参考资料。
  •     这本书适合采用“通读”的方式进行阅读,作者较为完善的介绍了软件工程的整个流程,尤其是产品新人,通读之后将会软件开发的整个流程有更进一步的了解,包括需求分析、项目管理、软件开发、测试、发布等。其中还介绍了敏捷开发、绩效管理等方法,让产品新人对软件开发能有一定性的了解,还是值得一读
  •     还是比较偏理论吧
  •     如果你是一个新人,入门读物还是可以的。如果在程序猿的行业已经混了几年,那还是看点别的吧。有段时间,这本书就放在工作台旁边,先来无事就翻翻,真觉得没什么内容。豆瓣居然给评到8.6分之多。赶紧评价下。
  •     涵盖知识面非常广的一本书,也许不那么细致,但是觉得理清了软件工程的方方面面,非常有借鉴和指导价值。对于为接触过正式软件项目和流程的人来说是一本得以认识软件工程的经典,对于已经在软件行业摸爬滚打过的人来说也是一部可以 用来检验自身和公司实践的佳作。本书时候工程师,设计师,产品甚至几乎所有和软件产品相关的人和对软件产品的流程感兴趣的人。
  •     适合学生学习,然而对一些有根深蒂固诟病的企业来说没有办法改变
  •     通过此书相对系统地学习软件工程,有干货,有趣味,内容丰富。
  •     思路清晰,结构合理的一本好书
  •     可以拓展知识面
  •     贴近现代实践的软件工程教材
  •     总觉得吧,没有评论说的那么神
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024