基于反馈的软件工程专业创新实践教学探讨
2019-07-15张慧敏谢武孙晋永徐智
张慧敏 谢武 孙晋永 徐智
摘 要 为了提高软件工程专业创新实践教学质量,改善实践教学的综合评价的结果,本文提出一种基于反馈控制的软件工程专业创新实践教学方法。从软件工程专业实验课、课程设计、毕业设计等实践教学结果来看,利用该方法取得了较好的教学效果,教学质量得到了提高。
关键词 创新实践教学 软件工程 反馈 教学质量
中图分类号:G424 文献标识码:A DOI:10.16400/j.cnki.kjdks.2019.06.059
Discussion on Innovative Practice Teaching of
Software Engineering Major Based on Feedback
ZHANG Huimin[1][2], XIE Wu[2], SUN Jinyong[2], XU Zhi[2]
([1] Guangxi Normal University, Guilin, Guangxi 541004;
[2] Guilin University of Electronic Technology, Guilin, Guangxi 541004)
Abstract In order to improve the quality of innovative practice teaching of software engineering major and the results of comprehensive evaluation of practice teaching, an innovative practice teaching method is put forward for software engineering major using feedback control in this paper. From the practical teaching results of experimental course, course design and graduation design for software engineering major, it can be seen that we have achieved good teaching effects to improve the teaching quality via this method.
Keywords innovative practice teaching; software engineering; feedback; teaching quality
1 軟件工程专业实践教学面临的问题
由于软件工程专业本身的特点,实践教学环节在本科人才培养体系中占据十分重要的地位。对于地方高校软件工程专业,除了开设理论课的课内实验、独立设课实验等实践教学外,数据库、Java、J2ee、UML等技术的课程设计相继在本科教学中得到了重视,学生的实践能力得到了提高,也促进了学生的就业。然而,在实践教学过程中,就创新实践方面而言仍存在一些问题。
一是学生虽具备一定的初级编程能力,但综合开发的能力训练不够。学生对C语言、Java语言、统一建模语言等课程的基础掌握较好,能够通过编程解决相对简单的工程问题。但是对于给定特定项目背景的软件系统,学生围绕软件开发创新实践的系统化思维训练则存在较大不足。在编程基本功训练过程中,教材或课堂等处的例子相对比较简单,问题的求解过程不太复杂,编程的代码量不多,大多数学生都能通过相对简单的编程解决给定的软件类问题。随着软件项目规模的增加,比如由简单的实例逐渐转变为数据库系统、游戏类软件或应用类软件等,软件系统中的对象及其关系变得相对更加复杂,而学生在软件项目综合开发时往往比较困难。软件开发创新实践能力的训练尤为重要而凸显不足,学生通常在这方面有所欠缺。
二是学生的软件项目分析和设计能力还有较大的提升空间。软件类的学生编程能力相对较强,在面向软件项目时,动手编程的倾向和次数较多,但缺乏相对完整的软件项目需求分析、总体设计和详细设计等环节的有效方案,这与软件工程专业创新实践教学体系及工程认证要求是不相符的。学生重编程、轻理论、少方案的现象比较突出。以软件工程专业的综合性设计性实验、课程设计为例,学生往往能编写出相对完整的源代码,但缺乏具有可操作性的实验方案或课程设计报告,文档的撰写疲于应付。但从软件工程创新实践体系来看,在软件项目开发过程中,通常要求学生先进行软件的分析和设计,然后根据软件分析设计报告进行系统代码编写。这表明学生在软件分析设计方面还有较大提升空间。
三是软件项目自主开发的创新实践能力有待于提高。从软件工程专业的综合性设计性实验、课设设计、毕业设计等环节来看,学生对简单的软件或系统有一定的项目开发能力,如开发小型数据库系统、APP等。但是对于来源于自拟课题、横向或纵向项目的软件开发任务、算法编程方案等,学生在综合运用软件工程知识方面难以进行创新实践。学生具备一定的模仿能力,但缺乏自主软件项目开发创新能力。在软件类创新实践方面,许多学生需要在老师的协助下完成代码框架搭建或构建文档目录,停留在模仿验证阶段的时间偏长,难以顺利过渡到综合运用软件工程知识进行自主软件开发,创新实践动手能力难以取得较大进步。
从这三个方面可以看出,为了提高实践教学质量,提升学生的就业竞争力,软件工程专业的创新实践教学体系中尚存在急需解决的综合开发、软件分析设计、自主创新实践等方面能力不足等问题。
2 利用反馈的软件工程专业创新实践教学研究
创新实践[1-4]是在传统思维的基础上综合运用各种方法或技能进行创新,并将创新的方法在教育、教学等活动中进行实践。创新实践教学是在现有实践教学的基础上增加创新思想的教学活动。创新实践的过程中需要主观能动性,需要有别于常规思路或常人见解的创新思维。以软件工程专业的创新实践教学为例,它不仅强调软件项目能力的培养,而且增强了自主分析、设计、开发软件的创新实践能力的训练。与传统实践教学不同,创新实践教学强调综合运用改进或创造教与学的方式或方法,侧重学生的自主创新能力的培养,将创新思维付诸于实践,而不是模仿式、验证式的简单而机械地实践教学活动。
在软件工程领域,创新实践教学主要分为两个方面。一是基于客观现实的软件问题的解决方案调整进行软件开发过程的创新,创新有一定的难度,需要综合软件项目相关的信息,整合过程相对较为复杂;二是基于软件开发中的问题解决方案,综合运用软件工程及计算机相关知识进行开创性创新,创新的难度更大,需要较强的信息处理能力和创造能力。以软件类实验教学为例,它更加强调综合性、设计性实验的创新能力的锻炼,如通过软件分析、设计等过程,完成一个小型软件的开发,并形成相关的文档,实现创新性实践教学目标,以提高软件工程专业创新实践教学的教学质量。
软件工程专业创新实践教学,不仅需要教学理念的更新,在软件工程的理论课程也需要充分地体现,融合创新实践的新思想,而且在软件工程实践教学环节,应更加侧重软件项目的自主开发过程,如围绕一个给定创新性软件开发项目,需要从软件项目的可行性分析、需求分析、总体设计、详细设计、系统实现等各个环节进行创新,而不是简单地套模板或模仿,需利用创新实践的结果,反馈到软件开发的各个环节之中。通过将创新性软件项目的各个开发环节中遇到的问题,反馈到系统的开发过程,以提高软件开发的质量,从而使得软件工程专业创新实践教学质量切实地得到提高。
基于反馈的软件工程创新实践教学闭环系统。比如,对于软件工程的实验教学,从演示性实验、验证性实验到综合性设计性实验构成局部的闭环反馈控制系统。通过循序渐进地依次增加创新实践教学活动,使得学生能够实现从模仿完成实验到自主设计完成实验的转变。对于软件类的课程设计也是类似的。围绕软件工程项目,从课程设计选题(问题定义)、分析、設计到系统实现等也构成创新实践教学的闭环系统。学生在课程设计的过程中,综合运用基于反馈的创新实践教学方法,使得学生从下载论文和源代码等课程设计材料,通过分析、整理、模仿过渡到开展自我创新训练,实现自主开发软件作品并撰写课程设计报告,构成反馈闭环系统。在软件工程专业的实验、课程设计的每个局部的反馈控制体系中,各个局部环节不可避免地出现问题,而将这些问题的改进收益反馈到实践教学体系中,整体教学的收益将得到提高。从软件工程专业的实验课、单门理论课的课程设计、综合性课程设计、毕业设计等环节也形成反馈教学管理的体系。从创新实践角度看,这些闭环体系是相对较为完整的。
基于反馈的软件开发实践教学闭环系统。在软件开发的实践教学体系中,结合反馈思想,从问题定义、可行性分析、需求分析、总体设计、详细设计到系统实现和测试等可以构成软件开发实践教学闭环系统,且每个部分都是必不可少的实践教学环节,这在软件类的课程设计和毕业设计等实践教学中体现尤为突出。为了提高软件项目的收益输出,需要将软件开发的各个环节中的问题及其解决方案或改进结果反馈到其前面的环节,形成闭环反馈控制系统。比如,以系统实现和测试为例,在这两个环节的创新实践教学过程中,由于学生客观上缺乏软件项目经验,软件编码和测试等过程中往往涌现出许多问题。而这些问题又与需求分析和软件设计存在较大的关联关系。因此,教师在指导学生进行创新实践训练时,需要将后续环节中的问题及解决方案与前馈环节相结合,通过提高闭环系统的增益改进软件开发过程,达到改进软件类创新实践教学质量的目的。
以上这两个闭环系统虽然维度和角度各不相同,但它们纵横交错,紧密相连,相辅相成,是相互促进的反馈控制体系,这在面向实践教学改革的问卷调查信息系统中也得到了体现。软件项目开发中分析、设计、系统实现、测试等环节也贯穿在综合性设计性实验、课程设计、毕业设计的创新实践教学体系之中。通过反馈思想,可以不断提升软件工程专业学生的创新实践能力,使得软件类创新实教学践体系与软件项目开发的生命周期中的各个环节形成相互促进的良性关系。围绕软件开发创新实践能力,培养学生主动参与、自主学习、自主开发的思维和习惯,单项技能与综合能力并重,不断提升软件工程创新与实践操作的能力,从而有效地提高软件工程专业创新实践教学质量。
3 结束语
本文运用控制论中的反馈思想,提出了一种适合软件工程专业的创新实践教学方法。实践教学结果表明,面向软件工程专业学生的实践教学过程中取得了较好的效果。通过对各个实践教学环节进行不断总结,并将存在的问题反馈到新实践教学任务之中,从学生对实践教学的评价结果可以看出,运用反馈的创新实践教学思想,学生的创新实践能力得到了明显提高,实践教学质量和教学水平得到较大改进,对创新创业项目训练、就业、工程认证等也起到了重要作用。
*通讯作者:谢武
本文项目信息:广西高等教育本科教学改革工程项目(2016JGB226、2018JGB186)、桂林电子科技大学校级教育教学改革项目(JGZ201716、JGZ201720、JGB2014058)、桂林电子科技大学2016年校级教育教学改革示范中心专项项目(面向实践教学改革的问卷调查信息系统研究与设计)、高等学校本科计算机类专业应用型人才培养研究项目 (YYX2015SE00,YYX2015SE01)
参考文献
[1] 李圣福,郭风法,宋宪亮.建立实验教学质量评价体系 不断提高学生实践技能和创新能力[J].教育教学论坛,2018(04):32-34.
[2] 王少坤,陈帝伊,李宗平.融合科技竞赛的农林院校工科专业创新实践教学探索与研究[J].黑龙江教育(高教研究与评估),2018(9):21-22.
[3] 王海花,焦永刚,赵增旭.机械创新实践教学平台建设与实践[J].科教文汇(下旬刊),2018(429):50-51.
[4] 谢泽奇,张会敏,沈阳.新型物联网创新实践教学体系建设[J].实验技术与管理,2018.35(5):31-34,46.