软件工程阅读笔记3

  第七章主要是测试与改错。测试的目的是为了发现尽可能多的缺陷。测试并不仅是个技术问题,更是个职业道德问题。在软件测试时如果发现了错误,必须请程序员改错,否则测试工作就白干了。改错是个大悲大喜的过程,一天之内可以让人在悲伤的低谷和喜悦的颠峰之间跌荡起伏。改错之后一定要马上进行重新测试,以免引入新的错误。程序中的错误只有开发者自己才能找出并改掉。如果因畏惧而拖延,会让你终日心情不定,食无味,睡不香。所以长痛不如短痛,要集中精力对付错误。程序员应该把测试当成份内之事,不要依赖于外界的“黑盒测试”。程序出了错误一定要改错,但是“编写优质无错”的程序才是根本的解决之道。

    第八章讲的是维护与再生工程。对软件而言,''维护''是个不太直观的术语,因为软件产品在重复使用时不会被磨损,并不需要进行像对车辆或电器那样的维护。软件维护是人们对既丰富多彩又会令人心酸的活动的统称。其中丰富多彩的活动是指那些反映客观世界变化、能使软件系统更加完善的修改和扩充工作。令人心酸的活动是指那些永无修止、并且改了旧错却引起新错让人欲哭无泪的工作。一些学者将软件维护划分为主要的三类:纠错性维护(Corrective maintenance)、适应性维护(Adaptive  maintenance)和完善性维护(Perfective maintenance):
(1)纠错性维护。由于前期的测试不可能揭露软件系统中所有替在的错误,用户在使用软件时仍将会遇到错误,诊断和改正这些错误的过程称为纠错性维护。
(2)适应性维护。由于新的硬件设备不断推出,操作系统和编译系统也不断地升级,为了使软件能适应新的环境而引起的程序修改和扩充活动称为适应性维护。
(3)完善性维护。在软件的正常使用过程中,用户还会不断提出新的需求。为了满足用户新的需求而增加软件功能的活动称为完善性维护。Lientz  和Swanson调查发现(1980年),完善性维护约占65%,适应性维护约占18%,纠错性维护约占17%[Sommerville  1992]。上述调查已是20年前的事了,我们不必太关心具体的比例,心里有数即可。

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

     这本软件工程思想大概只有百页,核心讲的是设计,贯穿全文的是思想。

    书的最后,林锐博士更是讲叙了自己的“十年”大学生涯,生动而精彩,让人回味无穷。所以,我想以作者的肺腑之言结束我的这篇读后感:

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

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

posted @ 2016-06-16 11:00  Fanyalei  阅读(140)  评论(0编辑  收藏  举报