网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 人月神话(附国内实战体验精华册32周年中文纪念版)
分类
作者 (美)弗雷德里克·布鲁克斯
出版社 清华大学出版社
下载
简介
编辑推荐

本书自第一版以来,畅销20余年不衰,是软件领域绝无仅有的必读经典。本文作者为人们管理复杂项目提供了颇具洞察力的见解,既有很多发人深省的观点,也有大量的软件工程实践。本书内容来自布鲁克斯在IBM公司 System/360 家族和OS/360中的项目管理经验。在本书第一次出版32年后的今天,布鲁克斯重新审视了他原先的观点,增加了一些新的想法和建议。既方便了熟悉原有内容的人们,也方便了许多第一次阅读它的读者。

内容推荐

在软件领域,很少能有像《人月神话》一样具有深远影响力和畅销不衰的著作。Brooks博士为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践。本书内容来自Brooks博士在IBM公司SYSTEM/360家族和OS/360中的项目管理经验,该项目堪称软件开发项目管理的典范。该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄、中、韩等多种文字,全球销售数百万册。确立了其在行业内的经典地位。  在本书第一次出版32年后的今天,我们重新整理了Brooks博士的经典内容,并将国内软件开发领域先行者们对《人月神话》中的实践及系统理论的使用经验和心得集结成册免费赠与大家共享,更使本书成为国内从业者的必读经典之一。  本书读者包括:软件开发人员、软件项目经理、系统分析师等IT从业者。

目录

第1章 焦油坑

编程系统产品

职业的乐趣

职业的苦恼

第2章 人月神话

乐观主义

人月

系统测试

空泛的估算

重复产生的进度灾难

第3章 外科手术队伍

问题

Mills的建议

如何运作

团队的扩建

第4章 贵族专制、民主政治和系统设计

概念的完整性

获得概念的完整性

贵族专制统治和民主政治

在等待时,实现人员应该做什么

第5章 画蛇添足

结构师的交互准则和机制

自律——开发第二个系统所带来的后果

第6章 贯彻执行

文档化的规格说明——手册

形式化定义

直接整合

会议和大会

多重实现

电话日志

产品测试

第7章 为什么巴比伦塔会失败

巴比伦塔的管理教训

大型编程项目中的交流

项目工作手册

大型编程项目的组织架构

第8章 胸有成竹

Portman的数据

Aron的数据

Harr的数据

OS/360的数据

Corbat6的数据

第9章 削足适履

作为成本的程序空间

规模控制

空间技能

数据的表现形式是编程的根本

第10章 提纲挈领

计算机产品的文档

大学科系的文档

软件项目的文档

为什么要有正式的文档

第11章 未雨绸缪

试验性工厂和增大规模

唯一不变的就是变化本身

为变更计划系统

为变更计划组织架构

前进两步,后退一步

前进一步,后退一步

第12章 干将莫邪

目标机器

辅助机器和数据服务

高级语言和交互式编程

第13章 整体部分

剔除bug的设计

构件单元调试

系统集成调试

第14章 祸起萧墙

里程碑还是沉重的负担

“其他的部分反正会落后”

地毯的下面

第15章 另外一面

需要什么样的文档

流程图

自文档化的程序

第16章 没有银弹

摘要

介绍

是否一定那么困难呢?——根本困难

以往解决次要困难的一些突破

银弹的希望

针对概念上根本问题的颇具前途的方法

第17章 再论“没有银弹”

人狼和其他恐怖传说

存在着银弹——就在这里!

含糊的表达将会导致误解

Harel的分析

Jones的观点——质量带来生产率

那么,生产率的情形如何

面向对象编程——这颗铜质子弹可以吗

重用的情况怎样

学习大量的词汇——对软件重用的一个可预见,但还没有被预言的问题

子弹的本质——形势没有发生改变

第18章 《人月神话》的观点:是与非?

第1章 焦油坑

第2章 人月神话

第3章 外科手术队伍

第4章 贵族专制、民主政治和系统设计

第5章 画蛇添足

第6章 贯彻执行

第7章 为什么巴比伦塔会失败?

第8章 胸有成竹

第9章 削足适履

第10章 提纲挈领

第11章 未雨绸缪

第12章 干将莫邪

第13章 整体部分

第14章 祸起萧墙

