zoukankan      html  css  js  c++  java
  • 读《构建之法》有感

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

     

     

  • 相关阅读:
    Mayan游戏 (codevs 1136)题解
    虫食算 (codevs 1064)题解
    靶形数独 (codevs 1174)题解
    黑白棋游戏 (codevs 2743)题解
    神经网络 (codevs 1088) 题解
    The Rotation Game (POJ 2286) 题解
    倒水问题 (codevs 1226) 题解
    银河英雄传说 (codevs 1540) 题解
    生日蛋糕 (codevs 1710) 题解
    第一章 1.11 高阶函数
  • 原文地址:https://www.cnblogs.com/lumoju/p/5515187.html
Copyright © 2011-2022 走看看