分类筛选
分类筛选:

数据库系统在职研究生论文范文 跟基于敏捷开发的数据库系统课程设计教学和实践类在职研究生论文范文

版权:原创标记原创 主题:数据库系统范文 类别:专科论文 2024-04-21

《基于敏捷开发的数据库系统课程设计教学和实践》

本文是数据库系统论文参考文献范文与敏捷开发和课程设计和教学研究有关论文参考文献范文。

肖小聪,曹步清,龚波

(湖南科技大学 计算机科学与工程学院,湖南 湘潭 411201)

摘 要:针对计算机专业数据库系统课程设计中学生缺乏主动性、学习积极性和创造能力不高、授课方式单一等问题,将敏捷开发思想融入到数据库课程设计中,提出了基于敏捷开发的数据库课程设计的总体思路、实验框架及其具体实施策略和方法.实验实施结果表明:该教学模式能将数据库理论知识和实践有效地结合起来,增强了学生的自主能动性和积极性,明显提高了学生的动手能力、创造力和创新能力.

关键词:计算机专业;实践教学;敏捷开发;数据库;教学改革

中图分类号:G64文献标志码:A文章编号:1674-5884(2016)01-0037-03

1问题的提出

湖南科技大学合并成立以来,计算机学院加强了对专业理论课和实践课的教学研究和管理工作,取得了可喜的教学成果,已经成功申报了省级实践教学示范中心、省级重点实验室和省级、校级特色专业等,学院教学资源、学习环境、软件和硬件资源得到了极大的丰富.专业课课程设计实践教学是计算机本科专业实践教学计划中的重要环节,数据库系统课程设计是其中的核心课程之一,该课程主要是加深和巩固学生对关系数据库基本理论知识的理解与应用,要求学生至少掌握或精通一种数据库管理系统软件并掌握其操作技术,并能熟练应用数据库前端开发工具(如Ja、VB、C++、Delphi、PowerBuilder等)根据实际应用需求进行数据信息管理软件的开发.该课程设计实践教学安排在数据库系统理论教学完成后的两周内进行,课程设计要求每个指导老师全程辅导一个班级的学生(30人左右),从课程设计安排、任务讲解、辅导、管理、测试、成绩评定已有一套完整的模式.然而,从笔者近几年来从事数据库系统课程设计教学的实际情况来看,还存在着一些问题:(1)学生的积极性、主动性和创新能力不高,代码和报告存在抄袭现象;(2)实践教学内容组织形式单一,缺乏灵活性.有些内容陈旧,实验平台或开发工具没有落后或更新;(3)实践教学授课方式固定和单一,致使学生学习积极性不高;(4)在创造性思维和能力的培养方面,缺乏个性化的实践教学方式;(5)在实践技能考核上形式单一,实践技能的培养有待进一步提高.

目前,IT软件界正流行一种新的软件开发模式-敏捷开发(Agile Development).敏捷开发的典型实现-极限编程(eXtreme Programming,简称XP)正在被许多大公司和企业采用,也得到了很多高校教育研究者的认同.敏捷开发是一种高度迭代、且高效实用的轻量级软件构建方法,它来源于实践,能迅速适应快速改变的软件需求,它强调以人为核心、迭代、循序渐进的进行软件开发[1].它突出软件开发团队的合作精神,体现敏捷理念中的五个核心价值观:沟通、简单、反馈、勇气和谦逊.在敏捷开发中,软件项目常常被切分成多个子项目,由项目经理负责,各个子项目由结对编程的小组来完成,它类似于现实生活中的“师徒”制,但它有一套完整而科学的核心价值、组队原则、评价体系、日常管理规范和考核标准,具有很强的实用性,它能极大的提高团队成员的积极性,能大大的提高人的潜能和创新能力[2].因此,笔者尝试将敏捷开发理念融入到数据库系统课程设计实践中,设计了该课程设计的实验内容框架,实验步骤和注意事项,期待进一步改进数据库课程设计的教学现状,同时对计算机专业其它课程设计实践教学起到抛砖引玉之作用.

2基于敏捷开发的数据库课程设计实践教学改革模式的设计

2.1基于敏捷开发的数据库课程设计的总体思路

