大道至简

出版社:电子工业出版社
出版日期:2007-3
ISBN:9787121038693
作者:周爱民
页数:168页

前言

  前言  “你在做什么?”我经常这样反问那些跑来问我问题的人们。然后他们就愣住了。.  做了许多年的开发,其实有很多人并不知道“自己在做什么”。《愚公移山》的故事里面,愚公为山所阻,苦于“出入之迂”,然后就决定“移山”。看起来伟大而风光的工程,可能只是拍拍脑袋的一时主意——如果只是觉得绕路太远,那么劈山开路岂不是更加经济?  愚公移山只是一种精神追求,而做工程却不是追求精神目标。我们的目标是完成工程,但是你现在环顾一下你的团队:有多少人的眼光是落在工程本身上的呢?  程序员正在调试代码,项目经理在忙着开会,市场经理在请客吃饭,老板可能还在来公司的路上……总之,你的身旁没有什么人关注工程本身。即便有一个人或几个人在像模像样地画着模型图,或者写着需求、分析与设计书,但是对于他们来说,这只是例行的工作,而不是出于工程本身的需要。  其实这也是我在几年前的状态,同时身兼主程、团队负责人和项目经理的时候,我列出的工作清单排满了上班与下班的时间。我甚至忙到不知道自己有多忙。直到我将自己的角色分解到“工程层状模型(EHM)”中,我才渐渐地梳理出自己的工作方法。  《大道至简》这本书的名字并没有什么奥妙。因为是先有了EHM,所以这本书根本上是随着EHM的层次来展开的。它的第一版曾在《程序员》中选载过三期,那时我为了方便就以《从编程到工程》作为书名。后来出电子版时,才恢复到现在这个名字。而本质上来说,这本书还是讲的“从编程到工程”的各个环节。  至于“道”,其实在乎于你的认知。它不过是规律、本质的代名词。现在的书名,更像是一个以程序员出身的工程实践者,在历经10年后,终于领悟到“自己在做什么”时的一声感叹。  《大道至简》向你讲述两个内容:做什么和为什么做。“做什么”作为一种状态或者现象,通常是(阶段性)不变的,所以人们了解自己“在做什么”时大多只需要观察。简而言之,只需要自省,就可以了解自己的所作所为了。然而“为什么做”却相对更难于理解,因为这是“表象下的实质”,潜藏得很深:习以为常,便会根本上忘却“习”的来由。例如项目总监说要一份计划,你大概只需要拿一个以前做过的文档模板,很快就能写出一份项目计划案来。但在这个过程中,你已经忘掉了“项目计划案”真正存在的价值——写它的目的,并不是“完成工作”。  写一份项目计划案的时候,你的角色是项目经理,你的职责是计划与分工,你的目标是工程的时间、进度与质量的平衡。这份文档是工程的纲要,因此阅读群体是整个团队和项目干系人。所有这些,都可能导致文档的规格和措辞存在差异。  所以你需要认识“为什么做”。  这其实并不是非常困难。例如我在工程中经常问的问题是“可不可以不做”——哈哈,看起来我很偷懒似的。其实不然,。因为接下来我就会从不同的人那里得到“非做不可”的种种理由。  然而这是方法或者手法。《大道至简》并不告诉你这些具体的方法与手法。我只是叙述了基本的原理与思想。《大道至简》陈述的是一种途径、一个方面,以及一些探求途径、方面过程中的故事与思考。  做事有没有章法,在于你头脑够不够清醒;头脑够不够清醒,在于你是否视见到事物的本实。具体到如何做一件事(例如做软件工程)的方法与步骤,是本书所不能告诉你的。而反过来说,如果你认为你自己“足够清醒”,那么这本书原本也就不会告诉你更多。  你足够清醒吗?  第二版的增改  写这一版的《大道至简》,其实用掉的时间与整个第一版差不太多。但新添加的内容,也就两章三节而已:  第六章,谁是解结的人;  第八章,你看得到工具的本质吗;  第四章第三节,沟通的三层障碍;  第九章第五节,审视AP和XP;  第十章第七节,细解“法”与“式”。..  此外,第二版的《大道至简》加入了一个有趣的部分,就是九幅四格漫画和一篇《愚公移山记》。  除了增加的内容之外,本版的《大道至简》还修改了一些章节的位置。例如第七章的“关注点”一节。因为EHM图提出来的不仅仅是一个“多层”的体系,而且它的“关注点”也是EHM体系的一个重要部分。因此放在一起来讲述,会使这个体系更加完整。  还有一些细部修改。例如第一版说李冰与愚公处于“差不多同一时间”。这经不起考究,就改掉了。  关于新添加的章节  第一版的EHM体系中有一个关注点没有详述。也就是“组织”。事实上在 “失败的过程也是过程”中,最后一节“工程不是做的,是组织的”,就是打 算延伸到“组织问题”进行讨论的。但写第一版的时候,并没有就此展开。所 以有些读者在看第一版时,觉得这一段没什么意义。  本版中添加的第六章“谁是解结的人”,讨论的就是组织和管理的问题。 承接上文而讨论“组织角色,分工明确,步调一致”等这些问题。为此,在综述EHM的第七章,也修改了“组织”小节的部分文字。  在本版中,我还添加了一章“审视XP和AP",对敏捷编程与极限编程做了一些讨论。我试图站在更中立的角度上来讨论AP、XP,以及传统的工程过程(例如RUP)。因为本书并不打算去迎合某种或者某些过程、方法与工具。  但即使如此,“敏捷(Agile)”也与本书表达的“灵活(Flexible)”的观点有相近的地方。其实本书在英文名上,就曾考虑过使用“Thinking In Flexible Engineering”这样的名字。我在这里特别补充这一点,是希望不要把本书的思想与AP和XP等同起来。  新添加的第八章“你看得到工具的本质吗”,占了不少的篇幅。其实,对于我自己来说,理解“语言只是工具”是一个顿悟的过程。但对于读者来说,是顿悟还是领悟,则更多的取决于思想方法与工程积累。我不能期望大家都能顿悟,所以就详写了这一章,希望能以渐进的说理,对我的思想脉络做一概括,并阐述工具之于工程的本末。  关于《愚公移山记》  在基本不影响原故事的前提下,我在本书中对愚公移山的故事进行了续。我在2005年4月就完成了本书的第一版,7月赴西藏旅游时,在珠峰大本营扎营之夜构思了“愚公移山”的续写概要,但到10月发布本书第一版(电子版)时,这篇续却没能够写出来。此次编写第二版,把这一年来在头脑中渐渐清晰的故事重理脉络,编撰成一篇文言,就是附录中的《愚公移山记》。为方便阅读,在本书附录中又附了一篇白话文的版本。  书中的九幅四格漫画,不但概括了故事的大意,也是整本书的框架骨骼。为了使得整个故事更加完整并具连续性,我对愚公移山中人物的历史背景进行了一些设定(姓氏的设定主要是为了避免在故事中出现“愚公n代”这样的写法)。这里先作一些交待:  愚公,复姓公输,祖上虞国人(今山西平陆县北)。后迁居到太行山北时以虞人自称,性情耿正,人称愚公。  智叟,复姓端木,魏国河曲人(今山西芮城西,风陵渡一带),后迁与愚公毗邻,仍以河曲人自称。  邻人京城氏,世居此地。有孀妻遗男。京城一氏的后代中,有很多复祖姓目夷的人。  序、前言及其他  这一版本,仍请蒋涛先生作序,替换了由他为本书第一版(电子版)所写的序言。在请李维先生做推荐辞时,先生不辞辛劳,寄过来一份推荐序,因此,我敬而重之地做在本书的序中。本书的另一篇序,则是请我的老朋友王昊写的。  第一版的“前言”以“后语”的形式在书末给出,这一版中保留了这个做法,具体的原因参见书末的“前言后语”。  此外,为了便于读者阅读理解本书,我也为新版写了这篇“再版前言”。

