基于开源软件软件工程课程教学改革探索.docVIP

基于开源软件软件工程课程教学改革探索.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于开源软件软件工程课程教学改革探索

基于开源软件“软件工程”课程教学改革探索   摘要:“软件工程”课程由于缺乏合适的教学案例等原因,授课效果往往不尽如人意。学生对软件开发规律、经验缺乏实践认识,缺乏兴趣。分析当前国际国内解决该课程授课困境所采用的方法,设计了开源软件的实际案例、重构现有代码和设计性实验三个环节,提高了学生的学习兴趣、动手能力和分析、设计能力,取得了较好的授课效果。   关键词:软件工程;教学改革;开源软件   中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2014)33-0089-02   “软件工程”是计算机专业和软件工程专业重要的基础课程之一。[1]20世纪60年代,为了应对“软件危机”,软件工程作为一门学科迅速发展。随着软件工程方法、工具的不断完善,软件产业已经成为信息时代最大的产业。据预测,软件工程专业将成为独立学科,其地位与计算机科学专业相同。然而,由于软件工程概念繁多,学生实践经验匮乏,大多数高校“软件工程”课程的教学工作均在一学期内完成,导致学生对“软件工程”课程内容缺乏兴趣,教学效果不佳。为了在有限的学时中得到更好的教学效果,笔者从“软件工程”课程教学的实际情况入手,尝试了一系列的探索和研究。   一、“软件工程”教学内容目前存在的问题   目前,“软件工程”课程教学最主要的问题是缺乏适合教学的软件案例。本校“软件工程”课程使用国外著名的《软件工程:实践者的研究方法(第七版)》作为教材。[2]教学实践过程中的教学瓶颈是教学内容概念繁多,本科阶段的学生缺乏大型项目的开发经验,难以形成理性认识,课堂内容只能以概念介绍为主。该教材采用SafeHome作为教学实例,实例基于当前十分热门的智能安保系统,但教学过程中存在如下问题:   一是实践性内容分散。教材以场景对话的方式,展现了SafeHome项目在开发过程中遇到的各种问题。场景对话分散在各个章节之中,如果在每章授课过程中针对SafeHome项目开展讲解和讨论,会造成学生对该案例内容理解的碎片化。如果集中讲授SafeHome项目的内容,往往涉及到的知识面较宽,必须要到学期快结束时才能引入。此时教学过程中已堆砌了大量概念,学生对实例研究早已失去兴趣。   二是缺乏示例代码。该实例虽然内容先进,但教材终究以介绍基本概念为主,并未提供SafeHome示例相关的源代码。很多学生认为教学示例空洞,没有具体编程实例佐证教学。   三是内容过于专业。SafeHome项目很多概念和知识,学生仅有所耳闻,没有实际的编程操作经验,如传感器。传感器的很多特性,本科同学没有深入的认识,难以理解传感器模块的功能设计,如传感器数据有效性判定等,给教学工作造成了很大的困难。   市场上国外其他配有实例的“软件工程”教材,往往实例的代码量均在3000行以内。这种数量级的代码,已经足以应付软件测试、代码重构等工作。但是对于软件体系架构等概念讲解而言,其涉及的内容和知识点略显单薄。国内教材采用的案例系统往往是图书管理系统或电梯管理系统等。这些软件案例已经有十分成熟的产品,且同类教材内容重复、老旧、陈词滥调。同样难以引起学生的广泛兴趣爱好。   其他学校“软件工程”课程的教学开展有如下2种方法:第一,不再设置“软件工程”导论课程,将其中涉及到的概念分散设置到“软件需求”“人机交互”等具体课程中。这种教学改革涉及到大量专业课程的重新设置和调整,工作量十分巨大。第二,教师自己开发教学案例。这些教学案例往往与实际的软件开发项目相结合,将本专业学生所需要掌握的知识融入其中。这涉及到项目案例的编写工作。该项工作执行难度较大,开发周期较长,案例本身往往需要几个教师协作完成。随着教学工作的不断开展,项目案例必须要不断修改,适应新形势的发展。虽然这种方法对本专业学生培养最为有利,但案例构建工作大大增加了教师的授课负担。   二、“软件工程”课程的教学改革   针对以上的分析,主要从以下几个方面进行“软件工程”教学的探索和改革:   1.补充案例教学   首先,从开源软件代码库或从著名的开源软件项目中查找适合学生阅读的程序代码。著名的开源代码库网站包括SourceForge、Google Code、Bounty Source、T及berlios.de等。项目必须涵盖面向过程程序设计技术和面向对象程序设计技术。其中,涵盖面向过程程序设计技术的项目最好采用C语言开发,而涵盖面向对象程序设计技术的项目最好采用Java语言开发。虽然很多优秀开源软件采用Python、Perl或Ruby这类编程语言实现,但是从学生已经学习的编程知识角度出发,尽量不要增加学生学习编程语言的额外负担。经过仔细的甄别,笔者选出三个教学案例:一是Linux虚拟文件系统VFS。该文件系统的设计很好地体现了软件工程中面向对象设计的开闭原则及其他很多设计

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档