谈谈我对构建之法这三章的理解

前言

在第一次作业中我便提过,刚进入大学时,我对未来充满了憧憬,我的人生有着很好的规划,也像我所规划的那样,我的大一过着学习,技术,学生工作有条不紊运行的状态,可是后来为了学生工作放弃了工作室,后来又因为一些原因失去了学生工作,我的人生仿佛失去了重心,浑浑噩噩度过了大二上学期,到了这个学期,上了软件工程导论这门课,我才意识到自己与别人的差距有多大,我下定决心从这学期开始恶补,一定要把差距拉小,直至没有差距。调整好了心态,我翻开了构建之法。

章节一.概论

1.“软件=程序+软件工程”这是1+1的关系吗?

2.软件工程与软件技术有什么区别?

几乎所有书的第一章都是概述,它也不例外,映入眼帘的是“软件=程序+软件工程”这几个大字,表面上来看,这是一个1+1的等式,但直觉告诉我,并不简单,我觉得软件工程这一体系似乎比软件本身来的更加重要,正是因为软件工程这一体系,才会有软件工程师这一名词出现,他们三者并不是简单的1+1=2,他们有着更加负责的关系,我上网查阅了软件工程的介绍,和书上说的一样,包括:软件需求分析,软件设计等领域,软件工程又与计算机科学,计算机工程等学科密切相关,所以软件似乎是千千万万的事物的集合,而并非单纯的1+1。那程序和软件工程究竟孰重孰轻?正如上文提到的,程序像是沟通想法和产品的桥梁,而软件工程更像是桥梁设计的灵魂。

看了第一章之后,我上网百度了一下软件工程,有一条是问它和软件技术的区别,在我看来,既然是两个不同的名称那就一定是不同的事物,但具体有哪些区别,我也说不上来,于是我开始去贴吧寻找答案,这是来自一位软件学习者的回答,在他的理解中,软件工程比软件技术多了管理,但我觉得远不止如此,所以在这里还想请问老师,两者具体还有哪些区别?

章节二.个人技术和流程

1.单元测试必须作者自己完成吗?

虽然书上说的是单元测试必须让熟悉代码的人来编写,括号中才写了作者,但我阅读了后面的内容,大致意思便是一般都是作者自己编写,但我有些不明白,如果说作者一开始便对一个程序有了误解,那么他写的代码也会存在误解,如果在让作者自己编写测试,会不会把这个误解越化越大,俗话说“当局者迷,旁观者清”,如果让了解需求的第二个人来编写测试会不会减少错误,同时,让第二个人来编写是不是可以减少作者的工作量,达到更高效的目的?

章节三.IT行业的创新

这一章相对来说是比较轻松的一章,看的很有意思,不过,看完这一章,我有两个地方跟作者有些相悖的想法:

1.“不但连大众不喜欢创新,甚至连创新者自己都不例外,有些创新者甚至恨创新”

2.”要成为领域的专家,才能创新“

为了论证第一条,书上举例说发明电报的人会讨厌发明电话的人,因此他便讨厌创新甚至恨创新,那么我想问当初他是抱着怎样的心态去发明电报的,煎熬?痛苦?明明不喜欢却还是埋头苦干,至少在我的理解中不是这样,我觉得一个创新者就应该鼓励他人创新,鼓励社会大众创新,这是一个社会发展所必需的,在我的理解中,一个上进的创新者会很乐意别人去挑战他,然后自己再继续努力挑战别人,时代也是在这样的挑战中发展的,如果一个创新者痛恨创新,那么他也许根本不配被称为创新者,而只是一个发明者,“创新,被创新,再创新”这才是一个创新者应有的品质。

关于第二条,书上说有时候一个领域的专家往往不如领域外的人懂的创新,也许是理解的不同,我觉得并不一定要有专家头衔才能成为专家,有很多懂得创新门外汉已经到达甚至远远高出专家水平,比如一个数学家他运用物理知识发明了一个全新的事物,那么只能说他虽然没有物理专家的头衔,但物理水平早已到达了专家级别,不然也不可能有此创新,但也许是我的理解太过狭隘,错读了这句话的含义,还请老师批评讲解。

最后想说的是,真的很喜欢这本书,写的特别好,让人看了不会厌烦,而是饶有兴趣的一章一章的往下读,在第一章中有这么一段话我便很喜欢:

哲学家的宗旨:我思,故我在

科学家的宗旨:我发现,故我在

工程师的宗旨:我构建,故我在

短短三句话把三个领域的特点展现的淋漓尽致,意味深长,发人深思。

引用

百度贴吧http://tieba.baidu.com/p/213078834

原文地址:https://www.cnblogs.com/mzj666/p/8589440.html

时间: 2024-10-18 11:34:18

谈谈我对构建之法这三章的理解的相关文章

构建之法第三章读书心得

在构建之法第三章中,我们主要学习了个人能力的衡量与发展. 初级软件工程师有以下几个成长阶段:1.积累软件开发相关的知识,提升技术技能. 2.积累问题领域的知识和经验. 3.对通用的软件设计思想和软件工程思想的理解 4.提升职业技能 5.实际成果 软件开发的工作量和质量你的衡量标准:1.项目.任务有多大? 2.花了多少时间? 3.质量如何?交付的代码中有多少缺陷?