内容概要

  周爱民,有十余年的软件开发、项目管理、团队建设的经验。曾任多家软件公司高级程序设计师、项目经理、部门经理、区域总经理等职,现任上海盛大网络平台架构师。目前主要从事软件工程、体系架构和语言基础方面的研究与实践。  2001年,主持完成的“极光数据处理仓库中心系统”被河南省信息产业厅授予省高新技术产品二等奖。  2003年,被美国Borland公司授予“Borland Delphi产品专家”称号。  2004年,出版《Delphi源代码分析》,被誉为“Delphi领域精品著作”。  2005年,发布《大道至简》第一版(电子版)。  2006年,发起开源项目。Qomolangma Open Project,探讨语言系统基础技术。

书籍目录

对第一版的赞扬精彩在于思考停下来,思考才是进步本质屏幕上的第四种颜色再版前言致谢第一章 编程的精义第一节 编程的精义第二节 能不能学会写程序的问题第三节 程序=算法+结构第四节 语言第五节 在没有工程的时代第二章 是懒人造就了方法第一节 是懒人造就了方法第二节 一百万行代码是可以写在一个文件里的第三节 你桌上的书是乱的吗第四节 我的第一次思考:程序=算法+结构+方法第三章 团队缺乏的不只是管理第一节 三个人的团队第二节 做项目=死亡游戏第三节 做ISO质量体系的教训第四节 谁动摇了你的制度第五节 “那我们就开始开发吧”第六节 组织的学问:角色第七节 跟随蚂蚁,但不要栽进蚂蚁洞里第八节 “什么是增值税发票?”第四章 流于形式的沟通第一节 客户不会用C,难道就会用UML吗第二节 项目文档真的可以用甲骨文来写第三节 沟通的三层障碍第四节 最简沟通第五节 为不存在的角色留下沟通的渠道第六节 流于形式的沟通第五章 失败的过程也是过程第一节 做过程不是做工程第二节 做过场第三节 实现,才是目的第四节 过程不是死模型第五节 “刻鹄类鹜”与“画虎类狗”第六节 工程不是做的,是组织的第六章 谁是解结的人第一节 是谁的问题第二节 正视你的成功第三节 总得先做点儿什么吧第四节 你不是团队的腿第五节 三鼓而竭第六节 先人后已第七节 自相矛盾第七章 从编程到工程第八章 你看得到工具的本质吗第九章 现实中的软件工程第十章 是思考还是思想附录一 与蒋涛就电子版序的对话附录二 愚公移山记附录三 愚公移山记(文言)前言后语

