软件工程课程教学改革谈说与思考

时间:2021-03-05 14:20:36 硕士论文 我要投稿
  • 相关推荐

软件工程课程教学改革谈说与思考

  摘要:从“软件工程”课程的教学目的、教学要求出发,介绍了目前教学中存在的一些问题,从考核方式、教学模式、师资素质等方面提出了改革方法,提高学生学习本课程的积极性、主动性以及兴趣.

软件工程课程教学改革谈说与思考

  关键词:软件工程;项目驱动;改革;实践能力

  引言

  软件工程属于计算机科学与技术专业的一门重要的专业课程.课程主要介绍软件开发的原理、方法及应用.通过本课程的学习,从工程化角度培养学生从事大型软件特别是对象式系统开发方法、软件测试与管理能力的培养。训练学生的软件分析能力,使学生进一步掌握软件系统的各种开发方法,提高软件设计水平.软件工程是计算机专业的一门工程性课程,它旨在指导软件开发和维护的全过程、其先行课程为程序设计语言、数据结构、操作系统、数据库啄理等,可以说软件工程是一门综合性的课程,其理论要求高同时也是本专业中实践性非常强的一门课程。本课程的目的是培养软件工程应用能力。

  全面掌握软件工程管理、软件需求分析、软件设计、软件测试等阶段的方法和技术,理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,熟悉软件工程的原理、方法和技术,能全面、系统地应用所学的概念、原理和方法完成系统开发的规划、分析、设计和实施工作;掌握软件开发的过程和技术培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养综合的软件设计能力,提高分析和解决问题的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力,培养自己的独立操作能力和团队合作精神。

  1、现行软件工程教学中存在的问题

  由于软件工程是一门综合性的课程,包含的内容非常多:从软件工程概述、软件计划、需求分析、概要设计、详细设计、编码、测试、软件维护、面向对象方法学引论、面向对象分析、面向对象设计、UML建模语言、系统工程、软件重用技术、软件配置管理、软件工程标准化和软件文档、软件工程质量、软件工程项目管理等等内容,并且随着信息技术的不断发展,软件工程中也出现了不少的新的技术和方法.但是学时一般都是48—64学时之间,在有限的学时中要教授这么多的内容,就出现了这样一个局面老师在课堂上拼命的讲,学生在下面昏昏欲睡,提不起精神。最后成绩的考核一般是平时成绩+考试.考试内容无外乎是基本原理、基本概念,最多来几道综合题.

  学生在考前临时突击几天,背几个概念,勉强过关.一学期下来问学生软件工程中学到了什么,一般的回答这门课程没什么用,就是写写文档.这种以考试驱动的传统模式,老师教学不轻松,学生也不爱学,根本没有自己主动学的动力和欲望.在这种模式下以老师的教授为主,而做为认知主体的学生在教学过程中自始至终处于被动地位,其主动性、积极性难于发挥,其结果是导致学生仅仅掌握一些软件工程的理论知识,而无法把理论和实践结合起来,只会纸上谈兵。

  2、针对上述问题的解决方法

  2.1 从成绩考核上着手

  针对以考试驱动的传统教学模式存在的弊端,我们在教学中关键是要把学生的被动接受教学内容变为主动参与和积极探索.我们首先要改变以前的老的考核方式,针对软件工程实践性强的特点。教师进行成绩考核时从过去的考试驱动,变为项目驱动.具体处理为取消理论考试,由学生自由组队,模拟现实中项目开发的实际情形形成一个开发团体。开发一个自己感兴趣的小项目,如果学生自己没有题目,可以使用老师提供的参考题目.老师为了检查督促学生,要求学生在规定的时间提交相应的作业.课程成绩由项目成绩+实验成绩+平时成绩三大部分组成,其中项目成绩占大头大概60%、实验25% 、平时15% .

  对于项目成绩的处理,这里还有一个小技巧,就是老师只是按作业提交表中的各个作业的比重根据项目的好坏给出一个项目的分值,老师给项目打分,给出一个项目具体的分数.而不把这个成绩落实到具体的学生身上.那么每个学生的具体项目分值怎么确定呢,由各个项目组组长根据自己内部的考核方式给每个组员打分,这里一个总原则就是所有项目成员的分值之和等于项目分数乘以项目人数.即有如下公式:(组员个数/Σ/1)每个组员的分数=项目分数×组员个数.建议项目内部考核方式如下:小组成员都给所有成员打分(按百分比给出),组长汇总,删除明显不合理的打分,再求平均值,最后根据这个平均值算出每个成员的具体分数.由于现在为信息社会,网络上各种资源都很丰富,为了杜绝学生直接从网络上下载现成的项目,老师在考核项目成绩的时候可以考虑加入学生项目答辩环节.要求学生针对自己的项目自己介绍10分钟左右,然后留出10分钟的问题时间.这样即使是学生直接从网络上下载资料,为了通过答辩,也必须把东西搞懂理清楚,让学生通过项目提高的目的也能达到.

  采用项目驱动的好处1、加强学生的实践能力;2、培养学生的团队意识,增强学生的.协作能力;3、提高学生的表达能力.4、使学生从被动学习的状况彻底转变为我要学,提高学生学习的主动性.实验成绩如果处理呢?这必然会带来一个问题,实验应该如何安排?安排什么实验比较合适呢?由于在项目中已经考查了学生的多方面的能力,那么在实验中关键是要引导学生掌握先进的软件开发工具.做为软件工程学提到很多工具,实验中一般采用验证性实验,要求学生学会使用软件开发中一些基本的工具,比如使用Visio、PowerDe.siger、WinRunner、Project、Visual SourceSafe等工具,具体实验安排可以根据实验学时做一定取舍。

  2.2 从教学形式上着手

  以往的教学的一般程序往往是1、前次课知识的回顾.2、新知识的导入.3、讲授次课的具体内容.4、课程小结.5、课堂作业.当然具体可以根据时间进行一定的取舍.从这些环节中我们可以看出,也是老师作为主导者.学生只是被动的接受.那么我们把前次课知识的回顾环节改为提问形式,老师根据前次课的内容精心准备问题,在提问的基础上和学生一起回顾上次课的内容,采用的是启发式提问,让学生积极的参与到教学过程中.另外由于软件工程涉及的知识点比较多,在有限的时间内讲授所有的知识点,虽然可以达到,但是效果并不是非常好,这样老师在讲课过程中就会出现疲于奔命的感觉.与其这样,不如精讲,结合一个具体的实例,只讲授软件开发的具体流程.其他知识点,由老师列出参考书目,由学生课后自学,要求学生在项目中使用到一定的自学知识点.这样同样能够达到迫使学生掌握知识点的目的.另外在课堂上还可以大胆采用由学生自己讲或者课堂讨论的形式,老师从过去的讲授变为听课,针对学生出现的问题,给予适当的指点.