构建之法前三章读后感

一. 软件作为一个产品,在提供用户使用前经历了许多工序,我们用工程的方式将开发软件的工序,过程加以工程化,系统化.成立了一套完整的体系后,有利于帮助我们开发软件,乃至于大型的系统. 软件具有一定的特殊性,使得软件工程师们做开发提升了一定的难度,但软件工程有助于软件系统的开发,帮助工程师们设计,构建,测试和维护软件.所以,软件工程的最终目的是帮助工程师们创造“足够好”的软件,提高软件的质量,用户满意度,可靠性,可维护性等. 第一章问题:怎么才算是一个真正的软件工程师? 二.   一个优秀的软件,通

构建之法第三章

本章为软件工程师的成长,主要介绍了评价软件工程师水平的主要方法,技能的反面,TSP对个人的要求. 软件开发流程:软件开发流程包括团队的流程,也包括个人的流程 初级软件工程师有几方面成长: 1.积累软件开发相关的知识,提升技术技能 2.积累问题领域的知识和经验 3.对通用的软件设计思想和软件工程思想的理解 4.提升职业技能 5.实际成果 衡量软件开发的工作量和质量的因素: 1.项目/任务有多大 2.花了多少时间 3.质量如何 4.是否按时交付 相对来说,交付时间的平均时间反应平均水平,而标准方差更

读构建之法 第三章:软件工程师的成长

本章理论和知识点:评价软件工程师水平的主要方法 软件工程把相关的技术和过程统一到一个体系中,叫"软件开发流程",软件开发流程的目的是为了提高软件开发.运营.维护的效率,以及提升用户满意度.软件的可靠性和可维护性. 软件开发流程不光指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的.个人在团队中也有独立的流程.把每个人的工作有序地组织起来,就是团队的流程."有序",并不是"无争论".在大部分成功的软件团队模型中,各个角色有不同意见的冲突在

构建之法后三章读后感

开始读这本书,最大的感受的感受就是软件工程原来是可以这么学的,以前学习软件工程的课程的时候,总是感觉这门课程及其枯燥无味,总是在说太多的理论,很少 会涉及到实践,甚至根本就是没有实践这个环节,所以学习很无聊,但是读到这本书,真的是全新的感受,首先,不仅仅只是在说理论了,加入了很多实 践的东西,而且还可以在网上可以与其他人进行交流学习心得. 整本书从实际软件开发的各个阶段出发,详细地分析了软件工程的各个环节,如:需求分析.设计实现.用户体验.软件测试已经最后的发布等等. 首 先,说说代码风格,一个

谈谈我对构建之法第四章与第十七章的理解

第四章:两人合作  问题一:     引用:"对于至关重要的代码,我们要请不止一个人来做代码复审"  理解:我对于这句话有些疑问甚至有些反驳.首先我觉得每一段代码都是应该被重视的,也许对于一个刚入行的程序员,他对代码的态度就决定了他以后得发展前景,只有真正把代码当回事的人才能一步一步写出好的代码,完成好的工作,所以我觉得是不是应该不管是什么样的代码,都应该用相同的态度去对待,都应该找多个人去进行代码复审呢? 问题二:     引用:"对于至关重要的代码,我们要请不止一个人来做

构建之法-第三周

构建之法第三章-软件工程师的成长 本章主要的理论和知识点是评价软件工程师水平的主要方法.技能的反面以及TSP对个人的要求. 首先,不同的数据能够从不同方面一个展示软件工程师的技术和能力,例如,通过完成时间平均值的比较,两位工程师或许能决出完成效率的高下,但通过比较方差则又能体现出的两位工程师的工作稳定性. 作为一个初级软件工程师,我们可以关注的成长有一下几个方面: 1.积累软件开发相关的知识,提升技术技能: 2.积累问题领域的知识和经验: 3.对通用的软件设计思想和软件工程思想的理解: 4.提升

《构建之法》第一章学习

<构建之法>第一章学习 1.软件工程的定义 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.人们在开发.运营.维护软件的过程中有很多技术.做法.习惯和思想体系.软件工程把这些相关的技术和过程统一到一个体系中,叫"软件开发流程".软件开发流程的目的是为了提高软件开发.运营.维护的效率,并提高软件的质量.用户满意度.可靠性和软件的可维护性. 1.1软件的特殊性 软件是可以运行在计算机及电子设备中的指令和数据的有序集合,软件的主要形式有: 系统软件:

《构建之法》第一章读后随笔

<构建之法>第一章首先提出了“软件=程序+软件工程”的观点,然后介绍了软件开发的不同阶段,最后阐述了软件工程是什么的问题.这让我对软件工程有了新的认识,也对构建之法的重要性有了更为深刻的理解. 其实很多工科的很多道理都是相通的.不光是在软件工程,几乎的所有工程中,当工程规模到达了一定的数量级,就不可能是由一个人的一己之力能够完成的,这就需要相互协作,每个人只能做自己的一部分工作.如何能够让别人理解自己的工作的作用,如何能让每个人的工作都能融入一个系统,这就需要模块化,需要集成,话句话说,就是需