数据库课程设计报告范文

时间:2023-05-06 18:23:53

导语:如何才能写好一篇数据库课程设计报告,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

数据库课程设计报告

篇1

关键词: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 (FIE’02), 2002.

篇2

关键词:数据库;课程设计;教学改革

中图分类号: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.

[2] 王珊,萨师煊. 数据库系统原理[M].4版.北京:高等教育出版社,2006.

篇3

数据库技术及应用是与各专业应用结合比较紧密的应用技术基础课程,是一门工程性和实践性都非常强的课程,因此我们主要以工程化实践教学模式进行数据库技术与应用课程的教学,根据“初步体验、独立项目实践、从业实践与实训”3个层次实行渐进式实践教学训练。在教学过程中,我们注重培养学生的工程能力,强化学生的工程实践意识,从教学内容的组织和实验环节的设计到课堂教学案例和实验教学的开展,都围绕工程素养的培养进行遴选。

1.1采用工程案例驱动的理论教学模式

在理论课讲授方面,我们以工程案例驱动模式进行教学,以网上书店的开发案例贯穿教学全过程,将数据库基本原理和设计技术融于案例教学过程。同时,根据浙江传媒学院电子信息工程专业的传媒行业特色,对教材的内容进行优化整合,增加与新媒体应用相关的多媒体数据库等新技术内容,加强数据库工程应用设计及网络数据库应用技术能力的培养。在各章的教学中,我们用案例进行分析,逐层引导,全过程地阐述数据库系统原理及应用中的各类概念和技术问题。

1.2实行渐进式的工程化实践教学过程

1)初步工程训练体验。课程的教学除了理论教学外,还有相应的课内实验教学。实验内容分成两部分,一部分是数据库技术的基本实践,主要包括特定DBMS的使用、SQL语言的编程练习以及数据库的连接技术;另一部分是小型数据库应用系统的开发,采用工程化的基本思想,组织学生分组设计实现一个初步的工程项目,培养学生的自学能力、主动学习能力、团队协作能力以及初步的工程实践能力。在初步工程训练体验阶段,教师提出工程设计的基本功能和性能要求,包括系统界面设计、基本的数据操作和查询统计功能设计、性能指标设计等基本要求。学生可自由组成小组,根据教师要求自主选题并自主选择开发工具和数据库环境,在完成基本功能要求的前提下,可以结合自己的工程项目设计实现一些特色功能模块,然后完成项目设计的总结报告。最后,教师对每个小组的作品进行项目验收,要求每个小组制作PPT进行项目工作汇报并演示所设计的作品,由学生推选出的若干学生评委负责项目评分。工程项目设计成绩作为该小组成员平时成绩的主要评分依据。

2)独立工程训练实践。独立工程训练实践要求学生在课程设计阶段完成。该阶段要求每个学生自主完成一个真实的或模拟的项目开发实践,以着重培养学生的自学能力、独立从事工程实践的能力、基本的分析问题和解决问题能力。课程设计阶段要求学生自学数据库开发工具和环境,强调独立设计,强化学生查阅资料能力、自学能力、创新设计和实践能力的培养。在此课程设计阶段,教师除了提出项目设计的基本能力训练要求和设计作品的基本功能和性能要求外,还给出一系列参考选题让学生选择。学生也可以自主选题,但需征得教师同意,以保证选题的质量。为避免抄袭等行为的发生,每个学生的题目和内容必须不同。同时,课程设计阶段会要求学生采用与上一次设计不同的工作模式(C/S或B/S),采用工程化的手段和方法完成基本的设计实现工作。课程设计完成后,指导教师组织学生评委(7人)对学生作品和设计方案进行检查,最后通过汇报答辩的形式评定作品设计成绩。作品设计和汇报答辩成绩由学生评委给定,教师在设计过程中负责答疑,在答辩过程中负责点评,但教师有权对成绩进行微调。另外,在课程设计结束后,学生要完成课程设计报告,教师对课程设计报告批注评语并给出成绩,课程设计的最终成绩由作品设计成绩和设计报告成绩组成。经若干次实践证明,上述实践教学方法既减轻了教师的工作任务,同时又促使学生相互学习并取长补短,在促进学生自主学习、主动学习和实践的同时,也提高了学生的表达能力;通过课程设计报告,学生提高了撰写规范的项目设计方案的能力和设计总结报告的水平。

3)从业工程训练实践。从业工程训练实践主要指学生在企业实习期间,以行业一线的真实工程项目为背景,参与并完成相应的工程项目设计实现工作(或作为其毕业设计),培养数据库工程应用实践开发和运用数据库技术从事服务外包等实际应用开发能力。第3阶段主要是结合实际数据库工程项目,尤其是与传媒应用密切相关的数据库工程项目的设计与实现工作,如电视节目查询点播系统、媒体资产管理系统、影视资料编目系统等。这一阶段的实践主要培养学生的实际应用能力,帮助其尽快适应社会需求,在离校前具备应对复杂工程实践的基本能力。通过3个阶段的实践教学,学生能够初步具备到一线从事数据库工程及服务外包等项目开发的基本能力。

二、以能力培养为目标的考核评价机制

教学方法和手段中的一些不足之处,不可避免地会导致考核评价机制不科学和不公平现象的发生。多数课程的考试都采用期末笔试形式,课程考试无法真正做到考核学生的实际工程能力,为此改革评价方式宜与教学模式改革相配套。为使实践训练能落到实处并能给出客观公正的实践评价,我们对于C语言、Java课程以机考为主,采用具有自动评价学生程序功能的程序设计上机练习及考试系统,改变期末笔试的考试形式,在开学半学期后每两周组织一次机考,采用多次开卷机考的方式进行课程考核。通过考试的学生如果不满意成绩,还可以在学期结束前的任何一次考试中重考。数据结构与算法课程考核分为笔试和机考两部分,期末总评成绩建议按照平时成绩占20%、笔试成绩占40%、机考成绩占40%的比例计算。数据库技术与应用课程的成绩由理论考试成绩和工程项目设计成绩两部分组成,理论考试和工程项目设计各占总成绩的50%,其中设计作品占40%,设计报告占10%,不再单独设置平时成绩,而以初步的工程项目实践成绩作为平时成绩。课程成绩的评价采用理论学习与能力培养并重的方式。

三、结语

通过组建由C程序设计、Java程序设计、数据结构与算法分析、数据库技术与应用4门课构成的计算机类课程,我们从以下几个方面对教学模式尤其是实践教学模式进行改革和探索。

(1)以案例驱动方式深化C语言课程的教学改革,完全由学生自学C语言语法,突出专业层面的基本程序设计能力训练。

(2)以案例驱动和项目驱动并重的方式深化Java语言课程的教学改革,前半学期主要采用案例教学法,让学生学会Java语言的语法规则和调试方法,熟悉Java特性和程序架构,特别是熟悉面向对象程序设计的理念;后半学期主要通过项目驱动教学方法,强化学生工程实践能力的培养,突出项目设计实现能力训练。

(3)以理论与实践并重的模式开展数据结构与算法课程教学,以学习传统的、经典的数据处理方法为核心,以掌握算法设计基本功能为目标,通过课堂教学与OJ系统中相应的配套练习,基本达到工程设计必需的基本技能要求。

篇4

关键词: “数据库原理”课程 教学内容 理论教学 实践环节

1.引言

数据库技术是计算机科学技术中发展最快的领域之一,也是应用最为广泛的技术之一,它已经成为计算机信息系统和应用系统的核心技术和重要基础。经过几十年的发展,数据库技术已经形成了比较完整的理论体系和广泛的应用系统。

“数据库原理”课程作为大学本科计算机专业的一门专业基础必修课,主要讲授数据库的基本原理和应用设计方法,理论性强、应用广泛。通过该课程的学习,如何使学生既能掌握数据库技术的基本概念和理论,又能掌握数据库的设计和应用方法,更好地胜任今后的实际工作,是所有任课教师都要重视的问题。目前,我国高校计算机及信息技术等相关专业大都开设了数据库原理这门课程,教学内容和教学方法基本相似,并且大都存在着一些类似的问题。针对目前数据库原理教学中存在的一些问题,本文对该课程的内容组织、教学方法和实践环节几个关键问题进行研究探讨。

2.优化教学内容的组织结构

教学内容的选择和知识模块的组织方式是课堂教学的一个重要方面,直接影响着教学效果。教学内容是培养目标、教学计划和课程体系的完整体现,也是课堂教学得以实施的基本保证,而知识模块的组织方法则是先进教学思想的体现,它对于教学方法和教学手段的创新,以及提高教学质量都有着非常重要的促进作用。

传统的数据库原理课程的教学内容主要以关系数据库为基础、数据库管理系统为中心,介绍关系系统的基本原理,理论教学始终放在首位,很少涉及具体的应用,学生在最初的学习过程中因为没有实践的心得体会而很难理解那些抽象的概念和理论,并进一步导致学生被动乏味、兴趣低下。进入实践阶段后,由于理论基础不扎实,学生常会感到无从下手,致使实践和理论之间严重脱节,更进一步挫伤了学生学习的积极性,影响了教学效果。

鉴于内容编排上的问题,我们在介绍完数据库的一些基本概念之后,即对照着某一具体的关系数据库系统,如SQL SERVER 2005,介绍关系模型、关系代数和关系数据库语言SQL等内容,同时进行上机实践,这样学生能较早对关系数据库有个感性认识,较好地掌握SQL的语法和功能,并锻炼其实际操作能力。接下来,针对某一具体数据库应用系统的需求,如图书管理系统,讲授关系数据库的规范化理论和设计方法。这样让课程内容的组织始终与具体应用相结合,不仅使很多抽象难懂的概念更加具体和容易理解,而且调动了学生学习的兴趣和积极性。

3.从需求和问题出发进行理论教学

