”构建之法“——我会用一学期的时间去读你懂你

软件工程

1:为何读“构建之法”

抽出时间,看看软件工程这本书,就像老师说的“好书不读就浪费了,怎么也49块”。不读还对不起我们的毛爷爷呢!刚刚拿到这本书的时候,“构建之法”映入眼帘,心里在想这本书是在教我们怎样去“建造”好一个软件吗?怎么这样取名啊?一开始我只是任务式的看完一到第五章,只是单纯的看并没有太大的思考。不得不说,相对于别的书籍,这本是那样的枯燥乏味,没有一点点的吸引力,一眼看去,全都是理论知识,没有实际的相关操作。要用心看下去是挺难的,因而对于每一章我都是一眼带过,想的只是怎么快点看完,并没有想其他的。这是我第一次阅读这本书的想法和结论。

但当我读第二遍的时候,我就不然而然的换了种思想,为什么老师要我们看书,恐怕不是只为了不浪费钱,更多的是让我们接触了解软件工程究竟为何物。于是心中就产生了一些疑问“什么是软件工程,为什么我们要一个学期去学习”。带着这些疑问,我重新阅读了一遍“构建之法”,用四个字可以概括“受益匪浅”。

2:看完书后的第一感觉

看完一到第五章后,就自然而然的把一到第五章串成这样的一条线:什么是软件工程,个人在写代码的时候怎样做才能写出高效有用的代码。以后作为软件工程师又应该怎样的不断进步,怎么在团队中找到适合自己的位置。对于一到五章,这样串线不知道对不对(第一个问题)。

3:疑问解决,心生愉悦。重生疑问,如何作答。

看完第一章,恍然大悟,原来这就是软件工程啊。一直以来,我以为软件工程就是和建筑物的构成是一样的,只是系统的、机械的把所有的代码有规律的集合在一起,从而构成一个软件。看完定义才知道,软件工程是“把系统化、规范化、可度量的途径应用于软件开发、运行和维护过程”。软件可以成为商品,但又不同于别的商品,它是一个逻辑产品,具有抽象性和易复制性,由程序和软件工程组成。软件也会像楼房一样慢慢出现裂痕,这时候就需要维护保证其可用性和耐用性。这时候程序员就要重新检测自己的代码哪里出现错误,怎样维护才可以补救。与其出现问题后才补救,不如将问题扼杀在摇篮之中,这时候的就出现了“单元测试”。单元测试可以有效地保证模块的质量。诸如此类的还有效能分析测试,就是

说对于同一个功能,在保证功能不受损的前提下,怎样的代码才能节约系统开销。例如33页中的for()循环条件,只是将i<m_wordlist.Count改为i<count,System.Collections.ArrayList_get_Count()的调用次数和时间都大幅度的减少,关于这一点我一直都想不明白,只是换个条件为什么差别就会这么大,这是什么原因导致的,以后我们写程序的时候怎样避免这种现象的产生。(第二个问题)

4:“团结就是力量”,善于运用团队,发现无限潜能。

第二次作业的时候,当老师提出结对子的时候,我就觉得只是这么一个小小的程序,没有结对子的必要性吧。刚开始结对子的时候是带着一点点抵触心情进行的,可越到后来越发现结对子的好处。尤其是看完书后觉得,结对子不是单纯的从一个人变成2个人写。而是从一个角色变成另外一个角色,就像是领航员与驾驶员,在不同的位置完成不同的任务,但目的都是一样的。”代码复审“是一个比较难理解的名词,是说重新把代码从头看一遍,然后再找出错误吗?如果是这样,那为什么不叫做”代码重检“呢?书中详细的介绍了代码复审定义,代码复审步骤及意义,但我依然无法明白“代码复审”究竟是什么意思。为什么只要求在“代码规范”的前提下检测代码呢?(第四个问题)

