时间:2022-03-07 11:30:48
序论:速发表网结合其深厚的文秘经验,特别为您筛选了11篇数据库课程设计范文。如果您需要更多原创资料,欢迎随时与我们的客服老师联系,希望您能从中汲取灵感和知识!
中图分类号:G434 文献标识码:A 文章编号文章编号:16727800(2013)008017402
作者简介作者简介:邱月(1979-),女,硕士,湖北经济学院信息管理学院讲师,研究方向为数据库技术。
0 引言
数据库技术已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术是将数据库与软件开发相结合,数据库设计和基于数据库的应用程序开发。为此,课程要求学生选用主流DBMS,自选某种高级程序设计语言,实现一个完整的以数据库为核心的B/S或C/S架构的应用系统。掌握设计实现一个完整的产品化导向的数据库应用系统的流程和方法,包括需求分析、数据库设计、应用程序设计。本文分析了湖北经济学院开设数据库课程设计以来,实践教学环节中存在的问题,结合项目模拟实训教学方法的基本原理,提出了基于团队项目模拟实训的数据库课程设计教学方法的具体方案及实施效果。
1 数据库课程设计教学现状
(1)题目过少不够开放。湖北经济学院是一所财经类教学型学校,开设的主要专业为经济管理类。但目前的题目多数都是老师提供给学生的,题材类似,不可避免地会出现学生相互抄袭的现象。另外,题目呆板,没有和本校的专业特色相结合,选择余地太少。长此以往,会使学生养成不劳而获的坏习惯,不利于学生毕业之后适应竞争激烈的社会。
(2)学生轻分析设计,重编程实现。 学生把编程工作放在数据库设计中的首要位置,轻数据库及其对象的设计,重开发工具的使用。很多学生只重视系统功能模块的设计与实现,缺乏全局观念。
(3)学生缺乏整体意识,团队协作能力不强。在数据库系统开发的过程中,学生对系统没有整体规划,经常把时间都花在需求分析和系统实现上,造成在学生项目后期没有时间做系统测试,这样开发出来的系统必然出现很多问题。
软件开发是一个系统工程,特别强调团队协作能力。如果一个课程设计题目只让学生一个人完成,缺少与他人相互的交流,不利于交流与沟通能力的培养和项目的正常开展。原有教学模式下,学生做课程设计往往单打独斗,没有形成一个团队。
(4)课程考核方式不够科学。老师通常采用平时成绩和实验报告相加权作为总成绩。在这种考核方式下学生是被动地完成任务,不知道所做项目的评定标准,因而积极性不高,也不能通过项目设计有效地提升自己的能力。
2 数据库课程设计基础准备及教学目标制定
2.1 基础准备
综合性的实验课程往往需要很多课程作支撑。在该课程开设之前,前期学生应该已经学习了C、C++等一些经典的程序设计课程,学习了数据库原理及软件工程课程,对于数据库原理课程中的相关概念例如数据库文件的创建、表的建立以操作、视图与SQL查询、存储过程与触发器等进行了相关实验,对于关系型数据库基本概念和特性有一个比较完整的认识。由于课程设计中需要将数据库原理与工程项目相结合设计出具体的应用程序和界面,所以学生还需掌握至少一门前台开发工具,如 、或PHP等,让不同层次的学生选择不同的培养方案,有针对性地进行学习。
2.2 教学目标
结合教材上关于数据库设计的思想和方法,对一些简单的信息管理问题进行必要的分析和设计。在掌握了数据库系统的基本原理和基本方法的基础上,熟悉数据库管理系统的工具及语言。能查阅资料解决数据库技术方面的问题,具备在微软开发平台下进行数据库设计和管理操作能力,培养数据库应用系统开发的基本能力,项目合作、团队精神及小组交流的能力,培养学生运用数据库管理系统解决实际问题的能力。
3 数据库课程设计教学构思
课程组根据学生的实际情况,制定了相应的教学计划。本课程安排在一个学期内,32学时,每周具体安排如表1所示。
3.1 人员安排及开题
把整个班级按照开发小组的形式进行分组,每组4~5人,选一名组长,每个同学承担不同的角色,共同完成任务。在整个过程中,为了达到锻炼的目的,每个同学的角色可以互换。
在选题方面,应充分考虑到学生的专业特色,体现经管类专业的特点,选择具有专业特色的案例,以激发学生的学习兴趣。比如,针对“旅游管理”专业和“国际金融”专业,可以根据专业要求来分别制定教学案例,使学生在数据库课程设计中加深对本专业课程的理解,从而达到数据库课程设计和专业特色融合的目的。在制定选题的过程中,教师应进行充分的调研,与该专业的教师进行讨论,帮助学生选择他们熟悉的题目,如旅游酒店管理系统、学生成绩管理系统、人力资源管理系统等,或者选择学生生活中经常接触、能很快上手的内容。同时,应注意控制题目的规模和难度,使学生经过努力后能在规定的时间内完成。这个阶段可以充分调动学生的积极性,鼓励学生自己选题组建项目小组。这种方式经检验取得了较好的效果。
3.2 需求分析
在此阶段,要尽可能收集课题的全面需求,利用不同小组互相模拟实际用户的形式,开小组讨论会来确定需求,增强学生的沟通能力和开发兴趣,并引导学生自己画出数据流图。
例如,某家工厂的采购部每天需要一张订货报表,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件列出下述数据:零件编号、零件名称、订货数量,目前价格、主要供应者。零件入库应有入库单,零件出库应有出库单,通过放在仓库中的CRT终端把入库单或出库单报告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。
当系统比较复杂时,应当采用分层描述的方法。一般第一层描述系统的全貌,第二层分别描述各子系统的结构。如还未表达清楚,可以继续细化。
3.3 系统设计与实施
确定用户需求后,进入系统设计阶段。物理设计阶段应该充分利用表、视图、存储过程、触发器等各个数据库对象的特点,建立一个完整的数据库。要引导学生利用课程设计来熟悉数据库开发的一些常用技术和工具。例如,在数据库课程设计中可以教学生怎样使用Power Designer来做数据库设计。在软件公司实际的数据库系统开发中,有很多工具可以直接完成从数据库概念模型到物理模型的设计和转化。
系统实施阶段,各小组可以选择自己熟悉的程序设计语言动手编写代码,完成系统各个模块的功能。开发语言可选择机房环境,有Java、VB、VC、PB等;数据库可使用提供的SQL Serever2000、DB2、MySQL5等主流DBMS;软件架构两层、三层都可以。教师对各小组学生在设计中遇到的具体问题,有针对性地给与启发式的引导。
3.4 系统测试
系统测试阶段可以选取小组之间交换测试,主要从功能测试、数据库测试两个方面找出系统的缺陷,对软件质量进行评价打分。列出测试计划,往各数据库表中插入正确的测试数据,测试数据插入情况和各种约束作用,并记录结果;往各数据库表中插入错误的测试数据,记录出错结果;在各数据表中修改测试数据,记录测试结果;各数据表中删除测试数据,记录测试结果;创建各权限等级的用户,授予相应的权限,然后按权限等级执行相应操作,查看操作结果是否正确,最后再编写实验报告。
数据库功能测试主要是对界面进行测试,按用户类型进行分部测试,查看每一种类型的用户功能是否有欠缺;用户操作是否符合实际,是否具有意义;尤其是在功能实现上,不同情况,会有怎样不同的处理;查看在出错的情况下,系统如何处理。3.5 完成设计报告
设计报告主要内容要求有系统需求分析(功能模块图)、基本ER图(要求标明主码、外码、联系类型)、用户子模式设计、按模块分析所编写的应用程序等。撰写设计报告前小组中各成员必须对自己的工作进行归纳、分析和总结。小结一般包括工作内容、工作量大小、自己完成情况、遇到的问题以及解决方法、收获与体会、今后努力与改进方向等。教师给出设计报告书写规范,学生根据系统分析设计结果完成该部分内容。报告编写是考查一个学生总结工作、撰写科技论文的能力。该环节考查的重点:报告是否内容完整、充实,条理是否清楚,格式是否符合科技文章规范。
3.6 检查与考核
考核是检验教学成果的有效方式和重要手段,对学生学习和教师教学具有重要导向作用,不同的考核方式能激发学生的学习动机。除了加强平时考勤外,教师还需在每个阶段对各个项目小组进行跟踪检查,对各个阶段的完成情况进行记录。从数据库原理、数据库应用和数据库设计三方面对学生进行综合评测,达到对数据库系统主要内容和框架的评测。具体考核指标权重为:平时表现 (25%) + 任务完成情况 (30%) + 答辩 (20%) + 设计论文 (25%)。同时还要鼓励学生在课程设计后,尽量撰写相应科研论文,积极申报校级学生科研项目。对于能力非常突出的学生,可以建立课外研究小组,让他们参与到教师在研的省部级科研项目中,进一步提升他们的专业技能和综合素质。
4 结语
数据库技术是一门理论和实践并重的学科。课程设计是否成功的标准在于学生是否通过项目开发,将自己所学到的数据库知识运用于实际需求中,是否提高了学生的动手能力。通过两年的教学实践证明,以这种方式开展课程设计更贴近企业实际的项目开发方式,能倡导学生主动参与的探究式学习和研究,改变学生被动接受、大量反复操练的学习和实验方式, 真正培养学生严谨周密的思维和临时处理问题的能力,满足企事业单位信息化建设的用人需求,有效地解决了理论教学与实践教学脱节和经管专业学生数据库工程实践能力薄弱的问题。另外,做好数据库课程设计作业有利于学生毕业设计报告和毕业论文撰写。今后学生面临的毕业设计其实就是一个完整的系统设计,是课程设计的扩大化、完整化,为设计报告的撰写、文献资料的查阅也为今后撰写毕业论文打下坚实的基础。
参考文献参考文献:
[1] 赵慧敏,杨鑫华,牛一捷. 数据库课程设计实践教学改革探索[J].当代教育论坛,2011(8).
[2] 张志锋,王文冰.以就业为导向的学生综合能力培养教改研究[J].计算机教育,2010(11).
通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。但是这为这学期的课程设计打下了铺垫。
来到学校后,随着这学期的数据库课程大赛开始了,我有一个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,justdoit!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。最后我选择了roseUML建模工具。在此之前,我脑袋里面没有软件建模的思想,什么UML建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是一个信息横流的世界,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的时候用到的powerdesigner也是一样。
培养和提高学生综合运用理论知识能力和实践能力是建设应用性大学的指导思想,是教学实施和教学效果评价的重要指标。数据库课程设计是计算机本科专业集中实践环节的必修课,是数据库原理与应用课程的后续实践课程。实践教学的目的是加深学生对数据库理论、方法和技术等内容的理解,让学生通过参与数据库设计和实现的完整过程,增强学习的应用性和趣味性,掌握设计一个应用系统数据库的实用技能,从而达到能够开发小型信息系统的初步能力,提升完成任务的成就感。教师如何充分发挥数据库课程设计的作用并达到预期的教学效果,是教学改革不断追求的目标。传统的教学模式出现很多弊端和问题,缺乏培养学生创新能力和主动学习的动力,而开放教学强调学生的自主性学习和个性化学习,能充分发挥学生的主体作用和创新潜能,因此我们将开放教学模式逐步引入数据库课程设计。我们经过精心的开放教学准备和近2年的教学实施,发现开放教学是数据库课程设计一个很好的改革方向。
1 传统数据库课程设计的教学实施方式及问题
数据库课程设计一般是2周(48学时)的集中实践课程,在数据库原理与应用课程结束后的学期末进行。传统的课程设计教学集中在一个固定的计算机机房,由教师给出3-5个选题,然后学生分组选题并完成设计和开发,课程结束时学生上交报告,教师进行验收。经过多年的教学实践,我们发现这种课程实施方式虽然在一定程度上能完成基本的教学目标,但是对于培养具有创新型和应用型人才却缺乏动力,逐步暴露出很多问题。
1)选题局限性大,学生缺少创新性动力。
数据库系统的应用非常广泛,在现实社会中有很多优秀案例。传统的课程设计选题仅局限于3~5个固定的题目,如图书管理系统和学籍管理系统等。教师通常会向学生描述系统的功能,学生按照功能描述进行设计和开发,因此教师在描述系统功能的过程中就代替学生完成了系统需求分析和功能设计的工作。然而,这是一个真实系统设计中非常重要的两个阶段,学生在被动的环境中完成课程设计,导致学生积极性不高,缺少创新性动力。
2)考核方式不够科学。
传统教学中,教师在对学生进行考核时只注重学生设计完成系统功能的情况,而没有对设计的质量进行有效的评估和对完成的过程进行监控,导致有些学生在相同的时间内对设计过程考虑较周到,但忽略对系统前台的完善,致使成绩不理想。例如,同样是完成图书管理系统的设计开发,有的学生设计5张表,有的学生却设计10张表,有的学生将有些功能做成存储过程或触发器,有的学生用前台开发语言完成开发等,然而没有具体的考核方式对这种设计上的差异进行评估。另外,学生对知识的掌握情况和对设计完成情况存在差异,而考核中没有与之相对应的分层次和分类型考核评价标准。
3)缺少对数据库的性能优化的考虑。
选题的功能由教师给出,一般为系统的基本功能,却很少有对系统优化的要求,如并发问题、安全控制、容错能力、海量数据存储等。因此,很多学生仅就功能描述进行设计和开发,而不知道在实际的应用中,系统性能的稳定和优化有时比系统功能本身更为重要。后果就是很多学生觉得完成一个软件系统并不是很复杂,但在就业和以后的工作中却缺少真正进行系统分析和设计的能力。在教学中,教师应引导学生意识到系统优化的重要性并教给学生对数据库优化处理的方法。
4)教学反馈少,学生得不到真正的提高。
由于课程设计主要由学生自主完成,课程结束验收时时间较紧,大多数教师只能指出学生系统设计和实现中的不足,却很少有时间与学生探讨和分析产生这些具体问题的原因和解决的方法。因此,学生完成课程设计之后的感受是自己有不足,但是对于如何更好地改进和提高却无从下手。
2 数据库课程设计开放教学
2.1 开放实践教学的思想
开放实践教学指的是利用现有的实验室资源和师资队伍,将实践时间、实践内容、实践地点等对学生开放,拓展学生的学习空间和时间,最大限度地发挥学生学习自主性和创新性的教育模式。开放实践教学是一个系统工程,是教育思想、教学内容、教学方法、师资队伍、教学保障条件等方面的转变和全方位开放。通过全开放式实践教学,教师能够为学生提供挖掘学习潜能和发展个性的场所,激发学生对实验的兴趣,培养学生的创新意识和应用能力。
与传统的时间固定、地点固定、内容固定的实践教学模式相比,开放实践教学更注重培养学生应用理论知识解决实际问题的能力,培养学生进行资料查阅、系统分析、系统设计和实现的能力。开放教学鼓励学生自主思考并自主设计。被规定的内容少了,可选择的空间大了,学生的创造性和积极性就能够被激发出来。
2.2 课程设计开放教学的条件准备
开放式的课程设计教学并不是对学生放任不管,任由学生发挥,而是在经过精心设计和准备的前提下,为学生提供尽可能自由的空间。因此,实行开放式的实践教学,对教师和实验室提出了更高的要求,需要教师做好充分的准备。
1)实验室开放。
开放实践教学首先需要开放实验室,即实验室不是只有学生在固定上课时间内才能使用,而是在保证实验教学正常运行的前提下提供预约开放。学生可以根据自己的情况和实验室安排跟实验室管理员预约实验时间,然后在预约时间内做实验。实验室的开放为学生提供了实验环境保证。
2)时间开放准备。
传统的课程设计集中在2周时间内并且大多在学期末进行,学生面临期末考试,复习课程压力大,对课程设计中碰到的很多问题想深入思考和解决却没有足够的时间和精力。因此,教师可以放宽课程设计时间限制,在学期中期就将课程设计的要求发给学生,学生自己到实验室操作,教师在课程设计期间设置3-4次中期检查和答疑,向学生明确项目检查要求并进行答疑,指出学生在前一阶段工作中的问题。课程设计结束时教师安排验收和学生讨论环节,整个课程设计时间跨度为6周左右,从时间上为学生提供保证,同时重视过程监控。
2.3 课程设计开放教学设计
1)总体思想。
数据库课程设计开放教学要求教师通过案例进行教学,引导学生从调研和学习人手,通过分析调研资料确定自己的选题,然后进行数据库设计和系统设计,最终完成系统实现。在这个过程中,教师要一直追踪每个学生的阶段进展,及时指出问题和提出指导建议,在最后验收时组织一次全班研讨,对学生完成系统的情况分别进行评价并指出不足,引导学生提出完善建议,使学生真正掌握数据库设计和实现的方法。
2)内容要求及评分标准设计。
课程设计分为两部分,第一部分为调研和设计任务,占总成绩的70%;第二部分为撰写报告和演示验收任务,占总成绩的30%。其中,第一部分任务分解为6个小项目,第二部分任务分解为2个项目。具体任务分解要求如表1所示。
从以上分解的任务中可以看出,课程设计不是要求学生闭门造车,而是鼓励学生走出去,让学生通过调研对自己的选题提出想法并针对需要进行数据库和系统设计,在合理的范围内给学生充分的自由。
对于评分标准,我们尽量做到量化和细化,针对以上每一个项目都列出详细的评分标准。我们以第一部分的第4项任务为例介绍评分标准,评分标准如表2所示。
3)时间节点设计。
开放的课程设计时间跨度大,学生完成情况灵活多样。为了加强过程监控,及时纠正学生在设计过程中出现的问题,教师在整个课程设计过程中设计了6个检查和答疑时间点。在这些时间点上,学生和教师必须在指定的实验室进行工作。在课程设计结束时,教师不只是对学生的作品进行检查,还要对学生作品中的优点和不足进行点评,提出进一步完善的方向和建议,让学生得到真正的提高。检查和答疑的时间点设置如表3所示。
3 教学实施与评价
课程设计的开放教学已经实施了3个学期,授课对象分别是2008级、2009级和2010级本科生。从实施过程和效果上看,课程设计的开放教学跟传统的课程设计有以下几点不同。
1)由于时间和地点的开放,学生可以结合检查和答疑时间点机制,更加灵活地安排自己的时间,不至于太散漫而耽误进度。
2)课程设计内容上的开放,激发了学生的学习兴趣和积极性。学生为了调研,上网查阅很多网站和资料,有的还跑到超市、订票点、饭店等机构观察取证,基于自己的调研和分析对数据库系统有更加全面的认识。然后,学生开始考虑系统的安全性、优化性、交互友好性等方面的解决方案,写出的调研报告内容翔实丰富。学生选题的思路广了,选题和设计的系统更多地考虑了实际应用和需求,使得课程设计几乎不再出现雷同作品。
中图分类号:TP393文献标识码:A文章编号:1009-3044(2016)01-0023-02
数据库技术是现代软件类人才所必需的三大技能之一,在高校培养软件类人才的课程体系中,数据库原理课程占有举足轻重的地位[1]。数据库技术是一项应用最为广泛,发展最快的技术,几乎涉及所有的计算机应用领域[2]。特别是随着大数据技术的发展,数据库技术已经成为该技术的核心技术之一。而对应于传统的数据库原理课程设计,存在着重原理,轻应用,教学方法较为陈旧等不足[3]。很难适应应用型本科人才的培养目标。通过在数据库原理课程设计中,引入小组互助式教学方法[4],可以改善这些问题。采用小组合作教学模式,教学过程的所有环节以小组活动为核心,依靠小组成员积极的相互依赖关系,面对面的促进式互助来完成学习任务;以小组成绩为最终考核成绩,而非某个成员的成绩。本文探讨了小组互助式教学模式在数据库原理课程设计的运用。
1数据库原理课程设计中存在问题分析
近几年来,全国大多数的高等院校都进行了数据库原理课程设计的改革研究,并取得一定的成果,但数据库原理课程设计教学过程中存在以下不足。
1)重理论轻实践,大部分高校开设数据库原理这门课程存在着理论原理学时和课程设计上机实践学时分布不均衡的问题。也就是注重理论知识的讲授,忽略了学生动手能力的培养,这与应用型人才培养是相矛盾的。
2)课程设计工作量较小,只适合一人独立完成。这与现代软件开发是相抵触的,从软件工程学角度来讲,软件开发需要团队协作完成。
3)课程设计考核制度较为陈旧。传统的数据库课程设计考核,大多以学生所做数据库系统的前台实现情况和后台数据库设计两个方面进行考核。所做系统相对简单,与实际要求的技术水平有出入。不利于激发学生实践的主动性,应用型人才培养的目标也无法真正落到实处。
2小组互助式教学的实施
1)组建数据库原理课设小组
根据学生自选优先的选择,分成若干小组。各小组组建后,求小组成员推荐组长。老师布置好课程设计任务后,学生根据要求开会讨论确定实施方案。有组长牵头实施,统筹全局,并将课程设计任务分解,分配到各小组成员手中。按照相应的工作内容,将小组成员划分为需求分析、概要设计、数据库设计、详细设计等工作的负责人。也就是每个人负责组织在不同阶段的实施内容,例如召集例会讨论、调研、设计等工作。每个小组成员,并不意味着完成自己的相应工作就完成了,也要参与到其他环节中去。
2)数据库原理课程设计题目的选取
根据所学数据库原理知识,根据所给题目,进行数据库设计,选择SQLServer数据库管理系统作为后台开发工具。结合所学面向对象编程知识,选择合适面向对象程序设计语言作为前台开发工具。设计一个数据库应用系统,一般以中型题目为宜,能够对数据进行录入、编辑、修改、删除、添加、浏览等功能。教师规定学生可以从学生成绩管理子系统、课程管理子系统、图书管理子系统、通讯录子系统、教室管理子系统、宿舍管理子系统、个人事务管理子系统,库房入库出库管理子系统进行选取,也可小组自拟题目,但工作量必须由指导教师进行审核。对于题目,教师鼓励小组自拟题目,因为这样学生才能选取与实际项目相近的题目,提高学生的课程设计的兴趣。
3)课设中实施
指导教师,要对各小组的工作进行整体监控。在课设的前期准备工作中,参与到各小组的课设讨论中去,给予相应的开发建议。通过小组间的竞争,点燃各小组的课设工作的热情,激发学生的数据库设计工作的欲望。当各小组进入到课程设计实施过程中时,要进行必要的指导,省得学生走弯路。课程设计环节对学生技能的提升来说非常重要,它能提升学生的设计能力和创新能力。学生在课设的实施环节中,按照小组进行,由组长统筹安排。依据数据库设计的工作流程进行开发,做到人员分工明确,以团队形式进行课程设计工作。课程设计结束后,要以小组为单位进行公开答辩,小组各成员表述自己设计的理念和实施方案,小组成员的结构和分工,遇到问题及解决方案等,由指导教师和各小组组长作为评委进行考核。这样有利于,增强学生的沟通能力,也提高了学生的社交能力和数据库原理实践能力,还培养了学生的团队精神。并且教师在整个过程中,既是主导者又是参与者,融洽了师生关系。
4)课设的总结
答辩结束后,各小组长要代表本组进行总结,主要总结课设过程中存在的不足,以及从其他组学习来的经验,还有对本组课设内容怎么进行完善等。最后教师对每组进一步的点评,包括各组的优缺点,课设中存在的共性和个性问题等。
3小组互助式在课设工作中的优势和不足
小组互助式进行数据库课设工作,是以小组为主导,教师为辅助的一种课设教学方式。比以教师为主导的程序要复杂,但学生在参与热情上明显提升。比较优秀的学生通过此进程,可以提高自身理论实践的水平;中低层次的学生,可以通过与小组其他成员学习,增加自己的学习兴趣。这种方式,给予每名同学展现自我的平等机会,更有利于个体的发展。当一个小组中,责任不清晰,工作不平衡时,会导致课设工作要集中到一两个人的手中,导致其他学生产生不劳而获的状态。所以,指导教师,要监控整个课设活动,积极进行巡查督导,发现问题,解决问题。
4结论
本文分析了数据库原理课程设计中存在的一些问题,并进行了分析,提出了一种基于小组互助式的数据库原理课程设计的实施方案。该方案,为学生的想象力、创造力的发挥提供了平台,也为将来的团队式软件开发工作打下了坚实基础。为数据库原理课程设计和其他实践能力要求比较强的实践教学环节,提供了相应指导。
参考文献:
[1]杨进,郑先荣,唐德玉.数据库课程教学改革探讨与实践[J].教改创新,2011(32):136-137.
[2]王珊,萨师煊.数据库原理概论[M].北京:高等教育出版社,2006.
[3]韩秋英,朱变,张少辉.地方师范院校数据库原理课程教学改革与实践探索[J].周口师范学院学报,2014(31-2):141-142.
数据库基础是北京服装学院计算机公共课教学改革的组成部分[1],总学时为36。针对课时少,而非计算机专业尤其是文科类专业学生形象思维活跃、逻辑思维欠缺的特点[2-4],我们确定了熟悉数据库系统的基本概念,掌握数据库的建立、查询、修改等基本操作,并了解数据库系统的体系结构和构建过程的教学目标。以案例教学[5-6]为主,具体策略如下:
1) 实验课程由一个综合案例贯穿始终。
2) 每个小案例都是综合案例的组成部分。
3) 在完成小案例的基础上,使学生水到渠成地掌握综合案例的所有知识点。
综合案例使学生将前面独立的小知识点融合在一起,完成一个复杂系统。学生不仅对孤立的知识点进行了回顾,还加深了理解,融会贯通。
本实验课程在北京服装学院已经使用了4个学期,得到老师和学生的一致好评。有些掌握较好的学生甚至自己也有信心完成一个简单的数据库系统开发。对于非计算机专业的文科类学生能发出这样的感慨,我们课题组倍感骄傲和自豪。
1综合案例的设计
综合案例选择的依据有两点:1)新颖、能引发学生兴趣;2)能帮助学生理解数据库系统原理。基于上述两点,我们选择了“网上购物系统”作为综合案例。网上购物是个新生事物,具有新颖、时尚的特性,而且网上购物中顾客、商品以及之间的关系能充分说明数据库系统的基本原理。大部分学生有过网上购物的体验,结合学生的体验,教师引导学生分析网上购物的原理,最后让学生自己完成一个模拟的小型网上购物系统,对学生非常有吸引力。
1.1系统功能
“网上购物系统”是一个模拟现实生活中购物流程的数据库系统,该系统主要功能如下:
1) 基本信息管理:包括用户信息管理、商品信息管理、订单信息管理及用户账户充值。
2) 顾客个人信息管理:包括用户自注册、修改个人资料、添加商品换积分。
3) 商品浏览与下订单:顾客可简单地根据商品类型查找商品,也可设置复杂的查询条件查找相关商品;然后浏览符合条件的商品,并查看商品详细信息;最终决定是否购买。
4) 订单的流程管理:包括订单的付款、发货、收货确认、取消订单与退款等网上购物环节的处理。
5) 统计查询功能:可以对用户、商品、订单等相关信息进行简单查询、复杂查询以及统计汇总。包括用户查询、商品查询、订单查询、商品库存查询、商品销售查询。
网上购物系统的功能结构图如图1所示。
1.2系统开发平台
1) 后台数据库开发平台:SQL Server 2005。
2) 前台应用程序开发平台:Visual Basic 6.0。
1.3购物流程
“网上购物系统”的购物流程如下:
1) 顾客:登录。可以使用已存在的用户名,也可以自己新注册用户。
2) 顾客:浏览商品。
3) 顾客:选择商品,然后进行购买。
4) 顾客:付款。
5) 管理员:发货。
6) 顾客:收货确认,完成订单交易。
7) 管理员或顾客:取消订单。
说明:顾客购买商品后系统自动生成订单,之后任何环节都可以取消订单。取消订单可由顾客自己操作,也可由管理员操作。
8) 管理员:退款。
说明:订单取消后,若已经付过款,则可由管理员进行退款。
购物过程用流程图描述,如图2所示。
1.4系统用户类型及权限
本系统共有3类用户:管理员、顾客和匿名用户。不同用户类型具有不同的操作权限。
1) 管理员:用户登录、用户管理、商品管理、订单管理、用户账户充值、简单商品浏览(仅限浏览不可购买)、综合商品浏览(仅限浏览不可购买)、用户查询、商品查询、订单查询、商品库存查询、商品销售情况查询。
2) 顾客:用户登录、简单商品浏览(浏览及购买)、综合商品浏览(浏览及购买)、我的订单管理、修改个人资料、添加商品换积分。
3) 匿名用户:用户登录、简单商品浏览(仅限浏览不可购买)、综合商品浏览(仅限浏览不可购买)。
2网上购物系统数据库的设计
为实现上述系统功能,本课程设计一个名为“salesystem”的数据库。
2.1基本表结构
“salesystem”数据库包含3个基本表,即users、product、orders,它们的结构详见表1、表2、表3。
2.2表之间的关系
3个基本表之间的关系如图3所示。
说明:
orders表中的uid为外键,引用users表中的uid;
orders表中的pid为外键,引用product表中的pid。
3实验内容设计
综合案例完成后,我们要考虑如何将综合案例涉及的知识点分解到7个小实验中,因此我们的课程设置如下:
1) 实验1:初识数据库――使用“网上购物系统”。
2) 实验2:使用T-SQL进行数据定义与单表查询。
3) 实验3:使用T-SQL进行数据查询与数据更新。
4) 实验4:SQL Server 2005的使用。
5) 实验5:VB常用控件及流程控制语句的使用。
6) 实验6:VB数据库编程基础(1)。
7) 实验7:VB数据库编程基础(2)。
8) 实验8:基于VB的数据库应用程序开发实例――网上购物系统。
实验1的任务是将学生引入网上购物系统,并引导学生对网上购物的原理产生疑问。带着这些疑问,我们开始了数据库的学习之旅。
实验2―实验4的任务是学习数据库的创建、表结构及数据查询与更新的操作。这3次实验是本课程的重点,我们采取的教授策略是知其然,然后知其所以然。先让学生学习具体操作,在此基础上引出数据库表结构、约束、表内容以及表之间关系等数据库的基本理论知识。通过学习数据查询,让学生进一步理解为什么数据库能够管理大量数据,为什么我们可以从数据库中提取出那么多的信息。
实验5―实验7的任务是学习VB程序设计的基础知识。构建一个完整的数据库系统,仅仅靠数据库的构建还是不够的,还需要前台软件。前台软件的开发需要开发工具,我们选择了适于学生学习的Visual Basic。这3次实验将网上购物系统中用到的VB基础知识拆分在13个小实验中,为完成综合实验――实验8奠定了基础。
4实验课程教学效果
实验课程设置之初,有老师提出疑问,在整个一门课中,学生就围绕这网上购物系统的3张表转,会不会厌烦?仅仅这样3张表能让学生充分理解数据库系统的原理吗?经过4个学期的实践,总结本实验课程的考察结果,证明仅仅通过一个网上购物系统完全可以让学生理解数据库基本原理,并达到融会贯通的学习效果。
本实验课程的考核包括两部分:理论知识部分和综合运用部分。理论部分主要考察学生对数据库原理理论知识的掌握情况。综合运用部分考察学生综合、灵活运用理论知识的能力。考察结果表明,通过案例的方式引出数据库基本理论知识的学习方式更容易为学生所掌握。而且同一个案例的每次出现都会使学生对网上购物系统数据库有新的或更深的理解。
为了考察学生灵活运用的能力,我们在综合运用部分采用的数据库系统都是学生未曾见过的、陌生的系统,如网上考试系统、图书借阅系统、运动会比赛系统、pubs、Northwind等。综合应用题要求学生自己创建数据库、表,输入数据、查询数据、更新数据。虽然面对陌生的数据库系统,但95%的同学都掌握得非常好,能够灵活运用,这充分说明了本实验课程的教学效果是良好的。
5结语
在信息化时代,非计算机专业的计算机教学是一项非常有挑战性的工作,具有时代性、应用性、广泛性的特点。数据库系统基础就是为了满足信息时代对大学生的要求而开设的一门课程。基于综合案例的实验课程模式适合非计算机专业学生,取得了较好的教学效果,今后将不断完善和丰富。
参考文献:
[1] 教育部高等学校文科计算机基础教学指导委员会. 高等学校文科类专业大学计算机教学基本要求[M]. 北京:高等教育出版社,2008:39-40.
[2] 杜剑侠,张巨俭. 谈高校理工类专业计算机基础教育教学模式[J]. 计算机教育,2008(15):56-57.
[3] 杜剑侠,耿增民. 谈服装设计专业开设VB程序设计的重要性和教学方法[J]. 高教研究,2008(4):29-31.
[4] 杜剑侠,康海燕. 文科类专业VB教学方法研究[C]//全国高等院校计算机基础教育研究会.全国高等院校计算机基础教育研究会2008年学术年会论文集. 北京:清华大学出版社,2008:385-388.
[5] 王彤,王良. 案例教学法在数据库原理课程中的应用[J]. 计算机教育,2006(2):27-30.
[6] 林荫,卢莹,王洪元. 数据库技术实验教学的探索与实践[J]. 时代教育:教育教学版,2008(5):132-134.
Experiment Course Design of Database Base Based on Integrated Case
DU Jian-xia, GENG Zeng-min, SUN Xiao-dong
来到学校后,随着这学期的数据库课程大赛开始了,我有一个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,justdoit!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。最后我选择了roseUML建模工具。在此之前,我脑袋里面没有软件建模的思想,什么UML建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是一个信息横流的世界,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的时候用到的powerdesigner也是一样。
中图分类号:G434
文献标志码:A
文章编号:1002-0845(2007)05-0106-02
一、引言
随着信息社会的到来,既掌握专业技能又具有计算机应用能力的人越来越来受到欢迎。为了适应社会的发展,必须培养既熟悉专业又能把计算机技术同各领域的专业需要紧密结合的复合型人才。数据库技术成为高校各学科专业的必修或选修课程。数据库课程设计一般是大学三年级学生在学完计算机应用基础、计算机编程语言、办公自动化软件基础、数据库原理与应用等课程后进行的集中实践环节,主要内容是通过社会调查,选择一个实际课题,完成数据库应用系统设计工作,课程结束后提交应用软件系统和课程设计报告。通过课程设计,可以使学生较全面地理解、掌握和综合运用所学知识,培养学生调查研究,查阅技术文献、资料以及编写技术文献的能力。非计算机专业学生对于计算机类的课程通常有一定的畏惧感,尤其对计算机语言、编程等,觉得难以驾驭和掌握。如何让学生通过数据库课程设计,使他们的各方面能力得到培养和锻炼,一直是值得思考的课题。本文结合教学实践,就教学内容、教学手段、考核方式、课程管理等方面进行初步探索。
二、课程设计的目标、内容及要求
教师应了解学生以往所学过的计算机相关课程,注意课程的衔接,分析非计算机专业学生已经掌握的知识和知识的体系结构,明确数据库课程设计的教学目标、内容及课程设计要求,对需要加强或充实的内容要重点讲解和补充。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用要求,包括数据库的结构设计(数据静态模型的设计)和数据库的行为设计(应用软件等的设计)。学生应按照数据库结构设计的需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护这六个阶段,分阶段分步骤进行,完成每一个阶段的任务。根据软件工程的方法和理论进行应用程序的设计,熟练运用相关语言编制应用系统的界面,实现开发工具与数据查询语言的无缝连接,建立数据库应用系统。要求学生要提交课程设计报告、所开发的软件系统和程序清单。课程设计报告包括各阶段的设计内容和对所开发的应用系统的评价,以及课程设计的体会与建议。
为了发挥学生的主动性,教师授课的重点应放在系统化的开发步骤和关键性问题的求解上,首先要介绍设计思想、方法和程序设计的思想和方法。课程设计过程中教师要指导学生查资料,如数据库原理及应用,数据库系统,软件工程,管理信息系统等方面的书籍,同时要指导学生善用软件帮助系统,培养学生学会质疑、自学和调查研究解决问题的能力。针对在校学生接触实际比较少,没有实际开发软件和工作经验的特点,应精选有代表性的案例,从问题的提出、方案的设计与实施,到最终问题的解决,给学生全面了解解决问题的全过程。然后,由学生当主角,让学生自己解决问题,锻炼他们综合运用知识的能力。
三、课程设计的选题
选题是整个课程设计的前提和关键。课程设计题目选择的难易程度、范围的大小和是否能激发学生的学习热情,直接影响到这一实践教学环节的效果。一个好的题目应该符合以下原则:首先,要符合教学要求,使学生通过课程设计进一步巩固所学的专业知识,培养学生分析问题、解决问题的能力;其次,一个好的题目应该和实践紧密联系。理论来自于实践,又服务于实践。要贴近学生学习和生活实际,先选择容易开发的实用的数据库应用系统,对学生以后从事相关工作有帮助。脱离实践的题目往往激发不出学生的学习热情,达不到预期的目标。
首先,将学生分成若干个小组。分组的依据为:学生的学习成绩、知识结构、学习能力、性格特点、男女搭配等,遵循互补的原则,成绩好的与成绩差的搭配,性格内向的与外向的搭配等。每组人员为5~6名,每组设组长,全面负责小组的学习讨论和任务安排。在组长的指挥下,对成员进行分工,善于口头表达的负责联系工作和调查研究,计算机操作能力强的负责代码的编写,程序设计能力强的负责整体规划、程序调试和连编,写作能力强的负责技术文档的书写等,成员努力的成果与个体成员共同分享。教师只需提醒学生合理分配工作时间,注意小组成员之间的沟通,帮助把握进度。实践表明:在互相讨论又各自有所负责的学习氛围中,学生之间可以相互学习、取长补短,对知识的掌握与巩固有很大的帮助。
其次,各个小组通过讨论、观察、思考、查资料等方式,结合各个学生的特长,参考教师指定的范围选定课程设计题目,然后与教师进行交流。教师应对学生选定的题目进行批阅,在可行性、工作量大小、小组成员及题目意义等方面进行把关评估,及时将意见反馈给学生,学生再针对教师的意见进行调整,最终确定课程设计的选题。结合教学实践可以选择如下题目:客房管理系统、学籍管理系统、学校工资管理系统、科研项目管理系统、高校设备管理系统、档案管理系统、图书资料管理系统、教学成绩管理系统、后勤管理系统、系办管理系统、居委会管理系统、职工人事管理系统、宿舍管理系统等。
四、方案设计和方案实施
选定题目后,即可着手完成数据库课程设计的各个阶段的任务。首先,各小组应对所选题目进行分析,通过查阅资料、小组讨论、走访专家或社会调查等途径,进行调查研究和可行性分析。通过调查组织机构情况、业务活动情况、数据情况、用户要求,确定新系统的边界,完成系统需求分析。然后,采用实体联系模型确定应用程序中的实体和联系,确定实体的属性和实体之间联系的类型,得到局部E-R模型,异对局部E―R模型集成进行输入/输出设计和软件结构设计等,完成概念结构设计。接下来,实现E-R模型向关系模型的转化,利用关系规范化理论进行关系模式的优化,设计用户视图,同时进行界面设计,模块设计等,完成逻辑结构设计阶段的任务。再往下,进行物理设计和软件实施,最后是应用系统的集成与。小组成员在组长的领导下,可以分头完成各自负责的任务,小组成员要分工负责和团结协作。教师在指导课程设计过程中,可以设置几个检查点,制定阶段性任务。如根据课程内容、教学目的、系统规模、工作量等因素,审查各小组递交的初始设计方案,在设计方案的实现方法、表现形式等方面做出调整建议,以避免在方案实施过程中出现不必要的反复。
在课程设计过程中,提倡通过模仿来学习,只有多模仿才能掌握方法,才有可能创新。学生根据初始方案,通过各种途径查找与自己的题目类似的范例,通过模仿范例来实现自己的程序。有的学生在范例中看到自己感兴趣的内容,通过适当修改,将其应用到自己的程序中,使程序更合理,内容更丰富。学生在掌握了基本方法和解决问题的途径后,对自己感兴趣的内容,自然愿意努力去寻找答案。学生在方案设计、修改、实施的过程中不断发现问题与解决问题,逐步产生了学习的乐趣。为了避免在分组的实验、设计中有的同学不积极参与的现象,可以采用随机抽查的办法来考核小组的成绩,促使小组内部互相监督、互相帮助、互相学习,有利于培养学生学习的积极性,提高教学效果。
数据库课程设计中实验是重要的组成部分,教师要详细布置实验,制订上机纪律,并且督促学生严格按照课程设计各阶段工作要求操作。实验可以参考以下内容安排:(1)建立数据库。包括创建数据库,创建表,建立字段和记录的有效性约束,建立索引,创建表间关系和触发器设计等。(2)使用表单操纵数据库。包括设计表单,创建表单,为表单添加对象,定义表单及其对象的属性、事件和方法。(3)设计用户视图。包括创建不同的用户视图,实现用视图来控制更新数据库中的数据的目的。(4)设计报表。包括创建报表,打印和预览报表,注意各个带区的使用。(5)设计菜单系统。包括规划菜单系统,创建菜单及其子菜单,为菜单指定任务,调试和使用菜单系统。(6)项目集成。包括使用项目管理器集成数据库、表单、视图、报表等数据库对象,设置主控程序,编译和发行软件等。
五、课程设计的考核与评定
学生在课程设计结束后,不仅要提交软件系统,还要提交课程设计报告,阐述其设计思路、运用的知识及自己的体会。课程设计的成绩由以下几部分组成:考勤占10分,平时抽查和提问题情况占10分,课程设计报告占30分,软件系统设计占30分,演示与答辩占20分。课程设计报告主要看各个部分的完备性,分析的透彻性和独到的见解。在评分方式上采取自评和互评的方式,首先由各小组依据教师给出的评价标准给本小组打分,然后由每组各选一名代表给大家介绍系统开发的情况并演示系统,同时回答学生和教师提出的问题。所有小组代表陈述完后,由各组分组讨论,对其它组开发的系统进行评价和评分。最后由教师根据其自评、互评分数结合实际情况(包括软件开发水平、演示能力、回答问题能力、软件开发文档等)适当总结并公布成绩。
为有效避免学生在课程设计过程中的抄袭现象,教师可以对学生进行有针对性地提问,学生当场解答;教师也可以采取删除软件中一些关键性语句由学生当场调试的方法检查学生的学习效果。通过评价和自我评价,学生的学习主体意识得到充分体现和加强,激发了学生发现、分析和解决实际问题的学习积极性,不仅提高了学生运用数据库理论开发出具有实际应用价值的数据库应用系统的能力,而且学生思考和解决实际问题的能力也有了较大提高。
六、结束语
课程设计是一种学习、实践、探索和创新相结合的综合教学,是高等学校培养人才的重要教育教学环节。通过近年来课程设计的指导实践.笔者深切地体会到,正确合适的选题、恰到好处的指导、学生积极性的调动、科学的评价手段及课程设计规范化管理等对提高课程设计质量是至关重要的。实践证明,课程设计大大激发了学生的学习兴趣,促使学生将所学的课程知识运用到实践中去,使学生对所学的知识融会贯通,巩固加深。课程设计培养了学生的团队意识和协作精神,增强了学生的创新意识,提高了学生的创新能力。
参考文献:
一、引言
《数据库课程设计》是计算机专业本科生在学过《数据库系统概论》课程之后开设的一门综合性较强的实践课程。其主要任务就是使学生进一步巩固和理解所学的数据库基本理论知识和技术,培养学生运用所学的知识和技术设计数据库系统的能力。在实践中,我们采用了项目化教学法进行数据库课程设计,该方法使得学生对知识的掌握和理解、解决问题的能力等方面都得到了极大的提高。但是学生在进行数据库设计时,也常常存在着一些问题。这些问题不纠正,将导致学生在系统设计中养成一些不好的习惯,设计出的系统也存在不实用,不稳定等问题。
二、项目化实验教学法的主要内容
项目化实验教学法是通过实施一个完整的项目而进行的实验教学活动,其目的是在实验教学中以学生为中心,把理论与实践教学有机地结合起来,充分发掘学生的自主创新能力,提高学生解决实际问题的综合能力。项目化实验教学法,是由教师提出开发目标,学生以小组为单位进行项目选题,在教师的指导下完成项目开发,学生通过亲身实践,自觉运用已学的知识,有效探究和学习新的知识,从而提高专业技能,并体会探究的乐趣和协作的精神。这是一种“以学生为主体、以教师为主导”的建构主义教学模式,它强调项目任务的真实性、教师指导的目标指引性、学生学习的积极主动性、实践过程的探究性和合作性、评价的过程性和反思性等[1]。
项目化实验教学法最显著的特点是“以项目为主线,教师为主导,学生为主体”,改变了传统教学中“教师讲,学生听”的被动教学模式,创造了学生主动参与、协同合作、探索创新的新型教学模式。
三、学生在进行数据库设计时常见的问题
1.课程设计的题目选择不合理
由于课程设计的选题工作是在数据库课程设计开始时才进行,因此,有的同学把课程设计的题目设计得很大,然而课程设计安排的时间比较少,学生投入的精力也有限,所以导致学生做出的系统虎头蛇尾。
2.把程序编写工作放在数据库课程设计中的首要位置
学生在做数据库课程设计之前,已经做过一些课程设计。比如在学习C、C++或Java之后,利用C、C++或Java所做的课程设计。那些课程设计内容是使用高级语言设计和编写小软件,在那些课程设计中,程序编写是一项非常重要的工作,因为那些课程设计是以熟练应用某高级语言为目的[2]。而在数据库课程设计中,编写程序工作与需求分析、总体设计和详细设计等工作相比较,重要程度降低了。因为数据库课程设计不是以熟练运用某高级语言为目的,而是以熟悉和运用数据库系统设计知识为目的。
但是学生往往认为程序编写工作重要,而认为需求分析、总体设计和详细设计等工作无关紧要。当确定课程设计题目后,有些学生不认真作需求分析、总体设计和详细设计等工作,匆匆忙忙开始编写程序,这种行为与数据库课程设计的目的不相符。
3.只重视系统主要功能模块的实现,缺乏整体和全局观念
在系统开发的过程中,学生对系统没有全局规划[3],往往是把时间都花在需求分析和系统实现上,在最后阶段,由于时间仓促,很多学生甚至没有做系统测试,草草收场,这样开发出来的系统将会出现很多问题,究其原因,主要是学生在系统开发各阶段,缺乏一个整体的统筹规划。
4.熟悉常用技术和工具
在《数据库原理》课程中,我们介绍了数据库设计的传统方法,例如:概念设计中ER图的画法,以及如何将ER图转化为逻辑模型等数据库的设计方法。由于现在数据库技术发展很快,在软件公司实际的数据库系统开发中,书上介绍的这些技术方法已经过时。有很多工具可以直接完成从数据库概念模型到物理模型的设计和转化。如果我们还使用书上的方法,将会造成学生毕业后所学的内容已经过时的问题。
四、改进措施
针对上述问题和问题产生的原因,应该采取如下一些措施加以解决。
1.选择恰当的课程设计题目
课程设计的选题工作可以在数据库原理课程开始讲授时布置下去,让学生有充足的时间思考,思考成熟后,在指导教师帮助下,将课程设计题目确定下来。然后学生一边学习数据库原理课程内容,一边着手收集课程设计所需的有关资料,做好课程设计的准备工作。课程设计题目所涉及的问题规模和难度应该比较小。因为课程设计不同于毕业设计,加上课程设计安排的时间比较少,学生投入的精力也有限,所以要控制规模和难度[4]。指导教师在帮助学生选择题目时,可以选择学生比较熟悉的问题,如图书资料管理系统、学生成绩管理系统、人力资源管理系统等等,或者选择学生很快就能熟悉的一些问题。
2.摆正程序编写工作在软件工程中的位置
指导教师要引导学生明确数据库课程设计的目的,使学生清楚程序编写工作与其他软件开发工作的关系,让学生摆正编写程序工作在数据库课程设计中的位置;告诉学生不能只重视编写程序工作而轻视其他工作;更不能不经过需求分析、总体设计和详细设计等阶段而直接开始程序编写工作。通过做数据库课程设计引导学生摆正程序编写工作的位置。此外,指导教师可以通过将一些典型错误实例介绍给学生,引起学生的重视;还可以安排时间让学生对设计内容进行自查和互查。
3.培养整体观念和全局意识
在数据库课程设计开始时,教师应该指导学生制订一个软件开发计划。对于软件开发过程中的每个阶段,从可行性研究到需求分析,从总体设计到详细设计,从编码到测试,让学生站在整体和全局的角度,考虑和分配各阶段所用时间和各种资源。通过这个计划的制订,训练学生树立从整体出发来思考软件系统开发过程的观念,引导学生学会从全局的角度来合理规划软件开发的各项工作,熟悉软件开发的整体过程。指导教师根据学生做的规划,对学生各阶段的工作进行审查,审查通过之后,再让学生做后面的工作。
4.熟悉常用技术和工具
指导教师要引导学生利用课程设计来熟悉数据库开发的一些常用技术和工具。例如,我们在数据库课程设计中就可以教学生怎样使用POWER DESIGNER来做数据库设计[5]。因为学生毕业后,从事数据库开发工作,就会经常用到这些工具。熟悉这些常用技术和工具的使用方法,并且认真完成课程设计各项文档材料的制作,可以为毕业后从事相关的软件开发工作奠定良好的基础。
五、教学效果
教学实践表明,这种形式的数据库课程设计,可以使学生有效地巩固对基础理论知识的掌握,使学生系统地了解软件开发流程,提高学生的系统开发能力,增强学生的就业竞争力,并且可以建立学生的团队意识,提高学生的交流和协作能力。
参考文献
[1]林巧,丁革建.数据库课程设计的项目化实验教学方法[J].实验室研究与探索,2009(4):131-139.
[2]胡颖.关于提高课程设计教学效果的措施[J].职业教育研究,2006(11):23-25.
[3]海波,朱小军.高校实践性课程多元学习环境设计[J].甘肃高师学报,2007(5):54-56.
[4]王艳红,章小莉,姜湘岗.在数据库课程设计中培养学生项目开发能力[J].计算机教育,2009(13):91-94.
[5]卫东,房芗浓.面向应用型人才培养的数据库课程教学模式探讨[J].高教论坛,2010(5):49-51.
【中图分类号】G640
【文献标识码】A
【文章编号】1672—5158(2012)10-0034-01
一、课程定位
《SQL Server 2005数据库设计》是软件技术专业的一门核心课程。是软件技术专业培养方向中,JAVA程序员、NET程序员、数据库管理员、信息系统管理员、软件测试员等所必须掌握的数据库知识学习,重在培养学生对SQL Server2005数据库的操纵与设计的能力。开设于新生入学第一学期,后续课程有C#程序设计、ASENET程序设计、JAVA程序设计、J2EE程序设计、ORACLE数据库设计等。它对后续两线课程都起着重要的支撑作用。是一门处于重要地位的职业基础课程。
二、课程设计的整体思路
课程以企业用人为依据、以提升职业能力为目标,针对岗位群所需解决的工作任务为导向进行基于工作过程的课程开发。按照由简单到复杂分划分为7个学习情境,数据库基础、安装与配置、基本操作入门、数据库编程、数据库高级操作、前台语言访问后台数据库、数据库综合设计。每个学习情境又根据工作任务的独立和先后连贯性分解为子情境,每个学习情境或子情境下对应一个或多作实训任务。即全程共有18实训任务,3个综合实训任务。而且随着课程的深入将会出现新的项目载体如(图书馆管理系统),以培养学生对非教学过程中的数据库进行操作和设计的能力,直至数据库综合设计阶段,将会出现更多个实际项目载体,通过组建项目开发团队,要求学生通过分工配合,完成对项目的需求分析,系统功能的确定,并能根据功能和业务规则对所选项目的数据库进行分析与设计。培养学生的职业能力、职业意识,从而为实现与就业岗位“零距离”奠定良好的基础。
三、课程教学的组织与实施
1、教学模式的探索
在教学中尽可能本着突出职业导向,以学生为主体,突出能力训练为原则,在教学、教改中慢慢摸索、不断实验,总结出了该门课程的教学组织模式:基于行动导向的教、学、做、训、评合一的一体化教学模式。实现了课上有考核,课下有任务训练的新的高职教育评价要求。在实际运作中教学环节分为五大步骤:即预习与探究——做与导——查与训——考与评——巩固与拓展。
单元课程中,由于在网络机房授课,一人一机,借助凌波多媒体教学软件,不但可以充分实现在做中学,在学中教,增加了训(查与训)、评(考与评)环节,即实现了在做中训、在训中考,在考中评。不但实现了“教学做合一”,而且能达“教、学、做、训、评五位一体”。
2、教学方法和手段的运用
示范法、分组法、鼓励法、讨论法、对比法,典型案例法、设问法将贯穿整个课程单元教学之中。但是对于不同的学习情境的学习,为能够突出重点,突破难点,培养学生各方面能力可恰当选用行动导向的教学方法,除了学习情境1-6,采用了任务驱动、项目引领教学法外,学习情境7综合数据库设计主要采用情境模拟法。
在软件行业,一个项目的开发,是由一个软件开发团队共同配合完成的。在该门课最后一个情境一一数据库综合设计中模拟实际职业工作进行教学,在学生中构建多个项目开发团队,进行角色分配。如项目经理,项目助理,程序员(即对应组长、副组长,成员)组织教学和实施,在项目总监(教师)的调控、监督指导下,各项目组成员分工配合,共完成一个管理信息系统的需求分析任务,并进行数据库分析与设计工作。在这个过程中,不但让学生对课程的教学内容有一个全面的复习、巩固和提高,同时会培养学生进行数据库的分析与设计能力,初步体会软件开发工作中的最重要的一部分(需求分析所做的工作),也能让学生在学校的环境氛围中对自己未来的职业岗位有一个比较具体的、综合性的理解,有利于学生全面职业素质的提高。为了保障这一环节顺利实施,效果有保证,教改组制定了多项规章,并形成文件,如《项目小组划分原则》文件、《各岗位职责》文件、《项目验收与答辩要求》文件和一系列的过程监控文件和激励办法等,使学生在团结协作中收获了知识、积累了经验、提高了动手能力、增强了就业力。但学生模拟实际工作中也难免会暴露一些个人弱点,如胆小,协调能力较差、团队意识较弱等。但最终在老师和同学的帮助下能够意识到不足,并加以改正,最后同样收获了成功和喜悦。
四、实践教学效果
课程组的授课教师,经验丰富、技能娴熟、加之以德高身正,教学方法得当,深受学生爱戴和好评。在院、系举行的《sQLSever2005数据库设计》公开教学中曾多次得到学院督导处、教务处领导及系部老师的一致肯定,曾获“一创新、二特色、三突出”好课的评价;学生项目小组在此门课的学习后结合一门开发语言,开发设计了多项小型的应用管理系统软件,和网站。本课程的精品课程申报网站和网络课堂,就是项目小组同学第三学期的一项作品。课题组老师曾带领学生多次参加各类省级职业技能大赛荣获一、二等奖。
五、课程特色
1、教学模式有特色
《SQL Server 2005数据库设计》采用了基于行动导向的教学模式,且实现了教、学、做、训、评五位合一。形成师生之间的良性互动,增强了教学效果,学生活学活用的能力充分展示出来,培养了学生的创新能力。
2、教学方法有特色
课堂教学使用的教学方法中,任务驱动法、情境模拟法、项目引领法都是属于行动导向教学法。其中情境模拟法,轻松实现了企业工作环境与课堂教学环境的高度融合,实现与就业零对接。如今黑龙江农垦职业学院软件技术专业其他课程也正借鉴此教改成果,在教学中逐步推广和使用。
3、教学手段有特色
中图分类号:G 642.0 文献标识码:a DoI: 10.3969/j.issn.1003-6970.2012.02.028
0 引 言
培养和提高学生的创新思维和实践应用能力是高等教育改革的一项重要任务。在高校计算机专业中,数据库系统原理作为专业方向必修课,具有非常重要的地位和实际意义,而数据库课程设计作为其实践环节重要性也至关重要。数据库课程设计是计算机科学与技术专业集中实践环节的必修课,是学生学习完“数据库系统原理”课程后,进行的一次全面的综合训练。其目的在于加深对数据库基础理论和基本知识的理解,培养学生具有数据库应用软件系统的设计和开发能力,在课程设计实践过程中强化学生的实践意识,提高动手能力、创新意识和合作精神。然而目前有些高校本科计算机专业的数据库课程设计教学还存在一些问题,教学效果不够理想。本文结合琼州学院数据库课程的实践教学,就计算机专业数据库课程设计中存在的一些问题提出一些观点和建议。
1 高校数据库课程设计中存在的问题
1.1 对课程设计认识不足
根据我们在实际教学中掌握的情况,很多学生认为课程设计只不过是一门考查课,没有试卷,没有老师监考,自己知识把实验做一下,课程设计报告交上去就可以了。甚至有些同学根本就没有自己的东西,随便到网上下载一个管理系统应付了事,到验收的时间,具体的设计是怎么完成的,一问三不知,当问到通过课程设计学到了什么的时候,很多人表示自己也不清楚。可见,很多同学对课程设计的重要性认识不足。实际上,作为对理论的巩固与应用,数据库课程设计是一门综合性比较强的课程。它不仅要求学生具备基本的程序设计理论,还要求学生掌握规范化的软件开发流程,它不仅仅是像某些同学认为的比较复杂的程序,而是一个完整的软件,要包括规范的开发文档等一系列内容,在数据库课程设计中,学生就是一名数据库应用软件开发工程师。所以,我们要加强学生对这门课程认识上的引导,培养他们严谨,科学的研发态度。
对于课程设计的目标,有些同学并不清楚,他们只是根据老师的要求,完成自己的任务,而不知道通过课程设计,自己应该达到什么样的目标,应该收获什么东西。很多同学在课程设计中只是停留在老师给出的题目和任务上,没有进行更深层次的考虑,他们认为只要完成任务就可以了。事实上,数据库课程设计是对软件开发的一个系统模拟过程,通过这项课程设计,让学生熟悉软件开发,数据库及其应用开发的操作流程,掌握行之有效的软件开发方法和软件开发工具。更重要的是培养学生严谨细致规范的学习作风,为科研工作奠定基础。
1.2 课程设计选题存在的问题
优秀的课程设计选题方案不仅可以提高学生的学习兴趣,也会激发他们的创作性,从而在课程设计中做出一定的成绩。但是有些学校在选题上存在几个问题;选题没有新意,每年都是同样的几个题目,有些同学直接把师兄师姐们的东西拿来照抄,这种选题不仅不能引起学生的兴趣,也不能跟上发展的要求;题目过大,比如飞机订票系统,火车订票系统等。这些选题看似不错,能够锻炼学生的开发能,但实际上根本没有必要选择这么大的题目,学生也没有能力完成这样的题目,所以,课程设计的选题很重要,应大小适中,以实际能力出发,最好结合学生自己的兴趣爱好方向,贴近实际情况,让学生自主选题,指导教师提出针对性建议和方向,让学生发挥自己的特长与创造性,会获得更好的效果。
1.3 课程管理复杂,考核方式不够科学
通过调研一些高校学校,发现其数据库课程设计的考核方 式与其他课程的课程设计一样,但是数据库课程设计本身更注重实践、更贴近实际的特点使它不能跟其他课程同等对待。我们了解到很多学校通常采用平时分加实验分作为总成绩,但实验分数上面存在很大的问题,就是最终课程设计的验收往往只是随便问几个问题,根据学生的回答情况给出相应的分数。我们认为在这种考核方式下学生是在被动地完成任务,而不是进行创造性的思考,不能够通过课程设计有效地提升学生的创新能力。
2 加强数据库课程设计建设的几点措施
针对以上在数据库课程设计中存在的问题,我们结合本校教学研究实践,总结了以下几点措施。
2.1 引导学生树立严谨的学习研究态度
严谨的学习态度是培养学生的一个重要目标,他们在不久的将来要成为国家科技发展的脊梁,肩负着科技兴国的责任,一个没有严谨求实的研究态度的人,是不可能担此重任的,数据库课程设计中出现的应付了事、抄袭他人的现象,反映出学生学习浮躁、投机取巧的学习态度,这种现象的出现不是偶然的,具有一定的“遗传性”,它反映了一个学校近期的整体学习风气,从表面上看是学生的学习态度不端正,从深层次上看,这在一定程度上暴露了学科教师的科研治学态度问题。教师要求不严格,没有加以合理的引导,也会导致这一现象的产生。
所以,我们必须先从端正的学生学习态度,在教学过程中对学生进行学习研究以及科研工作的基本素养教育,这不仅促进了学生良好习惯的养成,更重要的是其在无形之中具备严谨、科学的学习研究态度,无论对他们课程设计的完成,还是以后的工作学习,都奠定了坚实的基础。
2.2 开放式教学方式,增强学习自主性与创造性
长期以来,在数据库课程设计中由于课时少时间紧,在选题上,大部分教师提供固定的题目供学生选择,这样可以更方便的进行指导与管理,但在另一个方面却忽视了学生的个性发展。每个学生对教学内容掌握情况不大一致,对课程的理解也参差不齐,所以有必要让学生自由发挥,自选题目,自由选择开发工具,只要完成所要求的设计内容即可。加入在数据库选择上,可以选择 SQL Server、Oracle、Mysql 等,在开发平台上,可以选择 Power Buider、Delphi、. net、J2EE,这些内容需要学生自己选择,老师尽量不去指定某个平台。这样学生的自主性、创造性可以更好地发挥出来。
在人员分工组织上,很多情况下还是一个人完成系统所有的开发任务,这种做法不符合实际情况,因为在公司里面几乎没有哪个软件是由一个人负责开发完成的。我们需要培养学生良好的合作、交流表达能力,而课程设计恰好提供了这样一个平台,在实际操作中,可以更具学生不同特点,合理进行项目的分组。比如,每个组里面各包含一个组织能力较强的同学、动手能力较强的同学、语言书写能力较强的同学,这样不仅可以发挥每个同学的长处,又可以避免有些组几个人都只擅长同一样东西,课题无法很好的完成的现象。另外,如果有条件,可以模拟公司的开发环境,组织每个小组进行团队开发,让他们掌握团队开发中的软件版本控制问题,这些都能为以后的实际工作积累很好的经验。
2.3 规范化课程管理的构建
在课程管理环节,建议采用了以下流程:确定选题,开题,中期检查,系统验收,课程设计答辩,提交设计报告。通过规范化管理模式,学生可以清楚的了解在什么阶段应该做什么,课程设计得以顺利进行。
确定选题要求学生根据自身情况,合理进行分组,确定题目,描述系统要实现的功能,为开题做好铺垫。
开题是整个开发过程中最重要的一环,我们要给学生以良好的指引。这个阶段要求学生对系统进行需求分析,确定系统边界,建立业务模型,对具体的业务流程绘出图表,确定各个业务功能模块之间的联系。之后根据系统的功能模块,进行数据库的概念设计,抽象出业务实体,进行数据库的概念模型设计,画出 E-R 图,描述各个实体的属性、联系。这是整个系统的关键,直接影响到后面的详细设计的完成。
中期检查是对学生上一阶段的设计情况作一个总结,解决开发中出现的问题,比如,小组成员之间的有效沟通,进度是否符合要求等。
系统验收是对完成后的系统的正确性、可用性、合理性及性能,实现的情况是否与初期设计目标一致进行的一个检查。这一验收结果是评价学生完成课程设计质量的主要依据,比如,系统是否能够完成基本的数据查询、更新,是否使用了视图机制保护数据库的安全,是否试用储存过程提高系统的性能,是否有完成的日志系统以保证系统具备良好的可维护性,系统界面是否符合操作习惯等。
课程答辩是对整个系统完成情况的一个系统的总结,也是最终评定课程设计成绩的重要依据。学生在此过程中可以提高总结描述能力,通过对整个开发过程的总结,对某些细节问题的回答,提高了学生的临场应变能力及口头表达能力。
2.4 考核方式的构想
在进行选题的开放性教学后,由于大家的选题不一样,开发平台不一样,最终系统完成的功能、效果不一样,很多老师会遇到一个共同问题就是如何对课程设计结果进行考核。根据课程设计的流程,我们可以分别在开题、中期检查、系统验收、设计答辩4个环节进行考核评价。由于各个小组完成系统功能的差异化相同的某项功能。开题考核占整个课程评价的15%,评价标准初步构想如下:
概念模型:E-R是否符合规范;实体属性师傅完整、恰当;实体联系师傅正确。(7分)
系统结构:系统设计整体思路师傅符合需求;难度、规范是否合理。(5分)
开题报告:开题报告是否符合规范。(3分)
中期检查主要是对学生进行课程设计进度的监督检查,目的是督促学生按照课程计划如期完成课程设计任务,检查的指标包括各种数据操作是否实现,系统功能模块完成情况。中期检查占整个课程评价的20%,评价标准如下:
各种数据操作:数据库连接;查询,更新。(10)
功能模块:模块划分是否合理;模块互操作是否实现;模块功能实现的程度;流程图是否正确。(10)
系统验收是对学生课程设计的主要评价,学生对整个系统开发设计的完成情况都体现在这里,我门主要对系统界面、功能实现、系统性能、创新点、帮助系统进行考核。占整个课程评价的45%,评价标准如下:
界面:界面显示效果;可操作性。((5分)
功能:正确性;实现程度;复杂性。(20分)
性能:稳定性;运行效率。(10分)
创新点:是否有创新之处。(5分)
帮助系统:完整性;操作是否方便快捷。(5分)
课程答辩是对整个系统完成情况的一个系统的总结,检查学生是否能够根据自身完成情况清楚流畅地介自己完成的工作,是否能够对老师提出的问题给出恰当的回答。占整个课程评价的20%,评价标准如下:
课题介绍:总结、表达能力。(5分)
答辩:正确性;实现程度。(7分)
课题评价:人员分工情况;团队合作情况。(2分)
课程答辩是对整个系统完成情况的一个系统的总结,检查学生是否能够根据自身完成情况清楚流畅地介绍自己完成的工作,是否能够对老师提出的问题给出恰当的回答。占整个课程评价的20%,评价标准如下:
课题介绍:总结、表达能力。(5分)
答辩:正确性;实现程度。(7分)
课题评价:人员分工情况;团队合作情况。(2分)
设计报告:课程设计报告是否符合规范。(3分)
技术文档:是否符合规范。(3分)
3 结束语
本文对数据库课程设计教学存在的几个问题作了深入的分析,提出了对学生严谨、科学、创新的教学目标,极大地调动学生的学习自主性,提高学生分析问题和解决问题的能力,培养学生的创新思维能力。几年来,我们在数据库课程设计教学中积累了丰富的经验,提高了学生分析问题和解决问题的能力,同时也提高了学生学习课程的兴趣和课堂教学质量,并将继续将其发展和完善,在教学指导方法上不断创新,并在其他课程的实验教学中逐步推广。
参考文献
[1] 陆慧娟. 数据库系统原理[M].杭州:浙江大学出版社.2004.
中图分类号:G4
文献标识码:A
doi:10.19311/ki.1672-3198.2017.08.080
1 研究背景
《数据库原理及应用》课程是一门理论与实践结合紧密的计算机专业基础课程,分为理论与应用两部分。《数据库课程设计》是与此课程配套的实践课程,对原理的理论教学起着重要的辅助作用。它的教学目标要求学生掌握数据库设计的步骤,将软件工程思想与其结合最终完成应用系统的开发设计。目前在教学过程中两门课程往往作为独立的教学课程完成授课,关联性差,存在弊端,影响了实际教学效果,如何切实有效的将二者结合迫在眉睫。
2 存在问题
《数据库原理及应用》课程理论知识点抽象,课程的实验一般为验证性实验。由于验证性实验的内容来源于理论知识点,每个实验要根据教材各知识点来安排,但教材又受到本身系统性的约束,所以这样使得各实验内容相对孤立缺乏连贯性,学生只能针对各知识点进行专项练习。这种教学方法表面上看似乎符合计算机课程理论与实际相结合的要求,但却存在很大的弊端,学生仅学会了简单“复制”课本知识点,没有从本质上理解所学的知识,只知道按要求去做但没有深入思考为什么要这样去做,因此根本谈不上对学生的创新性思维和综合运用能力的培养。由于理论知识过于抽象,各知识点涉及的实验比较孤立,相关性差,学生缺少系统化设计思路,导致学与用的脱节。学生完成了一个学期的实验之后,对于每个单一的知识点虽然有了一定程度的掌握,对知识点的综合应用没有掌握,对创建一个功能完善的数据库系统一无所知。
《数据库课程设计》是《数据库原理及应用》的实践课,要求学生掌握数据库系统的设计过程,利用原理课程中各分散知识串联成为一个整体,在设计过程中掌握抽象的理论概念,达到对知识的灵活运用。但由于课程设计学时只有一周,面对庞大的数据库设计任务,时间紧任务重很多学生采取敷衍了事的态度,没有认真分析课题,没有考虑原理和课程设计这两门课的联系,无法灵活的将理论知识点转化为相应的功能操作,甚至产生了抄袭的行为,失去了课程设计这门课开设的意义。
3 解决方案
为解决两门课程学习过程中出现的弊端,采用将原理课程与课程设计任务相结合的教学模式。
对于数据库理论知识点抽象单一,实验内容孤立的问题,教师可以根据课程设计的内容要求,挑选优化的与有代表性的项目,从基本概念到课程设计要求由浅入深分步讲解,使学生全面掌握数据库开发过程的整个流程。教学中采用开放式方式,提高学生的自主性与创造性学习。
一直以来,数据库课程设计中因为时间紧课时少,大多数教师采用固定题目供学生使用,这样可以提高教师对课题的指导效率,但学生对教学内容掌握情况参差不齐,导致学生对所学内容不能很好掌握。针对这种情况可以采用分层教学,以“需求”为导向,将任务划分为多个模块,对每一模块提出具体的实验要求,根据学生情况进行分组选择,挑选实力相当的任务模块,在学生完成任务的过程中,教师指出理论课程中与完成各模块任务相关的章节位置,进行基础理论的讲解,将各个单一的知识点串联起来。学生则根据学习的各个知识点及其对应的各个验证性实验,与课程设计要求完成的功能任务一一对应,分阶段完成课程设计的任务。在实验操作过程中要符合教学要求,巩固专业知识,培养学生对问题的分析、解决和综合运用能力。学生在开发过程中产生的问题,教师可以采用针对性引导的方式,引导学生从课本中找到对应知识点,改进设计方法,发现问题本质,实现对稻菘饫砺壑识的真正领悟,以及完成理论指导课程实践,课程实践应用和完善理论知识的作用。
4 教学效果
数据库原理与课程设计任务相结合的教学方法,是在传统单一的教学方法中结合了项目教学方法,通过解决基础理论课程中抽象知识点和孤立实验任务,以及课程设计中庞大而复杂的数据库开发过程为主要目标,在课程设计项目操作实施过程中完成了基础理论知识的教学任务,实现了课程的教学要求和目标。这种相结合的新型教学模式较之前的单一使用传统教学方法更侧重于学生学习兴趣及实践操作能力的培养,在教学过程中以学生为主体,教师为主导,设计任务为主线,充分调动了学生的主观积极性,开阔了学生的思路。
以理论和实践相结合的教学路线,合理的教学计划、优化的课程设计案例,渐进的交互体系等方式提高学生解决问题的能力,培养学生逐渐建立优良的系统分析设计理念,锻炼学生的实际操作能力,可以学以致用,具有积极的作用。
5 总结
本文针对数据库理论及数据库课程设计的教学内容和方法进行了深入探索,对当前学生数据库理论知识掌握程度与课程设计操作实践需求之间存在的差距进行了分析研究,根据现阶段理论课程的教学模式,从课程设计的案例出发,将二者有效的结合起来,激发了学生的学习兴趣。有效的促进了学生学习质量的提高和数据库相关课程的整体水平。
参考文献