具体描述
本书提出了审视软件工程的全新视角和软件工程的体系模型(EHM,软件工程层状模型)。本书用非工程的方式重新解析软件工程现象,全面、细致而深刻地分析了工程中各个环节的由来、价值及其内在关系。综合论述开发、工程二者的现状,例如对程序员“工匠思想”的起源进行广征博引的分析,也对工程中“敏捷过程”的经验主义本质进行深至髓质的论证。全书语言轻快,可读性强,薄且有味。
本书是在“思想方法学”这一软件工程尚未涉足过的领域中的实习之作。作者亲历国内软件工程的英雄时代、泡沫时代,从失败中醒觉而创建独特的思考方法,对软件开发、工程中的现状深刻反思,从而完成这本专著。在缺乏独立思维、对国外工程理论亦步亦趋的国内工程界、开发业界,该书无疑是一份激荡新思的佳作。本书是第一本讨论软件工程思想本源的书籍,也是第一本从工程实践出发溯源而论的佳作。
本典藏版在内容上以该书第二版为底本并进行了大量的文字修订,补充追加了第三版中的“具体工程”一章。并且,考虑到典藏的价值,本书收录了公开文档“幕后故事”的精华摘选。
作者简介
周爱民(Aimingoo),有十余年的软件开发、项目管理、团队建设的经验。曾任多家软件公司高级程序设计师、项目经理、部门经理、区域总经理等职,前支付宝(中国)公司业务架构师,前盛大网络平台架构师。目前主要从事软件工程、体系架构和语言基础方面的研究与实践。
■ 2001 年,主持完成的“极光数据处理仓库中心系统”被河南省信息产业厅授予
省高新技术产品二等奖。
■ 2003 年,被美国Borland 公司授予“Borland Delphi 产品专家”称号。
■ 2004 年,出版《Delphi 源代码分析》,被誉为“Delphi 领域精品著作”。
■ 2005 年,发布《大道至简——软件工程实践者的思想》第一版(电子版)。
■ 2006 年,发起开源项目Qomolangma OpenProject,探讨语言系统基础技术。
■ 2008 年,出版《JavaScript 语言精髓与编程实践》,电子工业出版社。
■ 2008 年,发起开源项目derlang,探讨erlang in delphi,以及erlang 的应用技术。
■ 2009 年,在开源项目QoBean 中尝试Meta Language 与DSL 等实现。
■ 2009 年,发布《动态函数式语言精髓》(电子版)。
■ 2012 年,出版《JavaScript 语言精髓与编程实践(第2 版)》,电子工业出版社。
■ 2012 年,出版《大道至易——实践者的思想》,人民邮电出版社。
■ 2007 年至2012 年,出版《大道至简——软件工程实践者的思想》第二版、第三
版(点评版)、第四版(典藏版),电子工业出版社。
目录信息
第一节 编程的精义 2
第二节 能不能学会写程序的问题 3
第三节 程序 = 算法 + 结构 4
第四节 语言 6
第五节 在没有工程的时代 6
第二章 是懒人造就了方法 9
第一节 是懒人造就了方法 10
第二节 一百万行代码是可以写在一个文件里的 11
第三节 你桌上的书是乱的吗 13
第四节 我的第一次思考:程序 = 算法 + 结构 + 方法 14
第三章 团队缺乏的不只是管理 21
第一节 三个人的团队 22
第二节 做项目 = 死亡游戏 24
第三节 做ISO 质量体系的教训 25
第四节 谁动摇了你的制度 27
第五节 “那我们就开始开发吧” 28
第六节 组织的学问:角色 29
第七节 跟随蚂蚁,但不要栽进蚂蚁洞里 31
第八节 “什么是增值税发票?” 33
第四章 流于形式的沟通 37
第一节 客户不会用C,难道就会用UML 吗 38
第二节 项目文档真的可以用甲骨文来写 39
第三节 沟通的三层障碍 42
第四节 最简沟通 45
第五节 为不存在的角色留下沟通的渠道 47
第六节 流于形式的沟通 49
第五章 失败的过程也是过程 51
第一节 做过程不是做工程 52
第二节 做过场 54
第三节 实现,才是目的 54
第四节 过程不是死模型 55
第五节 “刻鹄类鹜”与“画虎类狗” 57
第六节 工程不是做的,是组织的 59
第六章 谁是解结的人 61
第一节 是谁的问题 62
第二节 正视你的成功 64
第三节 总得先做点儿什么吧 65
第四节 你不是团队的腿 68
第五节 三鼓而竭 71
第六节 先人后己 74
第七节 自相矛盾 76
第七章 从编程到工程 79
第一节 语言只是工具 80
第二节 关注点 81
第三节 程序 82
第四节 方法 83
第五节 过程 84
第六节 工程 85
第七节 组织 87
第八节 BOSS 89
第九节 上帝之手 90
第八章 你看得到工具的本质吗 95
第一节 利器何以为先 96
第二节 神乎其技又有什么用呢 97
第三节 工具的本质 98
第四节 惟手熟尔 100
第五节 鲁班带了个坏头 101
第六节 工匠思想 103
第七节 化而用之,融通与融同 105
第八节 南橘北枳 109
第九章 现实中的软件工程 113
第一节 大公司手中的算盘 114
第二节 思考项目成本的经理 118
第三节 审视AOP 121
第四节 审视MDA/MDD 122
第五节 审视AP 和XP 125
第十章 具体工程 131
第一节 预言——《人月神话》及其地位 132
第二节 错误的命题——对《人月神话》的反思 136
第三节 具体工程以及工程的具体化 139
第四节 控制规模 142
第五节 隔离问题域 145
第六节 这样是不是太简单了 148
第七节 郑人的履 150
第十一章 是思考还是思想 153
第一节 软件工程三个要素的价值 154
第二节 其实RUP 是一个杂物箱 155
第三节 UML 与甲骨文之间的异同 156
第四节 经营者离开发者很远,反之亦然 157
第五节 矛盾:实现目标与保障质量 157
第六节 枝节与细节 158
第七节 细解“法”与“式” 159
第八节 灵活的软件工程 162
附录一 愚公移山记 165
附录二 愚公移山记(文言) 173
附录三 幕后故事(摘选) 179
参考文献 193
前言后语 195
版本历史 203
· · · · · · (收起)
读后感
从图书馆借的书,里面被”前辈“们用铅笔画的条条杠杠的,在107页的右侧几个非醒目的大字”什么逻辑?“ 看样前辈与我也有相同的看法,里面的例子很多都比较牵强……例子有点生搬硬套,有时候就是甚至是在说解文字。。 不否认作者的论点,也肯定作者有很多年的经验,对很多东...
在近两年里,这是一本让我觉得买得最不值的一本书。内容先不说了,书里的配色就让人觉得很郁闷。那种褐黄色的字体在这种比较暗的纸上看起来真是很累。 第二,所谓的“点评”,很多让人觉得莫名其妙。二期不光是作者,点评的"专家“也喜欢拽文,拽了也就拽吧,最恐怖的是有时候...
7年前的书了,还是让人很受教,所以说很多时候需要学的东西真的很多 纵观现在软件界,相当多的模式,流程,其实本质的还是PAET,只是瀑布模型的变形而已,把握住本质 关键是时刻要有做工程的心态去做,而不要沉迷于技术,方法这些枝叶中 但是还是要学习那些相关的模式之类的...
我正在看本书,其实我觉的这本书虽然简单,但它却把我们工作中一些抽象的概念讲的却很容易理解,我想这或许就是作者的根本意图所在。
用户评价
我是在一个朋友的强烈推荐下买了这本书的,他当时只说了一句:“这本书能帮你把混乱的生活理顺。”起初我抱着怀疑的态度,因为市面上宣扬“极简主义”或“高效生活”的书籍已经多如牛毛,大部分都是换汤不换药的鸡汤文案。但我很快发现,这本书的立足点完全不同。它不是教你如何扔掉家里的旧衣服,也不是告诉你每天只睡四个小时就能征服世界。它的核心探讨的是“效率背后的哲学根源”。作者似乎对人类认知过程有着深刻的洞察,他花了大量篇幅去剖析我们是如何被“复杂性陷阱”所捕获的。例如,他分析了现代商业社会中那些层层叠叠的流程和制度,是如何一步步消磨掉人的创造力和行动力的。他用一种近乎冷峻的科学态度,解构了那些被我们奉为圭臬的“复杂系统”,并展示了如何通过回归事物的本质属性,找到最简洁的解决方案。这种分析的深度和广度,远超出了我预期的范畴。阅读过程中,我常常需要停下来,反复咀嚼某些段落,因为它们迫使我重新审视自己过去习以为常的工作模式和思维定势。这本书更像是一本思维工具箱,而不是一本心灵鸡汤,它要求读者付出智力上的努力去理解和实践,但回报是实实在在、可以量化的思维清晰度。
这本书的语言风格极其克制,几乎看不到任何煽情的词汇或者夸张的比喻,这使得它在同类书籍中脱颖而出。作者似乎有一种近乎偏执的追求,力求用最少的词语,表达最丰富的意思。这给阅读带来了挑战,但也带来了巨大的满足感。我发现自己必须全神贯注,因为任何一次心不在焉都可能导致错过关键的转折点。这不像很多流行读物那样,试图用生动的故事来强行抓住你的注意力,它更像是等待一个沉静的听众。我最欣赏它处理“复杂性”的态度。它不否认世界的固有复杂性,但它坚信人类心智具备处理这种复杂性的能力,前提是我们必须剥离掉那些人为附加的、非必要的复杂性。书中有一段关于“流程简化”的论述,它通过一个历史上的工程案例,展示了如何通过剔除一个看似重要的中间环节,最终使整个系统的效率提升了数倍。这种对冗余的无情批判,让人读得既痛快又警醒,深感自己过去的工作和生活中,到底浪费了多少无谓的努力在维护那些华而不实的“复杂外壳”上。
坦白说,这本书的排版和字体选择让我一开始感到有些不适。它采用了一种偏窄的版式和略显古旧的衬线字体,在现代电子阅读器的背景下显得有些格格不入,似乎刻意在模仿上个世纪的学术专著。但这种“反潮流”的物理呈现,反而从侧面烘托了内容上的严肃性。这本书的论证逻辑非常严密,它不是那种轻飘飘地谈论“少即是多”的口号,而是通过大量的案例和类比,构建了一个完整的理论体系。我印象最深的是其中关于“信息熵增与决策成本”的章节。作者巧妙地将物理学中的熵增定律引入到日常决策的语境中,解释了为什么随着选项的增多,我们的精力损耗反而会加速。他提出的那些“反直觉”的优化方法,比如有时故意限制自己的资源或信息来源,反而能激发更优的解法,这彻底颠覆了我过去追求“信息最大化”的认知。读到后面,我甚至开始用书中的视角去审视我正在阅读的这本书本身——它是否也遵循了其所倡导的简洁原则?从篇幅和内容的密度来看,答案似乎是肯定的。它用有限的篇幅,承载了极其饱满的思辨重量。
这本书的价值在于,它提供了一套可以应用于任何领域的底层心法,而非一套具体的速成技巧。我尝试将书中的某些原则运用到我的个人理财规划中,效果出奇地好。过去,我总想追求投资组合的多元化,买了各种各样的基金和股票,结果是精力分散,收益平平。在读完书中关于“专注核心资产”的论述后,我果断地削减了投资品种,将资源集中在少数几个我真正理解的领域。这种“聚焦”带来的心理上的轻松感和决策上的果断性,是以前无法体会的。这本书的后半部分探讨了如何将这种“至简”的原则内化为一种生活态度,这部分内容更加偏向于精神层面,但依然保持着理性的基调。它没有提供任何信仰,只是展示了一条通往清晰的路径。读完合上书本的那一刻,房间里的光线似乎都变得更柔和了一些,空气也似乎更清新了,这可能只是心理作用,但我确信,我的内在世界,已经被这本书彻底重塑和简化了。
这本厚重的精装书,封面设计得非常朴素,几乎没有任何多余的装饰,只有几个简洁的宋体大字。初拿到手时,我着实有些被它的重量震慑住了,感觉像抱了一块沉甸甸的知识砖头。我原本以为它会是一本枯燥的理论大全,里面充斥着复杂的公式和晦涩的术语,毕竟书名听起来就带着一股子形而上的哲学味道。然而,翻开第一页,我的偏见就被打破了。作者的叙事方式极为流畅自然,仿佛是一位经验丰富的人生导师在与你进行一次深夜的促膝长谈。他没有急于抛出宏大的理论框架,而是从一些极其生活化的场景切入,比如如何高效地规划一天的时间,如何处理工作中的突发矛盾。那些看似微不足道的细节,被他用一种近乎禅意的笔触描绘出来,让人在不经意间领悟到隐藏在表象之下的深刻逻辑。我尤其欣赏作者对于“取舍”的论述,他没有鼓吹一切都要追求完美,反而旗帜鲜明地指出,真正的智慧在于懂得放弃那些不必要的干扰和冗余的追求。读完前几章,我感到自己的思维仿佛被梳理了一遍,那些过去常常让我感到困扰的、纠缠不清的念头,似乎都被一种无形的力量轻轻拨开了迷雾,豁然开朗。这本书对于那些在信息爆炸时代感到焦虑、渴望找到内在秩序的人来说,无疑是一剂良药。
- 关于软件工程的思考和愚公的故事,确实达到了作者写作的目的:简单,减少沟通成本。
写得很有意思,但感觉过于抽象,不够具体
我每天上班所接触的大概是一套假的软件工程。
讲述软件工程方法的书籍,重要的人很少说话,而重要的会议所需要的发言也很少。
建议边思考边看