引用一&问题一

敏捷流程的简介
在软件工程的语境里,“敏捷流程”是一系列价值观和方法论的集合。

--引用自《构建之法》P114

  • 看完上述对敏捷流程的定义,仿佛对敏捷有了一点想法,我在想“敏捷是一种思想吗?”准备看书验证自己的想法,但是看完第六章,发现有敏捷流程、敏捷开发、敏捷的团队...所以我不仅没明白什么是敏捷,反而更加懵了。。。带着“到底什么是敏捷,敏捷很高大上吗?”的疑惑,我在网上看见一篇敏捷软件开发和传统软件工程概述比较,这篇博客虽说名称为两者的比较,实际上二者之间的比较倒是很少,主要是分别介绍了敏捷开发和传统开发,看完这篇博客再看书,我的理解是:敏捷就是一种思想,一种把一些相对重要和有效的做法发挥到极致的思想。如果我理解错误,还希望老师、助教或者同学可以帮我指出来,谢谢!

引用二&问题二

结对编程
每人在各自独立设计、实现软件的过程中不免要犯这样那样的错误。在结对编程中,因为有随时的复审和交流,程序各方面的质量取决于一对程序员中各方面水平较高的那一位。这样,程序中的错误就会少得多,程序的初始质量会高很多,这样会省下很多以后修改、测试的时间。

--引用自《构建之法》P85

  • 我不是完全赞同上面的说法,我的理由是如果结对的两个人擅长的技术相似,那么结对就有可能浪费时间,其次,在和别人合作的时候,每个人表达观点的方式和思考的方式不尽相同,所以还有双方陷入争吵,甚至会导致项目停滞不前的风险。除此之外,虽然结对编程对代码的审核会比代码评审细致一些,但是结对编程的成员由于结对前期的交流,可能会使他们的思维趋势相似,这就会导致两人犯下同样的错误,或者忽略某一错误。当然结对编程也有很多好处,但是我觉得书中提到的结对编程太过于偏向它的好处,我的想法是应该也要分析一下结对可能出现的问题以及如何避免。

引用三&问题三

文学化编程( Literate Programming)
程序员在写程序的时候,要理解在文档中的需求,同时还要在程序里写相关的注释,这些不同目的的“写作”各有价值,但是一旦需求或程序发生变化,这些不同的文档很难保持同步。更不用说程序员最常见的毛病“我以后会加上注释的……” Donald Knuth在20世纪70年代末开始尝试并提倡 Literate Programming的思想并在自己的软件项目中身体力行。这一方法和常见的“写程序,时不时加上一些注释释”相反,它是“写文档,时不时有些代码”。 它使用了宏来进行抽象和信息隐藏。

-- 引用自《构建之法》P239

  • 我看了上面那段文字,我的问题是怎么理解“它使用了宏来进行抽象和信息隐藏。”这句话,我查了资料什么是宏,其中说宏是一种批处理的称谓。以及信息隐藏中说到 信息隐藏技术利用信源数据的自相关性和统计冗余特性,将秘密信息嵌入数字载体中,而不会影响原载体的主观质量,不易被观察者察觉。 我的理解是文学化编程可以通过某种语法替换来使信息“加密”。。不过我觉得自己的想法还是太过牵强,加黑的语句中每个词都可以理解,就是组成一句话就理解不了了。

引用四&问题四

13.2.6 场景/集成/系统测试( Scenario/ Integration/ System Test)
在软件开发的一定阶段,我们要 对一个软件进行全面和系统的测试,以保证软件的各个模块都能共同工作,各方面均能满足用户的要求。这类测试叫系统/集成测试。
问:有一种测试叫场景测试,是什么意思?
答:就是指以场景为驱动的集成测试,关于“场景”,大家可以看本书第10章“典型用户和典型场景”一节,里面有对场景专门的介绍。这一方法的核心思想是:当用户使
用一个软件时,他/她并不会独立使用各个模块,而是 把软件作为一个整体来使用。我们在做场景测试的时候,就需要考虑在现实环境中用户使用软件的流程是怎样的,
然后模拟这个流程,看看软件能不能满足用户的需求。这样,才能使软件符合用户的实际需求。

--引用自《构建之法》P287

  • 我不理解这段话第一段话最后一句话这类测试叫系统/集成测试。为什么作者在这里把系统测试和集成测试归成一类,我在知乎和百度上看到的系统测试和集成测试都是有区别的,它们的侧重点不一样,集成测试主要是针对程序内部结构进行测试,特别是对程序的各单元之间的接口进行测试,而系统测试侧重验证设计中的功能是否已经完成;上段话的问答中“场景测试是把软件作为一个整体来使用。”那么这个思想和集成测试的“对一个软件进行全面和系统的测试,以保证软件的各个模块都能共同工作”思想很相似,为什么不把集成测试和场景测试放在一起定义呢?如果这三种测试都不一样,那么他们之间的关系是什么样子的呢?

问题五

大马哈鱼洄游模型
一些老师抱怨,软件工程这门课看似容易,实则太难教。

--引用自《构建之法》P422

  • 大马哈鱼洄游模型是什么模型?网络上关于“大马哈鱼洄游模型”出现的都是大马哈鱼的图片或者它的做法。。。

附加题