编辑推荐

  ★在"思想方法学"这一软件工程尚未涉足过的领域中的实习之作!  ★第一本讨论软件工程思想本源的书籍,也是第一本从工程实践出发溯源而论的佳作。  《大道至简:软件工程实践者的思想》是在“思想方法学”这一软件工程尚未涉足过的领域中的实习之作。作者亲历国内软件工程的英雄时代、泡沫时代,从失败中醒觉而创建独特的思考方法,对软件开发、工程中的现状深刻反思,从而完成这本专著。在缺乏独立思维、对国外工程理论亦步亦趋的国内工程界、开发业界,该书无疑是一份激荡新思的佳作。《大道至简:软件工程实践者的思想》是第一本讨论软件工程思想本源的书籍,也是第一本从工程实践出发溯源而论的佳作。

作者简介

本书提出了审视软件工程的全新视角和软件工程的体系模型(EHM,软件工程层状模型)。本书用非工程的方式重新解析软件工程现象,全面、细致而深刻地分析了工程中各个环节的由来、价值及其内在关系。综合论述开发、工程二者的现状,例如对程序员“工匠思想”的起源进行广征博引的分析,也对工程中“敏捷过程”的经验主义本质进行深至髓质的论证。全书语言轻快,可读性强,薄且有味。.
本书是在“思想方法学”这一软件工程尚未涉足过的领域中的实习之作。作者亲历国内软件工程的英雄时代、泡沫时代,从失败中醒觉而创建独特的思考方法,对软件开发、工程中的现状深刻反思,从而完成这本专著。在缺乏独立思维、对国外工程理论亦步亦趋的国内工程界、开发业界,该书无疑是一份激荡新思的佳作。本书是第一本讨论软件工程思想本源的书籍,也是第一本从工程实践出发溯源而论的佳作。...

图书封面


 大道至简下载 更多精彩书评



发布书评

 
 


