人月神话(8,9)胸有成竹与削足适履

人月神话(8,9)胸有成竹与削足适履

思维导图

在这里插入图片描述

胸有成竹

讨论主题:系统编程需要花费多少时间?
结论:工作量是规模的幂函数。指数值为1.5 (1.5 就是先三次方,然后开根号)

备注
  • 1.控制程序的生产率大约是600指令每人年,语言翻译大约是2200指令每人年
  • 2.生产率会根据任务本身复杂度和困难程度表现出显著差异
  • 3.指导原则:编译器的复杂度是批处理程序的3倍,操作系统复杂度是编译器的3倍
  • 4.对常用编程语句而言,生产率似乎是固定的。这个固定的生产率包括了编程中需要注释并可能存在错误的情况
  • 5.使用适当的高级语言,编程的生产率可以提高5倍
数据图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

削足适履
作为成本的程序空间

没有人可以在自始至终提倡更紧密的软硬件设计集成的同时,不仅仅就规模本身对软件系统提出批评
由于规模是软件系统产品用户成本中如此大的一个组成部分,开发人员设置规模的目标,控制规模,考虑减小规模的方法,就像硬件开发人员会设立元器件数量目标,控制元器件的数量,想出一些减少零件的方法

规模控制
  • 对于项目经理而言,规模控制既是技术工作的一部分,也是管理工作的一部分。
  • 必须研究用户和用户需求,以设置带开发系统的规模。
  • 将系统划分成若干部分,并设置每个部分的规模目标。
  • 规模目标的设置是一个颇具技巧的事情,需要对每个可用方案有深刻的了解
三个道理
  • 1、 和制定预留空间预算一样,应该制定整体规模的预算,和制定规模预算一样,应该制定后台存储访问的预算

  • 2、在指明模块有多大的同时,确切定义模块的功能

    原因:在每个模块分配功能之前所编制的空间预算,会导致任何规模上碰到问题的程序员,会检查自己的代码,看是否将其中一部分扔给其他人。控制程序所管理的缓冲区成为用户空间的一部分,更为严重的是,所有的控制模块都有相同的问题,彻底影响了系统的稳定性和安全性

  • 3、系统结构师必须保持持续的警觉,确保连贯的系统完整性。培养开发人员从系统整体出发,面向用户的态度是软件编程管理人员最重要的职能

空间技能
功能交换尺寸
  • 设计人员必须决定用户可选项目的粗细程度,这个可以参考现代开发中的“插件开发”来理解
  • 这个地方就引起了我的一个思考:提供给用户选择的东西应该是什么样子的??交互平衡猜想如果我要做一款图片处理软件
空间——时间折中

如何取得好的空间和时间折中?

  • 1、确保它们在编程技能上得到培训,而不仅仅是依赖它们自己的才能和先前的经验。特别是在使用新语言或者新机器时,培训显得尤其重要
  • 2、认识到编程需要技术积累,需要开发很多公共单元构建。每个项目要有能用于队列,搜索、散列和排序的例程或者宏库,对于每项功能,库至少应该有两个程序实现
数据的表现形式是编程的根本
  • 技艺改进的结果往往是战略上的突破,而不仅仅是技巧上的提升
  • 如果提供了程序流程图,没有表数据,我仍然会很迷惑。而给我看表数据,往往就不在需要流程图,程序结构师非常清晰的
思考
  • 程序的层次:数据结构设计(数据库,数据存储方式)高于流程图(流程设计)高于具体实现
  • 经验的价值在于战略上的突破,而不是技能的提升
  • 如果在面试的时候,技术面试只是停留在如何实现上面,那么你未来在公司的格局就一定被定死了。你需要让他们换角度来聊出你所能看到的事业,而自己未来格局的安排。而不只是口头上的一句,我要做什么,我要得到什么。
人月神话系列索引

人月神话(1)焦油坑
人月神话(2)人月神话
人月神话(3)外科手术队伍
人月神话(4)系统设计
人月神话(5)画蛇添足
人月神话(6)贯彻执行
人月神话(7)巴比伦塔为什么失败
人月神话(8,9)胸有成竹与削足适履
人月神话(10)提纲挈领
人月神话(11)未雨绸缪
人月神话(12)干将莫邪
人月神话(13,14,15)整体部分 祸起萧墙与另外一面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值