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

文章目录
- 👨⚖️《人月神话》的主要观点
- 👨🏫《人月神话》的主要内容
- 👨💻作者介绍
👨⚖️《人月神话》的主要观点
《人月神话》是一本关于软件工程和项目管理的经典著作,由美国计算机科学家弗雷德里克·布鲁克斯(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年担任系主任。他还曾任职于美国国家科技局和国防科学技术委员会。
👉点击查看书籍更多详情👈

相关文章:
【人月神话】深入了解软件工程和项目管理
文章目录 👨⚖️《人月神话》的主要观点👨🏫《人月神话》的主要内容👨💻作者介绍 🌸🌸🌸🌷🌷🌷💐💐💐&a…...
52、基于函数式方式开发 Spring WebFlux 应用
★ Spring WebFlux的两种开发方式 1. 采用类似于Spring MVC的注解的方式来开发。此时开发时感觉Spring MVC差异不大,但底层依然是反应式API。2. 使用函数式编程来开发★ 使用函数式方式开发Web Flux 使用函数式开发WebFlux时需要开发两个组件: ▲ Han…...
MySQL的用户管理
1、MySQL的用户管理 (1)创建用户 create user zhang3 identified by 123123;表示创建名称为zhang3的用户,密码设为123123。 (2)了解user表 1)查看用户 select host,user,authentication_string,select…...
LeetCode //C - 114. Flatten Binary Tree to Linked List
114. Flatten Binary Tree to Linked List Given the root of a binary tree, flatten the tree into a “linked list”: The “linked list” should use the same TreeNode class where the right child pointer points to the next node in the list and the left child …...
利用transform和border 创造简易图标,以适应uniapp中多字体大小情况下的符号问题
heml: <text class"icon-check"></text> css: .icon-check {border: 2px solid black;border-left: 0;border-top: 0;height: 12px;width: 6px;transform-origin: center;transform: rotate(45deg);} 实际上就是声明一个带边框的div 将其中相邻的两边去…...
C/C++指针函数与函数指针
一、指针函数 指针函数:本质为一个函数,返回值为指针指针函数:如果一个函数的返回值是指针类型,则称为指针函数用指针作为函数的返回值的好处:可以从被调函数向主函数返回大量的数据,常用于返回结构体指针。…...
30天入门Python(基础篇)——第1天:为什么选择Python
文章目录 专栏导读作者有话说为什么学习Python原因1(总体得说)原因2(就业说) Python的由来(来自百度百科)Python的版本 专栏导读 🔥🔥本文已收录于《30天学习Python从入门到精通》 🉑🉑本专栏专门针对于零基础和需要重新复习巩固…...
智慧公厕破解公共厕所管理的“孤岛现象”
在现代社会中,公共厕所是城市管理中的一项重要任务。然而,经常会出现公厕管理的“孤岛现象”,即每个公厕都是独立运作,缺乏统一的管理和监控机制。针对这一问题,智慧公厕的出现为解决公共厕所管理难题带来了新的方案。…...
excel中删除重复项
数据如图: 要删除姓名这一列的重复项,操作: (1)选中姓名这一列(2)点击“数据”(3)点击“删除重复项" 这是excel会自动检测出还有别的关联列 直接默认,点击删除重复项...弹出下面的界面 因为我们只要删除“姓名”列的重复值&…...
2023-9-8 求组合数(三)
题目链接:求组合数 III #include <iostream> #include <algorithm>using namespace std;typedef long long LL;int p;int qmi(int a, int k) {int res 1;while(k){if(k & 1) res (LL) res * a % p;k >> 1;a (LL) a * a % p;}return res; }…...
01 - Apache Seatunnel 源码调试
1.下载源码 https://github.com/apache/seatunnel.git2.编译 mvn clean package -pl seatunnel-dist -am -Dmaven.test.skiptrue3. 下载驱动 sh bin/install-plugin.sh 4.测试类 选择 seatunnel-examples ├── seatunnel-engine-examples ├── seatunnel-flink-connecto…...
UVA-12325 宝箱 题解答案代码 算法竞赛入门经典第二版
GitHub - jzplp/aoapc-UVA-Answer: 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版 根据书上的方法来做,是比较简单的题目。关键在于知道等体积时的枚举法。不过数据大小可能很大,虽然输入可以用int处理,但是 体积*价值 后,需要l…...
烟感报警器单片机方案开发,解决方案
烟感报警器也叫做烟雾报警器。烟感报警器适用于火灾发生时有大量烟雾,而正常情况下无烟的场所。例如写字楼、医院、学校、博物馆等场所。烟感报警器一般安装于所需要保护或探测区域的天花板上,因火灾中烟雾比空气轻,更容易向上飘散࿰…...
【JavaEE】_CSS引入方式与选择器
目录 1. 基本语法格式 2. 引入方式 2.1 内部样式 2.2 内联样式 2.3 外部样式 3. 基础选择器 3.1 标签选择器 3.2 类选择器 3.3 ID选择器 4. 复合选择器 4.1 后代选择器 4.2 子选择器 4.3 并集选择器 4.4 伪类选择器 1. 基本语法格式 选择器若干属性声明 2. 引入…...
【8】shader写入类中
上一篇将 vao vbo写入类中进行封装,本篇将shader进行封装。 Shader shader("res/shaders/Basic.shader");shader.Bind(); shader.SetUniform4f("u_Color", 0.2f, 0.3f, 0.8f, 1.0f);shader.h #pragma once#include <string> #include &l…...
Servlet注册迭代史
Servlet注册迭代史 1、第一代,xml注册 <web-app><display-name>Archetype Created Web Application</display-name><!-- 定义一个Servlet --><servlet><!-- Servlet的名称,用于在配置中引用 --><servlet-name&…...
合创汽车V09纵享商务丝滑?预售价32万元起,正式宣布大规模生产
合创汽车正式宣布,旗下新款车型V09已于9月10日开始大规模生产,并预计将于10月13日正式上市。V09作为中大型纯电动MPV的代表之一,备受瞩目。该车型是广汽新能源和蔚来汽车共同成立的广汽蔚来改为广汽集团和珠江投管共同投资的高端品牌——合创…...
49. 视频热度问题
文章目录 实现一题目来源 谨以此笔记献给浪费掉的两个小时。 此题存在多处疑点和表达错误的地方,如果你看到了这篇文章,劝你跳过该题。 该题对提升HSQL编写能力以及思维逻辑能力毫无帮助。 实现一 with info as (-- 将数据与 video_info 关联&#x…...
【力扣练习题】加一
package sim;import java.math.BigDecimal; import java.util.Arrays;public class Add1 {/*给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 …...
Linux--I/O复用之select
目录 一:概念 二:使用 三:参数介绍: 1.ndfs: 2.fd_set类型: 3.readfds: 4.writefds: 5.exceptfds: 6.timeout: 7.返回值: 四࿱…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...