基于敏捷的数据库课程设计遵循敏捷开发理念的演进式设计模式,项目经理将数据库课程设计中已分配的项目分成多个迭代周期开发,每个周期实现系统一部分功能,一个迭代周期也称为一个冲刺,在每个迭代周期中都需要进行计划,需求分析,设计,编码和测试等环节.每次迭代会根据前一次的反馈和本次的需求变化做出计划和调整,系统强调以提交小版本可运行软件的方式来开发系统.

2.2基于敏捷开发的数据库课程设计的实验框架

计算机学院数据库课程设计开发时间为两周,安排在该课程理论授课结束后进行,每个教学班安排一位指导老师,班级人数约30人左右.首先,教师根据敏捷开发理念建立敏捷开发小团队,即将班级人数分成5~6个小组,每组5~6人;然后,教师根据课程设计指导书上的项目数(通常是10个左右)合理地将任务分配给班上的各个团队小组,团队小组将本组内成员按敏捷开发分成不同的角色,每个人在软件开发不同时期担任不同的角色,且每个角色负责不同的功能模块和编程开发任务.最后,教师将各个小组项目的开发周期分为四个冲刺阶段:准备阶段Sprint0、迭代产品1-3三个阶段.其中,准备阶段的主要工作:建立敏捷开发小团队,用户角色分配,编写用户故事,设计系统架构和产品愿景等,该阶段需要的时间不多,故安排在一天内(8小时)完成即可.其它三个阶段安排在剩余的9天时间里面,以3天为一个周期或一个冲刺,冲刺结束后各项目敏捷小组提交可运行的软件产品给指导老师,指导老师评阅后,召开小组会议,反馈意见给小组,如此反复进行三次迭代即完成该课程设计任务[3].数据库开发过程中的需求分析、概念设计、逻辑设计、物理设计、编程实现、系统集成、驱动测试和集成测试、结队编程、站立式会议等基本方法始终融入在三个冲刺阶段中,系统的主要功能(用户故事)和编程工作建议平均分配在三个迭代周期中,用户故事的编写由易到难,区分不同的优先级,在每次迭代中逐步增加内容和难度,时间、任务、提交内容和理论知识的具体安排详见表1.

表1基于敏捷开发的数据库课程设计实验内容框架表

阶段时间安排阶段任务拓展任务提交内容对应理论知识

1Sprint0

冲刺准备阶段1天(8课时)1)团队建立;2)系统需求分析;3)用户故事;4)系统架构设计;5)计划发布1)系统流程图;2)数据流图DFD;3) 面向服务架构1)团队分工表;2)系统功能模块图;3)软件愿景1)需求分析;2)数据库开发基本过程;3)敏捷过程;4)面向服务架构

2Sprint1

满足基本用户故事的第一个迭代产品3天(24课时)1)数据库设计;2)站立式会议;3)简单的UI设计;4)基本模块算法;5)基本模块流程图;6)基本模块编程;7)单元测试;8)产品评审会议;9)反思1)PowerDesigner或UML建模;2)了解持续构建和集成开发环境1)数据库设计脚本;2)ER图或UML图;3)产品版本1;4)会议记录;1)概念设计;2)逻辑设计;3)物理设计;4)ER图或UML图;5)数据字典;6)软件配置和集成;7)驱动测试和桩测试

3Sprint2

第二个迭代产品3天(24课时)1)站立式会议;2)复杂的UI设计;3)较复杂模块的算法和流程图;4)复杂查询;5)单元测试;6)产品评审会议;7)反思会议1)每日集成构建;2)UML建模;3)结对编程;4)代码重构;1)产品版本2;2)会议记录1)逻辑设计优化;2)UML图;3)复杂模块算法;4)复杂查询;5)软件测试

4Sprint3

第三个迭代产品3天(24课时)1)站立式会议;2)查询优化设计;3)编程;4)单元测试;5)验收测试;6)产品评审会议;7)反思会议1)代码优化;2)集成测试;3)缺陷分析1)最终产品版本3;2)会议记录1)查询优化;2) 软件集成测试;3)产品质量分析

3基于敏捷开发的数据库课程设计实践教学改革尝试和体会

笔者将上述实践教学改革方法在我校计算机专业做了几次小规模实验,从同学们提交的作品和反应的情况来看,实验改革取得了相当不错的成绩.班级学风得到了很大的改善,缺课、打瞌睡、玩游戏现象几乎没有了,代码和报告抄袭现象明显降低,学生的积极性和主动性得到了极大的提高,小组经常讨论问题,“传帮带”的理念得到了很好的实施,学生的动手实践能力,查找资料能力和解决问题能力大大增强.