现在很多数据库原理教材都是从理论出发,先讲解一大堆的理论,然后才谈及实践。由于数据库的基本原理、概念和技术的理论性强、抽象度高,因此这样常会导致学生在最初的理论知识学习阶段感觉被动乏味、兴趣低下、理解困难,一些学生甚至会自暴自弃。并且,这种用理论引出实践的方法也不符合人们认知世界的规律。的实践论和认知论告诉我们,理论源于实践,又反过来指导实践,脱离实践的理论是空洞无力的,“实践―理论―再实践―再理论”无限循环往复才是人类认知世界的基本过程。因此,从实践引出理论会使理论知识更容易理解,能够让学生首先明白学习这些理论的实际意义,也更容易激发学生的积极性和主动性。

为了帮助学生理解抽象的理论,激发兴趣,我们采取了下面的方法。

(1)课程第一堂课,先联系生活实际,谈谈我们生活中哪些地方离不开数据库,如:银行储蓄,火车飞机订票,学生的学籍管理,人事工资管理,等等。让学生从感性上认识到数据库和我们现代生活的密切相关性。接着引出一些相关概念,如:信息、数据、数据库、数据库管理系统等,并用实例和类比的方法讲解这些概念及其相互关系。有实际生活知识做背景,这些概念理解起来也就更容易了。

(2)在以关系数据库为例讲解数据库的基本概念、模型和技术时,选择一个主流的大型数据库系统作为理论教学背景和实践教学平台,如SQL Server 2005。在理论教学讲授SQL语句时,如果干巴巴地列出语句格式和要注意的事项,学生必定感到枯燥乏味。那么,可以在讲解SQL语句及其使用格式的同时,在SQL Server 2005环境下输入SQL语句,然后让学生观察结果。如果语句出错,则引导学生思考原因:为什么出错?是格式错误,还是逻辑错误?如果有条件,也可以在实验室进行这部分内容,边讲解边实验。这样不仅调动了学生学习的积极性,而且加深了学生对基本概念和理论的理解。

(3)基于问题驱动的理论教学法。在讲数据库设计的规范化理论一章时,很多学生不明白学习这些形式化的理论有什么用。因此,在讲这一章之前,应先把问题提出来,比如,如何设计一个数据库的关系模式,你设计的这个关系模式是好是坏?衡量的标准是什么?为什么?让学生知道学习这章内容就是为解决这些问题的,有其必要性和重要性,从而做到心中有数。接下来讲解相关理论,以及这些理论是如何解决提出的问题的时候,学生就可以有的放矢地进行学习了。

4.重视实践环节,加强应用能力的培养

数据库原理是一门应用性很强的课程,实践环节直接关系到整个课程的教学效果。目前在数据库原理的教学中普遍存在一定的误区;过分强调原理和知识的完备性和系统性,而忽视了实践教学、实验方案在培养学生实践能力和创新能力中的重要作用,认为既然是原理课,不论对什么学生都应着重讲解理论知识,实践环节的学时偏少,忽视了学生实际应用能力的培养。此外讲课也大多是填鸭式的教学,在学生自主学习和创新能力的培养方面还很欠缺,学生学习状态不佳,学习目的不明确,导致学习效果不理想。

目前大部分院校本科生学习该门课程的目的是为了应用。对于这样的学生,数据库的实践教学尤为重要,任课教师更应该在实践教学上下功夫,让学生能够真正把所学理论知识和实践联系起来,为日后开发数据库应用系统奠定基础。

由于学时的限制,我们在课程实验环节上做了精心设计和周密安排。除了与理论课相配合的实验课外,我们还在课程结束后的小学期设置了相应的课程设计。

(1)通过基础实验帮助学生理解和巩固理论知识

教学过程中课堂教学和基础实验需同步进行。学生只有通过上机操作才能真正理解所学,消化课堂上的理论知识,这一点对数据库课程也尤为重要。为提高上机质量,教师应首先做好实验课和理论课的衔接关系,实验课最好和相应的理论课同步进行,否则很难达到好的效果。我们按照教学顺序编写了实验指导书,让学生设计SQL语句并通过上机来验证。结合课程内容,我们设置的实验如下。

建立数据库及基本表:学习使用关系数据库SQL SERVER 2005,并练习数据库的建立和删除、基本表的建立和修改、数据的输入。

数据更新:使用INSERT、UPDATE、DELETE语句进行数据更新。

数据查询:使用SELECT语句进行数据的查询。

视图的创建与修改:使用CREATE、DROP语句创建和删除视图,使用INSERT、UPDATE、DELETE语句更新视图,体会更新视图的前提条件。

数据完整性:使用PRIMARY KEY、FOREIGN KEY REFERENCES、NOT NULL、UNIQUE、CHECK等关键字定义完整性约束,并通过相应操作验证这些完整性约束,体验完整性约束的作用。

(2)通过课程设计培养学生的综合应用能力

为了增强学生的综合运用能力,在学完数据库原理课程之后的小学期我们开设了相应的课程设计。课程设计的任务是让学生从实际生活中的数据库应用系统出发,完成一个实际的、基于C/S或B/S的数据库应用系统设计的全过程。包括:需求调查、数据库设计、数据库建立、数据输入、应用系统的设计和开发,用户界面的设计和实现等。具体要求如下:

分组:将学生分成小组,每组人员为4―5人,组长1名,负责任务分工和总体协调。

分工:每名学生担任不同的角色,包括系统分析、系统设计人员、数据库设计人员、应用系统开发人员、测试人员等,分工协作、共同完成设计和开发任务,从而培养团队精神。

开发数据库应用系统:选择一个合适的DBMS产品,选择合适的应用开发工具,按照设计的结果建立数据库,开发应用系统,输入数据并调试运行所开发的系统。

实验报告:写出完整的实验报告,包括:需求调查报告、系统分析报告、数据库设计报告、应用系统设计报告、数据库实施计划、系统测试计划、系统测试报告、用户使用手册等文档。

考查形式:向教师和其他小组运行演示开发的数据库应用系统,提交所有文档。

课设任务书后面可附上参考题目,以供学生选择,如:图书管理系统、网上书店系统、加油站管理系统、医院住院管理系统、股票交易系统、人力资源管理系统、仓库管理系统、企业工资管理系统等。

课设小组完成设计方案后,组织全班学生对每个小组的设计方案进行讨论和评价,各小组根据大家的意见进行修改,通过后再进行代码的编写。整个系统完成后,每组派代表演示本组所开发的系统。通过集体讨论,大家可以互相学习,交流开发过程中的收获和体会。

数据库课程设计不仅要用到数据库的知识,而且要用到编程和软件工程方面的知识。教师应该让学生充分发挥自己的积极性和主观能动性,一方面应注重学生独立解决问题能力的培养,另一方面还要注重培养学生的团队合作精神。在整个课程设计中,要以学生为主体,充分发挥教师的引导作用,教师不仅要指导学生学会查找资料,更重要的是培养学生发现问题、分析问题和解决问题的能力。

5.结语

要提高数据库原理的教学效果,必须不断优化教学内容,积累实践经验,改进教学方法和手段,构建科学、合理的教学体系。由于数据库技术在不断发展,知识在不断更新,教师观念也必须不断更新,教师应从教学内容、教学方法和实践等方面认真思考,锐意改革,为社会培养出更多具有创新能力的数据库应用人才。

参考文献:

[1]崔巍等.浅谈数据库课程实践教学.计算机教育,2007.11.

[2]黄德才等.“数据库原理及其应用”课程知识模块组织和教学实践,中国科教创新导刊,2007,(471).

[3]施伯乐,丁保康等,数据库系统教程(第2版).北京:高等教育出版社,2003.8.

篇5

关键词:课程体系;教学大纲;师资队伍;教材

【中图分类号】TP311.13-4

课程资源的开发和建设意义重大,课程建设是高校教学基本建设之一,是落实办学定位,提高教学质量,实现专业人才培养目标的根本。随着信息技术和互联网的发展,课程资源已经成为课堂的延伸,丰富的课程资源是一门课程很好的辅助。目前很多高校在课程资源的开发与建设方面做的很好,并取得了一定的成绩,对教学起到了很好的辅助作用,黄淮学院在这方面起步较晚,目前仍处于一个探索阶段。下面就黄淮学院《数据库系统原理与应用》这门课程在课程资源开发与建设中遇到的几个问题进行探析。

一、 课程建设的指导思想

以科学发展观为指导,以落实黄淮学院“建设特色鲜明的应用型本科高校”办学定位为宗旨,以服务黄淮学院确定的“就业能称职,创业有能力,深造有基础,发展有后劲”的技能型人才培养为目标 ,以强化实践、开发资源、项目驱动、案例教学为基本原则。优化课程体系,改革教学内容,更新教学方法,全面提高课程建设质量和应用型人才培养质量。

二、课程建设的目标

通过《数据库系统原理与应用》课程的开发与建设力争达到如下目标:

1.使本课程达到河南省省级精品课程的要求;

2.根据本专业学生就业市场需求修订教学大纲,和企业结合选择经典案例,使培养的学生符合社会需求,达到就业能称职的目的,符合应用型大学的培养目标;

3.组建高水平的教师队伍,营造浓厚的学术气氛;

4.根据本课程的特点和定位设计合理的教学内容,并把本学科最新发展成果和最近的教改教研成果引入到教学中,强化实践教学;根据不同级别的学生(本科和专升本学生)特点,改进教学方法和教学内容,设法调动学生的学习积极性。引导学生积极思考、勇于实践,提高学生自主学习能力。

5.强化校外实习基地与校内实训基地建设,适应知识的网络化;

6.自编符合应用型培养目标的案例教材,通过《数据库系统原理与应用》课程的学习让学生熟悉数据库和应用系统的设计步骤、方法和技巧,达到能自行设计和开发应用系统的目的。

三、课程建设的内容

