您的位置: turnitin查重官网> 计算机 >> 程序设计 >软件工程《软件工程》课程教学策略和实践

软件工程《软件工程》课程教学策略和实践

收藏本文 2024-03-15 点赞:31907 浏览:145722 作者:网友投稿原创标记本站原创

摘要:软件工程是理论与实践并重的课程。指出了在软件工程教学中出现的一些问题,提出了问题的解决方法,即改变理论教学方式,适当融入案例教学、重视软件工程实训教学,注重联系实际。通过实际教学过程中对这些方法的应用,学生反馈的情况,以及最终学习的效果来看,确实改善了软件工程课程的教学状况。
关键词: 软件工程; 教学方法;案例教学;实践教学;主动式学习
1009-3044(2012)32-7767-03
《软件工程》课程是计算机专业和软件专业重要的基础课程之一,软 件工程是将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护。软件工程同时也是一门实践性很强的课程,要求学生掌握软件工程的基本理论和方法,并将这些知识运用到软件开发的分析、设计、编码和测试等活动中,同时培养团队合作能力和实践能力,具备一定的分析与解决实际问题的能力和创新能力[1-2]。而软件工程的理论书籍是几代工程师在软件开发过程中经验和智慧的结晶,需要读者具有一定的实践经验,才能真正领会其中的精髓,但是学生往往不具备这样的经验。因此使学生对软件工程的理论从感性上的认识变成理性的

源于:论文范文格式www.udooo.com

应用,是教学中需要重点解决的问题。
1 现状分析

1.1 教学计划和教学时间的限制

软件工程涉及到计算机、经济学、管理学、工程学、市场学等多个领域的知识,由于涉及内容太多、太宽,使学生感到这门课中包含的知识非常丰富,而且其本身还处于不断发展中,这是本课程的突出特点[3]。而目前大部分的教学计划限制了课时安排,由于对这种综合性强的课程因学时所限,授课内容大量缩减,学生不能有效地深入学习软件工程技术的知识体系。课堂讲授上教师往往只有简单的例子,没有时间用项目背景去引导,这样使学生在学习中因为知识的零散和抽象感到疑惑和迷茫。

1.2 学生自身素质的限制

在软件工程课程教学过程中,我们发现由于学生此前只进行过程序设计的基础学习,实际具有的项目开发经验极少,学习抽象的理论时没有切身体会,因此在对软件工程理论知识学习时感觉太抽象和枯燥,没有真正的领会掌握,当然不可能将理论付诸于实践之中,在学习初始时,相当一部分同学轻视理论知识的学习,往往以为软件工程就是按照老师提供的模板或案例样本编写出一系列的文档应付了事。

1.3 教师本身素质的限制

当前学校的老师几乎都是全职教学型,又是研究生毕业直接从事教学工作。极少实际参与大型项目,没有实际主持开发商业软件项目的实践和机会,因此也不具备大型软件的开发经验,因此在《软件工程》课程的教学过程中,也是针对理论讲理论,不能将理论知识和实践有机结合起来,特别是一些原理的细微精妙之处,不能讲深讲透,对软件工程课程的整体把握上有力不从心的感觉。而且学校只鼓励青年教师去高校进修、攻读学位,不愿派遣教师参加软件工程方面的培训。

1.4 学校和社会环境的限制

在学校里,学生主要是通过教师课堂讲授为主、实验室验证辅助来完成学习知识任务的,教师没有太多的计划和学时对学生进行综合性的培训,更不可能抽出整段时间进行实际培训,而且教学计划里软件工程的先导课如《程序设计》、《数据库原理》等各门课程的侧重点不同,往往只注重本门课程的教学重难点,使课程间不能顺利衔接,这也是影响学生顺利进行软件工程课程学习的一个重要原因。而社会上的软件企业由于业务竞争和发展需要,不愿过多接收学生的短期实习,且对实习体素质要求较高。
2 教学改进策略

2.1 教学体系优化

软件工程知识体系非常庞大,包含10 个知识域:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法及软件质量保证。目前我们学校的软件工程48 个课时左右,而理论讲授只有一半时间,有限时间不能讲完整个知识体系,所以我在教学过程中不是面面俱到,而是重点讲授核心基础内容。以软件需求分析、软件总体和详细设计及UML 建模为重点,将软件管理、软件工程过程、软件质量保证等内容延续到下一个学期。
对于与软件工程衔接比较紧密的先导课程《C#程序设计》、《Ja程序设计》等,均强调让任课教师在课程结束时一定要有一个完整的大作业,使学生扫清在本课程中程序实现时的基础障碍。

2.2 教学方式优化

如果教学方式以教师课堂授课为主,限于照本宣科地抽象介绍一些基本原理,教学内容一般是重理论而轻实践,软件工程的理论知识是几十年软件开发人员的实践总结,学生会由于自身实践的缺乏而对其认识不够深刻,常常是课堂上听理论糊里糊涂,实践中又不知如何运用。不能将软件工程的思想真正领悟。因此在教学过程中特别注意避免流于空洞的理论灌输,在课堂上注意结合各种案例推进教学,每个重要知识点都使用大量实际案例进行说明,让学生不仅掌握理论知识,也能了解它在实际中的使用方法和注意事项,强调理论与实践并重的教学理 念,将课程安排分为课堂理论教学和课堂实践两大部分。前者使学生掌握软件工程的基本概念、原理和方法;后者着重培养学生综合运用这些知识开发实际项目的能 力,才能取得较好的教学效果。

