研究生《软件工程》课程教学改革与研究_研究生课程教学改革

2020-02-27 其他范文 下载本文

研究生《软件工程》课程教学改革与研究由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“研究生课程教学改革”。

研究生《软件工程》课程教学改革与研究

摘要:软件工程是培养学生软件开发能力和软件工程素养的一门重要的课程,对提高学生从事软件开发能力,尽快融入到项目开发实践中起着重要作用。该文从实际教学工作出发,对软件工程这门课程的教学现状与困难进行了分析,对教学内容体系、教学方法手段、实践教学模式和考核验收方式进行了研究和探索。

关键词:软件工程;案例教学;教学方法

中图分类:G642文献标识码:A文章编号:1009-3044(2011)13-3230-03

Teaching Reform and Research for Course Software Engineering

ZHANG You-wei1, MA fei2, MA Deng-wei1, HOU Yi-fan1, QI Xu-yan1

(1.Surveying and Mapping Institute, Information Engineering University, Zhengzhou 450052, China;2.Nanyang Vadio and Television University, Nanyang 473000, China)

Abstract: Software Engineering is an important course to foster the students' capability of software development and software engineering qualities, which is significant for students to improve the ability of engaging in software development and step into project practice as soon as poible.In this paper, by proceeding from the practical experiences of teaching, the teaching actualities and difficulties of software engineering have been analyzed.Furthermore, several iues on the course have been discued, namely, system of teaching contents, teaching methods, teaching mode with practice and way of check.Key words: software engineering;case-based teaching;teaching method

目前,软件工程作为我院各专业的一门选修课,课程教学内容主要包括:软件危机、软件工程、软件过程、结构化分析与设计、面向对象的分析与设计、软件测试、软件项目管理、软件维护与软件质量保证等。本课程对培养研究生在掌握软件工程基础理论,传统的软件方法学、面向对象的软件方法学,以及软件项目管理等方面具有重要作用。通过本课程的学习,使得研究生掌握软件工程的理论知识及基本的研究方法,了解传统的软件方法学、面向对象的软件方法学的区别和优势,增强软件项目开发的能力,及时了解本学科的最新发展状况及前沿研究领域,从而使其具备在实践中能够正确、熟练地运用软件工程中技术、方法和工具的能力。

由于软件工程是一门综合性和实践性很强的课程,现行的教学内容,教学模式、教学实践等环节上都存在很大不足,且直接影响了课程教学效果和人才培养质量,因此,开展本课程教学内容和教学方法改革研究具有重要的现实意义和实践价值。教学现状与困难

目前本课程的教学现状主要有如下两个特点:

一是传统的内容多,新技术新方法少。在目前的教学中,基本是按照软件生命周期各阶段的顺序来进行内容组织和讲授,对于UML语言、面向对象的软件工程、XP极限编程、RUP、Rational Rose、CVS等这些新的方法、技术和工具涉及很少。随着这些新技术、新方法的应用日益广泛,有的甚至成为主流,如果不及时引入到课堂教学中,容易造成教学和实际运用的脱节,不利于学生很快融入到导师的项目研发工作中;二是理论教学内容多,实践教学内容少。本课程教学时数为40学时,大部时间都在进行理论教学,仅仅安排了6学时进行试验,由学生独立完成,最后提交项目源程序和开发过程中各阶段的文档、报告等。在教学过程中我们发现过多的理论内容,只能使学生被动地听课,学生感到讲课内容抽象枯燥,常常是似懂非懂,有的学生甚至觉得本课程没什么实用价值,不太喜欢学,所以教学效果也不好。软件工程是一门工程性的科学,学生不可能靠听讲软件工程基本原理、方法和技术就学会开发一个实际的软件,而是要在实际的“动手做”和“真正练”中去体会软件工程思想,掌握软件开发方法和技术,最终才能熟练运用到真实的软件项目开发中。

目前本课程的教学难题主要有三点:

一是软件工程理论发展日新月异,教学内容更新速度跟不上发展。尤其是近10年来,随着IT技术日益深入到现实社会的方方面面,软件工程的新概念、新技术和新方法不断涌现,教学没能及时跟上软件工程理论、技术的发展。因此,如何实现学生所学知识与未来实际工作的无缝衔接,教学与实际需求紧密结合是本课程的一个教学难题。

二是教学缺乏实际项目背景,过多的理论教学容易陷入说教。完成本科阶段学习的学生,一般只学习过一些编程语言,编写单个程序的代码很少能够超过5000行,编写程序的数量和时间很是有限,大部分学生缺乏实际的项目开发经历和较正规的开发训练。然而软件工程课程教学内容是针对较大规模的软件开发而设计的、是全世界优秀软件工程师的经验教训总结,如果照本宣科,只进行书本理论知识的灌输,学生很难理解该课程的精髓,很容易对该课程产生虚无缥缈的感觉,使得教学流于形式,该课程变成了需要背诵记忆的课程,学生学无所获。因此,如何将教学内容变抽象为具体、变枯燥为生动,从而调动学生积极性与热情,是软件工程课程教学中的一个难题。