课程建设内容是课程设计与建设的核心,该课程建设内容从资源类别来讲课包括以下三个方面:教学基本资源、教学核心资源和教学拓展资源。其中教学基本资源包括:教学大纲、教学进度和教师团队;教学核心资源包括:每个单元(模块)的教学课件、教学视频、教学案例、作业(包括:课前练习、课堂作业、课后作业和课后测试)、实验(包括基本实验和综合实验)和本单元(模块)相关文献(包括必读文献和参考文献);教学拓展资源包括:案例库、试题库、试卷库、单元测试题、电子图书、职业标准、专题讲座、网站链接、背景素材、交流平台和主流数据库管理系统教学视频等。下面重点就课程体系建设、教学大纲、师资队伍和教材建设等几个方面进行探析。

1.课程体系建设。

数据库技术是信息技g发展的动力和基础,软件工程专业的学生必须熟练掌握数据库技术,但是,目前黄淮学院软件工程专业学生数据库相关课程只有《数据库系统原理与应用》和《数据库系统原理与应用课程设计》两门课,笔者认为这是不够的,因为《数据库系统原理与应用》重点是讲解数据库的基本原理,内容多而且比较抽象,由于课时有限,所以在应用上就很少涉及。 而课程设计往往放在学期即将结束时进行,学生忙于复习考试,没有精力做课程设计,多数同学课程设计以应付了事,达不到课程设计综合实训的目的。所以,应该开设一门数据库后续课程如:《数据库应用技术》或《大型数据库》或《数据库编程》等课程,熟悉一个大型数据库数据库管理系统的使用,掌握一些数据库新技术,培养学生的自学能力和实际动手能力。重点介绍一个大型数据库管理系统比如Oracle,并带领学生完成数据库应用系统的设计和开发工作。

2.教学大纲建设。课程教学大纲应符合软件工程专业人才培养目标,突出教学内容的应用性和实习实训等实践教学环节,着力培养学生的应用能力和创新精神。为突出教学内容的应用性,该课程整个教学过程采用模块化教学模式,理论教学整体分成数据库基础知识、数据库设计、数据库维护、成绩管理系统后台数据库的设计与实现和自选项目五个模块。通过一个完整的成绩管理系统的设计与实现,并与数据库系统原理相关理论知识有机地结合起来,并且学生在 “跟做、 参考完成和独立完成”这三个逐渐加深的学习过程中,不仅完成了应用系统开发技术和数据库设计知识的学习,还能够加强学生自主学习的能力,同时对于应用系统整体把握上也更加游刃有余。实验教学包括基础实验和综合实验,其中基础实验包括:数据定义、数据查询、数据完整性控制、数据库安全控制与事务处理、数据库的备份和恢复。综合实验包括数据库编程和管理系统的设计与实现(题目自拟)。由于实验学时有限,基础实验大部分实现项目课堂上很难完成,主要安排在课余时间完成,实验课安排实验项目,要求学生在规定时间内提交实验报告。其中综合实验结合课程设计完成,为避免与学期结束时学生备考冲突,课程设计一般提前安排,在学习完数据库设计后即开始课程设计,给学生充足的时间完成。

3.师资队伍建设。师资队伍建设是课程建设的基石和保障,没有强大的师资队伍不可能保障课程建设的质量。《数据库系统原理与应用》课程是理论抽象而实践性有很强的一门课程,如果任课教师没有一定的项目开发经验 , 就难免会在把握课题时流于“ 纸上谈兵 ”,只有具有一定的专业水平和丰富的实践经验的老师才能熟练地驾驭该课程。要选择合适的学科带头人,组建教学团队,学科带头人要有丰富的教学和实践经验,能带领团队完成教学和科研工作。通过引进高学历和有企业实践经验的工程师,并通过教师进修和企业实训等措施提高任课教师专业知识和实践动手能力,形成合理教学队伍。充分利用教研活动,通过开展集体备课,任课老师互相听课,积极开展教研教改活动,创造良好的学术氛围。

4.教材建设。教材是教学内容和课程体系的集中体现,是教师教学和学生学习的基本工具。要注重依据课程教学大纲,以应用性、实用性、先进性为标准选择合适教材,但是、目前图书市场上数据库系统原理相关教材主要分为两类,一类是理论性很强,应用性体现不足,一类是侧重于一种数据库管理系统的应用而理论知识不足,这两种类型的教材都不太适合应用型本科学生的培养。为此笔者组织教学团队成员自己编写适合本校学生使用的教材。该教材突出应用性和实用性,以学生比较熟悉的学生成绩管理系统的设计贯穿于教材始终,从开始平台的搭建、数据库设计、数据查询、数据处理到最终系统的实现,每一步的设计与实现都详细介绍,把枯燥的数据查询、数据操纵、数据维护等知识都是通过系统实现,同时,数据库的相关理论知识穿插到实践当中,让学生通过具体系统的实现,体会到数据库的作用,并熟悉应用系统的开发过程和开发技术。借助于本教材通过该课程的学习,让学生即掌握了数据库的基本理论知识,也熟悉了数据库的设计和开发工作。

五、课程资源评价

1.该课程资源的成效

本课程资源的主要成效体现在,引导以教为主的教学模式,向以学为主的教学模式转变;并引导学生的学习以课堂学习为主的学习模式,向课堂内外学习相结合的学习模式转变;学生的学习效果以结果评价为主,向结果与过程评价相结合的转变。实现教学资源的共性,提高学生的学习积极性、主动性及动手实践能力,充分体现职业性、开放性和实践性,与黄淮学院应用型技术大学的技能型人才培养为目标一致。通过资源共享、师生互动、师师互学、生生互促等方式有力推动了教学模式和教学方法的改革。优化了课程体系,提高了应用型人才的培养质量。

2.该课程资源的不足

(1)人力课程资源不足。目前,参与该项目的教师有多年的教学经验,但是项目经验不足。目前,急需要引M参与过大型项目数据库开发经验的教师。

(2)物质课程资源不足,为达到理想教学效果,需要建设教学做一体化的教室。

(3)实训企业数量不足。应进一步加强校企合作,让学生和老师参与到企业实际项目中,锻炼教师和学生的实践动手能力,通过企业实际项目进一步丰富、优化教学案例,并加大与企业联合开发课程的层面。

(4)课程评价体制不完善,通过完善课程评价体制,不断提高教学资源的利用率。

六、结束语

课程资源的开发与建设是一个长期而艰巨的工作,需要课题组成员齐心协力、锲而不舍、勇于创新的精神。没有最好只有更好,黄淮学院《数据库系统原理与应用》课程的课程资源还在逐步的完善当中,经过课题组成员的共同努力,《数据库系统原理与应用》课程逐步向正规化、精品化方向发展,离课程建设的目标会越来越近。

参考文献:

[1]闫彩虹.计算机应用基础课程建设初探[J] .佳木斯教育学院学报, 2013,(1)

[2]许速,孙宜贵.对计算机专业数据库相关课程建设的几点思考[J] .河南教育,2008,(2)

[3]张春燕,赵吉.高职院校Web项目开发课程资源库建设的探析[J] .科技资讯,2015,(9)

篇6

关键词:软件工程;实践教学;课程设计;案例库;可复用

课程设计是一门课程结束之后安排一周或者两周综合实训,让学生完成一个实际的课题巩固理论知识,对课程知识体系获得更深刻全面的理解,是提高学生实践能力的重要环节[1]。目前,学院软件工程专业从第4、5学期陆续开设专业基础课和专业课,如《C#面向对象的程序设计》、《Java程序设计》、《软件需求分析》、《数据库原理及应用》、《软件工程》、《UML技术》、《软件测试》等,这些课程均安排了为期一周的课程设计。但大四毕业设计时发现部分学生实践能力达不到专业培养要求,原因主要在于专业类课程实践环节没能够达到理想的教学效果。经调研发现,这些课程设计周是由各科授课老师布置一个相关课题,明确课题要求,给一周时间让学生自主完成,最后提交一个小的系统与课程设计报告。这种课程设计存在以下问题:(1)课程设计教学内容方面。老师未能提供系统、综合的课程知识相关案例,导致学生对题目理解不足,对课题认知模糊,无从下手,降低了学习主动性。(2)教学手段陈旧。基本还是停留在老师讲、学生听的阶段。师生互动较少,学生没有足够时间思考,即使在某个环节出现问题也不能及时解决,课后问题可能不了了之。(3)课程设计考核体系不完善。实践环节大多为考察,导致学生不够重视,提交一个报告了事。由于缺乏完整监管机制,学生对整个课题的开发过程认识不清,没有收获。另外,老师凭提交的报告给出成绩,区分度不明显,不够合理公平。针对目前存在问题,本文提出软件工程类课程设计实践教学改进方案。首先,建设一个可复用的软件工程实践教学案例库,案例库中的教学案例运用主流开发技术、管理技术及开发环境。“可复用”是指同一案例根据不同课程分割出不同的知识单元,软件工程类课程之间本来就紧密联系,相互承接,案例库可供多门专业课在实践环节教学中使用。其次,推行案例同时更新教学手段,采用注重学生参与及师生交流的分段式教学模式。最后,制定明确的课程设计监管与考核方案,对整个课程设计过程严格把控,培养学生综合应用知识能力与实践动手能力,提高课程设计环节教学效果。

1案例库建设

案例库中的项目不仅要考虑案例库的可复用性,能够服务多门课程,还需体现软件工程专业能力培养需求,并考虑开发难度与学生接受程度。因此应选择学生熟悉的业务系统,采用主流开发工具来实现轻量级工程化系统。系统功能尽量有代表性,同类系统可以仿照实现,并根据课程知识结构需要进行功能定制。如案例库中的项目:《学生成绩管理系统》用C#与SQLServer2008开发。该系统是典型的小型MIS系统,主要实现了学生、教师、管理员3类用户对学生信息、课程信息及成绩信息不同程度的增、删、改、查。该案例可以服务于《C#面向对象的程序设计》、《数据库原理及应用》、《UML技术》、《软件工程》、《软件测试》等课程的设计教学。案例库项目开发融合了软件工程很多专业课程知识,在不同课程中使用,学生可以明确各门课程学习目标,从不同视角体验软件开发流程,提高对软件工程整体把握的能力,建立软件工程的思想。