2.3 实践教学优化

软件工程课程教学中重要的组成部分是实践教学,我让学生以项目小组(一个小组设一个项目经理,4-5名组员)的方式开发具有一定规模的系统,而且是小组集体选择开发项目,共同分析和解决在需求、设计及实现系统过程中出现的各种问题,使学生认识到在实际软件项目开发过程中不仅需要程序设计知识,还需具备沟通、协调和妥协等人文知识。
实践教学的软件开发我们将其划分成实验准备、分析和设计、编程测试和软件维护等几个不同阶段部分,各自有不同具体要求:1) 实验准备:在第一次实验课上,学生自愿组建开发团队,根据简单的软件问题描述,选择准备开发的系统,制定项目的开发计划,规划所开发系统的整体功能要求。
2) 分析和设计:项目小组集体讨论,初步分析要开发的系统,结合教师的提示内容和自己搜集的相关领域知识,完成软件需求说明书的编写。并根据软件需求规格说明,设计系统的总体结构和详细模块划分,然后再进行详细设计和模块开发。
3) 编程测试:小组的每个成员都有分配的模块,要独立编写所有程序代码,并同时进行测试和调试。
在课程实验设计上,非常注重项目小组各成员的兴趣爱好特征的不同,加强小组内部的沟通和配合,也同时强调的小组组长的权威和管理能力。每位成员都各负其责,分管一块内容,使学生在一个规范的和可控的过程中完成实验项目的开发,在需求分析、系统设计、模块开发、集成测试等关键阶段实行阶段评审机制。在课堂实践中,让每个小组的文档负责人对自己的文档进行宣讲,由全体学生进行评审,严格控制项目开发进度,保证按时交付最终产品。
实践证明,这种教学方式使学生的学习积极性得到极大提高。由于任务分解到人,而且实行的学生自主管理,每个人都发挥了主观能动性,积极思考,互相热烈讨论,珍惜每一次的上机时间。而且课堂上的文档宣讲和公开评审,不仅是对小组工作的检验,也能够提高同学们的口头表达能力和思辨能力,也是同学们相互学 习的一次极好机会。同学们也真正理解了以前学习的编程语言和数据结构和数据库的实际使用方法和应用范围,反过来进一步促使他们更加自觉的学习相关知识,学 生的综合能力得到切实提高。

2.4 强调学生的主体地位

在项目开发过程中由于是学生开发团队自己选择项目,自主管理,自我监督,充分体现了以学生为主体的教学理念。整个课程教学中,教师对选择的示例要精 讲,讲透,在教学前期,时间精力会投入较多;进入开发过程中后就不要参与过多,只在关键节点上起到画龙点睛作用即可。比如前期的需求分析,教师可以充当客 户的角色帮助提供系统需求,在课堂评审时以主持人的身份正确引导等;
要充分认识到激发学生的兴趣是教学关键,所以选择的案例既有通用的,也有专业的,大部分是学生能接触到的或者实际使用的系统,利于学生接受和学习。 另外,我们非常重视让学生们参加到老师的科研项目中去,系里教师们承担的省部级和院级项目里,都要求有学生的参与,做实际的在研项目对他们的学习有极大促 进作用。

2.5 对教师的要求更高

要将《软件工程》课程教好、教活,这种教学方法对老师提出了更高的要求,教师前期的准备工作要非常充分,从教学案例的选择、学生项目的选择和定期评 审要占用大量的精力和时间。由于前述原因,一般老师实践经验不足,没有在企业工作过的经历,所以教师在课余时间也要不断学习,熟悉软件开发案例和相关的理 论知识。

2.6 充分利用社会资源,多方共同培养学生

如果有比较好的企业、学校的合作机制,将企业中的一些实际业务作为项目让学生完成,让教师作为技术和管理人员,也可请企业的工程师们给学生进行项目教学,这样就能让学生真正领会实际商业软件开发的步骤,同时企业也可降低一部分开发成本,达到企业和学校的共赢目标,这方面,我们与福建蓉

摘自:学生论文www.udooo.com

基等企业达成初步合作意向。
3 结束语
软件工程的教学要能使理论教学与实践教学很好地结合,能让学生从编程到软件,从理论认识上深刻掌握前人总结的智慧结晶,并将其主动、灵活的运用到自己的软件开发实践中去,使学生最大限度地发挥自己的主观能动力,从被动的要我学习转变为我要学习。采用这种综合的学习模式,能使学生认识到当前的软件开发已经从要求个人能力向整体团体转化,必须将自己融入到一个开发团队中去,只有在一个和谐的团队里,个人的软件开发能力才能得到真正全面提高,才能让自己在实际工作中迅速施展才华,得到企业和他人的认可。总之,我们只有坚持以学生为主体,紧紧抓好理论和实践并重的教学主线,不断推进课程体系建设,进一步探讨教学方法,总结教学经验,才能培养出符合当前信息社会需求的实用软件工程人才。
参考文献:
 教育部高等学校计算机科学与技术教学指导委员会.高等学校计算机科学与技术专业核心课程教学实施方案[M].北京:高等教育出版社,2009.
 蔡勇,李菁芳.以“项目教学法”促进“软件工程”教学[J].计算机教育,2007(8):13-15.
[3] 杨芙清.软件工程教育的思索与实践[C].全国高校2007 年软件工程专业教育年会论文集.北京:高等教育出版社,2007.

copyright 2003-2024 Copyright©2020 Powered by 网络信息技术有限公司 备案号: 粤2017400971号