APP下载

融合CDIO理念的“GIS软件工程”实践教学改革研究

2016-01-26林,万波,方

测绘通报 2015年12期
关键词:CDIO理念实践教学

杨 林,万 波,方 芳

(中国地质大学(武汉)信息工程学院,湖北 武汉 430074)

Research on Practice Teaching Reform of GIS Software Engineering

with Integration of CDIO Ideas

YANG Lin,WAN Bo,FANG Fang



融合CDIO理念的“GIS软件工程”实践教学改革研究

杨林,万波,方芳

(中国地质大学(武汉)信息工程学院,湖北 武汉 430074)

Research on Practice Teaching Reform of GIS Software Engineering

with Integration of CDIO Ideas

YANG Lin,WAN Bo,FANG Fang

摘要:实践教学是理工科学生实践能力培养的关键一环。本文对中国地质大学地理信息系统专业的特色进行了分析,以CDIO国际先进工程教育理念为指导,探讨了“GIS软件工程”实践课程的教学过程,设计了由基本技能、产品工程、过程管理及设计规范4个模块构建的实践方案,并定义了基于CDIO的产品、过程和系统的GIS-SE生命周期模型和细化内容,可为相关专业工程化创新人才培养目标下的教学改革提供参考。

关键词:GIS软件工程;CDIO理念;实践教学;工程师目标

一、引言

随着地理信息系统(GIS)产业的蓬勃发展,企业对于综合性GIS高级专业人才的需求越来越大。目前,我国已有超过150余所高校开设了地理信息系统及相关专业。GIS教育规模的快速增长,在一定程度上满足了社会对GIS专业人才的数量需求,但离卓越GIS工程师的培养目标还有很大差距[1]。如何更好地进行GIS人才培养不仅是地理信息产业关注的焦点,也是高校GIS教育者所思考的一个课题。为了有效缩小高校培养的GIS人才与国际国内企业需求的差距,国际工程教育模式、卓越工程师计划等旨在培养造就一大批面向工业界、创新能力强、适应企业项目需要的高质量GIS工程技术人才的目标已经成为高校GIS人才培养努力的方向。

中国地质大学地理信息系统专业为湖北省品牌专业,入选湖北省普通高等学校战略性新兴产业人才培养计划项目,基于国家地理信息系统工程技术研究中心与国产大型地理系统软件MapGIS平台的优势和特色,积极进行工程化GIS软件人才培养的教学改革探索和人才培养模式创新。在对GIS企业管理层中的调查中发现,企业非常关注学生的GIS软件开发与设计能力、创新思维与系统思维能力,而这些与CDIO国际工程教育理念不谋而合。该校GIS专业融合CDIO理念,构建了GIS软件开发基础技能、专业技能、系统技能的多层次GIS软件开发能力训练体系,企业对GIS专业毕业生的软件开发能力普遍表示认可。

GIS软件工程课程是地理信息系统专业的一门核心课程[2],一般开设在三年级。该课程是GIS专业高年级同学以项目的形式贯穿前期各种基础课及专业课的好机会,同时也是实践GIS软件开发基础技能、专业技能与系统技能的好机会,在整个培养方案中起着非常重要的作用,对于GIS软件开发综合素质的培养至关重要。其目的就是让高年级学生面向项目,解决工程实践中的具体问题,提高学生在GIS软件系统方面的建模、分析、设计及开发的综合能力,同时训练团队协作、沟通与组织管理能力,为以后的工作和科研打下良好的基础。本文重点针对GIS软件工程课程实践教学探讨基于CDIO理念的教学方案。

二、CDIO理念

关于GIS软件工程课程实践的教学研究在案例选择、教学组织、教学内容、教学方法、考评方式等方面进行了较多探讨[1-6]。然而,单纯从该课程的实践教学审视,从软件开发过程的视角对整个GIS软件工程实践教学内容的探索较少。在实际课程实践的过程中,学生经常会被软件工程的各种问题所困扰,如在实际课题中如何选择软件生命周期模型,开发过程各个阶段的任务是什么,要用哪些技术和方法,有哪些常用的图表描述工具,其画法和符号有什么规定,各阶段需要产出哪些文档,是否有可参考的提纲。学生在实践过程中既需要理清实习课题的技术方案和实现思路,又需要顾及以团队为单位开发GIS软件项目的过程中遇到的各种项目管理问题,这无疑对本没有接受过项目训练的学生设置了许多障碍。

