软件工程教学平行实验运用

软件工程教学平行实验运用

摘要:

《软件工程》是一门理论与实践紧密结合的学科。目前的实验教学存在诸多问题,本文总结了多年来《软件工程》的实验教学经验,提出了章节实验+课程设计的教学实验方案,并在教学中合理运用,取得了有效地成果。

关键词:

软件工程;课程设计;实验教学

0引言

随着Web程序设计及云与大数据在各领域中的广泛使用,工程化的开发人员越来越被需要,然而在现有高校的《软件工程》教学中,不太注重对学生的软件设计、开发及运行维护能力的培养,而往往把大量的理论灌输在软件工程这门课上[1-3]。如何在《软件工程》教学中最大限度地激发学生的实践能力是亟待解决的一个重要课题。另一方面,基于软件生命周期的工程化开发方法,归根结底属于文档驱动型的开发方法,如何引导学生书写规范化的软件开发文档也是我们教学过程中应该注重的一部分。鉴于此,我们提出了章节实验+课程设计的启发式软件工程实验教学模式,以激发学生的学习积极性,增强学生的实践开发能力。

1目前软件工程实验教学中存在的问题

1.1理论教学缺乏新意,无法激发学生的学习兴趣

《软件工程》课堂教学内容基本为理论讲授,按照软件的全生命周期过程,分别给学生介绍了问题定义、可行性研究、需求分析、概要设计、详细设计、编码测试与维护的相关理论知识。通过课堂教学,大部分学生只掌握了基本概念、开发原理,开发方法。课堂授课枯燥无味加上内容较抽象,严重影响了实际教学效果。实际上,随着软件开发规模的不断扩大以及对软件质量要求的提高,软件工程课程的教学内容及教学模式更应该注重理论与时间的结合。既要注重软件设计的基本原理与方法,还要注重软件开发的实践经验以及技术运用。

1.2实验内容不具体,学生无从下手

目前的《软件工程》实验,一般只有一个课程设计,题目自选,类型自选。这样的实验要求缺乏具体性,使得学生无从下手。另外《软件工程》的整个教学过程是基于软件生命周期的过程,在每个相关阶段都有具体的实施技巧与实施方法,可以将具体的的技术方法以小实验的形式命题[4-8]。比如在讲到需求分析的工具数据流图时,可以给出一个小型系统功能的问题描述,然后让学生利用MicrosoftVisio画出描述该业务流程的数据流图,这样既可以将理论应用于实践,又体现了文档驱动型的开发理念。

1.3实验教学缺乏有效的检测机制

目前的实验教学,教师一般是把课程设计布置下去,然后让学生独立完成。但是对于没有任何开发经验的学生来说,根本无从下手,所以80%的学生最后放弃了实验。只有部分学生开展了课程设计,但中途遇到困难也就放弃了。因此规定好课程设计的题目,进行有效的选题知道,中期审查以及后期检查等活动,可以督促学生完成设计。另外,在整个课程设计过程中,教师的辅导时必不可少的。

2章节实验与课程设计相结合的平行实验教学模式

随着理论教学的推进,在适当的知识点完成后,安排小实验,以巩固所学知识。另外,大实验设计即课程设计贯穿整个学期,通过大实验的设计与实现使学生实际体验系统开发全过程。这样大小实验穿插进行,相辅相成,相得益彰。

2.1章节实验内容的设计

《软件工程》理论教学是按照软件生命周期的全过程完成的,在各个开发实施的阶段都会介绍到开发原理、开发工具、开发技术[9-14]。比如在可行性研究阶段会介绍到数据流图、数据字典;在需求分析阶段会介绍到E-R模型、层次方框图、Warnier图等;在设计阶段会介绍到结构化的设计方法、过程设计工具PAD图、判定表、判定树等;在实现阶段会介绍到各种测试方法:单元测试、集成测试、回归测试、白盒测试、黑盒测试等;在面向对象的开发方法中又会介绍到UML的各种模型图。对于这些知识点,我们都设置了小实验以巩固学生的理论知识。其实验设计如表1所示:小实验的内容贯穿整个实验教学过程,通过十个小实验的练习,将课本上90%的知识点覆盖,学生即通过实验巩固了理论知识,又学会了如何将理论知识应用于实践,还掌握了一些文档编写需要的工具。

