《软件构造》课程感悟、收获及建议


在学习《软件构造》这门课程之前,我对编程的理解还只停留在写程序、改Bug的阶段,学完了这门课程之后,我对编程以及软件工程的思想有了更加深刻的认识。

在第一节课上,老师向我们解读了这门课的目标:掌握构建软件系统的基础和设计原则。即:①在高级语言程序设计的基础上,认识软件构造的质量标准与目标,学习软件构造的基本过程,从而具备面向质量目标的复杂软件构造方法与能力。②深入学习抽象数据类型ADT 与面向对象编程OOP。③初步掌握面向关键质量目标(可理解性、可维护性、可复用性、健壮性、时空性能)的软件构造基本技术。④了解软件代码重构和面向更复杂软件系统的高级构造技术。

对于我来说,之前无论是完成其他课程的实验,还是参加程序设计竞赛,还是刷oj,还是日常写一写代码,考虑更多的都是怎么设计好算法、怎么让程序运行出来并且得到正确的结果。一是因为设计的代码量比较小,二是因为自身也缺乏“工程”的意识,写出的代码充其量只能被称为小程序。

学习了这门课之后,对我来说,这门课给我带来的思想转变是从基础的编程与算法设计思想到大型工程的设计、分析、实现与优化。可以从四个方面来说,就是从功能到质量,从具体到抽象,从编程到工程,从手工到工具,学会了更好的软件构建手段。

这门课主要教会我的知识是软件构造的基本过程,软件构造的质量标准与目标,ADTOOP,面向可复用性、可维护性、可理解性、健壮性以及性能的编程技术,代码重构,和并行/分布式/GUI的相关知识。

这门课给我的最大收获是程序设计思想的转变,以及对设计目标、设计原则、设计模式的理解,以及大大提升了编程的技术。

对于实验,这门课程的六次实验结合课程内容训练了相关的技术,对于课程思想的理解和编程工具的应用有了大大的提升。

最后是对这门课的诚恳建议:我认为软件构造课程内容过于庞杂,学生的学习情况会严重出现两极分化。体现在期末考试内容也是这样,希望不要出现上个学期《计算机系统》考试的混乱和大规模低分情况。同时,对于实验,我们上个学期计算机系统的实验是比较规范的,很少出现考虑不周和临时修改的情况,但是到目前来看,软件构造的实验在这几点上面显然做的不够好,包括这次的实验以及Lab3很多地方出现歧义都体现了这一点。


猜你喜欢

转载自blog.csdn.net/qq_36163296/article/details/80727207
今日推荐