21世纪初,由美国麻省理工学院和瑞典皇家工学院等4所大学组成的跨国研究组织经过4年的探索研究,创立了CDIO工程教育理念和人才培养模式,近年来对中国工程教育产生了深远的影响。CDIO代表构思(conceive)、设计(design)、实现(implement)和运作(operate),是以工程项目设计为导向、创新能力培养为目标的教育模式,注重培养学生的系统工程技术能力,尤其是项目的构思、设计、开发和实施能力,以及较强的自学能力、组织沟通能力和协调能力。它以产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程[8]。

本文将CDIO的教育理念运用在GIS软件工程实践教学的改革中,通过对课程学习者进行多方面的深入调查,并对CDIO工程教育理念进行消化吸收和本土化,选择统一软件开发过程模型,基于CDIO过程设计一套完整的GIS软件工程实践方案,以期为GIS及相关专业教学提供参考。该教学方案通过CDIO全过程的实践逐步使学生找到对工程的感觉,实现对学生工程价值观与能力的培养、协作与沟通的培养及应用实践能力的培养的目标。

三、基于CDIO理念的教学方案设计

根据多年的教学实践经验和学院的特色,GIS软件工程实践教学的项目案例选择GIS原型系统开发。这是GIS专业本科生的一个经典选题,即从数据库底层设计开始完成一整套GIS平台原型系统,是对于GIS原理、数据库原理、数据结构、程序设计、计算机图形学等相关课程的一个综合应用,学生能亲身体验一个GIS平台的构思、设计、实施及运行过程。本文对“GIS软件工程”先行课程相关知识点矩阵进行了设计与提炼,通过对这些知识点的综合运行能够达成GIS软件工程项目的总体目标,见表1。CDIO的核心理念是“做中学”和“基于项目教育和学习”,“GIS软件工程”让学生以工程的理论、技术和经验通过“GIS原型系统”项目设计将整个课程体系(群)有机而系统地结合起来。

图1为本文提出的实践教学方案总体结构,主要包括基本技能、产品工程、过程管理、设计规范4大模块。在基本技能训练后,以产品工程为主线,贯穿过程管理与设计规范。

表1 “GIS软件工程”先行课程相关知识点矩阵

图1 GIS软件工程实践教学方案结构

1. 基本技能设计

通过教学总结发现,学生在实践中经常会遇到数据库设计毫无思路、基本几何要素不知如何存储,以及软件模块集成等问题。由于学生在先行课程程序设计、数据库等课程中学到的知识是孤立的、脱离具体问题的,因此本文结合GIS原型系统针对性地设计了基本技能实践内容,主要包括:

1) 数据库访问。要求熟悉数据库操作的相关知识,掌握ADO数据库编程及ADO的基本原理,熟练运用数据库访问技术,同时熟练文件及二进制的读写操作。

2) 动态库制作。要求掌握创建并调用动态库的技能,对动态库有比较全面的掌握。

3) 基本几何要素绘制。要求采用面向对象的思想,利用类的继承、多态性实现在MFC程序中绘制点、线、面。

2. 产品工程

在产品工程的教学设计中,对CDIO产品、过程和系统的生命周期[9]进行裁剪,得到适合GIS软件工程实践教学的生命周期模型,见表2。其中CDIO代表基于CDIO模型的裁减项,GIS-SE代表依据CDIO裁减项目标设计的符合GIS软件工程实践教学的生命周期模型,通过CDIO全过程的实践来达成工程师目标。

表2 基于CDIO的产品、过程和系统的GIS-SE生命周期模型

GIS-SE产品工程的实践内容定义为需求分析(C)、模块设计(D)、界面设计(D)、数据库设计(D)、接口设计(D)、数据结构与算法设计(D)、代码实现(I)、系统整合(I)、系统测试(I)、系统改进与维护(O)共计10个部分。

基于统一软件过程模型的核心思想[9],软件产品的特性是每件产品都要遵循迭代和递增开发的原则。根据米勒法则,每个人在同一时间最多能够处理7个左右的程序块。因此,每个小组首先需要讨论出GIS原型系统全部的功能点,并讨论出核心功能点作为第1个迭代周期中的任务。第1个迭代周期完成后再考虑第2个迭代周期中的功能点。每一个迭代周期中的产品工程包含的10个部分需要重复迭代,直到得到一个软件产品的正确产生。遵循统一软件过程模型,学生可以快速选择核心功能,在第1个迭代周期中搭建起原型系统。成员能力强的团队可以在第2个迭代周期中选择一些有挑战性的功能作为产品目标,如空间分析功能等。下面对GIS-SE模型的CDIO过程的细节进行阐述。

(1) C-构思

