路璐 凌捷
摘要:针对传统课程设计教学模式的弊端,以CDIO工程教育模式为指导,结合广东某高校计算机相关专业数据库课程设计的教学现状,详细阐述对数据库课程设计教学体系以及考核评价改革的具体措施。实践结果表明,该教学改革对于拓展学生开放性思维,激发学生学习的主动性以及提高学生实践能力起到了良好的促进作用。
关键词:CDIO工程教育模式;数据库课程设计;教学改革
中图分类号:G64 文献标识码:A 文章编号:1009-3044(2015)05-0141-03
Reform and Practice of Course Design of Database based on CDIO
LU Lu, LING Jie
(School of Computer Science and Technology, Guangdong University of Technology, Guangzhou 510006, China)
Abstract: Aiming at the problems of the shortcomings of the traditional pattern of traditional course design of database,Based on the concept of the CDIO engineering education, combining with the present teaching situation of course design of database of computer-related specialty in an university of Guangdong, the specific measures on the teaching system and evaluation for course design of database is expounded. The practice results show the teaching reform expands the students' open minds,stimulates students' initiative and raises the students' practical abilities .
Key words: CDIO engineering education; Course Design of Database; teaching reform
CDIO工程教育模式是近年来国际工程教育改革的最新成果。从2000年起,麻省理工学院和瑞典皇家工学院等四所大学经过四年的探索研究,创立了CDIO工程教育理念。CDIO代表构思(conceive)、设计(design)、实施(im-plement)、运行(operate),它是“做中学”和“基于项目教育和学习”(Project based education and learning)的集中概括和抽象表达。它体现了现代工程师所应具备的服务于现代工业产品从构思、设计、实现到运行的全过程所必须拥有的基本能力。CDIO培养大纲将工程毕业生的能力分为工程基础知识、 个人能力、 人际团队能力和工程系统能力四个层面[1-2]。然而我国工科的教育实践中还存在不少问题,如重理论轻实践、忽视团队协作精神等问题。国内外的经验表明CDIO的理念和方法是先进可行的,适合于工科教育的教学改革。
1 数据库课程设计传统教学模式培养现状
数据库课程是计算机及其相关专业课程体系中的核心和基础;而数据库课程设计是数据库课程的实践科目,其特点是综合性强,对动手操作能力要求比较高。但是,传统数据库课程设计的教学模式,往往偏重理论,这会让学生处于课堂教育与实践操作严重脱节的尴尬境地。因此,针对计算机专业人才培养的现实需求,数据库课程设计教学改革势在必行。
2 数据库课程设计教学改革研究
为了达到让学生主动学习的目的,基于CDIO的模式理念,本文构建了数据库课程设计教学内容体系。该体系自始至终与数据库理论内容以及CDIO模式相结合,通过项目驱动,让学生参与其中,按照数据库设计的每个阶段由学生自发独立的发现问题以及解决问题,最终完成课程设计的各个内容。
2.1 数据库原理教学内容以及传统数据库课程设计教学安排
数据库原理针对计算机相关专业本科教学内容主要涉及关系数据库、关系数据库标准语言SQL,数据库安全性完整性、关系数据理论、数据库设计、查询优化、数据库恢复和并发技术[3]。
以广东某高校计算机学院为例,数据库原理理论教学56课时,授课时间为学期第1周至第16周。数据库课程设计16课时,课程设计准备工作主要集中在第13周到16周,设计完成以及检查时间为第17周。(教学内容与进度如图1所示)
这种传统教学的弊端主要体现在:
1)理论教学与实践操作相互脱节。学生不能发挥主动学习的积极性;
2)课程设计实践操作部分学时少,准备不够充分;
3)课时分布不均匀,前松后紧,学生动手实践部分大多放在学期末,容易造成学生在期末考试的压力中忽略动手能力的提高和培养,眉毛胡子一把抓;
4)单凭一个课程设计报告和程序很难衡量学生对知识的理解和掌握程度;
鉴于以上的内容,本文提出了基于CDIO模式的新的数据库课程设计教学体系。
2.2 数据库课程设计教学模式改革
数据库课程设计教学模式改革主要体现在:课程设计在理论教学中贯穿始终。基于CDIO的数据库课程设计教学改革内容如图2所示。
2.2.1 课前准备
CDIO模式不仅重视个人能力的培养,同时也关注团队协作的能力培养。因此,团队协作也作为数据库课程设计教学改革的一个重要内容。为了学生沟通方便,每个行政班中以寝室为单位(4个学生)组成若干个开发团队,选取组长,并且向老师上报各个组员的分工情况,之后各个开发小组可以根据老师给出的备选题目进行选题。
2.2.2构思(Conceive)
CDIO的精髓在于让学生“做中学”。但是对于没有任何数据库基础知识的学生来说,课程开始就投入到实践中是不现实的,所以范例教学十分重要。在理论教学开始时教师利用大概2周的时间,讲解数据模型、数据库系统结构、数据库系统的组成、数据库技术的研究领域以及前沿的知识体系、开发工具,让学生对该领域的知识产生浓厚的兴趣。然后,教师可以从典型案例着手——以学生管理系统为例,讲解如何进行业务流程分析、功能分析和数据需求分析,如何绘制用例图,在数据库设计过程中如何完成数据流图和数据字典分析,让学生在范例讲解中一步步的学会如何绘制ER图,如何设计数据字典中的各项内容。该阶段是构建系统蓝图的阶段,所以,教师要引导学生立足于不同项目的实际需求,通过调查问卷、查阅资料、客户走访等形式,深入探析软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件各项有效的需求,与此同时,在确定需求过程中,团队成员之间的磨合与沟通也是必不可少的。通过各个成员的协调,才能最终确定该团队共同的软件需求以及数据库整体规划策略。该阶段的汇报成果即是各团队小组的需求分析报告。
2.2.3设计(Design)
数据库设计包括概念结构设计、逻辑机构设计和物理结构设计,所涵盖的理论知识点比较多。传统数据库原理教学和数据库课程设计在设计阶段几乎是相互脱节的,见图1。为了能让学生提高完成项目的主动性以及自我认知性,数据库课程设计调整幅度也相对比较大。
1)课堂学习关系数据库时,引导学生以课程设计中的选题项目为基础,编制相关的关系代数的演算
2)课堂学习关系型数据库标准语言SQL时,引导学生以课程设计为基础,利用SQL语句解决数据的增删改查的一系列问题,并且针对需求分析中不同的设计模块,设计不同的SQL操作,其中包括单表查询、多表查询、模糊查询、相关子查询、不相关子查询、多表更新操作、视图操作等。
3)课堂学习数据库的安全性和完整性时,通过一系列反例,例如违反实体完整性的数据操作会带来怎样的后果;违反了参照完整性的操作会有哪些危害等等,让学生强烈感知如何能设计出效率高、安全性较好的数据库基本表。此时,可以让学生根据项目选题设计出系统的各个分ER图并且形成初步ER图,在合并过程中找出冲突和问题所在,为后续内容做准备。
4)课堂学习规范化理论时,利用循序渐进的方法,举例说明,让学生利用范式的思想,对项目中的表格进行规范化分析,判断属于第几范式,有什么样的优缺点,能否进行优化。此时,课程设计的概念结构设计,逻辑结构设计已经初具雏形。
5)课堂学习第七章数据库设计时,结合实例,让学生独立完成概念机构设计中的消除冲突与优化,完成由基于项目的初步ER图到基本ER图的转变;同时结合需求分析中的数据字典,根据联系转换为关系表的知识点以及规范化理论,对初步的逻辑结构表进行修改和完善。
该阶段的汇报成果是各团队小组的概要设计报告。
2.2.4实现(Implement)
设计阶段其实是将任务离散化,那么实施阶段就是将项目综合化。该阶段中,书本上的重点内容已经基本结束,学生可以根据学过的基础知识自由发挥,将之前的需求文档以及概要设计文档进行拓展和完善,并且将自己设计的关系代数以及SQL语句转换成高级程序语言中的数据库操作的语句。这时候,有能力的同学也可以根据老师上课讲授的查询优化等内容针对具体项目实际进行查询算术优化和物理优化,并且对比执行效率,感受在不同的实际应用中对不同问题的处理方式。
该阶段的汇报成果是各团队小组成员的详细设计报告的综合文档。
2.2.5运作(Operate)
系统模型建立好之后,要进行软件的各项测试。学生可以通过学习恢复和并发控制等内容,对系统的完整性、安全性等性能进行进一步的改善,完善详细设计报告,补充系统测试内容以及使用系统安装使用说明。最后,通过小组的公开答辩,向老师和全班同学展示系统的设计思路、完成过程以及跟同学们交流心得和体会,并由其他非小组成员的同学作为评委进行点评。
2.3 课程设计考核评价改革
课程设计是一门衡量学生动手操作能力、综合运用能力的科目,所以这门课程更要体现对学生是实践能力的检验。数据库课程设计考核评价改革主要体现在:改变单一的评分标准为多角度综合性评价标准(如图3所示)。
2.3.1 项目文档(分数比例50%)
项目文档包括需求分析报告、概要设计报告、详细设计报告。
1)需求分析报告(分数比例10%),内容包括:
①可行性分析;
②拟采用的开发工具;
③用例图;
④数据字典,包括数据项,数据结构
⑤软件模块初步设想以及每个模块可能进行的操作。
2)概要设计报告(分数比例20%):
①数据库设计方面:分ER图和总体基本ER图(标明各实体之间联系的类型)、逻辑结构设计(有完整性约束说明,标明主码、外码,分析范式类型)、物理结构设计(索引、存储路径等)、数据库完整性设计(违反实体、参照完整性时的解决办法,比如触发器、存储过程等)
②软件设计方面:功能结构图以及各功能模块主要功能(明确小组成员的分工)
3)详细设计报告(分数比例20%),内容包括:
①系统与后台数据库连接的执行过程;
②系统各模块的主要界面和UI接口;
③系统各个模块的流程图以及详细实现过程;
④关键问题的解决方案;
⑤总结系统后续有待优化和改善的方面。
2.3.2 项目成果演示(分数比例40%)
该类别主要考核的方面如下:
1)系统运行正确;
2)功能完善:有增、删、改、查功能,输入、输出功能;
3)有基本的统计、报表功能;
4)有多表连接查询、自身连接查询、字符串匹配查询、模糊查询、分组查询等;
5)工作量饱满,系统实现技术的难度;
6)是否符合软件开发规范;
2.3.3 团队综合素质(分数比例10%)
该类别主要通过系统演示、课题答辩以及团队的出勤和会议纪要等信息考核团队成员的协同合作的能力,而且,尤其要注意有些同学过分依赖他人的思想。所以答辩过程中要求每个小组成员都要对自己所做的内容进行阐述和说明。
3 结束语
通过一系列的基于CDIO模式课程设计教学改革,使得每一个同学都有公平的主动参与的机会,同学们从这门课程开始就主动思考项目中各种实际问题,由“学中做”转变为“做中学”,极大发挥了学生的积极性和创造力,从而使得数据库课程设计的实践教学取得了非常好的教学效果。很多同学都对数据库产生了浓厚的兴趣,而且也有一部分同学毕业之后选择了数据库相关的行业。
参考文献:
[1] E.F.Crawley. Creating the CDIO Syllabus, a universal template for engineering education, fie, vol.3,Pp.F3F8 -13, 32nd Annual Frontiers in Education (FIE02), 2002.
[2] 薛红芳. 基于CDIO 的项目驱动式数据库课程教学模式改革研究[J]. 吉林省教育学院学报,2014(7):10-11.
[3] 王珊,萨师煊. 数据库系统概论 [M].4版.北京:高等教育出版社,2006.