三是培养的学生缺乏团队开发意识,难以满足导师对研究生软件开发能力的需求。随着计算机硬件技术飞速发展,软件开发技术不断提高,软件复杂程度和代码行数呈指数级别增长。因此,一般工程项目或软件开发都必须以团队形式进行,个人英雄主义和黑客独来独往的思想对工程化的软件开发是很不利的。然而,目前本课程的实验和实践教学环节主要还是以学生个体为主,即使有一些团队训练项目,从检查验收结果看,往往还是由那些开发能力强的学生独立完成,最后进行成果分享。缺少对学生团队开发能力和职业素养行之有效的训练方式,培养的学生与实际需求存在较大脱节。因此,如何培养学生软件团队开发能力和软件开发职业素养,缩小教学与导师对研究生软件开发能力需求之间的差距,是软件工程教学中的又一难题。教学改革与措施

2.1 构建先进的教学内容体系

结合学院各专业理论需求和测绘软件开发特点,我们构建在理论、应用、实践三个层次上的软件工程教学内容体系。理论部分主要讲解软件需求、软件设计、软件实现、软件测试、软件演化、软件过程、软件质量、软件配置管理和软件项目管理等软件工程课程核心内容。应用部分以当前流行的统一开发过程、面向对象技术和UML语言为核心,融入实践教学案例,覆盖RUP、Rational Rose、CVS、Junit等软件工程工具和环境,使学生掌握当前先进的软件工程方法与技术。实践部分要求学生以团队的方式协作开发一个具有一定规模的软件系统,建立支持小组开发的支持环境,让学生从“可实践”软件工程角度学习和运用先进的软件工程思想、技术解决软件开发中遇到的问题。

2.2 采用多样化的教学手段

1)激发学习兴趣。兴趣是最好的老师,通过构建先进的教学内容体系以及课程内容精心组织,突出各知识点之间内在联系,建立软件工程知识体系的系统性和实践性,激发学生学习积极性;通过梳理软件工程的历史发展脉络、揭示隐藏在知识点背后的思想深度,激励学生主动探索、积极实践的学习热情。以学生为主体,采用启发式、讨论式等多种教学手段,让学生走上讲台――学生讲解、教师总结,从而活跃课堂气氛、增加学习热情。对遇到的问题,教师组织学生集体讨论、启发、引导学生解决问题,目的是培养学生合作学习和探究性学习的能力与热情。

2)采用案例式教学。目前在软件工程教学过程中存在较多的理论内容讲授,这使得学生缺乏对软件工程知识的感性认识。为了解决这个问题,我们将近年来主持研发的一些专业软件项目和开发经验进行总结、抽取,梳理相关设计方案、技术文档和源代码等内容,形成一个个独立工程项目案例;同时也收集国内外经典软件工程教学案例(比如微软公司和IBM的),进行消化吸收。将这些案例(包括成功与失败的)提供给学生作为素材,实施案例教学。部分案例由教师在课堂上讲解,部分案例由学生分析、讨论、讲解。学生对项目成功与否,哪些地方符合软件工程思想,哪些地方违背了软件工程理论,怎样改进等问题进行讨论并提出自己的解决方案。这样,既培养了学生的实践能力,又丰富了教学手段。

3)制作高质量电子课件。高质量的电子课件对学生专心听课、提高学习积极性、提升教学效果都有很大帮助。因此在制作课件时,要尽量使其具有动态性,尽量用图、表等来表现讲课内容,使整个课件具体生动。避免过多的文字堆砌,更不能将大段大段的课本内容搬上课件,否则只能使学生看着PPT就感觉“头大”,不愿意听课。能用鲜活事例、动画、图表的地方尽量不要出现过多的文字,这样既能讲清楚问题,也容易吸引学生注意力,活跃课堂气氛,对讲课内容的掌握也当然就更加牢固,对提高教学效果和授课质量也大有好处。因此,我们准备用OFFICE2007+FLASH重新制作电子课件和教案,下发给学生中文版课件和教案,而上课时采用英文版电子课件和教案。

4)开展双语式教学。为了逐步培养学生适应英语授课和英语思考问题的意识,我们准备采用外国原版英文教材,课堂板书和作业都采用英语作为教学语言,教师进行英语提问,并鼓励学生使用英语回答。在讲课过程中,对易于理解的内容采用全英语讲解,不易掌握的部分用汉语讲解。同时给学生提供英文软件工程课外阅读资料,以使他们及时了解国际上软件工程的最新发展和动态。这样做既能活跃学生思路,开阔学生眼界,同时也能深挖掘学生想象力和创造力。