第15章 另外一面

第1版结束语

第19章 20年后的《人月神话》

为什么要出版20周年纪念版本

核心观点——概念完整性和结构师

开发第二个系统所引起的后果——盲目的功能

和频率猜测

图形界面的成功

没有构建舍弃原型——瀑布模型是错误的!

增量开发模型更佳——渐进地精化

关于信息隐藏,Parnas是正确的,我是错误的

人月到底有多少神话色彩?Boehm的模型和数据

人就是一切(或者说,几乎是一切)

放弃权力的力量

最令人惊讶的新事物是什么?数百万的计算机

全新的软件产业——塑料薄膜包装的成品软件

买来开发——使用塑料包装的成品软件包作为构件

软件工程的状态和未来

结束语:令人向往、激动人心和充满乐趣的50年

注解与参考文献

试读章节

是什么。项目工作手册不是独立的一篇文档,它是对项目必须产出的一系列文档进行组织的一种结构。

项目所有的文档都必须是该结构的一部分。这包括目的、外部规格说明、接口说明、技术标准、内部说明和管理备忘录。

为什么。技术说明几乎是必不可少的。如果某人就硬件或软件的某一部分,去查看一系列相关的用户手册。他发现的不仅仅是思路,而且还有能追溯到最早备忘录的许多文字和章节,这些备忘录对产品提出建议或者解释设计。对于技术作者而言,文章的剪裁粘贴与钢笔一样有用。

基于上述理由,再加上“未来产品”的高质量手册将诞生于“今天产品”的备忘录,所以正确的文档结构非常重要。事先将项目工作手册设计好,能保证文档的结构本身是规范的,而不是杂乱无章的。另外,有了文档结构,后来书写的文字就可以放置在合适的章节中。

使用项目手册的第二个原因是控制信息发布。控制信息发布并不是为了限制信息,而是确保信息能到达所有需要它的人的手中。

项目手册的第一步是对所有的备忘录编号,从而每个工作人员可以通过标题列表来检索是否有他所需要的信息。还有一种更好的组织方法,就是使用树状的索引结构。而且如果需要的话,可以使用树结构中的子树来维护发布列表。

处理机制。同许多其他的软件管理问题一样,随着项目规模的扩大,技术备忘录的问题以非线性趋势增长。10人的项目,文档仅仅通过简单的编号就可以了。100人的项目,若干个线性索引常常可以满足要求。1000人的项目,人员无可避免地散布在多个地点,对结构化工作手册的需要和手册规模上的要求都增加了许多。那么,用什么样的机制来处理呢?

我认为OS/360项目做得非常好。O.S.Locken强烈要求制定结构良好的工作手册,他本人在他的前一个项目14lO一70lO操作系统中,看到了工作手册的效果。

我们很快决定了每一个编程人员应该了解所有的材料,即在每问办公室中应保留一份工作手册的拷贝。

工作手册的实时更新是非常关键的。工作手册必须是最新的,如果每次变更都要重新打印所有的文档,那将很难做到。不过,如果采用活页夹的方式,则仅需更换变更页。我们当时拥有计算机文本编辑系统,它对实时维护有不可思议的帮助。编辑、排版、打印的工作直接在计算机和打印机上完成,周转时间不到一天。但即便如此,所有接收的人员还是会面临消化理解的问题。当他第一次收到更改页时,他需要知道,“修改了什么?”迟些时候,当他就问题进行咨询时,他需要知道,“现在的定义是什么?”

后一种需要可以通过不问断的文档维护来解决。文档变更的强调有若干个步骤。首先,必须在页面上标记发生改变的文本,例如,使用页边上的竖线标记每行变化的文字;第二,分发的变更页附带简短、独立的总结性文字,对变更的重要性以及批注进行记录。

这种机制在我们项目中碰到别的问题之前,稳定运行了6个月。工作手册大约厚达5英尺!如果将我们在曼哈顿Time—Life大厦办公室里所使用的100份手册叠在一起,它们比这座大厦还要高。另外,每天分发的变更页大约有2英寸厚,归入档案的页数大概有150页。工作手册的日常维护工作占据了每个工作日的大量时间。

这个时候,我们换用了微缩胶片,在为每个办公室配备了微缩胶片阅读机之后,节约了大量金钱,工作手册的体积减少了18倍。更重要的是,对数百页更新工作的帮助——微缩胶片大量地减轻了归档问题。

