《人月神话》20周年纪念版:布鲁克斯的软件工程洞见

2星 需积分: 10 22 下载量 161 浏览量 更新于2024-07-30 收藏 2.42MB PDF 举报
"《人月神话》是Frederick P. Brooks, Jr.撰写的一本经典著作,主要探讨软件项目管理的复杂性和挑战。这本书基于布鲁克斯在IBM参与System 360和OS 360项目的经验,提供深入的洞察和实践经验。在20年后的新版中,作者对原有观点进行了反思,并增加了对1986年提出的‘没有银弹’理论的讨论,即在软件工程中不存在单一的解决所有问题的高效方法。Brooks是IBM 360系统的项目经理,对计算机科学教育和科研有重大贡献,同时在计算机体系结构、分子模型绘图和虚拟环境等领域进行教学和研究。" 《人月神话》的核心观点之一是“人月不是人力”。这个概念反驳了认为可以简单通过增加人员来缩短项目时间的误解。布鲁克斯指出,项目中的沟通成本和协调难度随着团队规模的扩大而急剧增加,因此盲目增加人力资源反而可能导致项目延期。此外,他还提出了“布鲁克斯定律”,强调了这一现象。 书中另一个重要观点是“没有银弹”。在1986年的论文中,布鲁克斯提出软件工程面临的复杂性不是单一的技术突破所能解决的,而是需要一系列渐进式改进。这个观点至今仍被广泛引用,提醒人们在面对软件开发难题时要有现实的期望。 除了理论,书中还包含了许多实用的项目管理建议,如尽早确定项目范围、避免过多的中间状态、重视软件设计的质量以及领导者的角色等。布鲁克斯强调了技术领导力的重要性,认为好的领导者能激发团队潜力,有效管理风险,并做出明智的决策。 在二十周年纪念版中,布鲁克斯对原有观点进行了更新,分享了他随着时间推移对某些问题的新认识,这使得《人月神话》不仅是一本历史性的著作,也是一部持续与时代对话的经典。 《人月神话》是软件工程领域的必读之作,它不仅揭示了项目管理的深层次问题,也为后来的从业者提供了宝贵的教训和思考。无论是在学术界还是业界,这本书都具有深远的影响,不断提醒人们在软件开发中需要关注的方方面面。
2010-12-31 上传
目录(Contents) 二十周年纪念版序言(PREFACE TO THE 20TH ANNIVERSARY EDITION)......................I 第一版序言(PREFACE TO THE FIRST EDITION)............................................................III 目录(CONTENTS).....................................................................................................................V 焦油坑(THE TAR PIT)..............................................................................................................1 编程系统产品...............................................................................................................................1 职业的乐趣..................................................................................................................................3 职业的苦恼..................................................................................................................................4 人月神话(THE MYTHICAL MAN-MONTH)...........................................................................6 乐观主义......................................................................................................................................7 人月..............................................................................................................................................8 系统测试....................................................................................................................................10 空泛的估算................................................................................................................................11 重复产生的进度灾难.................................................................................................................12 外科手术队伍(THE SURGICAL TEAM)...............................................................................16 问题............................................................................................................................................16 MILLS的建议.............................................................................................................................17 如何运作....................................................................................................................................20 团队的扩建................................................................................................................................21 贵族专制、民主政治和系统设计(ARISTOCRACY, DEMOCRACY, AND SYSTEM DESIGN).......................................................................................................................................................22 概念一致性................................................................................................................................22 获得概念的完整性.....................................................................................................................23 贵族专制统治和民主政治.........................................................................................................24 在等待时,实现人员应该做什么?.........................................................................................26 画蛇添足(THE SECOND-SYSTEM EFFECT)......................................................................29 结构师的交互准则和机制.........................................................................................................29 自律——开发第二个系统所带来的后果.................................................................................30 贯彻执行(PASSING THE WORD)..........................................................................................33 文档化的规格说明——手册.....................................................................................................33 形式化定义................................................................................................................................34 直接整合....................................................................................................................................36 会议和大会................................................................................................................................36 多重实现....................................................................................................................................38 - v - 电话日志....................................................................................................................................38 产品测试....................................................................................................................................38 为什么巴比伦塔会失败?(WHY DID THE TOWER OF BABEL FAIL?)...........................40 巴比伦塔的管理教训.................................................................................................................41 大型编程项目中的交流.............................................................................................................41 项目工作手册.............................................................................................................................42 大型编程项目的组织架构.........................................................................................................44 胸有成竹(CALLING THE SHOT)..........................................................................................49 PORTMAN的数据........................................................................................................................50 ARON的数据..............................................................................................................................51 HARR的数据..............................................................................................................................51 OS/360的数据...........................................................................................................................53 CORBATO的数据........................................................................................................................53 削足适履(TEN POUNDS IN A FIVE-POUND SACK)..........................................................55 作为成本的程序空间.................................................................................................................55 规模控制....................................................................................................................................56 空间技能....................................................................................................................................57 数据的表现形式是编程的根本.................................................................................................58 提纲挈领(THE DOCUMENTARY HYPOTHESIS)...............................................................60 计算机产品的文档.....................................................................................................................60 大学科系的文档.........................................................................................................................62 软件项目的文档.........................................................................................................................62 为什么要有正式的文档?.........................................................................................................63 未雨绸缪(PLAN TO THROW ONE AWAY)............................................................................64 试验性工厂和增大规模.............................................................................................................64 唯一不变的就是变化本身.........................................................................................................65 为变更计划系统.........................................................................................................................66 为变更计划组织架构.................................................................................................................66 前进两步,后退一步.................................................................................................................68 前进一步,后退一步.................................................................................................................69 干将莫邪(SHARP TOOLS)......................................................................................................71 目标机器....................................................................................................................................72 辅助机器和数据服务.................................................................................................................73 高级语言和交互式编程.............................................................................................................76 整体部分(THE WHOLE AND THE PARTS)..........................................................................78 剔除BUG的设计........................................................................................................................78 构件单元调试.............................................................................................................................80 - vi - 系统集成调试.............................................................................................................................82 祸起萧墙(HATCHING A CATASTROPHE)...........................................................................85 里程碑还是沉重的负担?.........................................................................................................85 “其他的部分反正会落后”.....................................................................................................86 地毯的下面................................................................................................................................87 另外一面(THE OTHER FACE)..............................................................................................92 需要什么样的文档.....................................................................................................................93 流程图........................................................................................................................................95 自文档化(SELF-DOCUMENTING)的程序................................................................................96 没有银弹-软件工程中的根本和次要问题(NO SILVER BULLET – ESSENCE AND ACCIDENT IN SOFTWARE ENGINEERING).....................................................................102 摘要1.......................................................................................................................................102 介绍..........................................................................................................................................103 是否一定那么困难呢?——根本困难...................................................................................103 以往解决次要困难的一些突破...............................................................................................106 银弹的希望...............................................................................................................................108 针对概念上根本问题的颇具前途的方法...............................................................................113 NO........................................................................................................................................118 再论《没有银弹》 (“NO SILVER BULLET”REFIRED)..................................................120 人狼和其他恐怖传说...............................................................................................................120 存在着银弹-就在这里!.......................................................................................................121 含糊的表达将会导致误解.......................................................................................................121 HAREL的分析..........................................................................................................................124 JONE的观点——质量带来生产率..........................................................................................127 那么,生产率的情形如何?...................................................................................................128 面向对象编程——这颗铜质子弹可以吗?...........................................................................129 重用的情况怎样?...................................................................................................................130 学习大量的词汇——对软件重用的一个可预见,但还没有被预言的问题.......................132 子弹的本质——形势没有发生改变.......................................................................................133 《人月神话》的观点:是或非?(PROPOSITIONS OF THE MYTHICAL MAN-MONTH: TRUE OR FALSE?)................................................................................................................134 第1章 焦油坑.........................................................................................................................134 第2章 人月神话.....................................................................................................................135 第3章 外科手术队伍.............................................................................................................136 第4章 贵族专制、民主政治和系统设计.............................................................................137 第5章 画蛇添足.....................................................................................................................137 第6章 贯彻执行.....................................................................................................................138 第7章 为什么巴比伦塔会失败?.........................................................................................139 第8章 胸有成竹.....................................................................................................................141 - vii - 第9章 削足适履.....................................................................................................................141 第10章 提纲挈领...................................................................................................................143 第11章 未雨绸缪...................................................................................................................143 第12章 干将莫邪...................................................................................................................146 第13章 整体部分...................................................................................................................148 第14章 祸起萧墙...................................................................................................................149 第15章 另外一面...................................................................................................................150 原著结束语...............................................................................................................................152 20年后的人月神话(THE MYTHICAL MAN-MONTH AFTER 20 YEARS).................153 为什么会出现二十周年纪念版本?.......................................................................................153 核心观点:概念完整性和结构师...........................................................................................154 开发第二个系统所引起的后果:盲目的功能和频率猜测...................................................156 图形(WIMP)界面的成功....................................................................................................157 没有构建舍弃原型——瀑布模型是错误的!.......................................................................160 增量开发模型更佳——渐进地精化.......................................................................................162 关于信息隐藏,PARNAS是正确的,我是错误的.................................................................165 人月到底有多少神话色彩?BOEHM的模型和数据..............................................................167 人就是一切(或者说,几乎是一切)...................................................................................168 放弃权力的力量.......................................................................................................................169 最令人惊讶的新事物是什么?数百万的计算机...................................................................171 全新的软件产业——塑料薄膜包装的成品软件...................................................................173 买来开发——使用塑料包装的成品软件包作为构件...........................................................174 软件工程的状态和未来...........................................................................................................176 结束语:令人向往、激动人心和充满乐趣的五十年(EPILOGUE FIFTY YEARS OF WONDER, EXCITEMENT, AND JOY)......................................................................................................178 注解和参考文献(NOTES AND REFERENCES).................................................................180 第1章......................................................................................................................................180 第2章......................................................................................................................................180 第3章......................................................................................................................................180 第4章......................................................................................................................................181 第5章......................................................................................................................................181 第6章......................................................................................................................................182 第7章......................................................................................................................................182 第8章......................................................................................................................................182 第9章......................................................................................................................................183 第10章....................................................................................................................................183 第11章....................................................................................................................................184 第12章....................................................................................................................................184 第13章....................................................................................................................................185 第14章....................................................................................................................................186 第15章....................................................................................................................................187 第16章....................................................................................................................................187 - viii - 第17章....................................................................................................................................188 第18章....................................................................................................................................190 第19章....................................................................................................................................190 索引(INDEX).........................................................................................................................193