2知识结构划分与整理

案例实现之后,为了服务于不同课程,不同授课教师需要重新组织教学资源,梳理课程大纲、划分教学内容、整理教学素材、制作教学课件,这一步至关重要也最为核心。想要通过一个完整教学案例,使学生建立起课程知识结构网络,授课教师不仅要基于案例将课程相关基本知识点及联系贯穿其中,还要对知识进行高度提炼,体现课程内容有机联系。这样学生通过案例讲解,不仅对理论知识理解更加透彻,对课程体系也会有更深刻的把握,学习效果取得质的飞跃。下面以《学生成绩管理系统》的实现为例,按不同课程知识侧重点进行概要划分,在课程设计环节中,授课教师结合案例针对本门课程侧重讲授知识结构。(1)《面向对象的程序设计C#》,讲授如何利用C#语言进行系统开发。利用常用控件来搭建设计学生成绩管理系统界面、实现窗口间跳转、消息传递;利用面向对象的程序设计方法实现系统业务逻辑与主要功能;利用ADO组件访问数据库,完成对系统数据的基本操作。(2)《数据库原理及应用》,讲授如何进行学生成绩管理系统后台数据库设计。数据流图,数据字典的创建;概念结构设计(E-R图的绘制)逻辑结构设计,将E-R图转换为关系模式,如何考察关系模式、规范化程度、规范化理论、视图机制、安全性及完整性设计;数据库的实施:SQL的应用,建库、建表、录入数据等。(3)《软件工程》,以学生成绩管理系统为例,按照软件工程流程,讲解每一阶段任务及涉及方法,结合案例从可行性分析、需求分析、总体设计、详细设计、系统实现及系统测试几个步骤进行。(4)《UML面向对象设计与分析》,对应学生成绩管理系统开发各阶段从建模的角度讲解UML的9种图,主要包括在需求阶段如何识别参与者与用例,建立用例模型;在分析设计阶段静态结构模型的建立(类图、对象图)及动态行为模型的建立(顺序图、状态图、活动图);系统实现阶段物理模型的建立(组件图、系统部署图),及将UML自动转换为面向对象设计语言的实现。可以看到,不同课程使用《学生成绩管理系统》案例侧重于不同知识体系。

3案例推行与考核模式建立

授课教师在课程设计环节中推行案例,按照案例教学、任务驱动模式来进行,课堂讲授仍然是不可或缺的[2]。首先通过分析案例程序引导学生学习,由案例的讲解分析,深入浅出地引出知识点,引导学生逐步理解课程重点、难点,深化理论知识学习[3]。其次提出本次课程设计任务要求,老师详细分解设计题目内容与步骤,给出参照与示范。案例讲解与任务分解交叉进行,课程差异性使得案例教学不必拘泥于固定模式与时间,讲授案例时间大概是6~10学时,老师可以自行调整授课进度与节奏。在案例教学中,为了充分调动学生主动性,并及时发现问题、解决问题,采用了“教师提出课题—学生分组讨论—教师演示案例—学生实践—学生总结、师生交流”分段方式进行,并且在以学生为主体的阶段进行考核。在案例讲解、任务驱动教学方式下,建立完整考核机制,教师监控整个实践过程,激励学生参与到每一个阶段中,学生遇到问题也可以反馈给老师,及时得到帮助,提高学生主动性。成绩考评是根据学生每一阶段任务完成情况,从分析解决问题、团队合作、语言表达及文档书写能力表现作综合评定,不仅保证了评价结果客观性,也引导了学生加强这些方面的能力培养。

4结语

针对学院现在软件工程类多门课程在课程设计环节存在问题,提出了建设可复用的案例库,并根据不同课程教学需要对案例进行知识结构划分与整理,在实践中采用分段式教学推行案例,加以完整考评方式,现已收到较好教学效果。基于案例库的实践教学改进方案还可以应用在软件工程综合实训环节,为了达到更高教学要求,培养高质量人才,案例库还需要不断更新与完善。

参考文献:

[1]吴金秀.课程设计在高职实践教学中的应用与探索[J].网络与信息,2008(10):78.

篇7

关键词:课程设计;VB;内容和形式

中图分类号:G642 文献标识码:B

文章编号:1672-5913 (2007) 22-0009-04

1VB课程设计的作用

VB课程设计属于VB程序设计的实践环节,一般安排在教学内容基本结束后进行,目的是使学生进一步理解和掌握程序设计语言的知识、扩展VB的知识、掌握利用VB编写应用程序的技巧、了解VB应用程序的编写规范和设计方法、加强学生应用VB程序设计语言解决实际问题的能力、培养和考核学生对编程知识的理解和综合应用能力。因此,如何确定VB课程设计的内容和形式是一个非常重要的问题。下面介绍我校VB课程设计内容和形式的改革。

2VB课程设计的内容

VB课程设计的内容决定了课程设计的质量。虽然目前市场上有一些VB课程设计指导书[1],但是这些指导书要么过于简单,达不到训练学生解决实际问题能力的目的;要么偏难,在规定时间内无法完成课程设计任务,给课程设计评定工作带来一些困难。因此,我校以教研室为单位,按照教学大纲的要求,组织该课程教师编写VB课程设计指导书,交教研室讨论,呈教务处审阅,最后付诸实施。

2.1VB课程设计的选题原则

(1) 课题的综合性

课题应尽可能多地覆盖VB程序设计的各个知识点,要尽可能涉及该课程的重点和难点,这样才有利于学生知识的扩展和深化。VB在多媒体、网络、数据库方面的应用都很广泛,课题的设计应强调学生对VB课程设计知识的综合运用能力。

(2) 课题的实用性

课题要能解决现实生活中的某个问题,即具有一定的实用性,以便学以致用,从而有效地激发学生的学习兴趣。

(3) 课题的灵活性

课题应当给学生一个创造发挥的空间,避免要求太死,这样才能促进学生思考和探索,充分发挥学生的想象力。由学生根据设计指导书中的要求自己查阅资料、获取数据、确定方案、选择流程等,并要求对自己的设计做出选择、论证和评述。

(4) 课题的创造性

课程设计是一次培养学生独立分析和解决问题的能力的机会,在整个设计过程中,学生是主体,老师的任务在于引导和启发。当学生在设计中遇到问题时,应鼓励学生刻苦钻研,自己去找资料,请教业内人士,尽可能找到比较好的解决问题的方法。这样可培养学生独立思考的好习惯,从而培养他们敢于创新和独立思考的能力。

(5) 课题的可操作性

课题不能太难,也不能太容易,应该使大部分学生在经过努力之后可以完成。课题设计得太难不利于课程设计的顺利进行;课程设计太容易,不利于学生能力的培养。

2.2VB课程设计的内容改革

为了全面训练学生应用程序设计知识解决实际问题的能力,我校VB课程设计内容主要以综合性、设计性项目为主。每个学生可以根据自己的兴趣、爱好和能力任选一个完成。这样使课程设计内容既具有指导性,又具有灵活性,每个学生都可以从中找到适合自己的课程设计内容。

根据VB课程设计大纲要求和VB程序设计的重点,VB课程设计的内容主要集中在三个方面。其一,数组和函数在实际中的应用;其二,利用VB进行图形图像处理的技术;其三,利用VB操作数据库的技术。其中利用VB操作数据库的技术是重点,也是难点。

下面是我校VB课程设计中有关数据库应用的参考题目和基本要求介绍,实际课程设计指导书的要求更具体。

为了充分发挥学生的能动性和创造性,还可以允许学生自己收集资料,自行确定课程设计题目。

3VB课程设计的形式

3.1小组模式的组织方法

VB课程设计以培养学生系统设计与分析能力为目标。为了达到目标,必须确定合适的课程设计形式。按照大纲规定,VB课程设计只有1~2周时间。一般来说,一个学生很难在规定时间内单独完成一个较复杂的中小型系统或软件,我校教师在近几年的VB课程设计教学中吸取过去的失败教训,总结归纳出一套有效的课程设计形式,即变过去的个别模式为现在的小组模式。小组模式的组织方法如下:

(1) 分组选题:

根据学生的兴趣、能力和计算机水平进行分组,每小组一般2~4人。每组由一名协调能力较强、计算机水平较好的学生担任组长,负责本组课程设计任务的分配和课程设计过程的监督管理。各小组通过调查和讨论,确定本组课程设计课题,递交课程设计开题报告[2]。

(2) 分组设计:

1) 确定具体设计方案,建立数据库,确定表结构及表间关系,确定程序模块,并进行明确分工;

2) 各人分别完成自己的设计任务;

3) 程序汇总、编译和调试等;

4) 根据学生特长进行分工,进一步美化界面,设计个性化的菜单和对话框等。最后打包,制作成安装盘;

5) 按教师指定的格式完成课程设计报告。

3.2小组模式下课程设计的保障

为了使小组模式下的课程设计顺利进行,必须为学生的课程设计提供一定的保障。

(1) 为学生提供方便的交流平台

小组模式下的课程设计必须有方便的交流平台,当学生在课程设计过程中遇到问题时,学生之间、学生与教师之间可以随时交流。VB课程设计一般在学生机房内进行,保证一人一台电脑。学生可以通过BBS和QQ实时交流,也可以通过本校的网络教学平台进行交流。

(2) 为学生提供丰富的信息资源

在课程设计过程中,学生会遇到一些在课本上无法找到答案的问题,学生一般靠自学来解决,教师必须为学生的自学提供各种信息资源的获取渠道,主要包括电子文档、图书、上网、调查等。

3.3小组模式下课程设计的管理

(1) 课程设计的监督