GIS-SE构思阶段定义为需求分析项,要求理解和表示问题的信息域,用功能模型定义软件将完成的功能。需要注意的是,不同小组的能力有差异,可以根据小组实力选择适当功能。本阶段产出为需求规格说明文档,包括项目背景、产品介绍、层次用例模型图、功能性需求清单及非功能性需求。

(2) D-设计

GIS-SE设计阶段定义为模块设计、界面设计、数据库设计、接口设计、数据结构与算法设计5个部分。

①模块设计。要求根据需求规格说明文档对系统进行分解,明确模块及模块之间的关系。指导学生从系统主框架、数据管理、地图可视化、界面层、编辑工具、空间分析6大模块进行设计和细化。阶段产出为模块设计文档。②界面设计。用户界面设计是与模块设计并行的一个部分。界面设计包含:架构设计、按钮设计、面板设计、菜单设计、标签设计、图标设计等内容。要求给出界面交互流程、界面布局、界面色彩、界面的图标资源、对话框资源的设计。③数据库设计。要求学生选取SQL Server数据库,根据需求建立概念数据模型、逻辑数据模型与物理数据模型。概念模型要求建立GIS原型系统E-R模型,逻辑模型选择关系模型,物理模型包括关系表的设计、主外键引用关系、索引、序列发生器、触发器等各种数据库对象。阶段产出为数据库设计文档,包括数据库环境说明、数据库的命名规则、逻辑设计、物理设计、安全性设计、性能优化方法、数据库管理与维护说明。④接口设计。针对系统主框架、数据管理、地图可视化、界面层、编辑工具、空间分析六大模块进行接口设计。要求使用类图对类及接口之间的关系进行描述,接口包括接口名称、输入输出参数和返回值说明。阶段产出为接口设计文档。⑤数据结构与算法设计。完成基础数据类型点、线、面、注记的数据结构设计与算法设计。学生一般会设计出各种各样的数据结构,在此环节要注意帮助学生理清各种数据类型的本质特征。算法设计要求使用UML活动图完成。

(3) I-实施

GIS-SE实施阶段定义为代码实现、系统整合、系统测试3个部分。①代码实现,多人协作对于代码的管理是至关重要的,实践要求学生采用GitHub等分步式版本控制系统对整个小组每个成员的代码进行管理,以方便历史的检查、回溯、多个模块之间的联编。②系统整合,要求小组每个成员的代码集成在一起,得到一个可运行系统。③系统测试,是在规定的条件下对程序进行操作,以发现程序错误和改进软件质量。要求学生完成测试用例和测试报告。测试用例包括:输入条件、操作步骤及预期结果。测试报告覆盖功能性需求与非功能性需求,包括测试范围、测试方案、测试结果。

(4) O-运行

GIS-SE运行阶段定义为系统改进与维护,与CDIO裁剪项保持一致。要求对系统在发布后出现的问题进行修复与维护。在代码维护的过程中要求遵循代码规范添加注释,并对相关文档进行修改,且问题修复后需要进行回归测试。

3. 过程管理

软件工程对于学生而言历来是枯燥的理论,然而在实战中往往会不知所措。为了使每个团队的项目能够顺利完成,必须明确提出过程管理的要求。

(1) 团队组织结构

提供项目经理、测试负责、进度负责、美工负责、文档负责、技术负责6个角色,根据学生的性格与特长选择合适的角色,每个负责人同时也是成员,承担编码任务。

(2) 周会机制

为加速项目进度、提高成员效率,需每周进行一次周会。每次周会讨论需记录基本的概况、讨论的议题及得出的结论。会议记录要求包括时间、地点、主持人、参加人、议题、结论、记录人。周报要求包括本周任务描述、已完成任务、下周预完成、潜在问题及对策。

(3) 代码评审机制

为保证代码质量,要求每周进行一次代码评审。代码评审由团队所有成员参加,组长提前把设计规格说明书、程序文本及有关要求分发给小组成员,作为评审的依据。小组成员要先提前充分阅读这些材料,代码会审后把发现的错误登记造表,并交给程序员进行逐条修改。

(4) 进度监控机制

采用Tower等先进的在线团队办公APP软件,进行在线讨论、布置任务及跟踪完成情况,要求项目经理每周汇总一次项目进展,明确标出每项功能点是否完成及存在的问题,并制定相应措施。学生一般对任务完成的时间没有建立概念,通过周项目进展汇报,可以逐渐养成学生按期完成任务的良好习惯。

4. 设计规范

