读《构建之法》有感

       有幸学到软件测试这门课程,能够读到《构建之法》这个本书
       以前学习软件工程的课程的时候,总是感觉这门课程及其枯燥无味,总是在说太多的理论,很少会涉及到实践,甚至根本就是没有实践这个环节,所以学习很无聊,但是研究生阶段读到这本书,真的是全新的感受,首先,不仅仅只是在说理论了,加入了很多实 践的东西,而且内容很生动。
       第一章作者就说了“软件 = 程序 +软件工程”,以前写软件或者说程序,就只是写程序,最多会考虑到数据结构的知识,很少会用到软件工程,但是随着学习的深入,代码量的累积,如果还是和以前一样只是关心程序只要是可用的,实际可运行的,那么就没有意义了,这样的程序写出来也是没有价值的,首先,软件工程不仅仅就只是涉及到计算机或者软件方面的知识,相反,软件工程涉及了很对其他学科的知识,一个合格的软件开发人员如果只是懂得怎样去写程序,那么这仅只是初级阶段,更高级的应该是从一个更加高级的层面上去考虑更多的东西,如整个软件的架构。
       整本书从实际软件开发的各个阶段出发,详细地分析了软件工程的各个环节,如:需求分析、设计实现、用户体验、软件测试已经最后的发布等等。
       首先,说说代码风格,一个良好的代码风格规范是一个软件开发人员最起码的要求,即使程序写得是多么地出色,具有广阔的市场应用前景,但是如果背后是混乱不堪的代码,那么就会对这个软件日后产生不少的负面的影响,特别是在后期的维护以及版本的迭代上,不规范的代码对于日后的维护人员来说,简直就是噩梦,以至于 最后实在是没办法了,只好是全部推倒重写,当然这个最坏的打算了,所以好的代码规范是多么地重要,特别是在日后开发具有商业价值的项目时,或者是在一个软件项目的团队里工作,代码规范相当重要。
       结对编程,这个对我来说真的是一个新词,以前我的认知就是,尽管是一个团队一起完成一个项目,但是个人的任务,还是独立的完成自己方面的代码。但是,在结对编程的模式下,是由开发人员肩并肩、平等地、互补地进行开发,无论是设计、分析、编码、测试。 结对编程最大的好处就是可以使得实际开发出来的代码不断地处于“复审”的过程中,可以及时发现问题,可以及时解决问题,可以极大地避免将问题带到最后的测试或者是发布阶段。
       具体到软件的设计与实现,从软件工程的角度来看,并不是一上来就是进行实际的编码,而是进行诸如需求分析、写设计文档等相关的编码前的相关准备工作,第一步就是写设计文档,然后针对这个设计文档进行团队内部的复审,然后再进行开发,写完代码后,按照原先的设计文档和代码指南进行自我复审,重构代码;接下来写单元测试,如果可以,那么可以发布一个简单的小程序,在少数用户的范围内使用,方便及时地发现问题。好像到了这里,如果没有什么大的架构或者程序上的问题的话,那么一个相对比较完整的软件版本就已经实现了,但是在软件工程中还有一个问题往往会被忽略,那就是“用户体验”,用户体验是产品是否成功的最重要因素,如果用户对于产品不买账,产品就是失败的,而客户体验也是产品进行优化最主要的依据。我们都知道一个界面美观的设计有的时候也会给一个软件增色不少,使得用户的第一个直观的感受就是这个界面首先是吸引人的,做好一个用户体验,首先需要明确这个软件的受众或者说面向的是什么样的群体对象,根据具体的群体是喜好进行针对性的设计,才能更好地满足用户。
学好软件工程也是不简单的。

 

 

原文地址:https://www.cnblogs.com/lumoju/p/5515187.html