《构建之法》阅读笔记一

Posted on 2017-02-04 17:45  立木-Six  阅读(117)  评论(0编辑  收藏  举报

1.程序=数据结构+算法

2.构建管理,源代码管理,软件设计,软件测试,项目管理是软件工程的核心部分。

3.软件=程序+软件工程

4.软件企业=软件+商业模式

5.软件开发的不同阶段:玩具阶段,业余爱好阶段,探索阶段,成熟的产业阶段

6.软件工程是把系统的,有序的,可量化的方法应用到软件的开发,运营和维护上的过程

7.软件工程包括:软件需求分析,软件设计,软件构建,软件测试和软件维护等领域

8.软件的特殊性:复杂性,不可见性,易变性,服从性,非连续性 

9. 软件工程的目标——创造“足够好”的软件,即软件没有缺陷(bug),所谓的软件工程就是把软件中的bug都消灭掉的过程。而一个软件bug的多少可直接衡量一个软件的开发效率、用户满意度、可靠性和可维护性。

10.三点要求:(1)研发出符合用户要求的软件

                   (2)通过一定的软件流程,在预计的时间内发布“足够好的软件”

        (3)能证明所开发的软件是可以维护和发展的

11.单元测试标准: (1)、单元测试应该在最基本的功能/参数上验证程序的正确性。

                          (2)、单元测试必须由最熟悉代码的人(程序的作者)来写。

                          (3)、单元测试过后,机器状态保持不变。

                          (4)、单元测试要快(一个测试的运行时间是几秒钟,而不是几分钟)。

                          (5)、单元测试应该产生重复、一致的结果。

                          (6)、独立性——单元测试的运行/通过/失败不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性

                          (7)、单元测试应该覆盖所有的代码路径。

         (8)、单元测试应该集成到自动测试的框架中。

         (9)、单元测试必须和产品代码一起保存和维护。

12.单元测试→回归测试→效能分析

13.效能分析方法:抽样和代码注入