由于课程设计的组织形式是比较松散的,如果缺乏有效的监督机制,学习态度不端正的学生就会得过且过,平时不和其他同学交流,对自己的任务敷衍了事,到最后抄袭他人成果,企图蒙混过关,严重影响本组课程设计的质量和进度。因此,平时对学生的监督显得尤为重要。在课程设计过程中,由组长负责管理本组同学,组长每天记录各个同学的课程设计的进展情况、讨论情况、出勤情况等,遇到不良现象及时向老师汇报,这些记录也将作为教师对学生进行考核评定的重要依据。

(2) 课程设计的指导

课程设计是学生在教师指导下的一个实践过程,在此期间教师给以适当的指导不仅可以帮助学生解决一些难题,避免学生走弯路,而且可以引导学生培养正确的设计思想及设计方法。我校VB课程设计坚持以学生自主探讨为主、以教师理论指导为辅的原则。为此,我们在指导设计时采取代表性的问题集中讲解,个别问题单独指导的方法。教师的指导侧重引导和启发,逐步培养学生分析和解决问题的能力[3]。

3.4小组模式下课程设计的考核

(1) 考核内容

我校VB课程设计的考核形式由三部分组成:自我评价、小组评价和教师评价,分别占总成绩的10%、20%和70%。

自我评价部分主要让学生客观公正地评价自己在课程设计过程中的努力程度和收获;小组评价主要考查该同学与其他同学的协作精神和对本组课程设计的贡献;教师评价主要通过三个方面来评定:课程设计报告的质量、程序的效果和课程设计的态度,分别占教师评价的60%、30%、10%。

(2) 考核模式

为了保证教师评价的客观公正,教师对学生的考核分两步进行,先分组考核,再个别考核。首先由学生分组展示课程设计报告和程序,评出优秀的课程设计报告和程序,然后有针对性地给每个小组设计5个问题,对同一组的学生进行个别考查,根据各个学生的答辩情况分别评定。

3.5小组模式下课程设计的交流

(1) 小组交流

完成课程设计之后,每小组安排一次经验交流会。让每位同学回顾课程设计的构思,课程设计过程中遇到的问题和解决办法,课程设计的得失。交流不拘形式,各位同学畅所欲言。在此基础上,推选出本组代表到班级进行交流。

(2) 班级交流

安排一次班级课程设计经验交流会。各组代表介绍本组课程设计完成情况,由教师进行点评,并对本次课程设计进行综合评定。通过交流,可拓宽学生的视野,活跃同学们的思维方式,促进开放的学习理念。

4结束语

同样课程不同专业的课程设计会有不同的要求,同样课程同样专业不同学校也会有不同的课程设计理念。但是,不断探讨课程设计的内容和形式,提高课程设计的质量,则是每位教师必须共同研究和探讨的问题。只有联系本校实际,互相借鉴,不断创新,才能使课程设计达到更好的效果,为社会培养真正有用的人才。

参考文献

[1] 黄娟琴, 何钦铭. 计算机专业课程设计教材建设研究[J]. 计算机教育, 2007, (14).

[2] 胡国强. 课程设计的教学探索[J]. 焦作大学学报,2002, (01).

[3] 王廷山. 关于教师参与课程设计几个问题的思考[J]. 教育探索, 2007, (02).

作者简介

范士喜,北京印刷学院计算机科学系教师。主要研究方向:计算机教育应用。

通信地址:北京市 大兴区 北京印刷学院 计算机科学系,102600

篇8

关键词:CDIO;数据库;课程体系;工程教育模式

CDIO代表构思((Conceive)、设计(Design)、实施(Implement)与运行(Operate),它是麻省理工学院和瑞典皇家下学院等4所大学在全球经济一体化的背景下,经过4年的研究而得出的成果。CDIO高等工程教育模式以构思、设计、实践及运作全过程为载体来培养学生的工程能力,不仅包括个人的学术能力,还包括学生的终身学习能力、团队能力和大系统掌控能力。CDIO工程教育模式(Initiative)为我们提供了一种新的教育方法,有助于解决工程教育普遍存在的问题,并可满足学生和社会的需求。

数据库课程与其他课程结合紧密,与操作系统、数据结构、编译技术、离散数学、程序设计、软件工程等课程都有密切关系,是集理论性、实用性、操作性、创新性于一体的综合性课程。数据库课程体系设置的合理与否,直接关系到本专业每个学生的数据库应用水平和计算机实际应用能力。

针对数据库相关专业毕业生缺乏工程设计能力、不能满足IT企业需求的情况,我们在数据库课程新体系中引入CDIO工程教育模式,以帮助学生建立理论知识与工程设计知识之间的联系,进一步提升教学效果。

1 将CDIO引入数据库课程体系的必要性

许多大的现代企业,他们对年轻工程师所需的品质要求有着惊人的相似之处。企业界要求工程师所需具备的知识、能力和态度,主要包括:了解工程基础、工程设计和工程制造过程;具有工程实践的背景;具有批判性思维和创造性思维、沟通能力与团队工作能力。

目前,我校数据库课程体系的直接相关课程有:数据库原理及应用、数据库程序、数据库大型实验周、软件工程、UML可视化建模。课程体系设置的不足之处主要表现在:培养方案设置的专业课程里单科性课程太多,理论分析学时过多,过分注重单学科课程的理论性和知识的系统性。相反,培养学生工程综合能力的课程少,训练学生的直观判断力和工程经验、工程意识的教学环节少,但都是以“知识点”的形式串接在各相关理论课程单元之间,学生很难把自己所学的理论知识与生产实际相结合。这种工程教育模式培养训练出来的学生与飞速发展的现代工业社会极不相适应。因此,高校工程教育陷入怪圈:一方面产业界缺乏有实践经验和动手能力强的大学毕业生;另一方面工科大学毕业生抱怨在学校没有实践机会,学习空洞理论,求职无门而面临巨大的就业压力。

将CDIO理念引入到数据库课程体系教学之中,旨在培养学生的工程设计能力,将理论课程与实践环节相互关联,环环相扣,围绕社会和企业的需求,将软件工程设计方法和软件开发技术融入教学内容之中,为学生铺垫更宽广的职业道路。

2 构建基于CDIO的数据库课程新体系

2.1 课程新体系目标

数据库课程体系主要目标是基于软件工程理论,让受教育者了解和掌握软件开发中的方法学和工程学知识,并应用于实践。学生通过学习实践掌握软件工程的设计方法,并能应用到数据库原理课程的学习过程中,且高效地开发软件并进行有效维护。培养学生数据抽象和数据建模能力、一定的系统分析与设计能力、较强的数据库设计和应用开发能力、使用和维护数据库的能力,并培养学生良好的自主学习、创新和团队协作精神。

2.2 课程新体系的教学内容改革

2.2.1 教学大纲及教学内容的整合

我们将数据库原理与应用、数据库程序设计、UML可视化建模和软件工程作为集成课程,修订了教学大纲,将理论知识、软件工具应用和工程设计方法结合起来,形成理论――应用――工程设计方法的教学主线。

此外,数据库原理与应用中的基础篇、系统篇与设计篇与数据库程序设计课程相关内容进行关联;应用开发篇中数据库原理及应用中的数据库设计概论、需求分析、概念结构设计、逻辑结构设计、物理设计与数据库的实施和维护同工程设计方法的软件工程概论、软件需求、软件概要设计、详细设计、软件实现相对应;同时将软件工程中各个阶段的文档进行规范说明,并以UML为实例在各个阶段予以讲解,从而可以看出数据库实践开发过程中所贯穿的软件工程理念,且在数据库程序设计中具体实现。具体知识结构如图1所示。

2.2.2 改革教学过程和教学方法,完善实训环节

在教学过程中,教师不仅讲授课堂理论知识,还在教学过程中,将大案例的工程设计问题以任务的形式布置给学生,学生以小组为单位,进行合作、讨论,按照软件工程的设计步骤,分析案例中的工程任务,找出解决问题的方法,分步骤完成任务,最后形成工程设计方案。教师及时指导、反馈学生设计中存在的问题,并在最后选择优秀设计向学生展示,与科研案例进行比较,点评设计中的不足之处。

通过课程设计实践环节,实战训练学生的工程设计能力。选择小型的数据库工程设计项目,将学生分组,每组设计一个小项目,教师为学生发放项目设计任务书,任务书包括项目需求和项目设计要求,并要求学生按照软件工程设计方法按步骤进行设计,设计过程中组长要组织组员进行方案论证和软件设计,要求撰写需求文档、设计文档、技术报告、软件使用报告。在实践过程中,教师要和学生不断交流,对于学生设计过程中存在的问题,要及时反馈。在整个实践过程结束后,教师要向学生展示成功科研项目,帮助学生寻找设计中存在的差距。

2.2.3 加强教学辅助环节

在整个教学过程中,充分利用现代教育技术,为了更好地指导和引导学生的自主学习,本项目组开发了网络化教学与学习平台,平台包括软件简介、教学大纲、教学电子教案、示范案例演示、优秀设计演示、设计小知识、小项目任务要求和互动天地等内容,为教师的课堂教学、课后指导和学生的在线学习提供了技术平台。其中示范案例演示了教师的真实科研案例,给学生提供一个数据库应用系统软件的总体设计思路,另外学生还可以参考真实科研案例中的实际文档内容,更加清晰地理解演示中的系统设计思路;在“工程设计”的“课程设计”中给出课程设计任务的任务书以及文档书写规范,“设计小知识”根据学生选择的开发语言把学生提出较多的软件实现问题以示例展现给学生,帮助学生解决设计过程中存在的问题;在“互动天地”中与学生进行交流,回答学生的问题,接受学生提出的建议,并在以后的课程设计教学工作中进行改进。

篇9

关键词:软件开发;能力培养;案例教学

当前计算机专业或软件工程专业的学生存在着学用脱节、实际开发能力偏弱等问题。尽管很多高校计算机专业、软件工程专业在软件方面的课程体系上是将整个学科专业的知识按一定顺序和层次分解,使得学生能够循序渐进地学习和掌握知识,这无疑是行之有效的。但掌握了软件开发领域的知识,并不意味着同时具备了软件开发的能力。事实上,学生虽然接受了系统的软件开发专业知识的学习和软件开发技术应用的训练,但软件开发能力低下的情况还相当普遍。要从软件开发的“菜鸟”,成长为软件开发的高手,或者称之为“高级蓝领”,必须通过长期的历练,没有捷径。但好的教学案例和人才培养模式,对促进软件人才的成长和开发能力的提升有很重要的作用[1]。

1软件开发人员能力要求

由于软件开发是一项技术综合性很强的工作,因此,企业对软件开发人员能力的要求也是综合性的[2]。按照教育部对软件学院学生实践能力培养的要求和工程应用型人才培养的定位[3],软件学院的学生在软件开发过程中,既要能将用户的需求映射到良好的软件体系结构,在进行应用软件总体设计时有大思路和大局观,也要能运用现代软件设计方法和编程技术在进行详细设计时关注细节,实现高质量的软件;在考虑软件实际应用时,既要支持国际化及本地化的应用要求,也要支持软件及运行平台升级、操作系统迁

移的应用要求;在技术应用能力上,既要对使用的编程语言和开发环境有很好的把握,也要能综合运用前期所学的操作系统技术、数据库技术、网络编程技术、图形图像处理技术、人机交互技术等专门技术;在软件工程素质上,既要具有软件工程技术和管理方面的知识,还要具备良好的团队合作、交流和文字与口头表达能力。上述这些就是现代IT企业对软件开发人员的能力要求。

2案例实践教学对软件人才培养的意义

案例实践教学对软件人才培养具有以下优势:

1) 学生通过案例学习不仅对理解和掌握计算机软件的抽象概念及原理十分有用,而且对学习先进的软件编程方法、使用先进的软件开发技术、提高自身的软件开发能力大有益处。

