软件工程课程教学改革

更新时间:2024-01-17 作者:用户投稿原创标记本站原创 点赞:30235 浏览:142253

摘 要:针对软件工程课程的教学特点和目前存在的问题给出该门课程的教学改革方法.软件工程课程的教学一般分为理论教学和实践教学两部分,对于理论教学部分采取交互式激励教学机制与案例化教学方式.而对于实践教学部分则采用跨学科方式和开放式的课外教学,通过在教学过程中用一个完整的实例贯穿始终.并通过教师的提问学生分析和小组讨论进行.

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

1.课程教学现状

软件工程课程教学的主要目标是,应用现有的计算学科方法、技术,用系统、可控和有效的方式产生可靠的、能在实际机器上运行的软件[1].与计算机科学相比,软件工程课程教学更注重计算学科方法和技术的应用.目前的教学中,作为计算机专业的学生,学生更关注软件的设计与实现,但软件工程侧重于寻找更好的软件开发方法、解决程序员在实践中遇到的问题.软件工程课程教学除了关注解决软件问题的理论、原则、方法和技术,还关注软件质量、软件过程、项目管理、团队合作、与用户(客户)相关的问题,研究的对象是软件开发过程中的所有活动[2].

软件工程课程教学具有综合性强,实践性要求高的特点.但是,通过教学实践发现学生普遍感觉软件工程课程中的概念抽象,不容易在课堂讲授中获取切身的体会和认识.同时,大部分学生的编程实践较少,很少参与开发实际的软件项目,对项目的背景了解甚少,欠缺在实际环境中综合运用知识的能力[3].因此,仅仅是在上软件工程课程的时候以固定课时的方式进行实验训练,学生很难真正理解和掌握软件工程的内涵.从实验过程来说,学生也没有足够的时间为具体的项目做好充分的准备,以完成资料查找、阅读、系统分析、设计、编码和测试等软件开发工作.此外,很多学生重视编程等技术的学习而忽视了必要的文献查找、阅读和写作的训练.

2.课程教学改革与实践

2.1交互式激励教学机制

在整个教学过程中,通过教师的提问以及学生进行分析和讨论进行的,课堂讲解采取课堂互动讨论,营造活跃、轻松的课堂气氛.教师在教学中可以就课程内容提出一些问题展开讨论,加深学生对课程内容的理解,并通过这种讨论教学的方式,让学生积极参与,提高学习的兴趣.具体的方式可以通过每次课堂教学提出一些有意义的问题,鼓励学生课后查阅文献,鼓励学生进行专题报告和软件演示.对于基础理论部分这种方法更能让学生深刻理解和体会.同时,也锻炼了学生的分析能力和交流能力.例如讲授软件过程这个理论内容时,会涉及到若干抽象的软件过程模型,对于理论知识,可以在学生了解各个模型的特点之后,通过判断题和选择题的方式让学生掌握每种模型的优缺点和不同之处,同时再给出一个实例让学生来选择开发模型,通过分析讨论学生能够更深刻理解每个模型的优缺点.而不是像以前的学习过程中学生只会死记硬背,而不能彻底理解其内涵.

2.2案例化教学

软件工程教学内容相对其它课程较为抽象,如果缺乏生动的典型实例,会因过于呆板、抽象而使学生难以理解和掌握.因此在讲授每一种开发方法时,并不是孤立地讲解理论,而是通过案例分析,以使学生理解这种方法.在教学过程中,给出具体的案例,即提出问题,引导学生在问题中学习,给学生时间思考、讨论以解决问题,使学与用一体化,从而更深入地学习.案例的选择也是非常关键的,尽量选择学生比较熟悉的领域,如图书管理系统、课程注册系统、教学评价系统、学籍管理系统等,这些贴近学生日常生活的领域有助于学生对案例需求的理解.课程开始,将学生分为若干个项目小组,并为每个小组确定一个负责人,课下以小组的形式去调研、讨论.在课堂上教师以一个完整的项目案例贯穿于整个理论教学过程中,学生则带着自己项目中的问题去理解、思考教师所讲授的内容.学生的作业主要是开发每个阶段应该提交的文档,注意在每个阶段结束时以小组为单位进行汇报,大家讨论,教师发现问题及时纠正,最后进行总结.这样不但强化学生的参与意识,而且加强学生的动手能力的培养.


2.3跨学科实践教学

软件工程是一门理论与实践并重的基础课程,教学内容紧密围绕软件开发过程中的各种工程化方法、技术和思想.过去在实验组织上,往往依课程进行实验及实验辅导,学生在实验时也只能进行与该课程相关的实验内容.这样的形式方便对教学的组织及管理,但在软件工程教学中,也往往会带来弊端.例如,在设计机票预订系统的实验中,既用到软件工程的内容,又融合了数据库以及JA编程等诸多课程,这都是学生在达到最终结果的过程中需实实在在地用到的多学科知识,因此,需要老师拓宽思路,不要仅局限于自己所教授的学科,可适当给学生设计自由度较大的实验内容.

对于软件工程课程设计,在教学活动的组织上,以交互式和启发式教学为主导,最好能够在课堂上将部分时间留给学生讨论,教师则启发学生讨论并做点评,在课程的后半段时间还会专门留出时问给以项目组为主体的团队演示自己的系统.软件工程课程设计以实现一个完整的应用系统为主.在这一过程中,要始终贯穿以团队为合作前提、以交互和启发为手段、以交流和沟通为主线、以完成一个完整的项目为最终目标,以真正实现一个项目.具体实施过程如下:

在课堂实践过程中,教师只起配角和引导作用,任务实施过程主要由学生小组进行,而且为模拟真实的环境,限定任务的来源只能有两种.一是教师指定.二是学生交叉自选,即A的任务,须由B来完成.例如在进行需求获取实践时,一组担当客户,另一组来获取系统的需求,一方提出问题,另一方进行具体记录.在讨论过程中,教师对于同学观点要给予鼓励和必要的引导,鼓励他们多角度、多因素地分析问题.提升学生的思维能力[5].

2.4开放式课外教学

鼓励学生走进企业,与软件从业人员进行接触与交流,真正体会当前软件工程业界的软件项目实施过程.同时,鼓励在学生不断拓宽专业视野,包括访问各种中外文专业网站,比如微软的MSDN网站、各种程序员网站、J2EE学习网站、国外的其他相关技术网站等;积极参与各种学术报告、新技术讲座、新产品发布会等,让学生尽快了解国内和国际信息技术的发展和应用,在学习过程中有目标方向和追求,自觉地把理论知识运用到实践当中去;学习软(下转第31页)件开发工具和相关技术,让学生多参与实践课程学习,自己多动手,在实践过程中掌握目前流行的各种软件开发方法和开发工具,学习英文帮助.这一方面可以提高学生的专业英文能力;另一方面可以提高学生使用英语来掌握本专业知识的能力[6].

3.结语

在软件工程课程教学过程中采用了以案例为主的交互式激励教学机制,注重学科间的关联,实现跨学科的实践教学和开放式的课外教学,这些措施促进了课程建设,有效地提高了教学质量,有助于培养学生理论联系实际,团队协作和实际软件开发能力.