当前位置: 首页 > news >正文

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

在这里插入图片描述

文章目录

    • 👨‍⚖️《人月神话》的主要观点
    • 👨‍🏫《人月神话》的主要内容
    • 👨‍💻作者介绍

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

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


《人月神话》是一本关于软件工程和项目管理的经典著作,由美国计算机科学家弗雷德里克·布鲁克斯(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++指针函数与函数指针

一、指针函数 指针函数&#xff1a;本质为一个函数&#xff0c;返回值为指针指针函数&#xff1a;如果一个函数的返回值是指针类型&#xff0c;则称为指针函数用指针作为函数的返回值的好处&#xff1a;可以从被调函数向主函数返回大量的数据&#xff0c;常用于返回结构体指针。…...

30天入门Python(基础篇)——第1天:为什么选择Python

文章目录 专栏导读作者有话说为什么学习Python原因1(总体得说)原因2(就业说) Python的由来(来自百度百科)Python的版本 专栏导读 &#x1f525;&#x1f525;本文已收录于《30天学习Python从入门到精通》 &#x1f251;&#x1f251;本专栏专门针对于零基础和需要重新复习巩固…...

智慧公厕破解公共厕所管理的“孤岛现象”

在现代社会中&#xff0c;公共厕所是城市管理中的一项重要任务。然而&#xff0c;经常会出现公厕管理的“孤岛现象”&#xff0c;即每个公厕都是独立运作&#xff0c;缺乏统一的管理和监控机制。针对这一问题&#xff0c;智慧公厕的出现为解决公共厕所管理难题带来了新的方案。…...

excel中删除重复项

数据如图&#xff1a; 要删除姓名这一列的重复项&#xff0c;操作&#xff1a; (1)选中姓名这一列(2)点击“数据”(3)点击“删除重复项" 这是excel会自动检测出还有别的关联列 直接默认&#xff0c;点击删除重复项...弹出下面的界面 因为我们只要删除“姓名”列的重复值&…...

2023-9-8 求组合数(三)

题目链接&#xff1a;求组合数 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: 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版 根据书上的方法来做&#xff0c;是比较简单的题目。关键在于知道等体积时的枚举法。不过数据大小可能很大&#xff0c;虽然输入可以用int处理&#xff0c;但是 体积*价值 后&#xff0c;需要l…...

烟感报警器单片机方案开发,解决方案

烟感报警器也叫做烟雾报警器。烟感报警器适用于火灾发生时有大量烟雾&#xff0c;而正常情况下无烟的场所。例如写字楼、医院、学校、博物馆等场所。烟感报警器一般安装于所需要保护或探测区域的天花板上&#xff0c;因火灾中烟雾比空气轻&#xff0c;更容易向上飘散&#xff0…...

【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写入类中进行封装&#xff0c;本篇将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、第一代&#xff0c;xml注册 <web-app><display-name>Archetype Created Web Application</display-name><!-- 定义一个Servlet --><servlet><!-- Servlet的名称&#xff0c;用于在配置中引用 --><servlet-name&…...

合创汽车V09纵享商务丝滑?预售价32万元起,正式宣布大规模生产

合创汽车正式宣布&#xff0c;旗下新款车型V09已于9月10日开始大规模生产&#xff0c;并预计将于10月13日正式上市。V09作为中大型纯电动MPV的代表之一&#xff0c;备受瞩目。该车型是广汽新能源和蔚来汽车共同成立的广汽蔚来改为广汽集团和珠江投管共同投资的高端品牌——合创…...

49. 视频热度问题

文章目录 实现一题目来源 谨以此笔记献给浪费掉的两个小时。 此题存在多处疑点和表达错误的地方&#xff0c;如果你看到了这篇文章&#xff0c;劝你跳过该题。 该题对提升HSQL编写能力以及思维逻辑能力毫无帮助。 实现一 with info as (-- 将数据与 video_info 关联&#x…...

【力扣练习题】加一

package sim;import java.math.BigDecimal; import java.util.Arrays;public class Add1 {/*给定一个由 整数 组成的 非空 数组所表示的非负整数&#xff0c;在该数的基础上加一。最高位数字存放在数组的首位&#xff0c; 数组中每个元素只存储单个数字。你可以假设除了整数 0 …...

Linux--I/O复用之select

目录 一&#xff1a;概念 二&#xff1a;使用 三&#xff1a;参数介绍&#xff1a; 1.ndfs&#xff1a; 2.fd_set类型&#xff1a; 3.readfds&#xff1a; 4.writefds&#xff1a; 5.exceptfds&#xff1a; 6.timeout&#xff1a; 7.返回值&#xff1a; 四&#xff1…...

数据结构大作业 成绩分析c语言程序设计

界面加载 界面展示 成绩输入 求平均成绩 升序排列 降序排列 名字排序 按名字搜索 按ID搜索 每门课成绩分析 成绩单展示 -...

Consul学习笔记之-初识Consul

文章目录 1. What is consul?2. Consul能干什么3. Consul的架构3.1 概念 4. Consul VS Eureka4.1 CAP4.2 对比 1. What is consul? 根据官方文档的定义&#xff1a; HashiCorp Consul is a service networking solution that enables teams to manage secure network connec…...

python实现读取并显示图片的两种方法

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 在 python 中除了用 opencv&#xff0c;也可以用 matplotlib 和 PIL 这两个库操作图片。 本人偏爱 matpoltlib&#xff0c;因为它的语法更像 matlab。 &#x1f447; &#x1f447; &#x1f447; 更多精彩机密、教程&…...

Spring Boot 整合 MyBatis

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开兴好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…...

2023高教社杯数学建模A题B题C题D题E题思路模型 国赛建模思路分享

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 全国大学生数学建模…...

手机木马远程控制复现

目录 目录 前言 系列文章列表 渗透测试基础之永恒之蓝漏洞复现http://t.csdn.cn/EsMu2 思维导图 1&#xff0c;实验涉及复现环境 2,Android模拟器环境配置 2.1,首先从官网上下载雷电模拟器 2.2,安装雷电模拟器 2.3, 对模拟器网络进行配置 2.3.1,为什么要进行配置…...

linux 安装Docker

# 1、yum 包更新到最新 yum update # 2、安装需要的软件包&#xff0c; yum-util 提供yum-config-manager功能&#xff0c;另外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2 # 3、 设置yum源 yum-config-manager --add-repo h…...

Java中的值传递与引用传递 含面试题

面试题分享 点我直达 2023最新面试合集链接 2023大厂面试题PDF 面试题PDF版本 java、python面试题 项目实战:AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 史上最全文档…...

SQL中CONVERT()函数用法详解

SQL中CONVERT函数格式: CONVERT(data_type,expression[,style]) 参数说明: expression 是任何有效的 Microsoft SQL Server™ 表达式。。 data_type 目标系统所提供的数据类型&#xff0c;包括 bigint 和 sql_variant。不能使用用户定义的数据类型。 length nchar、nva…...

借助各大模型的优点生成原创视频(真人人声)Plus

【技术背景】 众所周知&#xff0c;组成视频的3大元素&#xff0c;即文本语音图片。接着小编逐一介绍生成原创视频的过程。 【文本生成】 天工AI搜索&#xff08;thttp://iangong.cn&#xff09; 直接手机短信验证就可以使用&#xff0c;该大模型已经接入互联网&#xff0c…...

长春专业网站建设价格/可口可乐搜索引擎营销案例

Python解释器安装 1.打开Python官网 www.python.org 2. 鼠标放在 Downloads 上,并选择相对应的系统 3.寻找你想要的版本,以3.7.3版本为例 3.1 64位系统选择支持64位的软件 Download [Windows x86-64 executable installer]3.2 32位系统选择支持32位的软件 Download [Windows x8…...

炫酷的电商网站设计/在线网络培训平台

树状数组的问题模型 首先我们搞明白树状数组是用来干嘛的&#xff0c;现在有一个这样的问题&#xff1a;有一个数组a&#xff0c;下标从0到n-1&#xff0c;现在给你w次修改&#xff0c;q次查询&#xff0c;修改的话是修改数组中某一个元素的值&#xff1b;查询的话是查询数组中…...

java做直播网站有哪些/企业网站优化报告

ArchiMate关系摘要 结构关系名称表示定义*组成表示一个元素由一个或多个其他概念组成。聚合表示一个元素由一个或多个其他概念组成。分配表达责任分配&#xff0c;行为表现或执行。实现 表明实体在创造&#xff0c;成就&#xff0c;维持或操作更抽象的实体中发挥关键作用。Arch…...

网站建设计划方案模板/百度云搜索引擎入口

昨晚与几位自组织的伙伴进行了《Scrum 实战》 第17 章 《富有成效的每日站会》录播Sprint 不断的优化和精进的感悟。 首先&#xff0c;D兄给予了如下的建议&#xff1a; 1. 将段落 分得更细致 只有三个角色&#xff1b; 并且我们速度和质量都上来了&#xff0c;每个分段都严格根…...

怎么用linux做网站/百度竞价排名价格查询

本教程将教你如何使用qmake。 从简单的实例开始 让我们假设你刚才完成了您的应用程序的基本实现&#xff0c;您已经创建了以下文件&#xff1a; hello.CPPhello.hmain.cpp首先&#xff0c;用你最喜欢的纯文本编辑器&#xff0c;创建一个名为hello.pro的文件。你需要做的第一件…...

岳阳建设网站公司/链接网

以Edit控件为例进行说明&#xff0c;在Dialog类中&#xff0c;相应WM_CTLCOLOR消息。就是OnCtlColor(),那里面判断传入进来的ID号为你要的编辑控件&#xff0c;然后&#xff0c;用得到的DC&#xff0c;设置字体&#xff0c;颜色&#xff0c;最后返回一个笔刷&#xff0c;这个笔…...