《软件工程思想》读后感

在老师的强烈推荐下, 我花了两天时间略看了林锐博士的《软件工程思想》这本书,尽管不是字字斟酌,但读完后还是收获颇丰。

这本书不过百页,总体看来,作者文笔不错,文风幽默又略带自谦,这是我很喜欢的。在读到作者形容程序员的生活和工作已融为一体,尽管单调却不乏味,还能独享孤独一处时,作者写到,“有诗为证:我编程三日,两耳不闻人声,只有硬盘在歌唱。”我不禁笑喷。哈哈~~却实是很好玩一人,心里顿时对这本书的下文来了兴趣。仔细想想,我国当今的程序员队伍虽然强大,但以木讷不善言谈者居多,而此书作者能够将此书写得此般精简透彻,幽默风趣,足以想象他的其它作品的魅力。以后还要继续拜读他的其它作品!

此书核心讲的是设计,贯穿全文的是思想。共八章,后面附录“大学十年”。

第一章“软件工程基本观念”;

第二章“程序员与程序经理”;

第三章“项目计划与质量管理”;

第四章“可行性分析与需求分析”;

第五章“系统设计”;

第六章“C++ 面向对象程序设计”;

第七章“测试与改错”; 读后感

第八章“维护与再生工程”。

此书先讲述了软件工程的基本观念,从宏观上探讨了软件工程。第一章讲述软件工程的目标和常用的软件工程模型,软件开发的基本策略:“复用”、“分而治之”、“优化——折衷”,有助于指导实践者选择方法和产生新方法。后面取材于早期软件人员比较幼稚的想法,例举了一些不正确的观念,可以让初学者引以为戒。接着让读者了解程序员的那些事,并谈到真正程序员具有的四个秉性:诚实,简单--实用主义,爱憎分明,工作单调但不乏味。真正的程序员会对自己喜欢的工作一直保持兴趣,生活和工作已融为一体,尽管单调却不乏味,还能独享孤独。优秀的程序员没有理由不让人喜欢,他们远比怪癖来得可爱。这着实是对程序员的一种勉励。此外,作者指出一个好的程序经理应该技压群雄,博学多才,更应有人格魅力,无论何时,用实力征服他人是硬道理,而程序员经理在管理上要“以身作则”、“公正待人”,唯有做到这些,别人才会信服你,团队才有凝聚力开发出优秀的软件。程序员在编程过程中,难免会遇到挫折,所以要向错误与失败学习,冷静地分析问题,找出问题的内因与外因,而不能目光短浅,力求深刻才会有效。程序员如何提高综合素责?倘若自己资质一般,但愿意亡羊补牢,力求学得更深更广,最终总会有意想不到的收获。最后疏导,程序员不该因为幼稚而显得单纯,应该是成熟了才变得单纯,才配得上这个充满活力的职业。不该因为幼稚而显得单纯,应该是成熟了才变得单纯,我想做人也是同一个道理。紧接着是项目计划与质量管理,项目计划的准则是要提供一份合理的进程表,让所有开发人员任务明确、步调一致,最终共同准时地完成项目。所以软件的项目计划重在“准确”“实在”,提高质量是软件工程的主要目标。但又因为软件开发是一种智力创作活动,很难象传统工业那样通过执行严格的操作规范来保证软件产品的质量,因此程序员必须了解软件质量的方方面面(称为质量因素),如正确性、性能、易用性、灵活性、可复用性、可理解性等等,才能在进行系统设计、程序设计时将高质量内建其中。软件的高质量并不是“管理”出来的,实质上是设计出来的,质量的管理只是一种预防和认证的手段而已。关于软件的可行性分析与需求分析,软件领域的可行性分析主要考虑四个要素:经济、技术、社会环境和人。对于系统设计,第五章讲述了系统设计的四方面内容:体系结构设计、模块设计、数据结构与算法设计、用户界面设计。并将软件系统比喻为人体,体系结构就如同人的骨架;模块就如同人的器官,具有特定的功能;数据结构与算法就如同人的血脉和神经,它让器官具有生命并能发挥功能。数据结构与算法分布在体系结构和模块中,它将协调系统的各个功能;用户界面就如同人的外表。在进行系统设计时,要深情地关注软件的质量因素,如正确性与精确性、性能与效率、易用性、可理解性与简法性、可复用性与可扩充性等等。即使把系统设计做好了,也并不意味着就能产生好的软件系统。在程序设计、测试、维护等环节还要做大量的工作,无论哪个环节出了差错,都会把好事搞砸了。内聚和耦合是密切相关的,与其它模块存在强耦合的模块通常意味着弱内聚,而强内聚的模块通常意味着与其它模块之间存在弱耦合。模块设计追求强内聚,弱耦合。第六章,C++面向对象程序设计。这章讲叙了 C++面向对象程序设计的重要概念,如类与对象,继承与组合, 虚函数与多态,良好的编程风格等,内功深厚的武林高手出招往往平淡无奇,同理,编程高手也不会用奇门怪招写程序。良好的编程风格是产生高质量程序的前提。再到后面的new、delete与指针,const的使用。第七章主要是测试与改错。第八章讲的是维护与再生工程。