2) 学生通过对案例代码的阅读分析,可以使一些一知半解的概念突然变得清晰易懂,使一些久思不解的问题变得豁然开朗。

3) 通过案例学习,学生能够零距离接触到软件高手,深深为他们巧妙的方法、过硬的技术、认真细致的精神、追求完美的态度所折服。

3实践教学案例的设计

案例设计的内容、质量以及案例教学的水平是案例实践教学的基础,是案例学习成功与否的关键。

作者简介:蔡建平,男,教授,研究方向为软件工程、嵌入式软件测试和数字媒体技术。

3.1案例设计要求

设计支持软件开发能力,特别是综合开发能力培养的实践教学案例是许多高校计算机软件类专业教学面临的问题。

首先,这样的案例对于高年级的学生要涉及到他们前期所学的计算机软件开发各个方面的知识和技术,如程序设计、面向对象编程、数据结构与算法、操作系统、数据库、网络通信、图形图像处理、人机交互、软件体系结构,等等;另外,要帮助这些学生在通过案例学习后,建立起软件开发的大思路或大局观,对软件的质量要求(特别是可靠性要求)、维护要求(特别是软件功能扩充及升级要求)有很清晰地了解,并能够反映到软件的设计和实现上。最后,学生学习完案例后,要了解支持软件跨地域、跨平台和跨时间的应用需求,并掌握保证这些需求得以实现的相关技术,如软件的国际化和本地化、软件及平台的升级、平台移植或系统迁移等技术。

在案例设计中最为关键的问题是案例能够在各高校无障碍地推广,不要因为经费、实验环境等问题使案例设计成果没有应用价值。因此,案例设计要求全部使用开源代码或开源技术。事实上,开源软件的使用,不仅有利于通过免费的开源软件大大降低搭建实验环境所需的条件,使学生能够零距离地学习优秀软件,全面提升自身的软件开发能力和软件开发素质,而且学生可以根据专业兴趣或学时安排,有选择地对其中的软件和技术进行更深入的学习和专门的研究,形成自身的技术特长和研究方向。

案例设计中还有一点要特别注意:所选择的案例不要涉及很深的领域专业知识,又是人们感兴趣、经常接触到的东西,这样有利于激发学生的学习兴趣;另一方面,希望案例涉及多种计算机软件开发的主流技术,如面向对象程序设计技术、客户/服务器技术、多线程技术、网络编程技术、数据库技术、图形学、GUI等众多软件技术;最后,希望所设计的案例是综合性的应用软件,以适合学生综合开发能力的训练。

3.2案例详细设计

基于上述的案例设计要求,以及早期项目的研发经历,我们选择股票软件作为软件综合开发实践教学的案例。首先,股票软件不涉及很深的领域专业知识,又是现代社会人们非常关注、感兴趣、且有可能经常接触或身陷其中的事物,学生容易入门和感兴趣;另一方面,这类软件其工作模式主要是客户/服务器的工作模式,涉及到面向对象编程技术、网络通信技术、数据库技术、图形技术、用户界面技术以及数据结构与算法等众多软件技术,其综合性很强,对学生综合开发能力的训练非常合适;最后,我们所选择的股票软件Stock-0.0.9是一个早期的开源股票软件,它是一个股票软件的雏形,易于学生学习和完善,包括做第二次开发。将该软件作为案例进行实践教学可让学生接触和应用如下开源技术:

1)Linux操作系统及虚拟机技术;

2)GCC程序设计技术(包括编译技术、调试技术及集成开发技术等);

3)MySQL数据库应用技术(基于C/C++应用编程接口API的MySQL数据库开发技术);

4) 基于套接字编程的网络通信技术(支持TCP/IP协议的开源liptcp++库的应用);

5) 基于Gtk+的界面设计技术(应用Glade支持界面的设计及应用框架的生成);

6) 股票软件的结构化程序设计及面向对象编程技术等。

在对Stock-0.0.9进行编译生成可执行目标代码并建立其运行环境的过程中,学生能够接触和了解到程序设计的强类型机制、可靠性编程思想、软件构造方法、C/S工作模式实现手段、开发环境及应用环境升级对策、软件国际化及本地化应用要素、操作系统迁移或移植问题等方面的内容,使学生真正掌握基于复杂图形用户界面的大型应用软件开发的方法和技术,理解现代软件开发方法学和现代程序设计思想,增强他们解决实际问题的工程实践能力。

4案例教学实践及成果

4.1实践情况

软件学院针对教育部对软件学院学生实践能力培养的高要求和软件工程硕士复合型工程人才培养的定位,以及学院学生(特别是非在职的工程硕士研究生)综合性实践能力太弱等实际情况,经充分论证,确定了提升学生软件综合开发能力的培养目标,分别于2006年下半年在学院为本科生开设了“界面设计”课程,为软件工程硕士开设了“高级软件编程技术”课程。这两门选用同样案例,讲授了10多次,受益学生达800多人。在这期间,课程的教学案例和实践资源也不断得到补充和完善。

4.2实践成果――教材建设

学院考虑到案例实践教学的效果以及教学案例和实践资源的成熟与完整,决定将案例和课程资源进行总结与提升,出版与之配套的实践教材,推广相关的实践教学经验,让国内高等学校计算机和软件相关专业的实践教学从中受益。学校对此工作提供了经费支持,同时在清华大学出版社的支持下,完成了《软件综合开发案例教程――Linux、GCC、MySQL、Socket、Gtk+与开源软件》的编写工作,该教材已于2011年2月出版发行。

1) 教材的主要内容。

除了有大量篇幅讲述计算机应用的主要开源技术外(如Linux操作系统、GCC编程语言、网络Socket编程通信、MySQL数据库管理、Gtk+界面设计),特别通过实际案例――Stock股票软件将这些技术融会贯通在一起,并站在更高的角度上对软件体系结构、应用软件开发模式、软件的国际化与本地化,软件开发和应用环境升级方法以及平台移植技术等充分地介绍和实例说明,以此达到授人以渔的目的。可以说这是一本集各种主要的计算机开源技术应用于一体的软件综合开发实践教材。

2) 教材的特色。

① 能够满足计算机、软件工程及相近专业高年级学生在前期学习了程序设计、操作系统、数据库、计算机网络等计算机专业基础课程后,急需通过一个案例或一个项目来应用这些专业基础知识和技术进行综合性实验或实践,提高自身计算机技术综合应用能力的需求。

② 除了对主流的计算机开源技术做了详细地介绍和举例分析外,还特别地突出了计算机开源技术在实际股票软件项目中的应用,很好地支持着案例驱动式的实践教学。

③ 教材所涉及到的实验教学资源相当丰富,覆盖面相当广,且全是开源软件或开源工具,保证了国内许多院校在办学条件不足,实验教学经费有限,无法全方位引进商用软件工具的情况下,仍然能够开设出软件综合性开发的实践课程。

总之,该教材作为案例实践教材,自始至终强调和灌输现代软件开发方法学和现代程序设计思想,强调软件综合开发能力的培养。该教材所涵盖的大量技术内容、实操案例及问题解决方案,如果学生能够完全掌握并能实际地用于软件项目的开发,从软件开发能力上说已达到一个高级蓝领的要求了。

5案例实践教学的实施方案

北京工业大学软件学院在学生软件综合开发能力培养上分别针对软件工程本科专业的学生和软件工程专业学位的学生开设了选择同样案例和教材的不同课程――“界面设计”和“高级软件编程技术”。下面我们主要以本科生为例,介绍在“界面设计”课程中案例实践教学的实施方案或课程大纲。

5.1课程设计目的

学院在四年制软件工程专业本科生的教学计划中,为大三的学生在第二学期安排了“界面设计”的课程,60学时,2学分,共15个实验单元(每个单元4学时)。

“界面设计”课程是按照教育部对国家示范性软件学院培养工程化软件实用人才的要求,以界面设计为立足点,对前期所学的主要计算机技术(如软件开发、程序设计、网络编程、数据库应用等)进行综合训练。

要求学生在掌握界面设计的原则、方法和常用技术,掌握当前主流的开源界面开发工具Gtk+和开源界面设计工具Glade进行界面设计及实现等技能的基础上,通过具体的案例――股票行情分析软件,将计算机软件开发所涉及到的相关知识综合在一起,开展实践活动。