精彩书评 (总计17条)

  •     含混不清,岂能坐而论道。这种东西居然可以出版。都是大忽悠。 多少无知读者被忽悠了啊。悲哀。
  •     从图书馆借的书,里面被”前辈“们用铅笔画的条条杠杠的,在107页的右侧几个非醒目的大字”什么逻辑?“看样前辈与我也有相同的看法,里面的例子很多都比较牵强……例子有点生搬硬套,有时候就是甚至是在说解文字。。不否认作者的论点,也肯定作者有很多年的经验,对很多东西有深刻的理解,但作为读者的我,却没能很好的吸收作者的思想及经验。。读书的过程中,对soul比较感兴趣,不知道他写过书没?想读一读。。。经常在群里面听到一些人说”牛人都是用记事本来写代码的“…… 我经常在心里自惭形秽一翻。。。。作者也说到自己书中的例子90%是用记事本写出来的,额,这真是装B青年必备利器呀,我以后也可以在群里大喊,人家牛人写代码都用记事本的,谁还用IDE咧!唉,说这例子感觉没必要吧,你写例子,人家是做大项目,如果还用记事本……唉! 我还是无法想象。这有点误人子弟呀……还有一些其它其它……不过里面还是有些观点不错的://///////////////////////////////////////////项目经理需要时间来成熟的。他需要机会来承受错误,而不是一开始就享受成功。流于形式的沟通。沟通的第一层障碍,并不在于你要表达的内容,而在于你如何表达。最好在见客户之前,就已经设计了所有问题和提问方式,避免造成沟通不畅或流于形式的沟通。(即有目的性的沟通,而不是与客户交流感情)留下历史记录,记录下自己的决策过程等,方便后来者。如果你不懂甲骨文,那么也不要指望你的用户懂UML。实现才是目的。实现是软件开发的本质需求。成功的经验往往最不可信,反而是失败的经验更有价值。经验,是源于对过去的思考,而不是对过去的复制。团队要有远期的目标,有共同的愿景。对短期的目标也要清晰,即里程碑。“教官”的任务:协调、督促、激励、监督和凝聚。工作上,先人后已,即先为团队服务,然后自己再完成一些细节的事。奖励,同样也要“先人后已”。要关注整体目标。从全局上把握,某一局部出现问题之后,要能尽快发现,并迅速调整。不要压抑你团队成员的激情,他们提出自己的想法之后,要鼓励与引导,即使你认为不合理,或有错误,也要以引导的形式,或者干脆让他去犯这个“小错误”,从而让他在这个上面有更深刻的认识与印象。软件工程层状模型(EHM)工具,是为了更好的实现结果。
  •     面对副标“软件工程实践者的思想”,反躬自省,读了太多理论,甚至都忘了实践。我们总对新技术新概念趋之若鹜,总不曾触及它们背后的“大道”。作者用愚公移山的故事贯穿全书,解说了“智”与“愚”。我以为,软件工程的核心就是高质量的完成项目,语言、工具、理论等等只是手段,是“做工程”而不是“做过程”。大概是为了凑页数,略扁的字体让我觉得很不舒服。

