【人月神话】深入了解软件工程和项目管理

文章目录

🌸🌸🌸🌷🌷🌷💐💐💐🌷🌷🌷🌸🌸🌸

👨‍⚖️《人月神话》的主要观点


《人月神话》是一本关于软件工程和项目管理的经典著作,由美国计算机科学家弗雷德里克·布鲁克斯(Frederick P. Brooks, Jr.)于1975年出版,后来又增加了新的章节和内容,形成了1995年的修订版。本书的中文版由清华大学出版社出版,分别于2002年和2015年出版了32周年和40周年纪念版,由UML China翻译组和汪颖译者负责翻译。

本书的主要观点是:

软件开发项目的复杂性和不确定性导致了很多管理上的困难和挑战,例如进度延误、成本超支、质量低下等。作者根据自己在IBM公司参与SYSTEM/360家族和OS/360操作系统开发的经验,提出了一些有关软件工程的原则和方法,例如:

  • "人月神话"(指认为增加人力就能缩短开发时间的错误观念)
  • "外科手术队伍"(指由一个主导者带领一支小型高效团队进行软件开发的模式)
  • "概念完整性"(指软件设计应该有一个清晰一致的核心思想)

作者还探讨了一些软件开发中的常见问题和挑战,例如需求变更、文档编写、测试方法、错误修正、工具选择、团队协作等,并给出了自己的见解和建议。
🌻🌻🌻🌼🌼🌼🌺🌺🌺🌼🌼🌼🌻🌻🌻

👨‍🏫《人月神话》的主要内容


本书被誉为软件工程领域的经典之作,对后来的软件开发理论和实践产生了深远的影响。本书不仅适合软件开发人员、软件项目经理、系统分析师等IT从业者阅读,也适合对软件工程感兴趣的普通读者阅读。

以下是对本书内容的详细描述:

第一部分:人月神话

第一部分包括了本书最著名的两个章节:《人月神话》和《外科手术队伍》。在这两个章节中,作者揭示了软件开发中最常见也最致命的两个误区:认为增加人力就能缩短开发时间,以及认为所有程序员都是相同或相近的资源。作者通过实例和数据说明了这两个误区的错误性和危害性,并提出了自己的解决方案:建立一个由一个主导者带领一支小型高效团队进行软件开发的模式,即"外科手术队伍"。作者认为,这种模式可以保证软件产品的概念完整性,提高软件产品的质量和可靠性。

第二部分:怎样做

第二部分包括了本书中最实用也最具体的六个章节:《尾大不掉》、《计划为什么会失败》、《怎样估算程序员工作量》、《怎样划分任务》、《怎样管理进度》和《怎样做系统测试》。在这六个章节中,作者针对软件开发过程中最关键也最困难的几个方面给出了自己的建议和方法。作者强调了需求分析、设计评审、测试计划等阶段在软件开发中的重要性,并提倡采用迭代式的开发模式,以适应需求变更和技术进步。作者还介绍了一些有用的工具和技术,例如PERT图、关键路径法、正交缺陷分类法等,以帮助软件开发人员进行有效的计划、组织、协调和控制。

第三部分:怎样不做

第三部分包括了本书中最有趣也最具启发性的四个章节:《没有银弹》、《为什么没有银弹》、《怎样成为一个优秀的程序员》和《怎样成为一个优秀的项目经理》。在这四个章节中,作者分析了软件开发中存在的一些根本性的困难和限制,并指出了一些常见的误区和陷阱。作者认为,软件开发是一种复杂而艰难的创造性活动,没有任何一种工具或技术可以轻易地解决所有的问题,也没有任何一种方法或标准可以适用于所有的情况。作者建议软件开发人员要有清醒的认识和批判的思维,并不断地学习和改进自己的技能和素质。

第四部分:怎样做得更好

第四部分是本书修订版中新增加的部分,包括了本书中最新也最前沿的四个章节:《怎样做得更好》、《无形资产》、《大型系统设计》和《大型系统开发》。在这四个章节中,作者结合了自己在过去二十年间的新的经验和观察,对本书中提出的一些观点和方法进行了修正和补充,并对软件工程领域的一些新的发展和趋势进行了评述和展望。作者认为,软件工程是一个不断变化和进步的领域,需要软件开发人员不断地适应和创新,并与其他领域进行交流和合作。
🌻🌻🌻🌼🌼🌼🌺🌺🌺🌼🌼🌼🌻🌻🌻

👨‍💻作者介绍


👨‍💻小弗雷德里克·P.布鲁克斯
小弗雷德里克·P.布鲁克斯(Frederick P.Brooks,Jr.1931-2022),图灵奖得主、美国国家科学院院士,对计算机体系结构、操作系统和软件工程做出里程碑式贡献的计算机科学家。
布鲁克斯博士于20世纪60年代初主持与领导了被称为人类从原子能时代进入信息时代的标志的IBM/360系列计算机的开发工作,取得辉煌成功,被认为是"IBM360系统之父"。布鲁克斯博士创立了北卡罗来纳大学的计算机科学系,并于1965-1985年担任系主任。他还曾任职于美国国家科技局和国防科学技术委员会。

👉点击查看书籍更多详情👈

相关推荐
提笔惊蚂蚁2 小时前
软件工程-需求分析与设计-更新中-1.0版
软件工程·需求分析
guanpinkeji5 小时前
家政服务小程序,家政行业数字化发展下的优势
小程序·团队开发·软件开发·小程序开发·家政·家政服务小程序
guanpinkeji1 天前
短剧APP开发:构建个性化、互动性强的娱乐新生态
团队开发·娱乐·软件开发·app开发·短剧·短剧app
shinelord明1 天前
【再谈设计模式】抽象工厂模式~对象创建的统筹者
数据结构·算法·设计模式·软件工程·抽象工厂模式
写代码的橘子n3 天前
软件工程笔记二—— 软件生存期模型
笔记·语言模型·软件工程
努力编程的阿伟3 天前
软件工程视角:Git 基础与实践
git·软件工程
漫天转悠3 天前
软件工程的基础和核心理论概念
软件工程
问道飞鱼3 天前
【软件工程】深入理解一下SOA(面向服务的架构)
软件工程
小麦项目管理指南3 天前
如何有效销售和应用低代码软件?探索其市场机会与策略
低代码·产品运营·项目管理·源代码管理
努力编程的阿伟4 天前
软件工程中的创建型设计模式:工厂方法模式与抽象工厂模式
设计模式·软件工程·抽象工厂模式