计算机专业数据库课程设计教学与实践研究由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“数据库课程设计与实践”。
计算机专业数据库课程设计教学与实践研究
少作者、单位(小四号楷体字)、城市、邮编、电子邮件地址
摘要:针对计算机专业数据库课程设计中存在的几个普遍问题,结合本校教学研究实践,提出了引导学生树立严谨学习科研态度、开放教学模式,增强学生学习自主性与创造性、规范课程管理、改革考核方式等几点意见,在实际教学中取得了较好的效果。关键词:数据库,课程设计,教学改革引言
随着信息技术的不断发展,数据库系统已成为现实生活中不可或缺的一部分。在高校计算机专业中数据库系统原理作为专业方向必修课,具有非常重要的地位与实际意义,而数据库课程设计作为其实践环节重要性也不言而喻。数据库课程设计是计算机科学与技术专业集中实践环节的必修课,是学生学习完《数据库系统原理》课程后,进行的一次全面的综合训练,其目的在于加深对数据库基础理论和基本知识的理解,培养学生具有C/S和B/S模式的数据库应用软件系统的符合设计需求的设计和开发能力[1]-[2],在具体实现过程中强化学生的实践意识,提高动手能力、创新意识和合作精神。然而目前各个高校计算机专业的数据库课程设计教学还存在一些问题,教学效果不够理想。本文结合实践教学,就计算机专业数据库课程设计中存在的一些问题提出一些观点与建议。2 数据库课程设计中存在的几个问题
2.1 对课程设计认识不足
根据我们在实际教学中掌握的情况,很多学生认为课程设计只不过是一门考查课,没有试卷,没有老师监考,自己只是把实验做一下,课程设计报告交上去就可以了。甚至有些同学根本就没有自己的东西,随便到网上下载一个管理系统应付了事,到验收的时间,具体的设计是怎么完成的,一问三不知。当问到通过课程设计学到了什么的时候,很多人表示自己也不清楚。可见,很多同学对课程设计的重要性认识不足。实际上,作为对理论的巩固与应用,数据库课程设计是一门综合性比较强的课程,它不仅要求学生具备基本的程序设计理论,还要求学生掌握规范化的软件开发流程,它不仅仅是像某些同学认为的比较复杂的程序[3],而是一个完整的软件,要包括规范的开发文档等一系列内容。在数据库课程设计中,学生就是一名数据库应用系统软件开发工程师。所以,我们要加强同学们对这门课程认识上的引导,培养他们严谨、科学的研发态度。在课程设计的目标上面,有些同学并不清楚,他们只是根据老师的要求,完成自己的任务,而不知道通过课程设计,自己应该达到什么样的目标,应该收获什么东西。这里我们举个实际例子:在08年我们学校的一场毕业生招聘会上,有一位平时学习成绩不错的同学在应聘某家公司的软件工程师一职时,他们的面试官问了一个问题“你数据库课程设计的题目是什么?”,这位同学说:“我做的是一个图书管理系统,完成了数据的查询、修改、删除等所有的常用操作”,“请问当图书数据量达到数十万级别时,你是如何进行数据的高效查询,并将结果按照搜索的关键字优先级不同进行排序的?”,这位看似平时成绩不错的同学当时就愣在那里了。事实上,很多同学在课程设计中只是停留在老师给出的任务上,没有进行更进一步的考虑,他们认为我只要完成任务就可以了,仅仅是任务而已。事实上,数据库课程设计是对软件开发的一个系统模拟过程,通过这项课程设计,让学生熟悉软件开发、数据库及其应用开发的操作流程,掌握行之有效的软件开发方法和软件开发工具。更重要的是培养学生一种严谨细致规范的学习作风,奠定科研思路基础。
2.2课程设计选题不够开放
优秀的课程设计选题方案不仅可以提高学生的学习兴趣,也会激发他们的创造性,从而在课程设计中做出一定的成绩。但是很多学校在选题上存在一下几个问题:选题没有新意,每年都是同样的几个题目,有些同学直接把师兄师姐们做好的东西拿来照抄,这种选题不仅不能引起学生的兴趣,也不能跟上发展的要求;题目过大,比如飞机订票系统,火车订票系统。这些选题看似很不错,能够锻炼学生的开发能力。但实际上根本没有必要选择这么大的题目,学生也没有能力完成这样的题目;题目呆板,选择余地太少。有些学校只提供了两三个可选题目,而有的同学又不具备某方面的知识,或者是没有兴趣去做这方面的系统。所以进行开放性题目的实践探索是一个值得尝试的途径,让学生自主选题,发挥自己的特长与创造性,会起到更好的效果。
2.3课程管理复杂,考核方式不够科学
在大部分学校,数据库课程设计的考核方式是与其他课程的课程设计一样的,但是数据库课程设计本身更注重实践更贴近实际的特点使它不能跟其他课程同等对待。我们了解到很多学校通常采用平时分加实验分作为总成绩,但实验分数上面存在很大的问题,就是最终课程设计的验收往往只是随便问几个问题,根据学生的回答情况给出相应的分数。我们认为在这种考核方式下学生是在被动的完成任务,而不在进行创造性的思考,不能够通过课程设计有效的提升学生的科研能力。3 改革数据库课程设计教学的几点思考
针对以上在数据库课程设计中表现出来的问题,我们结合本校教学研究实践,总结出以下几点探索经验:
3.1引导学生树立严谨的学习科研态度
严谨的学习研究态度是我们培养学生的一个重要目标,他们在不久的将来会成为国家科技发展的脊梁,背负着重要的责任,一个没有科学严谨的研究态度的人,是不可能担当这个重担的。数据库课程设计中出现的应付了事,抄袭他人的现象反映了他们学习浮躁、投机取巧的学习态度,这种现象的出现不是偶然的,具有一定的“遗传性”,它反映了一个学校近期的整体学习风气,从表面上看是学生的学习态度不端正,从深层次上看,这在一定程度上暴露了学科教师的科研治学态度问题。老师要求不严格,没有加以合理的引导,也会促使这一现象的产生。
所以,我们必须先从端正学生学习态度做起,在教学过程中对学生进行科研基本素养教育,这不仅促进了学生的良好习惯的养成,更重要的是让他们在无形之中具备了一名科研人员应该具备的严谨、科学的学习科研态度,无论对他们课程设计的完成,还是以后的科研学习,都奠定了坚实的基础。
3.2开放式教学方式,增强学习自主性与创造性
长期以来,在数据库课程设计中由于课时少时间紧,在选题上,大部分老师提供固定的题目供学生选择,这样可以更方便的进行指导与管理,但在另一个方面却忽视了学生的个性发展。每个学生对教学内容掌握情况不大一致,对课程的理解也参差不齐,所以有必要让学生自由发挥,自选题目,自由选择开发工具,只要完成所要求的设计内容即可。例如在数据库选择上,可以选择SQL Server,Oracle,Mysql等,在开发平台上,可以选择Power Buider,Delphi,.NET,J2EE,这些内容是需要学生自己选择的,而老师不能指定某个平台。这样学生的自主性、创造性可以更好地体现出来。
在人员分工组织上,很多情况下还是一个人完成系统所有的开发任务,这样不符合实际情况,因为在公司里面几乎没有哪个软件是由一个人负责开发完成的。我们需要培养学生良好的合作、交流表达能力,而课程设计恰好提供了这样一个平台,在实际操作中,可以根据学生不同特点,合理进行项目的分组。比如每个组里面各包含一个组织能力较强的同学、动手能力较强的同学、语言书写能力较强的同学,这样不仅可以发挥每个同学的长处,又可以避免有些分组几个人都只擅长同一样东西,课题无法很好完成的现象。另外如果有条件,可以模拟公司的开发环境,组织每个小组进行团队开发,让他们掌握如何进行团队开发时的软件版本控制问题,这些都为以后的实际工作积累很好的经验。
3.3 规范化课程管理
在课程管理环节,我们采用了以下流程:确定选题,开题,中期检查,系统验收,课程设计答辩,提交设计报告。通过规范化管理模式,学生可以清楚地了解找什么阶段应该做什么,课程设计得以顺利进行。
确定选题要求学生根据自身情况,合理进行分组,确定题目,描述系统要实现的功能,为开题做好铺垫。
开题是整个开发过程中最重要的一环,我们要给学生以良好的指引。这个阶段要求学生对系统进行需求分析,确定系统边界,建立业务模型,对具体的业务流程给出图表,确定各个业务功能模块之间的联系。之后根据系统的功能模块,进行数据库的概念设计,抽象出业务实体,进行数据库的概念模型设计,画出E-R图,描述各个实体的属性、联系。这是整个整个系统的关键,直接影响到后面的详细设计的完成。
中期检查是对学生上一阶段的设计情况做一个总结,解决开发中出现的问题,比如小组成员之间的有效沟通,进度是否符合要求等。
系统验收是对整个完成后进行的系统正确性、可用性、合理性、性能,实现的情况是否与初期设计目标一致进行的一个检查。这一验收结果是对学生完成课程设计的质量的主要依据,比如系统是否能够完成基本的数据查询、更新,是否使用了视图机制保护数据库的安全,是否使用存储过程提高系统的性能,是否有完整的日志系统以保证系统具备良好的可维护性,系统界面是否符合操作习惯等。
课程答辩是对整个系统完成情况的一个系统的总结,也是最终评定课程设计成绩的重要依据。学生在此过程可以提高总结描述能力,通过对整个开发过程的总结,对某些细节问题的回答,提高了学生临场应变能力,口头表达能力。
3.3 改革考核方式
在进行选题的开放性教学后,由于大家的选题不一样,开发平台不一样,最终系统完成的功能、效果不一样,很多老师遇到的一个共同问题就是如何对课程设计结果进行考核。根据课程设计的流程,我们分别在开题,中期检查,系统验收,设计答辩四个环节进行考核评价。由于各个小组完成系统功能的差异性,我们只要对系统功能、技术文档、设计报告是否符合既定要求,并不要求每个系统都要完成相同的某项功能。开题考核占整个课程评价的15%,我们的评价标准如下所示。
概念模型:E-R图是否规范;实体属性是否符合完整、恰当;实体联系是否正确。(7分)
系统架构:系统设计整体思路是否符合需求;难度、规模是否合理。(5分)
开题报告:开题报告是否符合规范。(3分)
中期检查主要是对学生进行课程设计进度的监督检查,目的是督促学生按照课题计划如期完成课程设计任务,检查的指标包括数据各种操作是否实现、系统功能模块完成情况。中期检查占整个课程评价的20%,评价标准如下所示。
数据各种操作:数据库连接;查询,更新。(10分)
功能模块:模块划分是否合理;模块互操作是否实现;模块功能实现的程度;流程图是否正确。(10分)
系统验收是对学生课程设计的主要评价,学生对整个系统开发设计的完成情况都提提现在这里,我们主要对系统界面、功能实现、系统性能、创新点、帮助系统进行考核。占个课程评价的45%,评价标准如下所示。
界面:界面显示效果;可操作性。(5分) 功能:正确性;实现程度;复杂性。(20分) 性能:稳定性;运行效率;(10分) 创新点:是否有创新之处。(5分)
帮助系统:完整性;操作是否方便快捷。(5分)
课程答辩是对整个系统完成情况的一个系统的总结,检查学生是否能够根据自身完成情况清楚流畅地介绍自己完成的工作,是否能够对老师提出的问题给出恰当的回答。占个课程评价的20%,评价标准如下所示。
课题介绍:总结、表达能力。(5分) 答辩:正确性;实现程度。(7分)
课题评价:人员分工情况;团队合作情况(2分) 设计报告:课程设计报告是否符合规范。(3分) 技术文档:是否符合规范。(3分)结束语
本文对数据库课程设计教学存在的几个问题做了深入的分析,提出了对学生严谨、科学、创新的教学培养目标,极大程度地调动了学生学习自主性,提高他们分析问题和解决问题的能力,培养他们的创新思维能力。我们在数据库课程设计教学的探索中走出了坚实的一步,也将继续将其完善下去,并在其它课程的实验教学中逐步推广。
参考文献
[1] 陆慧娟.数据库系统原理.[M].杭州:浙江大学出版社.2004 [2] 王珊,萨师煊.数据库系统概论(第四版)[M].北京:高等教育出版社.2006 [3] 张立忠,张洋.计算机专业课程设计的教学研究与实践[J].计算机教育.2007.4:1148-1149 [4] 邵浩然.数据库原理课程教学改革探讨[J].计算机教育.2007.10:1127-1129