读后感

一个好的项目,设计至少可以占到百分之五十甚至更多。林锐的文章当中,自始至终在灌输两个思想,一个是高内聚低耦合,一个是设计应当以行为为中心而非数据为中心,业界的话就是应当以需求为中心。

书的最后,林锐博士更是讲叙了自己的“十年”大学生涯,生动而精彩,让人回味无穷。

所以,我想以作者的肺腑之言结束我的这篇读后感:

一、主动去创造环境,否则你无法设计人生。

二、生活和工作要充满激情,否则你无法体会到淋漓尽致的欢乐与痛苦。

时间: 06-18

《软件工程思想》读后感的相关文章

林锐《软件工程思想》读后感

读了林锐博士的<软件工程思想>,我对软件工程这门学科又有了更加深刻的认识.这本书不过虽然并没有什么长篇大论,但是作者的文风幽默而且亲和.特别是在写程序员的生活和工作已经融为一体时,即便现在仍在大学阶段,但是作为一个准程序员,心中也多了很多共鸣. 书首先从宏观上讲了软件工程是什么,软件工程的目标和一些常用的软件工程模型,软件开发的基本策略.这些方法对于我们大学生来说可谓至关重要.为什么呢?因为我们刚进大学时学习的高级程序语言设计仅仅停留在简单的做题,或者集中在一些算法的研究和实现上.我们其实对真

《构建之法:现代软件工程》读后感

<构建之法:现代软件工程>读后感    邹欣老师的<构建之法:现代软件工程>书中文笔优美,图文并茂.读者可以通过这些图片加深对相关概念的理解:再次,书中内容层次分明,作者将很多知识点通过几个小点顺序列出,让读者阅读和理解起来更加的容易.语言幽默.诙谐.书中用“阿超”.“国栋”.“小飞”.“小李”等角色之间的对话来揭示一个概念的本质.这让读者觉得十分的“接地气”,同时通过他们之间风趣的对话又加快了对相关概念的理解. 这学期看了下构建之法,感觉有了许多收获.     首先,理论与实践并

《构建之法——现代软件工程》读后感

通过第一章,我大概了解我将要从这本书中学习什么,如何落实学习.本书的作者——邹老师,通过设定简单的人物和简短的话语,使得书本远离枯燥无味,同时还条理清晰,这加强了我看书的耐心. 1.1节通过3个简短的对话和一个生活实例,启发我对什么是程序,什么是软件,什么是软件工程,没有使用到算法需不需要学习.掌握,软件和算法,数据结构有无关联等问题的思考.仔细想想发现自己对这些概念模糊,毫无理解.通过继续往下看,我才渐渐的明白了一行行的代码是源程序,能满足各种功能的是应用软件,能保证维修的是软件服务…..也了

大道至简:软件实践者的思想读后感