通过该实践课程,除了使学生掌握界面设计的全部流程和技术,培养学生界面的设计能力外,可使学生接触和学习基于复杂图形用户界面的大型软件开发的方法和技术,了解Linux操作系统、编程语言、程序设计、编译应用、图形界面、数据库、网络通信、软件体系结构、应用软件开发模式以及平台移植等技术在实际软件开发或应用项目中的具体应用,达到增强他们工程实践能力的目的。

5.2课时安排

该课程设计以《软件综合开发案例教程》为实践教材,其实践教学方案主要是按照15个实验单元并依据教材内容和知识单元组织进行制定的。

第1单元:对课程设计提要求,对Linux操作系统知识点进行讲解,并安排学生进行Linux操作系统的实际应用,学会Linux虚拟机的安装、配置和使用。

第2单元:对应用GCC进行软件开发知识点进行讲解,安排学生进行GCC开发应用实践,学会编写工程文件、用GCC编译C/C++程序、调试程序、建立集成开发环境。

第3单元:对网络通信及Socket编程知识点进行讲解,安排学生进行网络通信的Socket编程实践,学会在libtcp++环境下建立客户/服务器的工作模式。

第4单元:对MySQL数据库应用知识点进行讲解,安排学生进行MySQL应用的相关实践,学会用MySQL C API进行数据库应用的简单开发。

第5单元:对Gtk+用于界面设计的知识点进行讲解,安排学生进行Gtk+的界面设计实践,学会用Gtk+和Glade进行简单界面的开发。

第6单元:介绍股票交易的相关知识、股票软件一般包含的内容和所涉及到的技术,安排学生学习和使用国内主流的股票软件,学会股票软件的使用方法和使用流程。

第7单元:对开源股票软件Stock进行分析讲解,并带领学生将Stock源码编译成可执行的二进制码,要求学生学会处理编译和连接过程中出现的各种问题,特别是强类型问题。

第8单元:对应用软件国际化和本地化相关知识和技术进行讲解,对Stock软件的Gtk+1.2界面实现方法进行分析,并带领学生解决Stock软件中文显示问题,要求学生掌握在Gtk+的界面控件上和绘图区中正确地显示中文、英文及数字方法。

第9单元:对Stock软件的数据库应用编程、网络通信编程等实现方法进行分析,带领学生解决股票数据库的建立、股票数据的导入等问题,要求学生掌握Stock软件中用MySQL C API进行股票数据库应用、用Socket进行网络通信的开发技术。

第10单元:对Gtk+2.0特点进行讲解,带领学生解决Stock软件从Gtk+1.2到Gtk+2.0升级中遇到的各种问题,要求学生掌握确保软件能够升级的软件设计思想和问题解决方法。

第11单元:对在Windows上进行Gtk+应用程序设计的方法进行讲解,带领学生将Stock软件从Linux上移植到Cygwin和MS VC上,并解决移植过程中的问题,要求学生掌握一般软件移植的基本要点和基本方法。

第12单元―第13单元:学生按分工要求开展独立实践活动,并撰写实践报告。

第14单元―第15单元:学生按分工要求进行PPT的实践汇报和实践成果的演示。

5.3课程设计组织

课程设计以课题组形式开展,6人一组,每组必须完成6篇报告(Linux虚拟机使用总结报告、Linux下GCC编程总结报告、MySQL数据库应用总结报告、基于TCP/IP的Socket编程总结报告、用Gtk+设计图形用户界面总结报告以及股票分析软件实现技术总结报告),指定课题组长(完成报告6),课题组其他成员分别完成报告1~5,每人1个,不能重复。

课程设计以实践为主,完成教材中所布置的实验习题。作业以电子方式交付。

5.4课程设计考核

对每位学生,课程设计考核包括四部分:

1) 电子版课程设计报告(40分),对于报告其撰写要求如下:

① 每个报告不少于1万字(不能以图表代文,论述为主);

② 报告的基础是每章的实验习题;

③ 报告可分4~5章(第一章概述,最后一章总结,其他章节自行组织);

④ 报告以教材为样式进行排版;

⑤ 报告不要出现网上拷贝的痕迹,网上摘录的要进行相应处理,严禁聊天用语、博客用语以及混乱的控制符和全角符号;

⑥ 图表要清晰,重要的图表要亲自画或截,不要拷贝。

2) 每位同学要准备总结报告的PPT汇报(10分钟的汇报),汇报成绩20分。

3) 每位同学要进行所选报告的成果演示,演示成绩20分。

4) 考勤成绩20分。考勤10次,每次2分,考勤缺席5次的无成绩。

5.5基于案例的“界面设计”实践教学效果

“界面设计”课程自2006年开设以来,学生普遍反映良好,口碑颇佳,软件开发的综合实践能力得到了明显的提升。

最近,我们对学生学习该课程的体会和感想进行了调查,学生普遍认为案例内容和实验方案丰富、实用和生动,大大地开拓了他们的眼界。通过基于复杂图形用户界面的大型应用软件开发方法和技术的学习和实践,对现代软件开发方法学和现代程序设计思想有了更进一步地理解,增强了软件综合开发和解决复杂问题的工程实践能力。特别是对软件开发有了大局观,对软件开发中软件设计和高质量代码编写的重要性有了新认识,对优秀开源软件和开源技术有了极大的兴趣。下面是部分学生在课程设计实验报告中对“界面设计”的案例教学谈到的心得体会:

1) 通过这门课的学习,我基本掌握了Linux虚拟机的使用,以及Linux下的GCC编程,应用软件图形用户界面GUI的界面设计,网络数据库应用技术和网络通信技术,并能进行具有图形用户界面程序的开发,提高了应用C/S模式、管理数据库数据等实际应用能力。由于平常主要都是理论课程,实践机会比较少,大家组队进行开发就更少了。通过此次实践,我体验到了团队开发的重要性,学会了如何合作开发,并大大提高了我解决问题的能力,为以后工作学习增加了丰富的经验。

2) 以前学习Linux时仅把它当作一种单纯的操作系统,没有在上面做开发,导致对Linux了解不多。经过半个学期基于Linux的股票案例学习后,我收获颇多。我主动收集和阅读了大量资料,并锻炼了实际动手能力。我学到了如何在Linux环境下搭建开发环境、进行编程和开发,并对MySQL,GCC,Gtk+等开源软件在Linux下的应用有了初步的认识,加深了对Linux下编程整体流程和工作细节的理解,知道了Linux下调试程序的方法,真正了解了程序在Linux下从编译到运行以及排错的全过程。

3) 这次课程设计我们的收获非常多的,首先大家对于一款良好的软件应该具有什么样的功能和性能有了比较清楚的认识,这对于我们以后在软件开发乃至今后的工作都是有益处的。其次,这次复杂的课程设计锻炼了我们各方面的能力,包括团队合作、资料查找、学习、融会贯通以及查错能力,等等。可以说对我们的综合能力是一次极大的考验。在整个工程的过程里,大家接触了很多以前没有触及过的知识并对其有了较为深切的理解。最后,本次课程设计沟通了我们几位同学之间的感情,在辛苦工作的同时,也留下了难忘的回忆。

4) 我觉得这门课对我很有帮助,让我学会了一个我以前不会也没接触过的有用的软件,学会了如何使用Gtk+来进行图形界面的设计。通过这一学期的学习,课上听老师对一些知识的讲解,对Linux更加熟识了,对如何在Linux下安装各种有用的软件更加清楚。在课后我们组成小组,分工明确,每个人认真地负责自己的那部分的工作,查资料,学相关的知识,然后再给小组的每个组员讲,使组内的成员对大家的工作都很熟识,这样合作起来就更加的融洽,而且也可以互相讨论和帮助。在这门课上学到了很多知识,也锻炼了动手能力,最后作报告培养了大家的语言表达能力。总之,我觉得这门课很有意义。

5)Stock股票软件的成功运行让我们对自己的能力充满了信心。从最开始我们兴致勃勃地组成一个小组,憧憬着成功的那一天开始,一路磕绊,直到今天我们看到一个完整的软件,这里的每一个细小的环节都有着我们为之付出的艰辛努力。这与我们小组成员的团结努力是密不可分的,尤其是负责编译、调试和排错的组员。课程设计中遇到的问题,不但没有将我们击垮,而且在问题解决过程中,使得我们对许多知识又有了新的理解。感谢学院给我们提供了这样一门自己动手的课程,它对提高我们的编程能力非常有帮助。

6) 这次课程设计使我建立起一种坚持到底不放弃的精神。之前的我总是缺乏恒心,一旦进展不顺即想放弃。这次强迫我接触很多不会的新东西,而且时间上有限制,令我不得不一次次与失败和不顺打交道。在翻越这一道道“沟壑”的过程中,我觉得自己的毛躁在逐渐退去,变得越来越稳健。我想精神上的成长可能比知识的增多对我来说意义更大。

6结语

我校专家对这种模式的案例实践教学给予了充分肯定,指出计算机学院或软件学院学生的软件开发综合能力培养一直是高等院校软件人才培养的一个“短板”,一直缺少好的实践教学方案、好的实践教学案例和好的实践教学教材。因此,软件开发综合能力培养的案例教学在传统实践教学的基础上做了很有意义的探索和实践,其成果显著、资源完整,具有很好的推广和普及基础。学校为了强化该项成果在软件工程专业学位研究生能力培养上的转化和推广,将研究生的“高级软件编程技术”课程列为学校重点建设的精品课程。因此,我们相信,随着精品课程建设的深入开展,软件开发综合能力培养的案例教学基础将进一步夯实,其成果将会进一步凝练、宣传和推广。

参考文献:

[1] 蔡建平. 软件综合开发案例教程[M]. 北京:清华大学出版社,2011:序

[2] 陈红霞,毛京一,滕月鹏. 计算机蓝领到软件蓝领:高职软件开发人才培养模式探讨[J]. 计算机教育,2010(1):135-137.

