当前位置 —论文教学— 范文

关于软件工程类论文范文例文,与基于开源软件的“软件工程”课程教学改革相关论文下载

本论文是一篇关于软件工程类论文下载,关于基于开源软件的“软件工程”课程教学改革相关大学毕业论文范文。免费优秀的关于软件工程及软件设计及软件开发方面论文范文资料,适合软件工程论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。

摘 要:“软件工程”课程由于缺乏合适的教学案例等原因,授课效果往往不尽如人意.学生对软件开发规律、经验缺乏实践认识,缺乏兴趣.分析当前国际国内解决该课程授课困境所采用的方法,设计了开源软件的实际案例、重构现有代码和设计性实验三个环节,提高了学生的学习兴趣、动手能力和分析、设计能力,取得了较好的授课效果.

关 键 词:软件工程,教学改革,开源软件

中图分类号:G642.0文献标识码:A文章编号:1007-0079(2014)33-0089-02

“软件工程”是计算机专业和软件工程专业重要的基础课程之一.[1]20世纪60年代,为了应对“软件危机”,软件工程作为一门学科迅速发展.随着软件工程方法、工具的不断完善,软件产业已经成为信息时代最大的产业.据预测,软件工程专业将成为独立学科,其地位与计算机科学专业相同.然而,由于软件工程概念繁多,学生实践经验匮乏,大多数高校“软件工程”课程的教学工作均在一学期内完成,导致学生对“软件工程”课程内容缺乏兴趣,教学效果不佳.为了在有限的学时中得到更好的教学效果,笔者从“软件工程”课程教学的实际情况入手,尝试了一系列的探索和研究.


为什么要写软件工程论文
播放:23163次 评论:5591人

一、“软件工程”教学内容目前存在的问题

目前,“软件工程”课程教学最主要的问题是缺乏适合教学的软件案例.本校“软件工程”课程使用国外著名的《软件工程:实践者的研究方法(第七版)》作为教材.[2]教学实践过程中的教学瓶颈是教学内容概念繁多,本科阶段的学生缺乏大型项目的开发经验,难以形成理性认识,课堂内容只能以概念介绍为主.该教材采用SafeHome作为教学实例,实例基于当前十分热门的智能安保系统,但教学过程中存在如下问题:

一是实践性内容分散.教材以场景对话的方式,展现了SafeHome项目在开发过程中遇到的各种问题.场景对话分散在各个章节之中,如果在每章授课过程中针对SafeHome项目开展讲解和讨论,会造成学生对该案例内容理解的碎片化.如果集中讲授SafeHome项目的内容,往往涉及到的知识面较宽,必须要到学期快结束时才能引入.此时教学过程中已堆砌了大量概念,学生对实例研究早已失去兴趣.

二是缺乏示例代码.该实例虽然内容先进,但教材终究以介绍基本概念为主,并未提供SafeHome示例相关的源代码.很多学生认为教学示例空洞,没有具体编程实例佐证教学.

三是内容过于专业.SafeHome项目很多概念和知识,学生仅有所耳闻,没有实际的编程操作经验,如传感器.传感器的很多特性,本科同学没有深入的认识,难以理解传感器模块的功能设计,如传感器数据有效性判定等,给教学工作造成了很大的困难.

市场上国外其他配有实例的“软件工程”教材,往往实例的代码量均在3000行以内.这种数量级的代码,已经足以应付软件测试、代码重构等工作.但是对于软件体系架构等概念讲解而言,其涉及的内容和知识点略显单薄.国内教材采用的案例系统往往是图书管理系统或电梯管理系统等.这些软件案例已经有十分成熟的产品,且同类教材内容重复、老旧、陈词滥调.同样难以引起学生的广泛兴趣爱好.

其他学校“软件工程”课程的教学开展有如下2种方法:第一,不再设置“软件工程”导论课程,将其中涉及到的概念分散设置到“软件需求”“人机交互”等具体课程中.这种教学改革涉及到大量专业课程的重新设置和调整,工作量十分巨大.第二,教师自己开发教学案例.这些教学案例往往与实际的软件开发项目相结合,将本专业学生所需要掌握的知识融入其中.这涉及到项目案例的编写工作.该项工作执行难度较大,开发周期较长,案例本身往往需要几个教师协作完成.随着教学工作的不断开展,项目案例必须要不断修改,适应新形势的发展.虽然这种方法对本专业学生培养最为有利,但案例构建工作大大增加了教师的授课负担.