下面笔者针对该门课程的实践教学谈几点体会与建议.

3.1多种方式激发学生的学习兴趣

俗话说“知之者不如好之者,好之者不如乐之者.”兴趣是最好的老师,是培养学生自主能动性和创新能力的动力[4].笔者尝试了三种激励方式,第一:鼓励学生平时(特别是授课前)进老师实验室,观摩老师开发的软件作品,教师应该有针对性的演示其数据库应用开发软件作品,以此来激发学生的学习兴趣.第二:可以在理论授课的同时,将知识点讲解融入到软件开发产品中,理论结合实践,即时编程展现或代码解析,让理论看得见,特别是对那些枯燥乏味的知识,能极大的提高学生的积极性.第三:设计与现实生活息息相关的案例,内容与现实应用紧密结合,尽量不脱节,移动App应用,B/S模式应用系统或在上个年级的遗留系统上进行二次开发,也可以鼓励学生自主命题.

3.2突出以人为本,“自愿”组队理念

敏捷开发强调小组成员以人为中心,突出自我管理能力,培养学生团队荣誉感和责任感,随意的自愿和自由组队两种方式均不可取.凭笔者前几次的实践经验,自愿组队往往会导致学习成绩好、动手能力强的同学组队到一起,结果导致了成绩差,动手能力差的同学也到一起,造成两级分化现象,有些组能够很快完成,而有些组根本无法完成,只能抄袭.而随机组队也不行,会因学生个体的动手能力、学习能力、成绩差异、性格等因素破坏学生的积极性和主动性.有意义的做法是教师介入的“自愿组队”,教师在尽量保证同学自愿的基础上,参考同学们学习成绩和动手能力的差异,搭配组队.自愿不等于随意,好生需要带动差生,要突出“传帮带”的理念,鼓励学生帮组他人,虚心向同学学习,担任项目开发周期中的不同角色,培养团队意识,提高沟通能力,促进个人技能全面发展.

3.3精选教学案例,突出个性发展

数据库案例的选择应贴近生活和应用,如基于JA、JSP、MVC和Android等软件开发.整个教学过程始终围绕选定的案例,坚持每日站立式会议,注意启发式教学,同时,也要注意学生群体个体性差异,突出个性化发展.鼓励学生进行角色互换,情境模拟,让学生主动思考,掌握敏捷技能知识,培养解决实际问题的能力.

案例教学的培养目标不能太宽,切记将后续课程软件工程和过多的敏捷开发的知识融入进来,应该以数据库开发七个阶段为主线,突出数据库原理知识的应用和数据库应用开发技术的掌握.

3.4加大实验教学投入和校企合作

为了保证有效的实验教学效果,在保证学时的基础上,应坚持小班上课.利用我院和企业已有的合作平台和经验,进一步加大校企合作,积极聘请有经验的企业工程师,培训师来校做专题讲座或授课.同时,鼓励和帮助教师提高自身的业务水平和专业素养,特别是实践动手教学能力的培养,定期安排教师短期进修或参加专业技能培训等.

参考文献:

[1] Robert C Martin. Agile software development-Principles, patterns, and practices[M]. 邓辉,译.北京:清华大学出版社,2003.

[2] Kent Beck,Cynthia Andres.解析极限编程:拥抱变化[M]. 雷剑文,李应樵,陈振冲,译.北京:机械工业出版社,2011.

[3] 朱少民. 软件工程敏捷方法的实验框架及实施[J].计算机教育,2014(7):54-57.

[4] 杨天怡,胡新平,严薇,等. 创新教育与实践教学创新[J].中国高等教育,2005(23):28-29.

(责任校对游星雅)

数据库系统论文参考资料:

学生管理系统论文

通信系统论文

中国科技期刊数据库

信息系统项目管理论文

学术期刊数据库

论文查询系统

此文总结:上文是大学硕士与数据库系统本科数据库系统毕业论文开题报告范文和相关优秀学术职称论文参考文献资料,关于免费教你怎么写敏捷开发和课程设计和教学研究方面论文范文。

和你相关的