十九、20年后的《人月神话》"The Mythical Man-Month"after 20 Years
·核心观点
1、概念完整性:是用户易用性中最重要的因素
2、结构师:产品结构师负责产品所有方面的概念完整性
3、将体系结构和设计实现、物理实现分离开
4、设计通用工具比设计专用工具更难
5、盲目的功能是以易用性为代价的
6、定义用户群:他们是谁?他们需要什么?他们认为自己需要什么?他们想要什么?
7、为用户群的属性明确地记载各种猜测,清晰和错误都比模糊不清好得多
·图形界面的成功
1、通过类比获得的概念完整性
2、命令表达和双光标问题:为一只鼠标设计的单光标导致每次点击都有部分信息流失
3、用户功能和易用性:最困难的问题就是这两者之间的平衡
4、由于实施强制性的体系结构,可成功地实现设备的直接整合
·没有构建舍弃原型——瀑布模型是错误的:一是因为它假设项目只经历一次过程,编码是可以很顺畅地修改的;二是它假设系统一次性地被构件
·现实编码,必须存在逆向移动,可能要往复迭代两个或更多的“体系结构-设计”以实现循环
·增量开发模式——渐进地精化
1、构建闭环的框架系统:一个个模块地进行,在每个阶段都有一个可运行的系统,完成用户测试,彻底保证不出现预算超支
2、原型:仅仅反映了概念模型准备过程中所做的设计决策的一个程序版本,它并未反映受实现考虑所驱使的设计决策
·信息隐藏(内建于面向对象的编程中)是唯一提高软件设计水平的途径
·Boehm模型:人力(人)和时间(月)之间的平和不是线性关系
1、第一次发布的成本最优进度时间,T=2.5(MM)^(1/3),即,月但我的最优时间是估计工作量(人月)的立方根
2、当计划进度比最优进度长时,成本曲线会缓慢攀升,时间越充裕,所花时间越长
3、当计划进度比最优进度短时,成本曲线急剧升高
4、无论安排多少人手,基本没有项目能在少于3/4的技术处的最优时间内获得成功
·人就是一切(团队建设);放弃权力的力量
·微型计算机革命改变了开发软件的方式
·全新的软件产业——塑料薄膜包装的成品软件:软件成本是开发成本与数量的比值,包装盒市场成本非常高
·使用产品软件包作为构件:如何处理是根本问题,元程序员无法改变它的功能和接口
·软件工程的特殊问题:如何把一系列程序设计和构建成系统?如何把程序或者系统设计构建成健壮的、经过测试的、文档化的、可支持的产品?如何维持对大量的复杂性的控制?
以上内容为《人月神话》(作者:[美]小弗雷德里克·布鲁克斯)的第19章读书笔记及部分摘要,本人加入一定量自己的理解;因水平有限,欢迎大家交流指正,谢谢~
另:《人月神话》是比较偏技术侧的书籍,翻译过来有点佶屈聱牙,我这里更多只是列了提纲,大家有机会自己去看、可以有更多收获~
网友评论