人月神话摘录(1)

1.外科手术式的架构:

 人月神话摘录(1)_第1张图片

 

2.大型的软件开发中,概念一致性必须得到良好的体现,这不是体现民主的时候,否则更多的精力浪费在无用的讨论中,系统架构师应该是这样一个角色,他并不直接参与编码,但要完成架构设计和协调接口。而程序员的聪明才智应该用在具体模块的实现上。

 

3.评判一个软件的需要综合考量两个方面,软件的易用性和软件的功能多样性。

 

4.整个创造性活动分为三个阶段:体系结构设计,设计实现,物理实现。

 

5. 1/3计划

  1/6编码

1/4构件测试

1/4系统测试

典型的瀑布模型

 

6.规格说明文档是整个概念一致性的体现。

人月神话摘录(1)_第2张图片

7.对于一个广泛使用的程序,其维护总成本通常是开发成本的40%或更多。令人吃惊的是,该成本受用户数目的严重影响。用户越多,所发现的错误也越多。


人月神话摘录(1)_第3张图片

代码的维护过程中往往很有机会带入新的BUG,修复原有BUG会有新的产生,增加新的功能也会产生新的BUG。(这就是前进二步,后退一步),随着用户需求变化,设备的硬件变化,最终软件维护成为前进一步,后退一步。系统软件开发是减少混乱度(减少熵)的过程,所以它本身是处于亚稳态的。软件维护是提高混乱度(增加熵)的过程,即使是最熟练的软件维护工作,也只是放缓了系统退化到非稳态的进程。

 

8.在软件开发中,工具变得非常重要,工欲善其事,必先利其器。程序员团队中,大家最好使用相同的工具。


你可能感兴趣的:(软件工程)