软件工程专业数据库课程教学改革探究

2021-07-14 04:04

薛 伟

(安徽工业大学 计算机科学与技术学院,安徽 马鞍山 243032)

一、引言

软件工程的概念诞生于1968年在联邦德国召开的“软件可靠性与软件危机”研讨会。二十世纪七八十年代,各种新兴软件工程技术和方法陆续出现,如结构化编程、信息隐藏、面向对象开发等。如今,软件工程已经发展成一门成熟的指导计算机软件开发和维护的工程学科,主要是采用工程的概念、原理、技术、方法来开发和维护软件,涉及到软件生产的诸多方面。数据库课程作为软件工程专业的核心课程,也是很多非计算机专业的必修课程之一。数据库技术主要研究如何高效地组织和存储数据,以及如何快速地获取和处理数据。对信息进行存储、管理、处理和维护都是以数据库为基础的,随着现代计算机硬件和软件技术的飞速发展以及计算机在各行各业的广泛应用,数据库技术发展尤其迅速,引人注目。

继物联网、云计算之后,大数据是信息技术产业中最受关注的领域之一。数据已成为这个时代最核心的资源之一,对数据的高效挖掘可以使资源得到最大程度的利用,而在这个过程中数据库技术发挥着至关重要的作用。数据库技术的发展已成为先进信息技术的重要组成部分,是现代计算机信息系统和应用系统的基础和核心。数据库课程教学必须理论和实践相结合,尤其要注重社会实践环节,以满足软件工程专业人才培养的需要。

二、数据库课程教学内容改革

(一)教学内容改革的必要性

数据库课程培养学生设计中小型数据库的能力。目前,我校所开设的数据库课程主要介绍的是关系型数据库,具体包括关系型数据库的基本理论、关系型数据库标准语言(Structured Query Language,SQL)、数据库规范化设计等。关系模型和SQL在数据库世界占据着主导地位。

随着大数据时代的到来,传统的关系型数据库技术在处理海量非结构化数据时显得力不从心,暴露出很多问题,主要表现在三个方面:无法满足海量数据的管理需求;无法满足数据高并发的需求;无法满足高可扩展性和高可用性的需求。因此,在新的应用需求驱动下,各种非关系型数据库(Not Only SQL,NoSQL)由于其本身的特点得到了非常迅速的发展,并逐渐获得市场的青睐。表1给出了非关系型数据库(NoSQL)和关系型数据库的简单比较。可以看出,非关系型数据库(NoSQL)可以更好地支持Web2.0应用。

表1 非关系型数据库和关系型数据库的简单比较

简单而言,非关系型数据库是一种不同于关系型数据库的设计方式,该数据库支持MapReduce风格的编程,可以较好地应用于大数据的管理,一定程度上弥补了关系型数据库在当前商业领域存在的某些缺陷。所以,应考虑将非关系型数据库添加到的现有的数据库教学中去。

(二)教学内容改革

1.理论教学。让学生了解关系型数据库和非关系型数据库的不同点,掌握SQL的数据定义语言(表对象的创建、删除、修改)、数据操纵语言(数据的增加、删除、修改、查询)以及数据控制语言(权限的授予与回收等);掌握NoSQL数据库中表对象的创建与删除,记录的增删改查等命令;掌握关系型数据库中存储过程与触发器的创建和调用;了解大数据存储相关技术与原理,包括分布式文件系统(HDFA)、分布式数据库(HBase);了解大数据处理和分析的核心技术MapReduce;掌握大数据处理架构Hadoop的使用等。

2.实验教学。在数据库的学习中,理论教学与实验教学是紧密联系、相辅相成的。实验应由基础性实验、验证性实验和综合性实验三部分组成。

基础性实验主要是让初学者尽快熟悉数据库的开发环境,可以安排应用程序的安装。ORACLE的基本安装配置主要包括3个步骤:安装ORACLEXE、安装JDK、安装SQL DEVELOPER。而Hadoop的基本安装配置主要包括5个步骤:创建Hadoop用户、安装Java、设置SSH登录权限、单机安装配置、伪分布式安装配置。

验证性实验主要是利用软件对所学知识进行巩固,比如数据的增删改查,存储过程和触发器的创建、修改、删除等;熟悉HDFS以及HBase操作常用的Java API;熟练使用HDFS以及HBase操作常用的Shell命令;掌握用MapReduce解决一些常见的数据处理问题(去重、排序、挖掘等)。

