程序=算法+数据结构这句话我估计应该深入每个计算机系学生的心里了,但是就像书中所说的一样除了上数据结构课程我们没有用过任何与数据结构有关的东西,难道老师讲的都是错的吗?构建之法给了我明确的答案,这都是我们就业后所要面临的问题,因此,软件工程概论这门课就显得尤为重要了,它可以帮助我们了解软件工程整体结构,了解其中的各个流程,使我们能够了解到我们今后将会遇到的问题,提前让我们熟悉这个行业,意识到自身所学真正的作用。
软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。它包含多个领域,和多个学科相关。软件又有许多特性:复杂性、不可见性、易变性、服从性、非连续性。之后又给我们讲解了软件工程和计算机科学的不同之处。一个是偏理论,一个偏实践,两者并非水火不容,而是互相促进,共同发展的。而软件工程最主要的目标便是让我们学着去创造足够好的软件——用户满意度高,可靠性好,流程质量高,可维护性好。如果能知道了解这些,我们算是大体上认识了软件工程。
为了更好地开发软件,我们需要了解个人软件开发流程。首先就是单元测试,软件是有多人合作完成的,我们写的模块不是仅仅为我们所用的,而是需要被其他人调用的。所以,在此过程中便容易会出现一些误解,进而产生一些错误。这时,为了保证模块的质量,单元测试就显得极为重要了。单元测试存在一系列标准:能测试一些最基本的功能和参数,测试应该交给熟悉了解此程序的人来完成,速度快,产生可重复一致的结果,独立,能覆盖所有的代码路径,可以进行保存和维护。还要记录自己的开发流程,以用来为以后提供经验和借鉴,并可以审视自己是否有所进步。
个人感受:应该把构建之法中的思想应用到平时软件工程作业中去,这样才能不断提高自己的编程水平,而且更有利于自己未来开发软件,因为你有了一个良好的习惯。