微缩胶片有它的缺点。从管理的角度而言,笨拙的文字归档工作确保了所有变更都会被阅读,这正是工作手册要达到的目的。微缩胶片使工作手册的维护工作变得过于简单,除非列举变化的文字说明和变更胶片一起分发。  另外,读者不能在微缩胶片上做强调、标记和批注。对作者来说,采用文档方式与读者沟通更加有效;对读者来说,文档也更加方便使用。

总之,我觉得微缩胶片是非常好的一种方法。对于大型项目,我建议把它作为文字工作手册的补充。

现在如何入手?在当今很多可以应用的技术中,我认为一种选择是采用可以直接访问的文件。在文件中,记录修订日期记录和标记变更标识条。每个用户可以从一个显示终端(打印机太慢了)来查阅。每日维护的变更小结以“后进先出”(LIFO)的方式保存,在一个固定的地方提供访问。编程人员可以每天阅读,但如果错过了一天,他只需在第二天多花一些时间。在他查看小结的同时,他可以停下来,去查询变更的文字。

注意工作手册本身没有发生变化。它还是所有项目文档的集合,根据某种经过细致设计的规则组织在一起。唯一发生改变的地方是分发机制和查询方法。斯坦福研究院的D.C.Engelbart和同事开发了一套系统,并用它在ARPA网络项目中建立和维护文档。

Carnegie—MelIon大学的D.L.Parnas提出了更彻底的解决方法。他认为,当编程人员仅了解自己负责的部分,而不是整个系统的开发细节时,工作效率最高。这种方法的先决条件是精确和完整地定义所有接口。这的确是一个彻底的解决方法。如果能处理得好,的确是能解决很多“灾难”。一个好的信息系统不但能暴露接口错误,还能有助于改正错误。

P76-80

序言

印象里,从谭浩强老师的《BASIC语言》在全国畅销,最终销量超过1200万册时,民族软件产业就承载了国人太多的期待。计算机图书出版者也与读者结下了不解之缘。人们将软件产业看作中华民族腾飞的一次历史性机遇。的确,软件产业是头脑产业,而中华民族最不缺的就是有智慧的人才。几台微机,一本指南,似乎就可以开公司编程赚线,而且可以出口赚美元。然而,20多年转瞬即逝,我们听说过很多软件英雄和编程奇才的故事,却没有产生一个有国际影响的软件品牌或有国际竞争力的民族软件企业。就在我们身边,印度的软件产业却已迅速崛起,产值10年增长了10倍,数十家企业通过了CMM5级认证,印度已经成为世界第二大软件出口国。目前,中国经济发展水平可能要领先印度10年,但中国软件产业却落后印度将近10年,原因何在?

几乎所有的人都认为,软件开发是年轻人的职业。程序员们一边挥着汗水,辛苦地熬夜写代码,一边又对自己30岁以后的职业发展方向充满惶恐。实际上,我国最缺的是有10年以上经验的软件工程师。金山软件公司总裁雷军曾说过:“在印度,包括在美国,我见到的项目经理都是三四十岁的人,他们‘越老越值钱’,有些人甚至拥有超过20年的行业经验。”为什么中国的程序员总是在不断学习新的开发工具、钻研程序代码,而不能逐步提升自己的视野、思维和经验?

作为出版者,我们一直关注着中国软件产业的发展,也时刻检讨着自己的责任。长期以来,在各大城市书城和计算机专业书店的书架上,很难找到几本软件管理和软件工程的图书,更多的书店里甚至根本没有软件工程图书的分类。同样在印度,软件管理的图书比比皆是,数量远远超过编程指南的图书。在全球最大的网上书店亚马逊网站上,软件管理和软件工程方面的图书也是门类清晰,为数众多。对这种强烈反差长期的漠视,也许正是我们出版者的责任。

于是,在2001年的秋季,我们在一个月的时间内,走访了软件行业中的各大专业媒体、网站、院校和企业,与50多位业界专家进行了交流和沟通,最终确定了引进出版一套国外软件管理和软件工程经典图书的设想,希望借此能将国外成熟先进的软件管理思想和管理经验系统引进到国内,从而推动中国的软件产业的发展,对广大软件工程师的成长和素质提升有所帮助。我们相信,中国软件产业的繁荣和发展,不仅有赖于国家产业政策的支持,还有赖于从业者管理理念的突破和管理思想的普及,更有赖于软件产业中有人文精神的优秀人才的涌现和具有核心竞争力的优秀企业的诞生。