[3] 教育部办公厅关于进一步加强示范性软件学院建设工作的通知[S]. 教高厅(2007)4号.

The Comprehensive Ability Training for Software Developments Based on Case Teaching

CAI Jianping

(School of Software Engineering, Beijing University of Technology, Beijing 100124, China)

篇10

关键词:软件工程;教学研究;教材;方法和手段;实践

1课程简介

软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及工程概论、项目管理、程序设计语言、面向对象的需求、分析、设计、测试、维护、数据库、软件开发工具、系统平台、标准、设计模式等,是一门综合性很强的软件课程,在计算机教学体系中占有十分重要的地位。

2国内外软件工程课程的现状

2009年9月,高等教育出版社正式出版、教育部高等学校计算机科学与技术教学指导委员会编制的《高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》(以下简称试行规范)中列出的“计算机科学与技术”专业方向之一就是软件工程。据信息查阅,目前有“软件工程”方向的教育部国家示范性软件学院有38所,全国高校开设“软件工程”专业方向授课的学校有两百多所。

以美国卡耐基•梅隆大学为代表的国外大学已经开发出非常实用的工程软件人才培养课程体系,它包括10个知识体系、58个知识领域[1]。2007年开始,国内的软件学院纷纷引进他们的课程体系,意在培养出中国的国际化工程型软件人才。各高校的软件工程方向本科教育也正在加快向工程型教育转变。以使课程教育紧密结合现代软件产业需求,课程内容结合一些实际工程项目[2]。

事实上,软件工程是一门教学难度比较大的课程,主要原因在于其以下4个特点。

(1) 软件工程作为指导计算机软件开发与维护的工程学科,研究范围广,包括技术方法、工具和管理等方面;

(2) 软件工程是一门边缘学科,内容丰富,涉及领域广,包括计算机科学、计算机技术、系统工程、管理学及经济学等。

(3) 软件工程还是一个相对比较年轻的学科,尚未形成成熟的教学模式,教材上例题零零散散,几乎没有较为成熟的实践内容。

(4) 软件工程是一项不断发展的技术,相关课程内容更替很快,如果继续偏重传统的成熟理沦,会造成与最新技术的严重脱节。但是完全讲解新技术,也不适合软件开发的实际需要,而且,课堂上也没有时间讲述全部新旧知识点。

国内高校的软件工程课程教学实践仍处在一种探索和发展阶段。在实施过程中,仍然以教师的思路为主,以此带领学生进行知识的学习。学生不可能独立面对一项完整的项目开发,仍然处于被动接受知识状态,缺少自主思考,很难体会到一个完整的项目开发过程。这种教学状态培养的学生在实际应用中不知道如何开展项目,也不懂如何推进项目。另外,课程的考试大多以笔试为主,一张试卷就决定学生课程学习成绩,这在很大程度上导致学生在软件工程课程学习中重理论轻实践。

为了弥补校园软件工程教育弱的现状,很多公司开设软件工程教育实习基地,把学生编入一个具体项目开发组,让他们在实际项目开发中建立工程概念,熟悉项目开发流程,参与项目具体代码和文档的书写,为胜任未来公司实际工作积累经验。为了适应外包软件人才的需要,2007、2008年市场上甚至出现了不少软件工程人才培育公司。

另外,大学为了培养学生职业技能也增设了专业实习,很多软件工程专业的学生被输送到相关的培训公司参加项目实习,而校园的实习也主要是引进公司的实训项目,以培养学生工程意识。

3电科院开设本课程的情况

软件工程课程包括的主要内容如下。

软件工程理论概述、软件开发过程、软件开发工具(建模技术)、项目管理、软件需求、面向对象、软件过程、软件建模、模式设计、极限编程、敏捷软件工程等。

作为一门独立课程,软件工程课程首先需要解决的问题是根据需要选择合适的授课内容;在具体教学过程中选用多本教材,它们的内容对比如表1所示。

北京电子科技学院开设本课程已有多年,经过对历届计算机科学与技术系学生的授课,课程教学处在不断摸索和进步之中。结合其他高校开设该课程的情况,并考虑到就业学生参与计算机项目开发的人不多这一情况,我们在课程内容上有所选择,主要是加大对软件工程项目的介绍和讲解,对软件合同中的甲方内容进行讲述,用政府电子政务项目做举例来说明软件工程的用处。从2008年开始,我们确定了软件工程课程的内容及基本要求,见表2。

通过本课程的学习,我们希望学生掌握软件工程的有关概念,了解各阶段的主要技术、方法与工具,具备协助和管理软件开发的基本能力。同时,强调文档,学习文档模板的学习。另外,在更加细化的内容上面,如分析方法之数据流图、分析工具之UML语言、测试方法之黑盒测试、白盒测试等方面,我们会根据实际的技术发展作适当的调整,以便跟上新技术发展和市场需求。

4教学方法和手段

软件工程课程的教学难度大,要讲好则需要下很大的功夫。

4.1软件工程第一堂课

课程定位:软件工程是计算机学科中一个年轻并且充满活力的研究领域。20世纪60年代末期以来,为克服“软件危机”,人们在这一领域做了大量工作,逐渐形成了系统的软件开发理论、技术和方法,它们在软件开发实践中发挥了重要作用。今天,现代科学技术将人类带入信息社会,计算机软件扮演着十分重要的角色,软件工程已成为信息社会高技术竞争的关键领域之一,而软件工程已成为高等学校计算机教育计划中的一门核心课程。

突出课程的核心地位,从“工程”角度去引导学生对本课程的认识;从“就业”角度去阐述本课程的重要性;从“大型软件”开发的兴趣来看本课程[3-4]。

4.2软件工程的实践

软件工程实践是很重要的环节,理论结合实际才能让学生真正体会课程的魅力。在数据库课程设计这个环节,我们要求学生应用软件工程的知识,尽量用工程化的思想来指导自己的设计。

4.3软件工程的案例

从实际出发,用软件开发的实际例子进行讲解,让学生体会大型软件开发的过程、方法、手段和控制。

从微软、IBM、用友等知名软件公司的软件开发看软件工程的开展。

从学生以前的计算机试验看软件的开发,并进行比较,从中看到弱点和不足。

4.4软件工程和项目管理

引进国外项目管理的概念,从别的项目管理到软件工程的项目管理。将两者进行比较,讲清不同点和相同点,让学生受到启发。突出项目管理的重要性,软件开发同样需要项目管理。从成本、风险、利益、控制角度看软件工程[5]。

4.5软件工程和毕业设计

从学生毕业前的毕业设计环节看软件工程的重要性。“毕业设计”不是一个小的计算机试验,而是一次对学生四年学习的全面考核,而软件工程正是可以利用的知识。

5实践安排与不足

为了培养学生工程概念,也是鉴于软件工程课程实践性强的特点。我们在2003年制定软件工程课程教学大纲时,特将该课程的实践环节与数据库课程设计相结合。本着在实践中体会、在实践中落实的原则,我们要求学生在多人合作开发数据库应用系统的课程设计中,运用软件工程学到的软件项目管理方法和软件设计与实现技术,并撰写必要的文档,以便使开发软件有较好的、完整的技术档案,并使其不断升级换代。另外,从各高校的情况看,实践环节非常重要,它需要实践环节的辅助教学。

6教学实施情况

开设课程实验是一个探索的过程,我们在反复摸索,以便增长学生的工程项目开发经验。我们曾要求1999级、2000级的学生将软件工程课程学习作为一个项目来管理,要求学生写课程学习日志,记录每周投入课程学习的具体时间、当时设计的目标、完成情况等。为了弥补学生缺乏项目开发经验的缺陷,我们也开展课后读书报告活动,即提供10~20个与毕业设计有关文档或指定若干软件工程发展的技术方向,让学生分组阅读文档或查阅并阅读有关文献,写出项目评价及专题读书报告(参见附录中当时读书报告分组评分记录)。但这也带来一些负面影响,即学生越来越依赖计算机,读书报告变成复制和粘贴文本,而不是认真阅读,预设的训练目的无法达成,因此,我们随后取消了这一做法。

99级教学中的软件工程实践时间设计为6小时,这主要是考虑学生在同一个学期中还有数据库课程设计30学时,不可能同时做两项大实验。因此,我们尝试从99级开始,在数据库课程设计中加入软件工程实践内容和要求,如需求报告完善、软件质量评估、软件测试具体检验等,并在课程设计答辩中设立软件工程相关问题的回答。到2003年,教学大纲正式提出两课实验合并。

在此,我们还有两个希望:(1)加大软件工程课程的课时(目前是30课时的教学,没有试验课时),同时开设试验环节,针对软件工程开设一个类似数据库课程设计的环节,加强学生动手能力的培养。(2)让学生走出去(政府或企业),撰写调查单位的软件实施方案。

7结语

软件工程蓬勃发展,学院的教学目标是培养服务于党政机关机要事业的计算机应用型专业人才。在课程教学中不断紧跟技术发展,紧紧抓住学院培养目标而设立课程教学目标,选好教学内容是个艰巨的任务,任重道远,它需要我们长期的努力。

参考文献:

[1] 孙家广,刘强. 软件工程理论、方法与实践[M]. 北京:高等教育出版社,2006.

[2] 钟珞. 软件工程[M]. 北京:清华大学出版社,2005.

[3] 胡飞,武君胜,杜承烈,等. 软件工程基础[M]. 北京:高等教育出版社,2008.

[4] 钱乐秋,赵文耘,牛军钰.软件工程[M]. 北京:清华大学出版社,2007.

[5] Carlo Ghezzi. 软件工程基础[M]. 施平安,译. 2版. 北京:清华大学出版社,2002.

Reflection on Software Engineering Course in BESTI

JIANG Xiang-gang, ZHANG Xiao-li

(Beijing Electronic and Scientific Institute Applied Software Team, Beijing 100070, China)