美文网首页比巴波的小柜产品经理@产品
《人月神话》读书笔记④:解决问题

《人月神话》读书笔记④:解决问题

作者: luna比巴波 | 来源:发表于2018-02-10 17:01 被阅读14次

十四、进度落后:祸起萧墙Hatching a Catastrophe

·如果在活动开始之前就着手估计,并且两周进行一次修订;那么无论如何它都不会有太大变化

·活动期间对时间长短的过高估计会随着活动的进行持续而下降

·人们总是会过低估计活动进行中不会太大变化,直到结束日期前三周

·减少角色冲突:老板不要对经理可以解决的问题做出反应,并且不在某些检查状态时做任何安排

十五、文档:另外一面The Other Face

·使用程序:对程序进行描述的文字

          1、目的:主要功能是什么?开发原因

          2、环境:程序运行在什么样的机器、硬件配置和操作系统上

          3、范围:输入的有效范围是什么?允许显示的合法输出范围是什么?

          4、实现功能和使用的算法:精确阐述它做了什么

          5、“输入-输出”格式

          6、操作指令:包括控制台及输出内容中正常和异常结束的行为

          7、选项:用户的功能选项有哪些?如何在选项之间进行挑选?

          8、运行时间:在指定的配置下,解决待定规模问题所需时间

          9、精度和校验:期望结果的精确程度

·验证程序:即测试用例。包括:常规数据测试,对程序主要功能的用例;合法数据测试,用于检测输入数据范围边界内的可靠性,确保最大可能值、最小可能值和其他有效特殊数据可以工作;非法数据测试,在边界外检查数据范围边界进行检查

·修改程序:调整/修复程序的所有细节。包括:流程图;对所用算法的完整描述(或类似算法的参考资料);对所有文件规划的解释;数据流处理的概要描述;初始设计中,对修改的讨论

·流程图:显示程序的流程判断结构,但不一定是必要的

·自文档化的程序:即把文档整合到源程序

          1、借助标签、声明语句和符号名称,尽可能表达文档信息

          2、尽可能用空格和一致格式提高程序可读性,表现从属和嵌套关系

          3、以段落注释的形式,向程序中插入必要的记叙性文字

          4、为每次运行使用的任务名称,且维护一份记录了时间和结果的日志

          5、使用包含版本号和能帮助记忆的程序名称

          6、尽可能地为基本算法提供参考引用

          7、显示和传统算法的关系:更改、定制细化、重新表达

          8、声明所有变量

          9、用标签标记出初始化位置

          10、对程序语句进行分组和标记

          11、利用缩进表现分组和结构

          12、在程序列表中,手动添加逻辑箭头

          13、使用行注释和标记不清楚的事物

          14、适当拆分/合并语句

十六、软件工程中的根本和次要问题:没有银弹No Silver Bullet——Essence and Accident in Software Engineering

·根本任务:打造构成抽象软件实体的复杂概念结构

·次要人物:使用编程语言表达这些抽象实体,在空间和时间限制下将它们映射成机器语言

·在获取和制定软件需求时,将快速原型开发作为迭代计划的一部分

·有机地更新软件,随着系统的运行、使用和测试,逐渐增加功能

·软件系统中的内在特性:复杂度、一致性、可变性和不可见性

·解决次要问题的一些突破:高级语言、分时、统一编程环境

·潜在银弹①:高级编程语言

·潜在银弹②:面向对象编程,包括抽象数据类型和层次化类型(后者简称类)

·潜在银弹③:人工智能和专家系统,接受输入的数据和假设、通过基础规则推导逻辑结果,提出结论和建议

·潜在银弹④:“自动”编程

·潜在银弹⑤:图形化编程,这一源于芯片设计的方法对芯片更为适合;因为芯片设计是对二维对象的层次设计,几何特性反映了本职,但软件系统不是

·潜在银弹⑥:程序验证,在源代码阶段就消除bug

·潜在银弹⑦:环境和工具

·生产率公式:任务时间=频率1*时间1+频率2*时间2+频率3*时间3……

·购买和自行开发:构建软件最可能的彻底解决方案就是不开发任务软件,购买比重新开发更低廉

·需求精炼和快速原型:用原型演示待开发系统的主要功能

·增量开发:增长、而非搭建系统。逐步发育成熟,不奢求一次性搭建

·卓越的设计人员:提高软件行业的核心


以上内容为《人月神话》(作者:[美]小弗雷德里克·布鲁克斯)的第14-16章读书笔记及部分摘要,本人加入一定量自己的理解;因水平有限,欢迎大家交流指正,谢谢~

另:《人月神话》是比较偏技术侧的书籍,翻译过来有点佶屈聱牙,我这里更多只是列了提纲,大家有机会自己去看、可以有更多收获~

相关文章

  • 初窥软件项目管理——《人月神话》读书笔记

    人月神话读书笔记 借助软件工程作业的机会,我阅读了Frederick P. Brooks的《人月神话》这本书,作者...

  • 《人月神话》读书笔记④:解决问题

    十四、进度落后:祸起萧墙Hatching a Catastrophe ·如果在活动开始之前就着手估计,并且两周进行...

  • 人月神话

    人月神话读书笔记 人月神话是关于软件工程的一本比较经典的著作,它提出了很多软件工程管理方面的一致性的问题和关于实践...

  • 人月神话

    阅读经典——《人月神话》02 何谓人月神话——The Mythical Man-month?讲真,这句英语按字面来...

  • 《人月神话》读书笔记

    前言 《人月神话》是一本永不过时的经典,尽管写在四十多年前,然而书中的观点和方法论,放到如今的软件开发中仍然适用,...

  • 人月神话-读书笔记

    前面的话:人月神话这本书刚看的时候一脸懵逼,我也没有完全看懂,但是对于一些非技术语汇内容觉得还是挺有指导意义。作者...

  • 《人月神话》读书笔记

    人月神话读书笔记 焦油坑 为什么两个人的创业团队可以超越大公司9倍以上的效率开发任何程序。而大公司的产业化团队效率...

  • 《人月神话》读书笔记

    推荐理由: 作为一部在软件领域40年畅销不衰的传奇经典,很少能有像《人月神话》一样具有深远影响力和畅销不衰的著作。...

  • 《人月神话》读书笔记

    这本书绝对称得上在软件工程领域的著作,作为软件开发人员,低头敲代码赶项目时,也要抬头看一看。在软件工程领域中,还存...

  • 《人月神话》读书笔记

    《人月神话》给我的第一印象就是神话小说故事,人类跟月亮女神的爱情故事什么的。后来才知道人月指的是1个人工作1个月的...

网友评论

    本文标题:《人月神话》读书笔记④:解决问题

    本文链接:https://www.haomeiwen.com/subject/aifhtftx.html