俗语有说“你有一个苹果,我有一个苹果,2个人在一起就会有2个苹果”,思想也是如此,但思想不应该只是简单地相加,应该进行系统的汇合,成为“思想结晶”。软件的产生需要的是一个团队,一个人是可以写代码,但写出来的都是一些功能相对简单,含有较多bug的代码,但是团队不仅可以避免这种情况,团队不仅有一致的目标,而且分工明确,互相依赖合作共同完成任务,这样可以大大提高软件的生产时间和软件利用率,这也是为什么要有团队的原因。第五章84页开始介绍了几种软件团队模式,看起来每一种都有自己的优势。对于没有团队合作经验的我来说,应该怎么去选择合理有效的模式呢? (第五个问题) 。是根据具体情况?还是听从团队成员的想法决定模式。我想应该都不是这样吧。

5:启发人生思考,未来怎么走,现在应该怎么做,做什么。

未来是怎样的,谁也没有办法预料。所以我们应该把握当前,为自己努力。“软件工程师的成长”让我更好的了解了未来的路应该如何走。我报考了2015年5月份的软考程序员,想一步一步的努力,最后得到软件工程师这个证书。有时候会想,我只是很简单的学习了软件,只是会编写很简单的代码,而且我们是2B学校,以后出去找工作真的能找到一份好的工作吗?尽管第三章讲解了如何成为一名“软件工程师”,如何检测自己是否为合格的工程师。书中的第45页详细的介绍了“初级工程师的成长”,我也在反思自己有没有做到书上的其中一点,怎么才能做到。想了很久也没有想明白。我到底一样怎么做才能成为一名初级软件工程师(第三个问题)。是从软考最底层的程序员过度到初级的软件分析师,最后再考软件工程师。还是说我按照书本的45页的关于初级工程师的介绍,积累了相关知识等,最后才去软考“软件工程师”。

6:总结

看完此书最大的收获就是知道一名合格的软件工程师是怎么样的,要怎么做才能进步。书可以读很多次,每一次都会有不同的感受,对事物都会有不同的认识。我想这可能就是成长的一种表现吧,随着成长我们队许多事情就会用不同的角度思考。对于“构建之法”,我也是这样认为的,现在我只是很粗浅的认识了软件工程,谈不上任何实际,但一个学期的量变可以让我看到质变,到那时候再细细读,可能就是更加有感受,更加知道怎么做才能学到自己想要的吧。

加油吧,少年!精彩的人生正等着我们每一个人呢!

时间: 2024-08-02 14:06:27

”构建之法“——我会用一学期的时间去读你懂你的相关文章

《构建之法(第三版)》速读提问

<构建之法(第三版)>速读提问 1.什么是软件工程 软件工程学科诞生后,人们为软件工程给出了不同的定义,例如最早的定义是由F.L. Bauer给出的,即"软件工程是为了经济地获得能够在实际机器上高效运行的.可靠的软件而建立和应用一系列坚实的软件工程原则". 软件工程学科包含为完成软件需求.设计.构建.测试和维护所需的知识.方法和工具. 软件工程是一门交叉性的工程学科,它是将计算机科学.数学.工程学和管理学等基本原理应用于软件的开发与维护中,其重点在于大型软件的分析与评价.规

疑问——《构建之法》

<构建之法>的确很形象,准确,读起来觉得很有道理,可是 1. 我该如何高效的学号软件工程,完全的根据构造之法可以吗? 2. 具体到实践还是一头雾水,是不是可行! 3. 还有就是时间问题,要知道我们学的学科很多,时间问题不能忽视! 4. 在本科阶段都说知识了解,那么对于软件工程的学习该达到什么程度? 5.自己的动手能力很差,这学期可以跟得上节奏吗?

关于PAT和《构建之法》