精彩短评 (总计50条)

  •     这本书两个晚上看完了,可能因为这本书太早了,所以许多里面的观点现在看起来很平常了。没有很强烈的好或者不好的感觉,地面也有些很实在的道理,项目的目的是交付,没有真实项目经验的怕对这个没很强烈的感触
  •     代码只是方法,过程是实现,工程是要组织的,而非实现。 如何有效的沟通需求,要节约成本。
  •     常常几句话把事情说的清清楚楚,几个月前犯的错误历历在目,看得直冒汗。
  •     我老婆简直是没有文化,不知道她喜欢不喜欢读书,读书简直是让她自杀一样。他们家庭对于书的态度,反应了他们家的落后,还有他们的环境是世俗的。 没有任何精神生活的世界是我讨厌的
  •     打破传统,打破墨守;思想蛮不错,实际操作待灵活运用
  •     一般般。废话一大箩,明显凑字数。
  •     思考
  •     第二次读这本书,感觉还是有些有用的团队思维和经验,但是作者大部分篇幅的文字让人难以提炼观点,不知道想表达什么,不知是否作者有意为之,总之有违书名“大道至简”。愚公移山的故事引入也不知何意,生硬之感。 如果是3年前第一次看此书的我,可能给5分,因为我看不懂。 但是现在只有3分,也是因为我看不懂
  •     该书是对自己多年软件开发实践的精炼总结,精炼这种方式,有经验基础的人,会很受用;如果经验不到,就很难理解充分...
  •     作者真爱古典艺术
  •     写的啥啊乱七八糟的
  •     需要一定实践才体会到的理论知识!
  •     刚毕业时读过周老师的这本书,那时对软件工程的理解还刚刚入门,很多东西并不理解。工作几年后,再回过头来看这本书,好多以前不懂的地方豁然开朗。软件还是要实践联系理论。
  •     翻过,但是内容太抽象,没怎么理解。
  •     启蒙
  •     条件,循环,分支所有软件编程的基础。程序(算法+结构),方法,过程,工程,管理这样的体系蕴含了作者的多年经验。书中的有些古文例子略微显得有一点点牵强……总体还是不错的
  •     强调实用主义至上,以务虚为主,书里面一些春秋战国的小段子更有意思
  •     没有说如何做减法..
  •     很受启发
  •     挺不错的一本书
  •     第二章到第四章我认为是精华,作者文字功底不错,但是有的地方我觉得举例产生了适得其反的作用。总体来说挺不错,值得一年后在读一遍
  •     道和术的差别。以后重读。
  •     国人调侃工程与过程,还挺有意思的
  •     个人感觉还可以,引用故事。。作者提出了自己的经验和通过一些例子进行阐述。。个人感觉在经验方面介绍不够,没有足够实例
  •     其实没看懂,且目前认为过于神秘空洞;有经验后再看看或许有收获。
  •     最近把大道至简读了两遍,还是蛮多收获,总体的结构上以软件工程的构成为主线,但是单独一章的内容来讲,结构上稍微乱一点点,主要是谈个人的经验,所以毕竟每个人的感受都是不一样的,所以不可能面面俱到。 作者本人对技术有较深的研究,所以在读本书的过程中可以看出重视软件工程本身,而不是某一技术,印象最深的应该就是“知律而变”,应该知道原理,为什么要这样子。很多时候,我们在学习各种技术、各种方法的时候,都是 为了写文档而写文档、为了画图而画图、为了看上去好看而作各种各样的表格无用的东西,已表明我们掌握了各种技术方法,但是实际上发现实际的应用中很难有成效,很难实际应用。很多时候工作也需要做表面功夫,但是不能忘记本质,也不能以表面功夫为理由,忽略本质的东西,因为只有本质的东西才能积累。
  •     项目管理,PM必读
  •     大学的时候看过的一本好书,虽然愚公移山的架子稍显牵强,但是以一种发展的眼光来看待个人与团队,挺有收获吧~
  •     当初那本《代码大全》是我学软件的入门,这本做了一点补充。这本书体现了作者对软件开发深刻的思考,值得一读。
  •     200多页的书,读起来不是那么的费劲,一上午就可以看完.内容很多都是作者的个人观点与经验谈,倒是显得不那么教条.虽然不是什么极品,读来也是获益良多
  •     并不很长的一本书,作者经验之谈
  •     不太值得看,废话偏多,休闲读物,三颗星完全是鼓励和支持作者写书的热情。
  •     写个技术型的PM看的,跳出技术关注的语言、细节等点,从整体,市场、运营角度去看一个工程项目,作为一个PM,该如何去进行项目管理。简单易懂,我读的最初的电子版
  •     體悟軟件工程之道。
  •     基于unix和win的电脑用过有些时日之后,已经不再纠结什么系统了,工具始终是工具。“虽变化万端,而理为一贯” 这本书是以前读过的,内容就那样,今天由于亲身体验突然就想到了书名和思想,Mark了
  •     想起李小龙道的“太极”智慧。
  •     翻阅了一下,很多道理还是不错的,就是废话有点多,压缩一下,有效信息密度会更高一些,可以节省读者时间
  •     不如叫“新编愚公移山”。关于管理的部分,给人启发;但从软件工程的角度讲,内容不足。讲的是自己的理解,见解方向有些狭隘
  •     还行
  •     我比较早之前看过他的大道至易。总的内容和思想差不多,不知道是这么多年思想沉淀,还是大道至易是出来捞钱的。文中说的对技术的执著和背离很能体现作者的思想。文中很大篇幅批评了愚公移山,反复说《人月神话》说的是广义的,而且是大项目的。文中认为代码的编写只是一种实现,是最细枝末节的,甚至没到工具这一层次。我们经常讨论的一些模式一些理论都是方法而已。文中说到日本有些好的软件师检查外包提交的代码,这是软件工程的一个好的实践啊。文中说的跟随蚂蚁,但是不进蚂蚁洞也有点意思。工程和组织是作者最关心的。但是目前还是无法有太多的理解。让我想起刚来公司面试的时候,老大和我大谈软件工程,谈cmm,谈人月神话,谈人件。现在看来却像是,,呵呵。
  •     后面太牵强了
  •     周爱民大牛的大作,看看序就知道了,只可惜自己不懂
  •     不好
  •     内容完全不记得了 只是记得是3年前在上海-北京出差往返的飞机上看完
  •     《大道至简》是一本不仅谈技术,更是表达思想的书。这样的书不多见,值得一读。
  •     我竟然读过这本书!并且是在 5 年前!都忘了内容是啥了~~~
  •     《大道至简》(2010-3-20)
  •     ...
  •     软件工程三要素有工具、方法和过程,软件工程的本质是实现。
  •     这个小册子常翻常新,从实践中来到实践中去。
 

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

零度图书网 @ 2024