二、“软件工程”课程的教学改革

针对以上的分析,主要从以下几个方面进行“软件工程”教学的探索和改革:

1.补充案例教学

首先,从开源软件代码库或从著名的开源软件项目中查找适合学生阅读的程序代码.著名的开源代码库网站包括SourceFe、GoogleCode、BountySource、Tigris.及berlios.de等.项目必须涵盖面向过程程序设计技术和面向对象程序设计技术.其中,涵盖面向过程程序设计技术的项目最好采用C语言开发,而涵盖面向对象程序设计技术的项目最好采用Java语言开发.虽然很多优秀开源软件采用Python、Perl或Ruby这类编程语言实现,但是从学生已经学习的编程知识角度出发,尽量不要增加学生学习编程语言的额外负担.经过仔细的甄别,笔者选出三个教学案例:一是Linux虚拟文件系统VFS.该文件系统的设计很好地体现了软件工程中面向对象设计的开闭原则及其他很多设计方法.文件系统是操作系统中较为重要、且用户最容易理解的模块之一.[3]二是SQLite嵌入式数据库,运行时只占用很低的系统资源.目前在很多嵌入式产品,例如安卓系统中使用.[4]三是rsync,是类UNIX系统下的数据镜像备份工具.[5]

其次,教师通过阅读、分析源代码和相关文档,从整体上把握开源软件实例的体系结构.并结合课堂教学,从不同角度出发,给学生分配代码阅读任务.因为部分教学案例,如SQLite等,涉及到多方面的学

关于基于开源软件的“软件工程”课程教学改革的大学毕业论文范文
关于软件工程类论文范文例文
科知识,如数据库、编译原理等,需要指导学生有针对性地阅读其中某一部分源代码.在此期间,要牢记以能够帮助理解软件工程理论知识为主要目的.否则,学生容易陷入海量代码阅读和具体的学科知识学习中,忽略了阅读代码的根本目的.

第三,通过课堂讲解和课后阅读两种方式相结合,结合具体的评分机制,鼓励学生阅读源代码,布置合理的代码阅读作业,鼓励学生使用软件工程方法阅读、管理源代码,做到既促进学生通过阅读源代码加深理论知识的理解,又能够学以致用.了解软件的开发过程和开发方法,又不至于占用过多的时间影响其他课程的学习.第四,在阅读源代码的基础上,了解各个软件不同版本间的功能更新、完善和改进.以rsync为例,其源代码从0.1版本一直到当前最新的3.1.1版本和补丁包,按照时间顺序进行整理、总结.通过该过程的实践,帮助学生理解完善软件的过程以及软件版本控制的概念及方法.这是学生通过努力可以做到的,是必须完成的学习任务.另外,鼓励学生在现有源代码阅读基础上,对当前软件项目提出需求改进、项目设计、软件体系架构和功能扩充等提出自己的修改意见.在时间允许的范围内,鼓励学生实现自己的想法.从该过程中体会到软件设计的一些基本要求,如可扩充性、高内聚低耦合等概念.训练学生提出优秀需求的思维能力.同时与项目发展现状相结合,对软件需求进行取舍,并按照优先级进行排序.培养学生的设计模式观念,以及重构代码的能力,但这并不是必须要完成的学习任务.因为经过国外同行实践教学表明,大多数同学难以对软件提出新的改进.其中原因包括学生缺乏行业实践经验,另一方面,对该软件的理解难以超越设计者.

2.重构现有项目

目前,很多高校采取“项目驱动、从头做起”的方法,让学生动手实践项目.这些项目课题往往由教师指定,学生查找资料,从头做起,设计实现.在实践中,笔者

1 2

关于软件工程类论文范文例文,与基于开源软件的“软件工程”课程教学改革相关论文下载参考文献资料:

教学论文参考文献

趣味英语教学

美术教师论文

学位论文导师评语

小学数学教学改革论文

幼儿教师师德

教师成长论文

和谐高效课堂论文

钢琴教学法论文

化学教研论文

基于开源软件的“软件工程”课程教学改革WORD版本 下载地址