软件工程教学中存在的问题及对策

时间:2022-09-25 07:07:43

软件工程教学中存在的问题及对策

摘要:"软件工程"是计算机科学与技术专业和软件工程专业的一门专业基础核心课程,讲授软件工程的基本概念、基本原理和基本方法,强调软件开发问题的分析和解决。使学生从工程学角度认识软件在大型系统中的设计和应用,掌握软件工程的基本理论和方法,并将这些知识运用到软件开发的分析、设计、编码和测试等活动中,同时培养较好的团队合作能力和实践能力,具备一定的分析与解决问题能力和创新能力。本文分析了高校软件工程专业实践教学中存在的问题,探讨了构建软件工程专业实践教学体系的方法和途径。

关键词:软件工程 教学改革

“软件工程”是一门理论与实践并重的基础课程,在教学实施方面存在较大的难度。现有的软件工程课程存在着体系不统一、定位不明确、知识与现实脱离等问题,课程内容比较庞杂和抽象,教学实践环节薄弱。因此,如何使教学内容先进、讲授生动实际、实践效果良好,一直是软件工程课程教学需要解决的难点问题。

1.软件工程课程教学改革现状

普通高校传统的实验教学过于强调理论知识的积累,这限制了学生个性的发展、技能的培养和创新素质的形成。其课程设置与实践教学内容都严重滞后,实践教学学时占总学时也很少;在实践教学内容方面对理论内容进行验证的实践教学环节占较大比例,而有利于培养应用能力的综合性、设计性实验等实践性教学比例偏少;在实践教学安排上仍采取先理论,后实践的顺序来确定实践教学环节。特别是对实践教学内容、方法及过程与创新性应用型软件人才的培养目标是否相适应等问题的研究还相当不够。具体体现在:

(1)实践教学体系设置不够完善,缺乏对实践教学的过程管理,没有建立配套的质量监控与评价体系。

(2)对实践教学的认识不到位,存在着重理论,轻实践;重课内,轻课外的倾向,缺乏对实践教学内容的总体设计,实践教学的内容及形式陈旧。

(3)实践教学教学方法单一,仍旧采用以教师为主以灌输为主的教学方法,使学生的主观能动性、动手能力和创新精神的培养受到了很大的限制。

(4)不重视工程化思想的培养,普遍缺少对学生工程能力和职业素质的训练,没有很好利用先进的实践教学管理平台跟踪管理学生实践项目。

(5)实验设备和计算机专业教师严重不足,目前的实验室设备与管理模式已很难满足实践教学的要求,缺乏具备行业工程领域背景和国际化背景的高水平创新实践教学团队。

2.改革教学方式

在计算机科学与技术专业的四个专业方向中“软件工程”课程都是重要的专业必修课,该课程的教学效果直接影响到专业的发展,因此有必要从课堂教学、实验教学、实践教学这三个环节入手探索“软件工程”课程的一种新的教学模式。

2.1案例辅助教学

“软件工程”课程主要内容涉及指导软件开发的原理、方法、工具。若脱离了软件开发实践,这些原理、方法、工具会变得枯燥、难懂。在“软件工程”课程教学中引入案例辅助教学能有效地提高教学质量。课程中的每个重要知识点都应配备若干相关案例。在整个课程的教学中应有1到2个贯穿始终的综合案例。综合案例应为一个较为实际的软件系统的开发过程,包括问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试。综合案例中应包含各开发阶段中涉及的任务、技术、方法及工具。学生应在课余时间认真阅读案例,并进行分析,老师同步在课堂上讲授案例,然后学生在实验课中,按照案例中的步骤重视案例中的系统开发过程,最后总结归纳。

2.2实训式实验

实训式实验是通过实例演示及模拟、课堂练习、课后作业这三个环节使学生通过实验训练很好地掌握相关技术及方法。实训式实验包含如下三个环节:

(1)实例演示及模拟

每个实验,教师应先讲解实验步骤及要求。之后教师讲解并演示一个案例,在此过程中学生同步模拟每个实验步骤。教师做一步,学生跟一步,若有学生出现问题,教师及实验员应及时辅导使其能跟上大家的进度。

(2)课堂练习

案例讲解演示之后,教师应布置1到2个类似练习题学生参照前面所讲解的案例,按步骤完成这些练习。学生练习过程中教师应全程指导,实验课结束时学生应将实验结果以电子邮件形式发给教师,并书写实验报告。

(3)课后作业

实验课结束时,教师应布置一个相关作业,学生在课下参照教师讲解的实例及课堂练习完成作业,以巩固相关知识。

2.3综合实践

“软件工程”课程的教学中应注重综合实践环节的建设。综合实践环节包括以下三个方面:

(1)“软件工程”课程设计

“软件工程”课程应设置两周左右的课程设计。课程设计的目标是让学生体验软件开发的全过程,且学会与他人合作,培养团队精神。课程设计过程中,学生分成若干小组,每个小组选择一个项目,该项目的规模应与课程综合案例的规模类似。每个小组应完成项目的问题定义、可行性研究、需求分析、总体设计、详细设计这些阶段。各个小组由组长负责组织、分工、控制进度等,对小组成员的最终课程设计成绩有一定的分数浮动调整权;组长带领全组顺利完成任务,总评可加一定分数。小组完成项目之后,应提交项目开发各阶段文档及课程设计报告。

(2)与其它课程的课程设计相结合

计算机专业的很多课程(如数据库原理、信息系统开发、数据结构、C语言等)的课程设计都与软件开发相关,可将这些课程的课程设计作为“软件工程”课程的辅助课程设计。在这些相关课程的课程设计中,可通过恰当地选择设计题目,将软件工程的原理、方法、工具应用于这些课程设计中,使学生体会到软件工程方法与各种软件开发的关系。

(3)与毕业设计相结合

计算机专业的毕业设计主要是进行实际的软件开发。目前毕业设计中学生一般面临全新的题目,设计过程中学生既要分析研究系统又要熟悉开发工具,这样很多学生会觉得头绪太多,忙不过来,最终不能完成一个理想的系统。鉴于此可将毕业设计作为“软件工程”课程设计的延续,延用课程设计中的分组,每个小组延用课程设计中的题目。由于课程设计时间较短,课程设计时各小组只进行了粗略并且简化的项目开发,在毕业设计的半年中,各小组可在课程设计的基础上进一步完善扩充已有成果,按照软件工程的步骤最终得到比较理想的系统。

参考文献:

[1]王同喜,张勇.软件工程课程教学设计与改革探讨[J].科技创新导报,2011(7)

[2]宋礼鹏,韩燮.“软件工程”课程教学模式探索[J].中国电力教育,2011(7)

上一篇:浅析在计算机应用基础教学中如何实施分组式教... 下一篇:项目课程如何应对个别差异