综合性实验主要是针对具体的案例搭建数据库平台,比如学校管理信息系统的设计与开发、进销存管理系统的设计与实现、机票预定信息系统的设计与实现等,还有搭建基于大数据的综合健康服务平台、城市智能监控综合应用平台等。在确定合适的实验题目之后,教师要正确引导学生,让学生在实验中充分发挥主观能动性,激发其学习热情,释放自身潜能。

3.教材修订。现阶段,我们采用的教材是由我校联合安徽理工大学、安徽建筑工业学院(现安徽建筑大学)和安徽工程大学2010年编写的《数据库系统及应用》。在教学中我们发现该教材存在部分不妥之处,且所介绍的Oracle数据库版本较低,部分例题的解答不够严谨。如建立一个触发器return_tri实现以下功能:当读者归还一本书时,在借阅表(bookLend)中更改归还日期(returnDate),触动触发器(return_tri)将book表中的在馆状态(states)改为归还。按照教材上的创建方式应为:

create or replace trigger return_tri after update on bookLend

for each row

begin

if updating then

update book set states = ‘在馆’ where bookId = :new.bookId;

end if;

end;

/

这种建立方式并不严谨,如果修改bookLend表中某一条记录的借书日期而不是归还日期(returnDate),此时触发器return_tri也会被触发,从而使得book表中对应图书的在馆状态发生变化。这显然是不符合实际要求的,应该把触发器的触发级别建立到具体的字段上。上述代码可以修改如下:

create or replace trigger return_tri after update of returnDate on bookLend

for each row

begin

if updating then

update book set states = ‘在馆’ where bookId = :new.bookId;

end if;

end;

/

应对教材进行修订,更正存在的错误,统一全书的教学案例,让教材的逻辑性更强。完善教材中例题的SQL语句,并添加非关系型数据库章节。此外,在教材中可以补充难度适当、实用性强的阅读材料,丰富教材内容。

三、教学方法改革

(一)过渡性双语教学模式

数据库课程一般在大二下学期开设,学生的英语水平已经满足课程教学要求,且课堂使用的客户端SQL Developer可以设置为英文界面,故可以考虑实行双语教学。一方面可以提高学生英文文献的阅读和理解能力,另一方面可以提升学生的英语交流能力。

双语教学在国外发展时间较长,在多年的教学实践中,已形成多种不同的双语教学模式,如浸没法双语教学、学科式双语教学、过渡性双语教学。其中,过渡性双语教学比较符合我国高等学校的实际情况。该模式允许前期一段时间以母语教学作为过渡期,以避免学生因不适应全英文的教学而产生厌学心理。此外,教学模式、教案设计等都应做相应的改变。

(二)充分利用多种教学资源

多媒体课件把文字、图形、图像、视频等多种素材进行集成,在一定程度上可以优化教学方式、活跃课堂氛围、提升教学质量,对传统课堂教学的改革起到很大的推动作用。例如数据流图、数据库恢复过程等很难用纯语言表达清楚的内容,可以用动画的形式来辅助讲解。

此外,教育信息化是教育发展的必然趋势。基于网络视频的教学模式越来越普遍,这种模式可以打破时间和地域的限制,让学生可以随时随地进行课程的预习和复习,并且有足够的时间和教师沟通,从而提高学习的主动性和学习效果。

四、考核方式改革

本课程现阶段采用“平时成绩(40%)+考试成绩(60%)”的方式进行考核,没有将对学生数据库课程设计情况的考核纳入进来,数据库课程设计是作为一门独立开设的实验课程,单独打分。数据库课程设计是学生学完数据库课程之后在学期末独立开设的一个综合实践教学环节。课程设计对于巩固数据库知识,培养学生的实际动手能力和提高学生综合素质十分必要。但部分学生参加课程设计的积极性不高,导致该门课程无法通过。如果将课程设计的成绩计入到数据库课程的平时成绩予以考核,则可以杜绝上述现象的发生。我们对考核方式进行了改革(见表2),调整后的考核方式增加了课程设计的考核,降低了平时作业和期末考试所占的比重,取得了较好的效果。

表2 课程考核指标及所占比例

五、结语

随着大数据时代的到来,越来越多的数据库建立在非关系之上,关系型数据库和非关系型数据库将相互补充,共同发展。高校课程教学应充分考虑大数据时代对数据库技术提出的新要求,不断对课程进行研究和探索,培养满足社会需求的优秀软件工程人才。