2.2课程设计实验的设计

课程设计以应用型软件系统研发为主,教师给出部分的设计实施题目,也可以学生自选设计题目,但教师要最后把关。根据实际需求,灵活选定软件项目,在规定的周期界定范围内,学生完成相关的阶段性任务,以规范性的文档形式提交任课教师审阅。批准后,以此为据,展开下一阶段任务。整个的分析、设计和研发过程,是以规范性的文档形式为审阅结果及实践提交成果。课程设计以软件生命周期为依据,序列化螺旋式展开,每一阶段都以相应的文档性资料为依据,通过审核后方可进入下一阶段的任务,最后提交软件系统,整理代码结构,以及相关的后期工作任务总结资料。

2.3两种实验内容相辅相成

所谓平行实验室指在以种教学实验任务中,以两条不同的主线开展实施,两个中心的实验分别针对不同的知识点和锻炼方向。中心的实验内容,表1旨在锻炼学生的基础理论知识的实践运用,表2旨在锻炼学生的实践综合运用能力。两个实验方向平行进展,同时开始,分别进行。从不同角度和方向促进了学生的实践能力的培养。

3平行实验教学模式的具体实施方案

3.1平行实验开展过程及方法

对于小实验,我们以章节为单位,当学习到相关的理论知识时,开展适应的小实验内容。学生独立完成小实验,并提交实验报告。对于课程设计,我们以小组为单位完成,每小组大概10人左右,设定队长,有效划分工作任务。在规定的时间内,由小团队独立完成。在任务的展开过程中,出现问题,由教师与学生一起共同解决,并且主要采取引导的方式启发学生独立分析和解决问题。

3.2平行实验模式的教学收效

本实验课程在3届软件工程相关专业的教学中实施,通过该课程的学习,学生巩固和加深了软件的工程化和系统化知识,了解了整个学科、专业和课程的发展前沿和实施背景,进一步加强了学生个体综合设计及创新能力的培养,同时良性引导和培养了学生实事求是、严肃认真的科学作风和良好的学习和实践习惯,为今后的就业和深造打下扎实的基础。

4结论

《软件工程》实验在学院实验室以及部分合作实施单位的开发梯队中展开,收到了良好的效果。我们实时记录学生的项目执行过程,做好日志的量化登记,为此指定了学生的校外实践指导教师参与,以后将利用校企合作这个广阔平台,更加深入的进行工程化的实践练习。

作者:王妍 高仲合 倪建成 单位:曲阜师范大学软件学院

参考文献

[1]李晓东,魏惠茹,董振华.项目驱动教学法在计算机程序设计语言课中的探索[J].软件2015,36(4):107-109。

[2]张作辉.浅谈计算机教育教学的分组模式[J].软件,2014,35(1):132-133

[3]王蕾.计算机上机实践课程改革探索[J].软件,2014,35(2):172-173.

[4]李冬芬,施键兰,黄文秀.独立学院非计算机专业VFP课程趣味性教学探讨[J].软件,2012,33(8):128‒129

[5]阳小华,李萌,刘志明软件工程学生团队构建的案例分析[J]计算机教育2011,5:57-61。

[6]叶丽丽.关于计算机网络课程教学改革的探讨[J].软件,2013,34(5):159-160.

[7]赵乃东.信管专业网络工程实践教学课程体系建设方案的探讨[J].软件,2014,35(7):68-71.

[8]尧新远.计算机应用软件教学方法创新探究[J].软件,2012,33(9):134‒135

[9]兰春霞.浅析在计算机教学中学生创新能力的培养[J].软件,2012,33(9):129‒130

[10]杨志耘刘建宾软件工程任务驱动教学模式的探索与构建[J]高等理科教育2005,24(6):59-63。

[11]殷勇,郑广成.中高职计算机类现代职业教育课程体系的建设研究[J].软件,2014,35(10):63-66

[12]龙超,潘黎阳,熊刚强.高校计算机基础课改革走向的研究[J].软件,2014,35(6):111-114

[13]谭林海.基于云计算的教学资源管理模型设计[J].软件,2014,35(6):97-99

[14]刘波,沈岳,戴小鹏,等.融合MOOC与翻转课堂原理的信息类课程设计方案与实践[J].软件,2014,35(5):97-101