学生在实践过程中会对阶段文档的内容及具体表现形式提出疑问,因此有必要对阶段产出文档目录,每个产出文档的目录结构规范、文件命名、文件模板都给出一致的规范,使学生在文档方面少走弯路。此外,编程规范也非常重要。团队开发最终需要集成每个成员的模块,生成一个集成系统,而每个个体的编程习惯可能存在差异,因此在开发之初制定好统一的命名规范、注释规范、编程风格、错误处理、模块化规范是非常必要的。

四、教学效果与结论

基于CDIO理念的“GIS软件工程”实践教学方案改革,在本校GIS专业学生近5年的GIS软件工程课程教学实践中收到了良好的效果。通过小组合作基本都能实现一个GIS原型系统,其中每届都会出现3~4个优秀的作品,在软件产品及过程管理方面的能力得到了明显提升。通过调查问卷,92.3%的同学认为通过针对“GIS原型系统”课题及本套教学方案能够比较迅速地进入项目状态,在整个项目的实施过程中,基本技能环节的设计能够巩固先行课程的知识,针对性很强。产品工程10个部分的设计,极大地消除了学生在实践过程中不知如何下手的困难,即一步一步跟随教学方案均可完成项目设计。过程管理的设计改善了团队的进度,使项目始终明晰可控,进度一目了然。设计规范的明确定义使学生在实践过程中明确文档的规格及代码的规范。学生表示在实习过程中能够有章可循,在软件开发与团队协作方面都有了很大的进步,并且体会到了完成真实GIS平台的乐趣。

参考文献:

[1]万波,方芳,叶亚琴,等. 阶梯式GIS软件工程实践教学体系研究[J].课程教育研究,2015(1):224-225.

[2]孙亚琴,张海荣. GIS软件工程课程教学实践与探讨[J].测绘通报,2011(5):91-93.

[3]周鹏,尹菲.基于云计算技术的GIS软件工程模式[J].测绘通报,2010(11) :22-24.

[4]刘涛.GIS软件二次开发课程教学改革探讨[J].测绘与空间地理信息,2014,37(7):16-22.

[5]夏元平,许亚男,刘波.案例教学法在GIS软件应用教学中的探索与实践[J].东华理工大学学报:社会科学版,2014,3(33):278-283.

[6]肖洪,代翔宇.地理信息系统专业实践教学模式改革研究——以“GIS软件及其应用”课程为例[J].测绘与空间地理信息,2012,2(35):1-3.

[7]张志敏,杜景龙,连达军. 基于敏捷开发模式的“GIS软件工程”实验教学[J].实验室研究与探索,2014,11(33):205-208.

[8]韩智,张振虹,李兴娟.基于CDIO 理念的软件工程课程教学改革[J].计算机教育,2010(11):56-59.

[9]顾佩华,包能胜,康全礼,等.CDIO在中国上[J]. 高等工程教育研究,2012(3):24-29.

[10]李刚,万幼川.基于CDIO模式的“遥感原理与应用课程设计”创新型实验教学示范[J].测绘通报,2015(1):134-136.

[11]聂运菊,程朋根,蒲晓晨,等.浅谈GIS专业本科人才培养问题[J].测绘通报,2014(4):129-131.

[12]SCHACH S R.软件工程:面向对象和传统的方法[M].邓迎春,韩松,徐天顺,等,译. 北京:机械工业出版社,2007:30-45.

[13]吴政庭,严泰来,洪本善,等.互动式教学用于地理信息系统课程的方法研究[J]. 测绘通报,2015(2):129-132.

徕卡测量新技术应用专栏

作者简介:杨林(1982—),女,博士,讲师,从事空间数据匹配、移动轨迹数据分析方面的研究。E-mail:12597512@qq.com

基金项目:国家自然科学基金青年基金(41201385);中国地质大学(武汉)校级教学研究项目(2015A27);湖北省教学研究项目(2014135)

收稿日期:2015-06-15; 修回日期: 2015-11-03

中图分类号:G64

文献标识码:B

文章编号:0494-0911(2015)12-0118-04

引文格式: 杨林,万波,方芳. 融合CDIO理念的“GIS软件工程”实践教学改革研究[J].测绘通报,2015(12):118-121.DOI:10.13474/j.cnki.11-2246.2015.394

猜你喜欢

CDIO理念实践教学
基于EIP—CDIO理念的高职《财务软件操作》教学改革探讨
基于CDIO理念的工科高职生创新能力培养研究
CDIO理念下的高职外贸单证课程教学改革探索
茶学专业校企合作实践教学探索
《电气工程毕业设计》 课程的教学设计
研究型学习在传热学实践教学中的应用
思想政治理论课实践教学研究述评
高职院校商务礼仪课程教学改革探索刍议
《数据库高级应用》教学创新方法研究
高职院校CDIO理念下的教学质量评价探析