时间:2023-03-08 14:51:15
序论:好文章的创作是一个不断探索和完善的过程,我们为您推荐十篇数据库课程设计范例,希望它们能助您一臂之力,提升您的阅读品质,带来更深刻的阅读感受。
目前,数据库产品市场95%以上都是关系数据库产品.关系数据库理论是数据库设计的基础,掌握关系数据库课程理论是数据库课程设计的前提.数据库课程是研究数据处理技术的一门综合性学科,它是与离散数学、操作系统、数据结构、软件工程、计算机原理等学科及其他应用领域的知识和方法相结合的学科.数据库理论研究的核心内容是数据建模、数据规范化理论、数据库系统、数据库的安全性、完整性、数据恢复技术、模式分解理论和方法.只有掌握了数据库理论才能做好数据库设计[1]22-49.全国大部分院校都将数据库理论和应用作为两门课程开设,一门是数据库系统概论(主讲数据原理),另一门是数据库应用(主讲程序设计).对于绝大多数学习者来讲,学习数据库的最终目的是掌握数据库应用方法和技术,在现有DBMS的基础上二次开发数据库产品,而不是开发新的DBMS,所以大多数高校往往在数据理论之前先开设数据应用课程,如VisualFoxpro6.0、Delphi、Oracle、SQLServer、Access等程序设计课程是关系数据库的产品,它们属于原理的具体应用部分.学习数据库应用课程后,便于掌握和应用数据库理论;反之,也只有学习了数据库理论才能更好地掌握和应用数据库技术.
2数据库设计理论是数据库理论的应用和延伸
2.1数据库理论在数据库设计中的指导应用
按照规范设计的方法,将数据库设计分为6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施、数据库运行和维护.在数据库设计的每一个阶段,都不同程度地用到了数据库理论与方法,同时对数据库理论进行了丰富的扩充.在概念结构设计中,核心内容是数据建模,即根据实体类型设计E-R(实体-联系)图.在E-R图中要搞清楚哪些是实体,哪些是属性.从理论的角度来说,实体是客观存在的,并可以相互区别的事物,属性是对实体特征的描述,但是它们之间既有必然区别,也有一定联系.实体和属性不是绝对的,如果需要对属性进一步描述,则属性就作为实体,反之,如果不需要对实体进一步描述,则实体也可以作为另一实体的属性.例如,在设计职工档案管理数据库时,实体类型“职工”的属性:档案号,姓名,性别,出生日期,参加工作时间,学历,职称,职务,工资.如果只考虑现在的工资,则工资就是职工实体的属性,但是如果考虑职工的工资历史,则工资就是一个实体.在逻辑结构设计时,用到规范化理论、求极小集和码的方法、模式分解理论和方法.
2.2数据库设计理论是对数据库理论的延伸
数据库设计理论对数据库理论在很多方面进行了延伸和扩展,使得数据库理论更加简捷、方便和直观.在逻辑结构设计中,将概念模型的产品基本E-R图转换为逻辑结构的关系模型,是模式分解理论的直接应用,是在数据库理论基础上的抽象和延伸,实体内和实体间的转换,实体间的每一个实体转换为一个关系,实体内的属性是关系的属性,实体内属性的码就是关系的码.按照关系理论的函数依赖,每一个实体中,码决定每一个属性,而模式分解中,码相同的合并,左右两端的属性合并作为一个分解,从操作方面减少了复杂性,所以设计理论与数据理论完全吻合;数据库实体之间的联系分为一对一、一对多、多对多和多实体之间的联系4种情况,这些转换在逻辑结构设计中都给出了转换规则,也完全满足模式分解理论,在模型优化时,用到极小集方法与设计理论的结合.
3注重数据库设计理论与实践的结合
3.1处理好数据库设计经验和数据库设计理论的关系
数据库设计理论尽管比较完善,按照规范化理论,在函数依赖领域,如果关系满足BCNF,不会存在数据冗余、插入异常、删除异常和更新异常,实际上关系规范化不一定要达到BCNF;如果达到BCNF,不会出现冗余和各种异常,但会出现查询效率降低.这就要根据实际情况综合权衡.下面以规范化后的学生成绩管理系统为例说明.学生成绩管理系统包含下列3个关系:学生(学号,姓名,性别,出生年月);课程(课号,课名,学时,学分);成绩(学号,课号,成绩).我们经常查询“某同学学习某课程的成绩”,这就需要3个关系的连接,如果学生人数较多(数据库较大),可能需要较长时间,但如果是第1范式,则不需要连接,如果是第2范式,可能连接的次数较少,也会减少耗费.在实际应用中,我们可能不需要把关系划分到BCNF,也许只需要达到2NF,甚至1NF,也就是逆规范化,到底规范化到什么程度,要结合实际问题和具体设计经验[2]3-39.
3.2课程实验是数据库课程设计的基础
数据库课程是理论与应用结合较为紧密的一门课程.学习数据库课程的主要目的是为了应用.因此,为了深入浅出地讲授数据库理论,在每一章都设计一些课程实验,以便通过实践验证理论,同时掌握其应用方法,为后续的课程设计打下基础.在大部分教科书中,都是以SQLServer为例,讲授SQL语言、数据的安全性、完整性.在讲授SQL语言时,可以让学生先建立数据库,结合所学内容对数据库进行查询、插入、删除、修改等实践操作,在实践的过程中真正理解并掌握SQL语言的应用环境.在讲授数据库安全性和完整性时,利用数据库系统的实际应用让学生对系统做数据控制.提高学生对数据库课程的认识,激发学生的学习兴趣和欲望.
3.3课程设计是提升学生综合应用能力的关键
课程设计是课程内容的展示,是对所学知识的延伸,是学生掌握学习内容、方法和技巧的综合体现.数据库设计理论主要是为了指导数据库的应用和实践,通过系统的理论学习和部分单元(如创建用户、创建视图、用户管理、权限管理等)的应用实践训练,充分认识到DBA在数据库系统中的作用.通过课程设计让学生在掌握数据库设计理论的同时掌握数据库课程设计的全过程,可以采取将学生分组的方式,为每组同学拟定相关题目,如学生档案管理系统、财务管理系统、售票管理系统等,设计可以采取集中设计和分散设计相结合的方式,如果条件允许可以集中7~10天时间做课程设计,否则,可以利用周末时间集中设计,学生自己找业余时间,教师加强指导,题目在期中布置,期末老师验收.让每一位同学独立完成或者协助完成数据库设计的过程,同时,使每一组同学进行上机运行并调试,完成所有功能进行程序实现,最后组织设计答辩.教课评价方面,可将学生平时的课程设计和期末考试相结合,作为学期期末成绩.通过课程设计和设计答辩,学生不仅巩固了理论知识,丰富了课程实践,掌握了如何运用理论指导实践应用,也对今后其他课程设计以及毕业设计打下坚实的基础,取得较好的效果.
3.4数据库课程设计的具体内容
数据库设计是在指定的应用环境下,构建最优的数据库逻辑模式和物理结构,建立数据库及其应用系统,满足各种用户的各种需求(信息、管理和操作需求),并能够有效地存储和管理数据.数据库设计要按照需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行和维护各个阶段突出特点严格进行结构设计是与行为设计的有机结合.每一个阶段都有具体的技术要求,教师提出要求让学生深入图书馆、学生管理部门或者企业进行系统调查,通过需求分析设计出数据流图,编写数据字典.概念结构设计是从数据流图和数据字典中提炼出E-R图,对E-R图优化后获得基本E-R图.按照转换规则和DBMS的转换功能将概念结构的产品基本E-R图转换为逻辑结构设计的关系模型.物理结构设计主要根据DBMS的详细特征设计存储结构和存取技术,最后经过优化、评价满足用户的效率要求.数据库实施和运行维护主要考虑代码的编写、调试、试运行和维护,涉及数据转储、安全性、完整性、数据组等问题.整个设计都是在数据库理论的指导下进行[3]181-250.
0 引言
计算机网络技术和通讯技术促进了网络教育的发展,网络课程是网络教育的基本载体,其质量是决定网络教育质量的关键要素之一。教育部充分意识到网络课程在高等教育中的战略地位,在2000年启动了新世纪网络课程建设工程;自2003年起陆续出台了一系列建设优质网络教育资源和网络课程的相关政策,如2003年了《关于启动高等学校教学质量与教学改革工程精品课程建设工作的通知》;并且自2007年起将网络课程纳入国家精品课程的评选项目中。
1 数据库系统原理网络课程的意义
数据库系统原理是计算机科学与技术、信息安全、软件工程和网络工程及相关专业的专业基础课或主干课程。建构数据库系统原理网络课程可以整合丰富的教育资源,突破学习的时空限制,实现自主学习、个性学习和远程交互,使学生立体化、多元化地了解并掌握数据库系统的基本原理、基本技术和基本方法,为开发信息管理系统、网络数据库系统等应用提供基础知识与技术,为后续专业基础和专业课程的学习和应用打下良好的基础。具体意义如下:
(1)网络课程以学生为中心,强调学生自主学习,不受教师、课堂和时间的限制。学生按照自身条件安排课程的学习,根据个人的基础选择适合的学习内容,实现真正意义上的因材施教和个性化学习。
(2)互联网汇集了大量的教学资源,包括由国内外著名的教育专家、优秀教师和计算机专业人员共同开发的教学数据、档案资料、优秀教案等。学生可以得到任一学科和领域的知识信息,得到专家学者的指导,拓展学生的学习内容,开阔学生的学习视角,实现教学资源的共享。
(3)网络课程能最大限度地提供自由交互。师生之间的交互可以让学生获得教师的指导:学生之间的交互可以让他们进行协作学习。学生通过实时的或非实时的交互,获得图、文、声、像并茂的学习信息。
(4)越来越多的人离开高校后通过学习网络课程完成继续教育。网络课程没有地域和时空的限制,学生可以根据需要随时接受优质的远程教育,满足继续学习和终身学习的需要。
2 数据库系统原理网络课程设计原则
数据库系统原理网络课程的建设以建构主义学习理论为理论基础。建构主义认为学习者并不是简单地把知识从外界搬到记忆里,而是应该以已有经验为基础,通过与外界的相互作用来获取、建构新知识;知识不是通过教师传授得到,而是学习者在一定的情境(社会文化背景)下学习,借助其他人(教师和学习伙伴)的帮助,利用必要的学习资料,通过意义建构的方式获得的。建构主义学习理论的教学设计专家指出:学习问题应该在真实情景中展开,是一项真实的任务;为课程设计多个学习起点和多个学习路径;各种教学因素应能支持学习者的自主学习;对学习活动进行非量化的整体评价,反对以过分细化的标准评价。结合建构主义的学习观点,我们给出数据库原理网络课程设计的基本原则。
1)营造真实情境。
学习环境的创设是学习的一个重要环节,因此网络课程要能给学生创设符合教学主题要求并且接近真实的情境。首先,教师可以利用图形、文字、声音、录像等各种手段生动地模拟一些对学生来说是真实的同时又与教学活动相关的问题。其次,教师要切实激发学生的学习动机,引导学生挑战各种复杂的问题情境。第三,让学生进行角色扮演,模拟在真实问题情境下的各种角色的行为。
2)自主学习为主,协作学习为辅。
网络课程将学生从传统教学中的被动建构者变为主动建构者,激励学生主动获取知识,主动查阅网络资源,主动进行学结。学生在网络课程的学习过程中,不仅掌握了专业知识,还通过信息检索提高了自身的信息素养和创造能力。在进行自主学习的同时,协作交流也是必不可少的。协作学习不仅能让学生通过各种交流解决自己所遇到的问题,而且能让学生感觉到自己在一个真实的团体中学习,从而不会感到孤单和无助,这对建构知识、共享观点、传递与获得信息、交流感情均有重要作用。
3)尊重学生的个体差异。
不同的学生具有不同的社会背景,他们的行为习惯和思维方式呈现多样性。网络课程应充分考虑到这种个体差异,教学方式和表现形式应多样化、个性化,并根据学生认知的特点不断改进,做到因材施教。同时,网络课程要提供丰富的学习资源,为学生自由探索创造条件,帮助他们自我发展。
3 数据库系统原理网络课程架构
网络课程包括学习内容、学习资源、教学策略、学习支持、学习评价和教学活动6个要素。在数据库系统原理网络课程设计原则的指导下,围绕网络课程的6个要素,我们采用3层架构结构对数据库系统原理网络课程进行设计,总体设计结构见图1。
数据库系统原理网络课程包括以下6个模块:
(1)课程指南。课程指南目的是使学生对课程有一个总体了解。
(2)课程学习。提供一系列立体化的课程学习资源,满足学生系统地学习基础原理知识的需要。学生如果想进一步拓宽知识面,了解数据库技术的最新理论,研究前沿内容,可以通过“技术前沿”子模块获得相关支持。
(3)实践教学。实验内容的安排由浅到深,学生从认识数据库管理系统开始,先完成一些简单操作,接着完成一个中型的信息管理系统的设计与开发,并在此基础上,通过“拓展训练”子模块进一步提高应用和实践能力。
(4)学习互动。网络课程提供在线作业和在线答疑,学生可以提交电子作业或向老师提问和留言,老师可以在线布置作业、批改作业和回答学生的提问。同学之间可以通过在线交流互相学习,增进同学感情,减少孤军作战的感觉。
(5)自主学习。数据库系统原理网络课程的设计以“学生学习型”为主,学生可以下载相关学习资料,或者在线观看教师教学录像,或者利用网络课程中的导航浏览、问题训练等手段获得相关学习信息,自定学习路线和学习进度。学生在学习过程中可以自行中断教学视频,记录学习心得、疑难问题和重点内容,便于日后有针对性地复习。电子作业不仅便于提交和批改,而且教师对作业的批改和学生对作业的改正可长时间保留,使传统的学习过程变得更加方便灵活和高效,真正实现学生自主学习。
1.1管理信息系统简介
随着计算机技术的飞速发展,计算机在企业管理中的应用越来越普及,利用计算机实现企业员工工资的管理显得越来越重要。对于大中型企业来说,利用计算机支持企业高效率完成劳动员工工资管理的日常事务,是适应现代企业制度要求、推动企业员工工资管理走向科学化、规范化的必要条件;而员工工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
不同的企业具有不同员工工资管理制度,这就决定了不同的企业需要不同的员工工资管理系统。
..........
目录
第一章绪论............................................1
1.1管理信息系统简介...................................1
1.2VB的选用和简介....................................1
1.3设计和开发步骤.....................................2
第二章系统功能.......................................2
2.1系统功能分析........................................2
2.2系统功能模块设计....................................3
第三章数据库设计....................................4
3.1数据库需求分析......................................4
3.2数据库概念结构设计..................................5
3.3数据库逻辑结构设计..................................7
第四章设计总结...........................9
附录......................................11
参考资料
[1]丁宝康《数据库原理》.经济科学出版社.
[2]刘韬骆娟河旭洪《VB6.0数据库系统开发实例导航》
[3]郑阿奇《VB实用教程》电子工业出版社。
[4]《宝典》TOMArcherAndrew.Whitechapet著
[5]郑阿奇《SQLServer实用教程》电子工业出版社。
[6]冯玉才《数据库系统基础》华中科技大学出版社
通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。但是这为这学期的课程设计打下了铺垫。
来到学校后,随着这学期的数据库课程大赛开始了,我有一个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,just do it!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。最后我选择了roseuml建模工具。在此之前,我脑袋里面没有软件建模的思想,什么uml建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是一个信息横流的世界,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的时候用到的powerdesigner也是一样。
开发的时候我想过用什么架构,c/s模式?模式有很多,怎么选择?我就上网搜索现在最流行的架构是什么。结果搜到了mvc架构,就是你啦。我决定用这个架构,不会,没关系,咱学。just do it!前期工作准备好后,那么我就得把我暑假学的.net加以实践。这个时候我更加深入的了解了利用操纵数据库的知识。并且对数据库里面的存储过程有了比较深入的了解。经过大概2个多星期的奋斗,我完成了我的数据库课程设计--基于.net数据集的图书馆管理系统。并最后非常荣幸的获得了大赛的一等奖以及以及新技术应用奖。
与其临渊羡鱼,不如退而结网。这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。我完成了这次数据库课程设计,不过这只是我学习路上的驿站,未来十年.net的核心技术就是xml[至少微软是这么宣传的],我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,just do it!语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊!
数据库技术是现代信息科学与技术的重要组成部分,是计算机处理数据和管理信息的基础,是数据库应用系统的核心部分。随着计算机技术与网络技术的飞速发展,数据库技术得到广泛的应用与发展,如今各类信息系统和网站的开发都需要使用后台数据库,各行各业的数据大多是利用数据库进行存储和管理的,数据库已经成为信息系统和动态网站不可或缺的组成部分。
1 课程设置和课程定位
1.1 职业岗位需求分析 高职院校每开设一门课程都应进行市场调研,进行职业岗位需求分析,了解市场对该课程的知识、技能有哪些具体要求,课程定位是否准确,课程内容是否流行或落后。每当给学生开设一门新课程或训练一种新技能时,首先应该让学生了解该课程在所学专业的课程体系中的地位和作用,对学习后续课程有哪些帮助,学生明确了学习目标,有助于提高学习的兴趣。通过走访调研企业以及对网上招聘信息进行分析等方式,确定数据库相关职业岗位及岗位能力需求。
1.2 课程定位 根据对数据库相关职业岗位的知识、技能和素质需求分析,同时充分了解高职学生的认知规律和专业技能的形成规律,为使学生熟练掌握数据库的基本理论和开发技术,高职院校一般会选用Access、SQL Server和Oracle三种主流数据库管理系统作为教学内容,其软件开发实训、信息系统和动态网页开发类毕业设计等教学环节一般选择这三种数据库作为后台数据库。许多高职院校计算机类专业开设了1~2门数据库技术方面的课程。其中,SQL Server数据库是软件开发和动态网站开发时经常使用的一种数据库管理系统,SQL Server数据库课程也是计算机类专业的一门核心课程。
2 课程教学设计和实施
2.1 教学设计思路 根据程序员和数据库管理员的岗位能力要求和学生的认知规律,以企业工程项目为导向,按照项目化任务驱动式教学设计,将项目分解为多个既独立又有一定联系的小任务,将知识的讲解和技能训练设计在同一教学单元,融教学做于一体。每个任务都是先提出任务目标,然后由教师演示任务完成过程,最后让学生模仿完成类似的任务,体现“做中教、做中学”的教学理念。
2.2 教学项目选取 教学项目的选取和设计至关重要,教师不能闭门造车,每个项目源于企业真实工程项目但又不能照搬,教师需要按照涵盖的知识点对其进行加工提炼。课程在教学项目的选取上,采用教学课堂示范项目、学生课堂实践项目和实训项目三个层次贯穿整个教学过程。笔者选取的三级项目分别是“示范项目-电子商城系统(webshop)”、“课堂实践项目-电子商城系统(webshop1)”和“实训项目-企业人事管理系统(Factory)等”。
2.3 教学内容设计 课程教学围绕三级项目展开,其中教学示范项目的设计最为关键。示范项目由教师在课堂上演示,引出学生应该掌握的知识点和技能。按照数据库创建与管理工作过程,将一个大的示范项目分解成若干小项目,每个小项目按照“任务目标-任务导航-任务描述-任务完成”等环节进行设计。以“子项目:webshop数据库创建”为例,下表给出项目化任务驱动式的具体设计:
■
课堂实践项目与示范项目间知识点要对应,适合学生在课堂上模仿完成。对课堂实践项目,教师需要设计好课堂实践日志,明确给出实践项目的各个任务描述,以便学生有的放矢地进行训练。当学生完成了课堂实践中规定的任务之后,在学完整个课程时会发现自己已经创建了一个完整的数据库应用系统。
示范项目和课堂实践项目穿插在一个教学单元中,以4学时作为1个教学单元,便于实现“讲-练”循环,理论与实践交互,融为一体。
实训项目供学生进行课外拓展,是为了开阔学生的思路,巩固所学知识。教师也可提供多个真实的项目,由学生根据自己所熟悉的行业选择一个项目,采用小组分工协作的方式,划分出每人的工作任务,在教师引导下逐步完成。
2.4 教学模式及教学组织环节设计 由于课程的实践性要求很强,知识点多,传统的授课方式是“多媒体课件+实例演示”,而且理论课和实验课往往隔了几天,不能做到及时练习,及时巩固,不利于对多知识点的记忆和应用。为了达到良好的教学效果,该课程采用教学做一体化教学,即上课上机均在机房进行。在机房利用电子教室软件进行广播教学,学生在听完老师讲解和演示后,可以马上上机实践,遇到问题,学生可以相互讨论,教师也可以现场进行解答。讲授与练习同时进行,边讲边练,讲练循环,学生的印象更深刻,学习效率更高。这种授课方式彻底解决了传统教学模式存在的理论与实践课程不论是时间还是地点上都过于分离的问题。课程教学组织与实施环节具体如下图所示:
2.5 课程考核设计 课程考核是教学过程中不可缺少的环节,是评价教师教学质量和学生学习效果的重要手段。与课程的教学设计和过程组织相适应,本课程采用形成性考核方式,用以加强课程学习过程的控制,注重学生学习能力的评价。课程考核成绩主要来自以下三个方面:
①课堂实践成绩:来自学生每次课堂实践日志中任务的完成情况。教师在设计课堂实践日志的任务时,就给该教学单元设计一定的分值,学生完成日志任务的同时也就获得了相应的分值,逐步累计到学期末。这种任务和分值驱动的考核方式极大激发了学生完成项目任务的热情。②实训项目成绩:实训项目由学生在课外以团队分工协作的形式完成,实训项目成绩由项目组长和项目组成员互评,主要考察学生在项目中承担的工作量以及技术贡献度。③课程答辩成绩:课程答辩主要围绕数据库知识、技能积累的程度、解决实际问题的能力以及课程学习的收获与体会等方面,答辩组由教师和各项目组长组成。
课程总评成绩按照课堂实践50%、实训项目30%、课程答辩20%的组成比例综合评定。
3 结束语
SQL Server数据库课程教学以职业岗位能力要求为目标,以学生的认知规律为基础,充分发挥理论与实践相结合的一体化教学优势,以学生为主体,学生在学中做,在做中学,在完成具体任务的过程中学习知识和技能,学习的积极性和主动性得到充分发挥,教师从传统的知识传授者转化为学习过程组织者、指导者和评价者,有效地将学习过程向学生自觉的学习过程转化,学生在相对开放的教学组织形式下,在轻松活跃的课堂氛围中,愉快地完成整个课程的学习。
参考文献:
[1]刘志成主编.SQL Server 2005实例教程[M].北京:电子工业出版社,2009年7月.
[2]刘育锋编著.面向世界的职业教育新探索[M].北京:北京理工大学出版社,2009.1.
中图分类号:TP311.138-4
高职教育培养的是高端技能型人才,注重学生应用实践能力的培养。近年来,为了满足市场需求,提高人才培养质量,我院全面推广项目化职业教育课程教学改革。项目化课程设计的原则是:以职业活动为导向,以素质为基础,突出能力目标;以学生为主体,以项目为载体,以实训为手段,设计出知识、理论、实践一体化的课程。下面是我院计算机应用技术专业《SQL Server数据库》(以下简称“本课程”)课程项目化教学改革成果。
1 项目化课程设计思路
我们采用“双线项目”教学模式,即用两个真实、具体的项目来贯穿整学期的教学过程,突出高职教育职业性、实践性和开发性。
1.1 职业性
鉴于学生对日常学生、班级、课程等数据比较熟悉,我们以鹰潭职业技术学院学生选课数据库系统为项目载体,按照实际工作任务的进程,设计对应的学习情境,在情境问题的解决过程中将知识点融合到一起,实现课程内容和顺序的重构。
1.2 实践性
为了学生更好地掌握学习内容、提高实践能力,我们设计了销售数据系统作为学生的课外实训项目,学生通过合作或独立完成项目,再现学习情境,回顾知识内容,从而实现能力的提升和迁移。
1.3 开放性
我们建立了本课程学习网站,将所有课件、教案、实训代码,重点难点教学内容的微课视频等教学资源均放在网上,学生可以随时、随地开展学习,与老师在线互动答疑,拓宽了课堂教学时间和空间的局限性;另外,我们在课程网站的知识拓展模块,提供行业、企业信息,链接部分专业网站,引导学生关注行业发展动态,了解最新行业信息。
2 课程目标设计
通过市场调研和对毕业生的跟踪调查,我们发现计算机应用技术毕业的学生初始工作岗位主要有初级程序员、网站程序员和数据库管理员等。以数据库管理员岗位为例,需要学生能够具有良好的合作交流能力,能应用所学知识创建和管理数据库,进行简单的数据库应用开发,本课程在此岗位能力培养中取到关键作用。另外,本课程以《C语言程序设计》课程为基础,与《》、《软件工程与项目实践》等课程一起培养学生软件开发能力。本课程属于计算机专业核心课程。
根据课程在岗位能力培养的作用,我们确定本课程的总体目标是:以大型数据库SQL Server 2005/2008为平台,将“数据库理论知识”有机地融合到“SQL Server数据库管理系统”中,使学生在掌握操作方法的基础上,充分理解相关的数据库基本理论,初步具备使用数据库应用技术解决实际问题的能力。具体要达到以下知识目标、能力目标和素质目标:
知识目标是:掌握数据库基本理论;熟悉SQL Server系统工具;掌握数据库创建和维护;掌握数据库对象的创建和管理;掌握数据库语言;熟悉数据库的备份和恢复;掌握数据库安全性管理和数据转换;能力目标是:会使用数据库管理工具创建数据库;能够设置数据表的主键和表间联系等约束条件;能够设置数据表的主键和表间联系等约束条件;会使用数据库管理工具创建网络数据库;具备简单应用系统开发能力;素质目标是:通过学生自行设计实施方案,培养学生的逻辑思维能力和解决实际问题能力;通过模拟工作过程,完成实际项目,培养学生工作适应能力;通过分组合作、讨论的方式,培养学生团队协助能力。
3 教学内容设计
基于以上课程目标,根据实际工作过程,结合学生由易到难的认知规律,我们推演出5个典型工作任务,分别是:数据库创建和管理、数据查询和编辑处理、数据库对象的创建与管理、数据库编程、数据库安全与维护。以鹰潭职业技术学院学生选课系统作为项目载体(以下简称鹰职学生选课数据库系统)来组织教学,根据5个典型工作任务,创设了对应的学习情境。
4.3 课程考核
我们遵循过程性考核与终结性考核相结合,能力考核与知识考核为一体的原则进行课程考核。首先,我们根据学生的上课出勤,讨论问题积极性等综合表现评定学生的平时成绩,占总成绩的20%;其次,为了培养学生动手实践能力,我们对学生实训项目严格考核,设计各子项目的分值比例,最终形成学生的项目考核成绩,占总成绩的40%;最后,我们通过笔试,对课程的理论知识进行终结性考核,占总成绩的40%。
5 项目化课程设计实施成效
本课程在教学实践过程中经历了以下阶段:第一,传统三段式教学。2005年以前,我们采用的是理论――练习――实践三段式教学方式,有相当部分同学对理论缺乏兴趣,往往在理论学习过程中有挫折感,从而对课程产生敬畏,失去兴趣,教学效果有待提高;第二,案例教学。2011年以前,我们采用SQL Server系统自带数据库或教材自带数据库作为案例进行教学,学生学习兴趣有所提高,但是,学生更多的是对案例的被动模仿和理解,教学效果不显著;第三,项目教学。近2年来,我们以真实具体的项目为载体,通过创设学习情境,引导学生在情境问题的解决过程当中学习知识,培养能力,让学生在“做中学、学中做”。教学实践表明,项目化课程教学改革以来,学生上课积极性明显提高,解决实际问题的能力增强,教学效果显著。
6 结束语
本课程基于工作过程的项目化教学改革的实施,突出了工作过程的特点,教学过程中以学生为主体,以素质为基础,突出了能力培养,提高了学生的学习积极性,同时也锻炼了教师的课程开发能力和整合设计能力,达到了培养高素质技能型人才的要求,实现了学校和学生的双赢。
参考文献:
[1]戴士弘.职业教育课程教学改革[M].北京:清华大学出版社,2007,6.
[2]徐人凤,曾建华.SQL Server2005数据库及应用[M].北京:高等教育出版社,2011,8.
[3]陈俊伟.《〈数据库原理与应用〉课程设计》的教学设计[J].新课程(中旬),2013,3.
[4]王咏.《数据库原理及应用》课程设计教学方案研究及实践[J].高校实验室工作研究,2010,6.
[5]徐安令.高职高专“数据库原理与应用”课程教学设计[J].德宏师范高等专科学校学报,2011,3.
[6]秦敏,张宇敬.项目教学法在数据库原理课程设计中的应用[J].河北软件职业技术学院学报,2010,9.
1.引言
《数据库课程设计》是计算机科学与技术专业集中实践环节的必修课,是学生学习完《数据库系统原理》课程后,进行的一次全面的综合实践,其目的旨在加深对数据库基础理论和基本知识的理解,培养学生具有C/S或B/S模式的数据库应用软件系统的符合设计需求的设计和开发能力,在具体实现过程中强化学生的实践意识,提高应用能力、创新意识和合作精神。本文对我校《数据库课程设计》实践教学中存在的问题及我校实施基于项目的《数据库课程设计》教学方法进行了探索和分析。
2.《数据库课程设计》实践教学中存在的问题
2.1学生对课程设计的重要性认识不够
在近几年的《数据库课程设计》实践教学中,我发现很多学生对课程设计的重要性认识不够。有很多学生认为《数据库课程设计》是一门考查课,所以直接从网上下载一个软件交差,或者完全依赖于同组同学去完成而没有真正参与其中。实际上,《数据库课程设计》是一门实践性和综合性非常强的课程,它不仅要求学生有程序开发的基础,而且要求学生结合《软件工程》和《数据库系统原理》相关理论知识加以综合运用,完成一个解决实际问题的数据库应用系统软件的分析、设计和实现,是一次难得的实践锻炼机会。
2.2课程设计题目选择方式单一
在以往的《数据库课程设计》实践教学中,往往采用的是提供固定的题目供学生选择这一种单一的方式,没有照顾到学生感兴趣的计算机应用领域,同时也没有考虑到学生调研分析的可行性问题。
2.3学生分组分工方式不够合理
在以往的《数据库课程设计》实践教学中,学生分组分工方式采用学生自由组合的方式,这种分工方式明显不够合理,以致出现了两种不良状况:一是强强联合、弱弱无奈组合的两极分化;二是强弱联合后部分学生的完全依赖性。
2.4课程设计的开设时间和安排不够科学
我校的《数据库课程设计》安排在《数据库系统原理》开设的下一个学期,这样使得很多学生不能及时地将所学的理论知识应用于实践。另外,课程安排上是集中在两周时间内,学生基本上不可能在这么短的时间内完成一个数据库应用系统软件的分析、设计和实现。
2.5课程评价方式不够合理
《数据库课程设计》的评价方式基本上是从考勤和学生提交的课程设计说明书进行评价,而没有对学生所实现的数据库应用系统软件进行剖析,这种单一的评价方式不够合理。
3.实施基于项目的《数据库课程设计》教学方法
实施基于项目的《数据库课程设计》教学方法是我校在实践教学中的一次有益尝试,其重点在于把学生的课程设计任务提高到软件工程项目的高度。针对《数据库课程设计》实践教学中存在的问题,我校从让学生认识到课程设计的重要性、课程设计项目选择、学生分组分工、课程设计时间安排和课程设计评价方式五个方面进行了改革尝试和探索。
3.1让学生认识到课程设计的重要性
通过组织学生观摩毕业班级的毕业答辩环节和召开主题班会的方式,让学生认识到《数据库课程设计》是毕业答辩环节的一次演练,同时是学生综合运用所学理论知识解决实际问题的一次难得的锻炼机会。
3.2课程设计项目选择
根据《数据库课程设计》实践教学的要求,结合我校实际,精心设计若干个模拟实际应用、学生能方便地进行调研分析、涵盖《数据库系统原理》课程大纲知识点并符合《数据库课程设计》教学大纲要求的中小型数据库应用系统项目,并将每一个项目按照工作流程分解成若干个子模块。同时也允许学生在征得指导老师同意的情况下,进行课程设计项目的自主选择。项目自主选择的前提是学生对该项目的应用环境和业务流程相对比较熟悉;或者学生对其应用比较感兴趣,通过调研分析能弄清楚其业务流程。这种灵活的课程设计项目选择方式,使得学生积极主动地对自己感兴趣的应用进行深入了解,这也是综合应用所学理论知识解决实际问题的能力的体现。
3.3学生分组分工
针对以往学生分组分工环节出现的问题,采用老师指定动手能力和组织能力较强的学生担任组长,然后由组长挑选成员和学生挑选组长的双向选择方式,同时明确分配给每一个学生具体的任务。这样就能形成以强带弱、分工明确、责任落实到个人的良好局面。
3.4课程设计时间安排
针对课程设计时间安排上存在的问题,采取一种较为灵活的应对方式:提前让学生进入选题环节和分组分工环节,让学生做好项目的前期准备工作;在学校安排的相对集中的两周时间里,解决学生的实际问题;延迟学生提交可运行程序和课程设计报告的时间。
3.5课程设计评价方式
针对课程设计评价方式上存在的问题,我引入课程设计答辩环节。最终课程设计的评价由考勤、课程设计报告和系统演示答辩三部分组成,成绩比例为3∶3∶4。考勤和课程设计报告对每一个学生进行单独评定,答辩成绩部分以小组为单位进行评定,同时兼顾各成员的付出和分工后的完成情况,最主要的是答辩时回答问题的情况。答辩由小组组长演示程序,各成员根据分工回答老师提出的相应问题。我根据验收答辩的情况和课程设计报告的规范程度以及考勤综合给出成绩,课程设计成绩考核采用:优、良、中、及格、不及格五级评价方式。
4.结语
在对我校2008和2009级计算机科学与技术专业实施基于项目的《数据库课程设计》实践教学过程中,我们通过采用提高学生对课程设计重要性的认识、灵活的课程设计项目选择方式、较为合理的学生分组分工、恰当的课程设计时间安排和科学的课程设计评价方式等方法,较为明显地解决了以往《数据库课程设计》实践教学过程中存在的部分问题,提高了学生综合应用所学理论知识解决实际问题的能力。同时,使学生了解和掌握了数据库应用系统的开发原理和开发方法,对软件系统开发的全过程有了一个初步的认识和实践,较好地达到了《数据库课程设计》教学大纲的预期要求。
参考文献:
[1]王珊,萨师煊.数据库系统概论(第四版)[M].北京:高等教育出版社,2006.
[2]秦敏,张宇敬.项目教学法在数据库原理课程设计中的应用[J].河北软件职业技术学院院报,2010,(9).
中图分类号:G642 文献标识码:A
1引言
数据库技术是计算机科学技术中发展最快的领域之一,也是应用最广泛的技术之一,已成为计算机信息系统与应用系统的核心技术和重要基础。当前,计算机的计算模式已由单用户发展到主从式或主机/终端式结构、C/S结构、B/S结构,进而发展到了Web服务与网络计算时代,而数据库及其技术一直是它们的后台与基础。
当前国内软件产业发展迅速,为了增强学生的就业竞争能力,必须全面培养学生的软件项目开发能力,以适应时代的发展。学生在大学四年学习中,不仅应该掌握一定的理论与技术知识,而且应该树立管理理念,建立项目工程思维观念。
数据库课程设计是学生实践数据库理论知识,真正掌握数据库应用系统开发技能所必须的学习环节,目的在于培养学生面对大量而复杂的数据管理要求时,具备分析问题和解决问题的能力。我们于2004年完成对数据库课程设计的教学方法改革,不仅在教学手段(包括课程设计的实施过程、考核方法等)上进行了体系化和规范化,而且与“软件工程”课程结合,对两门课程的实践教学环节进行了整合。
通过两课整合的课程设计,不仅使学生在理解数据库理论的基础上,实际动手开发一个实际的应用系统,而且培养学生应有的团队协作、自主管理、主动学习、创新思维、综合运用、动手实践等能力,使课程设计真正成为学生验证理论的“实验场”,成为开发学生潜力、培养实战能力的“战场”,成为体验项目开发过程的“运动场”。
2数据库课程设计的教学方案
2.1基本内容
学生运用已学数据库理论思想和数据库设计理念,具体设计一个实用小型数据库应用系统。开发设计过程按以下顺序进行――自选课题研究方向,调查用户需求,总结归纳数据流程,分析性能,书写需求分析及总体设计报告(包括数据流图、数据字典、数据库概念模型、逻辑模型、系统功能模块),完成应用系统的开发,汇报设计成果(包括撰写设计报告、系统验收、结果汇报),在这一系列工作中树立学生项目开发管理思想,培养学生的综合素质。
2.2进度安排
为使学生充分感受数据库系统开发的全过程,安排课程设计进度如下。
2.2.1前期准备阶段
该阶段主要任务是理解数据库、数据模型和数据库系统的基本概念;掌握数据库的概念模型、数据模型及数据
库系统的设计方法;进而确立自选课程设计题目,并依据软件工程中项目需求调研方法进行系统需求调研,绘制系统数据流程,提出系统要解决的问题。该阶段成果主要包括3份报告。
(1) 系统需求分析报告:包括采用的工程开发模型,数据流图和数据字典,系统功能。
(2) 数据库信息要求报告:对数据库中要存储的信息及语义进行详细描述,对数据约束和数据之间的关联进行详细描述。
(3) 数据库的操作和应用要求报告:详细描述数据库的数据操作要求、处理方法和处理流程,画出系统功能划分的模块图。
2.2.2基本操作阶段
主要任务是掌握数据库系统的基本操作,包括SQL语言的应用以及利用DBMS的工具进行数据库定义、维护、查询及掌握数据库安全性、数据完整性和并发控制技术等基本操作,初步设计系统测试数据,并能够正确解决实际遇到的问题。该阶段的成果包括一套系统数据表、关系以及基本数据。
2.2.3技术提高阶段
该阶段要求学生不仅掌握书本上的内容,而且还需要自学一些数据库系统开发新技术和相关知识。主要任务是掌握数据库备份和恢复技术以及有关的数据转换、复制、传送和数据库系统编程技术。该阶段成果为新技术交流讨论资料。
2.2.4设计完成验收阶段
该阶段教师通过3种方式对学生设计的应用系统进行全面验收:系统运行测评、分小组成果汇报和上交课程设计报告。
2.3全程指导原则
在课程设计进行过程中教师仅从宏观上把握一系列原则,让学生自己有更大的可选范围,实践时间长,紧密结合应用,实现了在课程设计中全面培养项目开发能力的目标,体现了新课程教学理念。在方案实施中严格要求学生从理论出发,与实际项目结合,从而提高他们项目开发的综合能力。
2.4评分原则
2.4.1根据数据库系统总体结构对系统从三方面进行评测
数据库原理、数据库应用和数据库设计三部分有机地联系起来形成数据库系统的总体结构,因此对课题设计的评测也从这三方面着手,达到对数据库系统的主要内容和框架的评测。
(1) 数据库原理部分:主要评测学生在数据库的数据结构设计、数据库系统总体设计以及数据库安全保护方面完成的工作。
(2) 数据库设计部分:主要评测学生如何将现实系统的数据通过某种数据模型组织起来,并利用DBMS系统提供的功能,完成结构及其约束的建立。
(3) 数据库应用部分:主要评测现实系统业务逻辑的实现,即通过某种应用模式(C/S模式、B/S模式)和某些(个)程序设计语言、开发技术和工具,在数据库设计以及DBMS平台支持的基础上,实现现实系统的业务功能,为用户提供友好和人性化的业务操作界面。
该环节的目的是使学生对于理论课中涉及的内容和自学内容进行综合实践以达到对它们之间关系的清晰理解,实现理论与实际的紧密结合。
2.4.2严格把关和考核,确保每一名学生在课程设计中得到实实在在的锻炼
由于课程是在学生第七学期开设,并且贯穿整个学期,很多学生面临考研或其他一些毕业前的事务,为了防止有些学生对课程设计任务敷衍了事,我们对课程设计的考核方法进行了详细规划,实施过程考核,而不是结果考核。具体考核步骤主要分为以下几个方面。
(1) 开题阶段:在第1~3周进行,要求每组写一份开题报告,包括课题内容、建立的需求分析及总体设计、小组成员任务分配、具体时间分配计划等,审验合格后方可进行系统开发。
(2) 中期检查:在第8~9周开展,根据计划表检查学生开发进度,纠正问题,督促学生按计划开展课程设计。
(3) 系统验收:在第13周进行,学生演示系统,说明和解释运行效果。考查的重点:每名学生是否完成了分配的任务以及任务量的多少、完成情况等。通过该阶段以后方可进入答辩阶段。
(4) 答辩:在第14周进行,每组学生指派一名代表进行陈述,然后进入教师提问环节(可提问小组中任何一名学生,为了鼓励学生参与提问,凡是提问的学生可以获得成绩加分)。考查的重点:陈述是否清晰、回答问题是否正确。
(5) 课程设计报告:报告的编写是考查一个学生总结工作,撰写科技论文的能力。考查的重点:报告是否内容完整、充实,条理是否清楚,格式是否符合科技文章规范。
以上各个方面考查的结果,进行汇总和综合评判,最后得出评分。
3数据库课程设计的创新点
3.1整合课程
目前在我国项目管理人员奇缺,大多数项目负责人在技术上能独当一面,而项目管理方面的知识缺乏,并且普遍存在着“重技术,轻管理”的思想,因此导致项目开发效率低、花费大。我们在课程设计中结合软件工程课程中学习的项目开发管理思想,对整个课程设计任务进行全面管理与实施,树立工程概念,培养团队合作精神。主要从以下几个方面强调管理理念。
(1) 认真执行需求分析与需求管理。
(2) 合理制订时间执行计划,记录与分析时间分配效果,积累时间分配经验。
(3) 个人分工明确,团队合理协作,通过全过程管理理念的贯彻,提高学生的管理能力,培养学生团队合作进行项目开发的素质。
同时各项目小组在课程设计的各个阶段还需填写阶段性报告,包括项目开发计划、小组角色的职责、需求规格说明书、概要设计说明书、详细设计说明书、项目开发日志等。
通过全过程管理理念的贯彻,提高学生的管理能力,培养学生团队合作进行项目开发的素质。
3.2丰富选题
教师推荐部分设计题目供学生选择,学生也可以自拟题目课题。但是课题的选择要由教师把关,主要依据以下几个原则。
(1) 随着Internet和Intranet的普及,网络数据库应用需求越来越广泛,因此课题注重开发基于B/S或C/S结构的网络数据库系统,以适应时代需要。
(2) 选题要求学生尽量选择实际需求的题目,这样学生不仅可以走出“象牙塔”,通过调查走访,了解国内计算机应用发展的状况,开阔眼界,而且在开发一个真实项目中,带来求学的动力,激发自主学习的渴望以及创造力。
(3) 对于虚拟题目,要求学生切合实际需要,符合发展潮流。
3.3工具多样
市场实际可用的编程开发工具与日俱增,且不断更新,为此在课程设计中,对于学生到底选择哪种开发工具,不做过多限制,鼓励学生自主选择,使学生可以选择自己感兴趣的程序设计工具进行系统开发,一方面锻炼他们自学的能力,另一方面也让学生成为项目开发的决策者,这种“主人翁”意识使得他们变被动学习为主动学习,实践证明学生自主学习的积极性和主动性直接决定了项目开发的成与败。
实际运作中教师会随时了解开发工具的发展形势,提出指导性意见,使学生根据选题“量身订做”工具,避免所选工具“大材小用”;跟上当前发展方向,实践技术“与时俱进”。同时,要求学生以讲座形式分类介绍所用新的开发工具,讲解自己学习新开发工具之后的体会,通过这种研究性的学习方式,避免学生重复学习、盲目学习,同时打开眼界,更加广泛了解技术发展局势。
3.4彰显个性
在完成数据库应用系统基本功能的基础上,鼓励学生运用安全技术、多媒体技术和美术功底等突出系统特色,完善系统性能,培养学生综合运用知识和创新的素质。
主要在以下几方面做进一步要求。
(1) 强调系统中信息安全保护的实现,把理论课中关于“数据库安全保护”的教学内容应用到所开发的系统中,学以致用。
(2) 用户界面友好、设计合理、画面优美反映系统设计人员的审美意识,强调色彩的协调,布局的合理,操作的方便。
(3) 各组之间允许选题相同,但必须突出本组特色,使学生通过竞争,努力发挥个人特长和创新意识。
3.5理论联系实际
系统的评测按照数据库系统的总体结构进行,从而达到对数据库系统的主要内容和框架进行评测,使学生对于理论课中涉及的内容和自学内容进行综合实践,以达到对它们之间关系的清晰理解,实现了理论与实际的紧密结合。
3.6过程评测
课程设计分阶段,每阶段设有检查与评估,既做到及时指导,又确保督促每一名学生在课程设计中得到实实在在的锻炼。考核依据环节的特点进行不同形式的考评,不仅培养学生的语言表达能力、编写技术文档、科技论文的能力,而且可以发现有组织能力的人才。
4实践效果
依据汇总的五轮评测统计表格可以看到,学生在课程设计中,学习积极性高涨,开发出来的系统形式多样,有单机版、C/S或B/S结构的网络版,甚至C/S和B/S结合的网络版,使用的数据库管理系统从小型DBMS,如VFP、ACCESS到大型DBMS,如SQL Server、Oracle等,前台开发工具从传统的Delphi、VB到先进的.Net、Java等,学生们普遍乐于挑选新工具、新技术,积极检索学习资料,参与网上BBS技术论坛,相互讨论,全面体验网络学习环境的乐趣。各组学生除了完成系统应具备的功能外,都在努力突出系统性能特色,完善系统功能,发挥本组同学的特长。各组开发的系统基本符合课程设计总目标的要求,并有几个系统成为他们工作后继续研究的方向。
通过数据库课程设计,表现出大部分学生具备参与一个项目开发的基本能力,并使他们动手实践、自主学习、积极创新等科学素质得到很好的培养,反映出课程设计大大提高了学生综合应用所学知识的素质,说明我们培养的学生具备终生学习的能力,能够适应社会发展的需要。
5小结
学习是人生的一个环节,就业是大学学习后的现实目标。面对严峻的就业形势,培养学生的实际动手人力,提升他们的竞争能力,是教师的责任。在课程教学过程中不断探索新方法,开展课程教学过程的改革,是教师的必须任务。这里所做的数据库课程设计改革,意在与大家共同探讨如何帮助学生摆脱“没有工作经验”难于就业的尴尬局面。
参考文献:
[1] 钱雪忠. 数据库原理及技术课程设计[M].北京:清华大学出版社,2009.
[2] 苗雪兰. 数据库系统原理及应用教程[M]. 北京:机械工业出版社,2004.
[3] (美)Stephen R.Schach.面向对象软件工程[M]. 黄林鹏,等译.北京:机械工业出版社,2008.
[4] 张海藩. 软件工程[M]. 北京:人民邮电出版社,2006.
The Training for Students’ Project Developing Ability in Database Course Design
WANG Yan-hong, ZHANG Xiao-li, JIANG Xiang-gang
中图分类号:G642 文献标识码:A 文章编号:1007-0079(2014)21-0022-02
教育部2012年对《普通高等学校本科专业目录》和《普通高等学校本科专业设置管理规定》进行修订。以此为契机,结合华北水利水电大学(以下简称“我校”)软件人才培养模式,根据软件工程专业的培养目标和培养要求,积极借鉴“高等学校本科教学质量与教学改革工程”实施以来的教学改革理念、措施和经验,对“数据库课程设计”实践教学环节存在的问题进行反思,提出将工程设计的理念固化在课程设计的各个环节,对其进行改革和研究,旨在提高学生的实践动手能力和自主创新能力。
一、“数据库课程设计”现状概述
“数据库课程设计”为软件学院(以下简称“我院”)软件工程专业在学习完“数据库系统”(包括“数据库原理”与“数据库应用”)课程之后于学期末独立开设的一个综合实践教学环节。实践教学在工科教学领域是一个不可忽视的环节,它不但是理论知识得以迁移的手段,也是抽象与具体、理论与实践结合的基点。数据库系统是一门理论性、实践性均非常强的课程,开设该环节旨在加深学生对数据库系统相关理论知识的理解,培养学生分析、设计和编程实现数据库应用系统的能力,并在具体的数据库应用系统开发过程中强化学生的专业技能。
“数据库课程设计”是让学生独立地根据具体的应用环境,构造满足相应需求的数据库应用系统,它属于设计性实验范畴。设计性实验不但能够促使学生运用所学知识培养综合解决问题的能力,而且也会充分激发学生的学习动机,培养学生的学习兴趣,加强学生的实践能力。但在目前的实施过程中达不到预期的效果,通过分析和反思主要原因如下:
1.轻视实践教学环节
“数据库课程设计”于学期末开设,为期2周。从时间上考虑课程已全部结束,从心理上处于一个放松的状态,已不能全身心地投入学习。且时间较短,学生总以为2周的时间学不到专业技能,不能充分认识安排实践环节的目的和重要性,缺乏学习的兴趣,不能积极参与。
2.缺乏软件工程观念
在学习完“数据库原理”之后进行“数据库课程设计”,大部分学生认为该课程设计只需编程完成数据库的建立、各位数据库对象的建立及数据的添加、删除、修改和查询等功能。学生根据老师布置的课程设计题目马上就做这部分工作,对系统设计缺乏一个整体认识。这部分工作一天时间足以完成,在实际的实践教学环节中,学生大部分时间会浪费在数据库的连接、登录等问题上。这就出现了重程序设计技能,[1]轻软件工程方法,热衷于探索各种机巧的程序设计方法,忽视需求分析、评审、测试等软件工程的基本原则与方法。
3.考核模式过于传统
“数据库课程设计”作为一个独立的实践教学环节,传统的考核方式为出勤率(10%)、电子版系统(30%,界面+数据库连接+数据库设计)和纸质课程设计报告(50%),没有对学生所设计的数据库应用系统进行深入分析,投入的人力、精力不足,没有充分调动学生的自主创新能力。
如何充分发挥“数据库课程设计”的作用,收到良好的教学效果,是本次教学改革的主要研究任务。基于以上分析,主要从以下几个方面进行研究。
二、课程设计实践环节改革思路
1.任务提前分配
通过“数据库系统”课程的教学及“数据库课程设计”实践教学环节的实施,经过反思和讨论,认为通过对课程设计任务的提前分配可以充分认识到实践环节中的要求,调动学生的学习兴趣积极参与其中。关键问题是任务如何分配,提前到什么时候。
“数据库课程设计”是在学习完“数据库系统”课程之后于学期末开设,课程与实践环节是前后连贯的。那么在讲授“数据库系统”时就把“数据库课程设计”的题目、内容、要求、目标及成果提交的方式等分配给学生,在学生认识到学习完课程之后还有一项重要的任务。在学习课程的过程中,学生自己就能认识到学习的重点与难点。
“数据库系统”课程与“数据库课程设计”各个环节的对应关系如图1所示。
2.注重题目设计
“数据库课程设计”的第一个环节:题目的设计,至关重要。教师查阅资料,认真选题。首先题目的难度要适中,若选题简单,会让学生误认为数据库应用系统开发是一件很容易的事情,学生不能在设计中全面了解数据库设计的全过程及数据库系统的各种功能,达不到课程设计的目的;若选题过难,部分学生会知难而退。其次,题目要充分,避免抄袭现象,要设计到较多的领域,题目示例如表1所示。由于在学期初进行任务分配,学生有充分的时间对自己感兴趣的题目进行详细地实地调研,并能让学生充分认识到所学的知识并不抽象,能用来解决现实生活、工作中的实际问题,理论与实践完美结合。
由于学生的工作经验和社会阅历都不够丰富,在给出题目时,不但包括系统应该完成的功能需求,也包括一些描述系统的素材,同时还对各系统中现实环境中的情景用flash或DV制作了一系列的虚拟片断,从而为学生直观地理解系统中的业务需求奠定了基础。[2]
3.培养团队合作意识
学生分组,每组一题,不能重复,组内成员分工合作,培养团队协作能力,避免出现注重个人程序设计技能的运用和各种经典程序设计难题的解决,轻视团队协作能力和具体项目环境下的工程开发能力。
尤其在设计环节,要求学生灵活运用学过的知识进行设计,给同学们提供了较大的思维想象空间,调动了学生的学习兴趣,勤于思考,充分表达对不同设计的看法,然后集体讨论和总结,发挥集体的智慧,得到较优的数据库模式。
4.加强软件工程观
根据学生在进行数据库信息系统设计时重编程、轻设计的问题,提出把软件工程的观念贯穿到信息系统设计的各个环节。基于国际软件工程学科CC-SE2004规范,软件工程的教学与实践,从早期注重培养学生的软件工程观。
软件开发过程是一个系列活动,应包括:需求分析、软件设计、实现与调试、测试与验收、部署、维护等活动,具体过程如图2所示,在此过程中要借鉴工业工程中的“过程决定质量”的理论,强调过程对于软件开发的作用。[3]由此可见,编程只是其中很小一部分工作,应把重点放在分析和设计阶段。
为帮助学生以工程方法构建中小规模软件系统的知识和技能,演示一完整的项目作品,并制作开发视频,视频中展示数据库应用系统开发中每个阶段的主要任务和具体做法,尤其是需求分析和项目设计阶段,从而避免重编程实现而轻分析、设计的现象。
5.考核模式创新
为充分调动学生积极参与到课程设计各个环节,课程设计最后一天,每个设计小组分别答辩,讲解项目开况并回答老师提出的问题,最后提交课程设计报告。最终的成绩由考勤记录、课程设计报告和答辩三部分组成,成绩比例为2:3:5。该方式可充分调动学生的积极性,让每个学生均参与其中。
在此基础上,院里可以组织系统设计大赛,课程设计的作品可以参赛,并把获奖作品上传到院系网站,让学生自己进行投票,评选出界面设计奖、功能奖、代码设计奖等奖项。
6.实践效果的评价与反思
在课程设计结束后要做好教学效果的反思工作,通过问卷、交谈、建议等方式了解学生的心得体会,[4]特别是在实践动手能力方面的收获以及不足之处,以便进行教学改革,逐步提高教学水平,达到更好地教学和实践效果。
三、总结
根据软件工程专业特色,对“数据库课程设计”实践教学环节的任务分配、题目设计、团队意识、软件工程观及考核模式等方面进行改革和研究。近几年的实践表明,改革后效果良好,提高了学生的实践能力,达到了课程设计的预期效果。
参考文献:
[1]何福保,道,胡开华.基于项目模拟实训的“数据库课程设计”教学方法研究[J].福建电脑,2012,(1):31-32.
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)01-0023-02
数据库技术是现代软件类人才所必需的三大技能之一,在高校培养软件类人才的课程体系中,数据库原理课程占有举足轻重的地位[1]。数据库技术是一项应用最为广泛,发展最快的技术,几乎涉及所有的计算机应用领域[2]。特别是随着大数据技术的发展,数据库技术已经成为该技术的核心技术之一。而对应于传统的数据库原理课程设计,存在着重原理,轻应用,教学方法较为陈旧等不足[3]。很难适应应用型本科人才的培养目标。通过在数据库原理课程设计中,引入小组互助式教学方法[4],可以改善这些问题。采用小组合作教学模式,教学过程的所有环节以小组活动为核心,依靠小组成员积极的相互依赖关系,面对面的促进式互助来完成学习任务;以小组成绩为最终考核成绩,而非某个成员的成绩。本文探讨了小组互助式教学模式在数据库原理课程设计的运用。
1 数据库原理课程设计中存在问题分析
近几年来,全国大多数的高等院校都进行了数据库原理课程设计的改革研究,并取得一定的成果,但数据库原理课程设计教学过程中存在以下不足。
1)重理论轻实践,大部分高校开设数据库原理这门课程存在着理论原理学时和课程设计上机实践学时分布不均衡的问题。也就是注重理论知识的讲授,忽略了学生动手能力的培养,这与应用型人才培养是相矛盾的。
2)课程设计工作量较小,只适合一人独立完成。这与现代软件开发是相抵触的,从软件工程学角度来讲,软件开发需要团队协作完成。
3)课程设计考核制度较为陈旧。传统的数据库课程设计考核,大多以学生所做数据库系统的前台实现情况和后台数据库设计两个方面进行考核。所做系统相对简单,与实际要求的技术水平有出入。不利于激发学生实践的主动性,应用型人才培养的目标也无法真正落到实处。
2 小组互助式教学的实施
1)组建数据库原理课设小组
根据学生自选优先的选择,分成若干小组。各小组组建后,求小组成员推荐组长。老师布置好课程设计任务后,学生根据要求开会讨论确定实施方案。有组长牵头实施,统筹全局,并将课程设计任务分解,分配到各小组成员手中。按照相应的工作内容,将小组成员划分为需求分析、概要设计、数据库设计、详细设计等工作的负责人。也就是每个人负责组织在不同阶段的实施内容,例如召集例会讨论、调研、设计等工作。每个小组成员,并不意味着完成自己的相应工作就完成了,也要参与到其他环节中去。
2)数据库原理课程设计题目的选取
根据所学数据库原理知识,根据所给题目,进行数据库设计,选择SQL Server数据库管理系统作为后台开发工具。结合所学面向对象编程知识,选择合适面向对象程序设计语言作为前台开发工具。设计一个数据库应用系统,一般以中型题目为宜,能够对数据进行录入、编辑、修改、删除、添加、浏览等功能。教师规定学生可以从学生成绩管理子系统、课程管理子系统、图书管理子系统、通讯录子系统、教室管理子系统、宿舍管理子系统、个人事务管理子系统,库房入库出库管理子系统进行选取,也可小组自拟题目,但工作量必须由指导教师进行审核。对于题目,教师鼓励小组自拟题目,因为这样学生才能选取与实际项目相近的题目,提高学生的课程设计的兴趣。
3)课设中实施
指导教师,要对各小组的工作进行整体监控。在课设的前期准备工作中,参与到各小组的课设讨论中去,给予相应的开发建议。通过小组间的竞争,点燃各小组的课设工作的热情,激发学生的数据库设计工作的欲望。当各小组进入到课程设计实施过程中时,要进行必要的指导,省得学生走弯路。
课程设计环节对学生技能的提升来说非常重要,它能提升学生的设计能力和创新能力。学生在课设的实施环节中,按照小组进行,由组长统筹安排。依据数据库设计的工作流程进行开发,做到人员分工明确,以团队形式进行课程设计工作。课程设计结束后,要以小组为单位进行公开答辩,小组各成员表述自己设计的理念和实施方案,小组成员的结构和分工,遇到问题及解决方案等,由指导教师和各小组组长作为评委进行考核。这样有利于,增强学生的沟通能力,也提高了学生的社交能力和数据库原理实践能力,还培养了学生的团队精神。并且教师在整个过程中,既是主导者又是参与者,融洽了师生关系。
4)课设的总结
答辩结束后,各小组长要代表本组进行总结,主要总结课设过程中存在的不足,以及从其他组学习来的经验,还有对本组课设内容怎么进行完善等。最后教师对每组进一步的点评,包括各组的优缺点,课设中存在的共性和个性问题等。
3 小组互助式在课设工作中的优势和不足
小组互助式进行数据库课设工作,是以小组为主导,教师为辅助的一种课设教学方式。比以教师为主导的程序要复杂,但学生在参与热情上明显提升。比较优秀的学生通过此进程,可以提高自身理论实践的水平;中低层次的学生,可以通过与小组其他成员学习,增加自己的学习兴趣。这种方式,给予每名同学展现自我的平等机会,更有利于个体的发展。
当一个小组中,责任不清晰,工作不平衡时,会导致课设工作要集中到一两个人的手中,导致其他学生产生不劳而获的状态。所以,指导教师,要监控整个课设活动,积极进行巡查督导,发现问题,解决问题。
4 结论
本文分析了数据库原理课程设计中存在的一些问题,并进行了分析,提出了一种基于小组互助式的数据库原理课程设计的实施方案。该方案,为学生的想象力、创造力的发挥提供了平台,也为将来的团队式软件开发工作打下了坚实基础。为数据库原理课程设计和其他实践能力要求比较强的实践教学环节,提供了相应指导。
参考文献:
[1]杨进,郑先荣,唐德玉.数据库课程教学改革探讨与实践[J].教改创新,2011(32):136-137.
[2]王珊,萨师煊.数据库原理概论[M].北京:高等教育出版社,2006.