<大道至简>提出了审视软件工程的全新视角和软件工程的体系模型,是第一本讨论软件工程思想本源的书籍,也是第一本从工程实践出发溯源而论的佳作,虽然没有看到纸质版,但也了解了不少知识.        通读下来后,能够留在我脑海中的关键字只是工具.boss是"经营者".软件工程中作者的一些感悟.        先说说语言只是工具吧,作者提到为那些争论语言孰优孰劣的开发人员感到可悲.然而,能够得出这样一个结论之前的人,恰恰之前正在经历这样一个阶段.而我认为:作为JAVA开发人员来讲,

《软件工程思想-适合初学者》阅读笔记3

今天读完<软件工程思想-适合初学者>最后两章和作者大学十年的经历,第7章是测试与改错, 再次回顾了老师上课所讲测试的目的,发现更多的缺陷然后改正.还有学习到了一些测试方法,比如 正确性测试.容错性测试.性能与效率测试.易用性测试.文档测试.第八章是维护与再生工程,对 于维护我可能了解一些,主要是纠错性维护.适应性维护和完善性维护等等,也学习到一些维护的所 付出代价与影响维护代价的因素.对于再生工程刚开始看到这一名词有些陌生,后来看到重构.逆向 工程.前向工程我就有了一些熟悉感,老师上课提到了重

我推崇的软件工程思想--敏捷开发

在前一篇博客中谈到了是上课学的是"上世纪"的软件工程思想,先买呢谈谈我推崇的软件工程思想----敏捷开发 为什么要敏捷开发 "没有人喜欢敏捷,但我们不得不敏捷.就像没有人喜欢工作,但你必须工作."这是我经常用来调侃敏捷的一句话. 试想一下,拿到一份完整详尽的需求文档,逐个功能Coding,测试部署上线.不需要再次确认需求,不会有人打断思路.没有需求更改,只要自己不犯错,不存在推倒重来这才是大部分开发人员最舒服的工作方式吧,简直太完美了.但它很像瀑布,一点都不敏捷.

大道至简:软件工程实践 思想读后感

中华道家哲学.道在中国哲学中,是一个重要的概念,表示“终极真理”.此一概念,不单为哲学流派诸子百家所重视,也被宗教流派道教等所使用. 大道至简是指大道理(基本原理.方法和规律)是极其简单的,简单到一两句话就能说明白.就是说本书就是言简意赅的将软件工程总的概括起来讲讲到底什么是软件工程理解他. 文章的开头就用愚公移山为例子将“惩山北之塞,出入之迂”作为原始需求,“聚室而谋曰”作为基本的沟通 方式,“毕力平险,指通豫南,达于汉阴”作为项目目标,“扣石垦壤,箕畚运于渤海之尾”作为技术方案,“(愚公)率

大道至简:软件工程实践者的思想 读后感

不出所料,本书就像是题目一样,语言简练惊骇,而是以小故事的形式向读者讲述作者思想,读起来很有趣,不会感到索然无味.从愚公移山的故事中引出了编程的精义,让我们对编程又有了新的理解,有了更深刻的认识,原来古人都有了编程的思想,只是那时候没有计算机,要不然没准也是一个出色的程序猿,工程师. 大道至简的第一章第一节就是编程的精义,文章开始就引用了愚公移山的寓言故事:我们看到了原始需求的产生:“惩山北之塞,出入之迂”,我们也看到了项目沟通的基本方式:“聚室而谋曰”,然后,我们看到愚公确定了一个项目的目标:

大道至简——软件工程实践者的思想 读后感2

团队缺乏的不只是管理,而缺乏的又是什么呢?1.作为一个团队,必须得选个领导,不是要程咬金一样的牛人,而是要李离一样的死士.项目完成不了,切脑袋的事倒不必做,递交辞呈的那点勇气总是要有的.2.组织模式确定的同时,相应的制度也有随之建立.先做制度总是好的.至少在你选择做伏剑自刎的李离之前,你还有机会把黑锅扔到出问题的员工的头上.3.管理者需要确定组织机构模式,或者为组织中的成员进行角色定位和分工.如果这样,不要出现“既不能令,又不受命”的人.4.你是管理人员.所以尽管你是团队中的角色,但千万记得离蚂