这是官网的介绍——计算机程序设计能力考试(Programming Ability Test,简称PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计实现能力,科学的评价计算机程序设计人才,为企业选拔人才提供参考标准.我觉得PAT的真正价值在于帮助那些学历或者专业不太好的人突破壁垒,也就是通过HR第一轮的刷简历,后面的流程还是需要自己有真才实学才可以啊.陈越姥姥致力于把PAT打造成IT业的托福,而事实上也确实如此,如今已初具规模,参加一次这样的考试,对我这种编程渣来说

《构建之法 》800 字观后感

最近看到 <构建之法>的“8.6 计划和估计”这一节,颇多感触.这些年来,不同的阶段,对项目计划都有不同的认识和掌握. 提到了制定计划的几个概念:目标.估计和决心. 目标:表明一个希望达到的状态.例如,软件“五一”之前要投放市场!在建校一百周年之时把我校建成世界一流大学!不论这类目标如何重要,它们未必能够实现.估计:以当前了解的情况和掌握的资源,要花费多少人力物力时间才能实现某事.决心:保证在某个时间之前完成预先规定的功能和质量.例如:我们跑步前进,全民炼钢,两年超英赶美!大二的暑假的时候,从

构建之法,运用之妙,存乎一心

构建之法,运用之妙,存乎一心:读邹欣<构建之法> 1. 构建之法,存乎一心 史学理论与史学史,是把历史自己作为研究对象的学科,前者讨论历史本身所研究的内容,后者讨论历史研究本身的历史.这种对于抽象的抽象的研究,正符合计算机领域 meta... 这样的思想.当年 xml 刚出来时,不少计算机和图书情报的大学生照本宣科地提到,xml是关于数据的数据,是 meta-data. 史学理论与史学史专家周老师在谈到史学理论的时候说到 (大意) ,学习史学理论与史学史,必先有历史的修养,要努力了解更多的史实

回望来时的路:构建之法东北师大站 2016春季学期

1.  前因 微软邹欣老师著有<构建之法:现代软件工程>[https://book.douban.com/subject/26577755/].第一版首版以前,我还不知道邹老师是哪一位,就在网上曾经看到过有人转引他的观点,感到说得太有道理了,一拍大腿的感觉.比如他提到教师和学生之间应该是健身教练和学员间的关系,不是教师带领学生参观浏览,也不是狱警和囚徒的关系.比如他批评没有代码量的软件工程教学.<构建之法>到手,第一遍粗读我花了一周的时间,酣畅淋漓.很多处让你再拍大腿,"

软件工程-构建之法 学期总结

一.翻译1.软件工程师是领导项目团队做软件需求分析,软件说明书,软件设计,开发,测试和软件运行与维护的高薪并收人尊重的职业.根据对健康的承诺,安全和公众利益,软件工程师应该遵守的一些职业道德:(1)公开---软件工程师应该与公共利益相一致.(2)客户和雇主---软件工程师应该为自己客户利益最大化,并且保证雇主符合公众利益.(3)产品---软件工程师应该尽可能的确保他们的产品和相关的修改符合最高专业标准.(4)判断---软件工程师应保持其完整性和独立性在专业判断方面.(5)管理---软件工程管理者

本学期计划及其对构建之法的十个问题

本学期我读的另外一本书是<程序员修炼三部曲>,程序员修炼三部曲>丛书包含了三个部分,旨在帮助程序员解决日常工作中遇到的一些具体问题,内容覆盖了对于现代软件开发非常重要的基础知识.这套丛书展现了注重实效的实际技巧及工具使用方面的内容. 读完构建之法之后,我有十个对书中不理解的问题 1.计算机科学与软件工程的侧重点有什么不同? 2.软件工程这个学科到底包含了什么样的知识,这些东西是在什么基础上建立的? 3.怎样才算一个好的单元测试,单元测试是什么? 4.什么是相邻步骤的回溯? 5.团队模式和

构建之法读书报告

这学期的软工课上接触到了构建之法这本书, 这本书语言轻松愉快,读起来就像读小说一样适合年轻的学生阅读,从中学到知识.所以老师推荐给了我们并让我们写读书报告. 首先拿起这本书,封面简介但不失设计感,引起了我的兴趣.翻开它读起来其中的语言让我非常舒服.第一章概述讲的是什么是软件工程,不用多说,软件工程就是从拿到需求开始的到运营维护一个系统的一系列设计,从需求到架构到实现.第二章,讲的是单个设计人员如何提高自己的技术和单人开发的流程这也是很重要的,开发以人为单位每个人的能力决定了了团队的能力,学习个人