5)使用英文原版教材。为配合双语教学,同时满足研究生课程教学要求,在众多软件工程英语教材中,我们选择了高等教育出版社出版的《软件工程――理论与实践》(第三版影印版),由Shari Lawrence Pfleeger博士主编,Pfleeger博士是世界顶级软件工程专家。该书完美体现了软件工程的两个重要方面――实践者的经验和研究者的理论,并将这两个方面进行了完美结合,而且针对软件工程中的关键问题,讨论了该如何分析并提出了解决方案。书中介绍了目前最新的软件工程技术和工具,引用大量实例研究和文献中的例子,讨论了他们如何影响我们构建和使用最终软件工程产品。

2.3 创新实践教学模式

课程实践主要内容是按照先进的项目管理和开发模式,由团队独立完成一个软件项目的开发,使学生得到较全面、系统和规范的软件工程实践训练,培养创造性的软件设计能力和综合分析、解决问题的能力。具体的设想如下:

1)以案例为导向。大多数学生一旦进入到真实的软件开发项目中,往往不能快速下手、进入状态。因此我们结合学生专业方向进行了案例设计,案例分析过程引入“Learning by doing”的先进教学理念,引导学生通过分析,提出案例的解决方案。目前我们已经建成了一定规模的案例库,具体包括:软件演化过程支撑工具、专业人才数据支撑平台、支持软件并行开发的CASE系统、云雾剔除软件系统、科研论文平台软件系统、Linux应用软件开发工具、嵌入式GIS公共数据平台、月球表面地貌三维模拟系统、空中交通管制系统、医院病房监护系统、银行网络ATM系统和高速公路三维信息化系统等等。案例库的建成为学生项目实践打下了基础。

2)结合兴趣选题。实践项目命题原则是:尽量结合教学、科研的实际课题,反映学院专业需求,以获得更好的工程设计训练。由于项目受到时间、开发环境、条件等限制,命题应从实际出发,确定课题的大小规模和难易程度。要求学生自愿组合开发小组,结合专业需求与兴趣选题。三十多命题为学生自主选题提供了不同应用领域空间,有利于激发学生主动参与开发实践的积极性。

3)进行分段实施。实践过程按照真实的项目管理和开发模式进行,重点放在软件需求和软件设计两个阶段。在这两个阶段各安排1-2次项目方案讨论,小组内部交流与协作,考察方案对需求变更的适应能力,要求开发过程反复、迭代进行,从而培养学生“在实践中学习”的意识。

通过这种实践教学模式,不仅能够激发学生参与项目的积极性和主动性,引导学生去发现问题、分析问题,最后提出解决问题的方案,是培养学生进行探究性、协作性学习和团队精神的一种很好的模式。

2.4 改变考核验收方式

在考试方式上,我们准备改变以往的做法(卷面考核和项目实践考核并重),改为以项目实践考核为主,卷面考核为辅。最终课程成绩考核包括平时考核(10%)、项目考核(60%)和卷面成绩考核(30%)。平时考核包括平时作业、课堂讨论及出勤等;项目考核包括项目的完成情况、项目各阶段的文档和报告,源代码,可运行软件等;卷面考核采取闭卷笔试,主要考察学生对软件工程理论内容的掌握。同时对课堂学习表现优异的学生额外可以有一定数量的附加分,从而激发学生学习动力。项目考核成绩则由各阶段文档及其规范层度(20%)、软件功能及其是否可运行(40%)、学习态度与独立编程能力(20%)和项目设计报告(10%)组成。项目成绩由小组之间互评(40%)和任课教师评分(60%)共同确定,这样既保证了最终学生成绩的合理性,又激发了各组学生之间的竞争意识和团队意识,促进学生将理论学习与能力培养紧密结合。结束语

由于软件工程一直在不断变化与发展,新的方法和技术也会不断出现,因此对软件工程的课程教学也应该不断进行改革、调整。目前,在学院相关教学部分的大力支持下,软件工程这门课程的教学改革计划与方案已经得到批准,我们准备从2011年下学期开始,对研究生的软件工程教学内容、教学方法和教学模式进行了上述一些改革和探索,从而提高课堂教学效果和教学质量,夯实学生软件工程素养和软件开发能力。

参考文献:

[1] 沈各军,顾春华.软件工程教学模式的研究和实践[J].计算机教育,2005(1).[2] 沈各军,居德华,顾春华.探索软件工程硕士的课程教[J].计算机教育,2004(8).[3] 文俊浩,王欣如,徐玲.软件人才培养的改革与实践[J].黑龙江高教研究,2004(4).[4] 刘乃琦.软件工程教育的特点与问题[J].计算机教育,2004(10).

《研究生《软件工程》课程教学改革与研究.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
研究生《软件工程》课程教学改革与研究
点击下载文档
相关专题 研究生课程教学改革 软件工程 研究生 教学改革 研究生课程教学改革 软件工程 研究生 教学改革
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文