经过将近一年的努力,在业界许多专家的支持下,我们抱着宁缺毋滥的想法,将国外软件管理和软件工程的经典图书完整地筛选了一遍后,选定了几本精品,其中的每一本均是相关领域中最经典或最具代表性的作品,有的书曾在国外屡获大奖;有的书已经出版20年,却仍然畅销不衰,而这本《人月神话》在其出版的25年后我们仍然极力推荐,因为它确实是软件管理工程图书中的极品,值得一版再版。  在本书引进和出版的过程中,我们得到了《IT经理世界》、《程序员》杂志、UMLcllina网站等机构和众多业界专家学者的真诚理解和大力支持,在此向他们一并致以衷心的感谢。

              2007年6月

后记

我依然记得那种向往和开心的感觉——当我在1944年8月7日读到哈佛大学Mark I型计算机研制成功的报道时——那时候我才13岁。Mark I是电子机械学上的奇迹,哈佛大学的Aiken是它的结构设计师,而IBM的工程师Clair Lake,Benjamin Durfee和FrancisHamilton是它的实现设计师。同样令人向往的是读到Vannevar Bush的1945年4月发表在亚特兰大月刊上的论文“That We May Think”的时候。在这篇论文中,他建议将大量的知识组织成超文本的网络方式,从用户的计算机上,可以跟随已有的链接,也可以跳到新的相关链接,从而实现链接之间的漫游。

我对计算机的热情在1952年进一步高涨,因为得到了IBM在纽约恩迪科特的一份暑期工作。正是那次,我有了在IBM 604上编程的实际经验,也了解了如何编制IBM 701(它的第一个存储程序计算机)程序的正式指令;从哈佛大学Aiken和Iverson名下毕业终于让我的职业梦想变成了现实,并且,就这样沉迷了一辈子。感谢上帝,让我成为了为数不多的那些开开心心地做着自己喜欢的工作的人之一。

我实在无法想象还有哪种生活会比热爱计算机更加激动人心,自从从真空管发展到晶体管,再到集成电路以来,计算机技术已经飞速发展。我用来工作的第一台计算机,是从哈佛刚刚出炉的IBM 7030Stretch超级计算机,Stretch在1961—1964年间都是世界上运算速度最快的计算机,一共卖出了9台。而我现在用的计算机,MacintoshPowerbook,不但快,还有大容量内存和大容量硬盘,而且便宜了1000倍(如果按定值美元来算,便宜了5000倍)。我们依次看到了计算机革命、电子计算机革命、小型计算机革命和微型计算机革命,这些技术上的革命每一次都带来了计算机数量上的剧增。

在计算机技术进步的同时,计算机相关学科知识也在飞速发展。当我在20世纪50年代中期刚从学校毕业的时候,能看完当时所有的期刊和会议报告,掌握所有的潮流动向。而我现在只能对层出不穷的学科分支遗憾地说“再见”,对我所关注的东西也越来越难以全部掌握。兴趣太多,令人兴奋的学习、研究和思考的机会也太多——多么不可思议的矛盾啊!这个神奇的时代远远没有结束,它依然在飞速发展。更多的乐趣,尽在将来。

书评(媒体评论)

“记忆中,我们看到恐龙、猛犸象、剑齿虎正在挣脱沥青的魔爪。挣扎得越剧烈,陷入得越深,没有哪只野兽足够强壮或熟练,它们最终都沉没了。大系统编程在过去的十年间就像焦油坑,许多大而强有力的野兽在其中已经惨烈地失败了。大部分已实现并在运行的系统,很少有达到目标、时间表和预算的。大和小、厚重和细实,一个接一个的团队卷入了沥青(陷阱)。没有什么事情似乎会导致这个困难——任何特殊的手掌都能被拉出来。但同时相互作用的因素的聚集导致运动越来越慢。每个人似乎都惊讶于问题的难缠,难于面对它的本质。”

——本书中关于系统编程遭遇“焦油坑”的形象描述

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/4/7 13:18:51