面向对象分析与设计课程教学改革探索与实践
2016-01-14张宏鸣李书琴王美丽张晓婷张阳
张宏鸣++李书琴++王美丽++张晓婷++张阳
摘要:分析了当前高等院校面向对象分析与设计课程的教学现状及存在问题,提出了该课程基于启发式、项目驱动式、案例式教学方法下课程大纲、教学内容的确定,项目、案例的选取,实习、实验的构建。在知识体系结构、教学方法、考核方式、教学资源建设等方面,探讨了本门课程的教学改革思路。
关键词:面向对象分析与设计;教学方法;案例教学;项目驱动
中图分类号:G642.0 文献标志码:B 文章编号:1674-9324(2015)06-0093-03
面向对象分析与设计(OOAD)课程是软件工程专业课程的必修学科。主要任务是在学生已掌握的面向对象程序设计语言的基础之上,使学生们能够深入理解面向对象方法的精髓和实质,全面了解面向对象分析与设计相关领域的主要研究内容及关键技术,包括面向对象的需求建模、面向对象的系统分析、面向对象的系统设计及设计模式、软件架构和软件构件技术等内容[1-4]。
面向对象分析与设计是现代软件企业广为采用的一项有效技术[5],由于其较强的理论性与实践性,历来是教学的难点。掌握面向对象分析与设计原理和技术对软件开发有着重要的指导作用。高校是承担软件人才培养的主要场所,但长期以来,一个不争的事实是,IT用人单位常常对刚进入工作岗位的毕业生不满意,他们认为学生在学校里并没有为自己将来所从事的工作做好必要的准备,而教育界也意识到存在的问题,采取措施进行教学改革。面向对象分析与设计课程教学改革的一个主要方向是使课程的教学、实践等环节与现实软件开发中的情形更加相符。
一、面向对象分析与设计课程现状
面向对象分析与设计方法是目前软件开发的主流方法,它是软件工程人才必须掌握的基础知识和必备的能力[6]。可以说OOAD是软件系统开发中最能体现从业人员创新思维以及其技术精髓闪光点之处[7],而与这门课程在软件行业的重要性形成鲜明对比的是,目前OOAD课程教学体系与模式已然落后。由于软件工程专业2008年开始建设,该课程目前已完成08、09、10、11级软件工程专业,10、11级电子商务专业讲授,教学体系、师资队伍、教学资源亟须完善。理论讲授如何和项目实践相关联,学生的学习兴趣和积极性如何提高等等,教学改革迫在眉睫。
随着教学的不断深入,通过对国内多个高校面向对象分析与设计课程设置和教学目标运行的调查,结合社会对人才需求和该课程人才培养目标的分析,发现课程存在如下问题:
1.教学内容有待完善,缺乏相对应的教学方法和手段。教育教学内容的制定,只针对了课程本身,没有很好地注重学生解决实际问题的能力,对面向应用的要求认识不足,过多重视理论教学,弱化了技术应用和实践能力培养,缺少面向对象思维培养,从而导致学生分析和设计能力提升较慢,更多地停留在基础知识和基本的应用层面。
2.教学资源匮乏。多媒体辅助教学是一种非常有效的现代化教学手段,是现代教学改革的方向之一[8],由于课程开设时间较短,课程教材、多媒体课件、参考资料不足,建立配套的教学资源,提供网络教学交流手段,提供教学效果和教学水平方面开展的工作还不够,不能很好满足教师备课、课程教学和学生学习的需要。
3.实验教学环节有待完善,缺乏设计性、综合性、应用性实验项目。实验教学环节,只针对章节所学内容进行实习,而对综合应用、实际问题的解决缺乏有效的实验教学内容和教学环节。
4.教学手段和方法较单一。目前《面向对象分析与设计》课程仅仅完成了对相应的教学课件、教案、讲义的建设,在教学方法、教学手段、网络教学平台上还需要进一步探索和研究。
5.考核与评价方式单一,缺乏整体考核体系。目前采用单一考试成绩作为评价课程学习的主要依据。只注重知识考核,缺乏教学过程考核,应建立健全考试系统,实现知识学习和能力培养相结合的考核方式,使考核更加合理、公平、公正。因此,我们积极进行新的教学体系和教学方法的改革。
二、面向对象分析与设计课程改革的探索
针对课程目前的实际情况,进行面向对象分析与设计课程改革时,既要照顾到课程基础理论,又要照顾到分析与设计技术的新动向,因此我们在以下方面进行改革。
1.提高师资队伍水平,建设结构合理的课程组。师资队伍是课程建设的基础,一流的师资才能保证有一流的课程,按照多年在其他课程中的教学经验[9],成立以课程负责人任组长,长期从事该门课程教学的主讲教师为成员的课程小组,课程小组成员必须具有职称梯队、学历梯队、专业及年龄结构合理的特点。同时课程小组负责研究课程的目标及课程体系,制定教学大纲及教学计划,设计教学方案及教学过程,开展教学研讨,监督教学质量和效果,集中解决教学中出现的问题。课程小组成员针对课程情况,不定期地外出考察,参加教学研讨会,或进高校、公司、企业进修,了解国内外面向对象分析与设计课程的教学、应用的现状、学科发展动态及社会人才需求,与时俱进地完善教学体系,修订教学大纲。
2.更新教学内容,改善教学组织方法,构建合理的教学、实验架构。在教学组织和课程讲授过程中引用先进的教学理念,利用网络技术、多媒体技术进行辅助教学,提高教学质量和效果。不同的教学方法和教学手段在不同章节合理搭配,扬长避短。教学组织方法如下:(1)不断更新教学内容、完善教学过程、提高学生能力。课程组制定并规范了教学内容,制作电子教案,并及时进行更新。同时,任课教师根据学生的实际情况课前做适当调整,各教师间定期交流、相互听课、优势互补。(2)根据教学情况,结合课程特点,以案例为基础,以实践为导向来组织教学。《面向对象分析与设计》是一门理论与实践并重的课程,Java语言程序设计、数据库原理与应用、软件工程、Web程序设计等课程是其先修课程。本课程对学生对项目的实践能力要求较高,通常要求学生开课前要具备一定的项目开发经验,这样学生在问题的理解和掌握上会更加准确。在近三年的授课过程中,课程组还发现仅仅拥有项目开发的经验还不够,如果能够跟进项目,对项目进行不断的更新和升级对OOAD的理解起到更加重要的作用。因为在项目功能增加、系统逻辑变复杂的过程中,学生很容易发现自己编写的程序存在的问题,更加深刻地理解OOAD及其使用方法。但由于教学条件的限制,大部分学生在本课程前并没有参与过项目的开发,因此课程的教学方法显得尤为必要。教学过程中启发式教学、项目驱动教学、案例教学贯穿始终。启发式教学主要用在问题的提出部分,或引出解决方法部分。如:什么样的表示方法易与不同领域的人员沟通,引出UML;怎样表达对象的调用顺序,引出顺序图等。endprint
项目驱动教学法[10]是指在教学中引入若干个项目,按照实际软件开发中的方法与步骤展开教学。课程组目前主要采用两个项目贯穿课程始终,3~5个学生为一组,该分组保持在教学的各个部分。首先进行系统设计编码,在教学过程中根据课程进度,进行面向对象的分析与设计,实习过程中进行修改。一个是学生信息管理系统,一个是综合教务管理系统。学生管理信息系统要求具有课程查询、课表查询(分别按班级、教师、教室)、选课、成绩查询等基本功能。学生对系统较熟悉,因此对问题域的了解较清楚。这个项目实际上是使学生能够利用面向对象分析与设计的知识来解决熟悉领域的问题。综合教务管理系统在学生信息管理系统的基础上增加教师模块和管理员模块,使管理员能够排课、查询课表(同学生),教师模块能够提交成绩,生成多种报表。该项目是在前一个项目的基础上完成的,使学生能够在原有基础上进行系统更新和维护,总结接口、类、属性、方法设计的缺点和漏洞,体会和理解面向对象分析和设计方法的作用。
案例教学[11-13]是由美国哈佛法学院前院长Langdel于1870年首创,后经哈佛企管研究所Doham进行推广,并从美国迅速传播到世界许多地方,被认为是代表未来教育方向的一种成功教育方法。20世纪80年代,案例教学引入我国[14]。课程主要案例及分析过程中让学生通过分组讨论完成,应用场景如下:面向对象分析部分采用降雨侵蚀力工具软件为案例,该工具是利用“水量计”记录的降水数据,进行统计分析,获取次降雨次数、次降雨总量、次降雨历时、次降雨平均雨强、次降雨能量、最大30分钟雨强、降雨侵蚀力。该案例是学生没有接触过的专业领域,对问题的理解需要通过与领域专家进行交流,同时代码编写不多,又能说明OOAD中的相关问题。基于该案例,完成对问题域的分析,绘制用例图、类图、顺序图、通信图、活动图、包图。最终将学生提交的分析模型进行课堂分享,选取1组学生完成较好的进行讲解。源码及分析模型的参考供学生下载、讨论和学习。面向对象设计部分将前期分析作为设计的基础,按学生所学先修课程及自身语言掌握情况,将学生分为6组,分别为C++、Java、C#、JSP、ASP.NET、PHP进行设计。根据该案例,将采用C++编写的程序从问题域部分、人机交互部分、控制驱动部分、数据管理部分、构件与部署部分分别讲授面向对象设计的内容和相关方法。
3.构建网络教学平台,为学生提供丰富的学习空间。搭建网络平台,将教学课件、教案、实习作业、习题、优秀作品、源码等提供给学生参考。增加课程相关内容的辅助信息,对课堂知识进行扩充,为优秀学生提供更加广阔的平台,同时学生亦可选择自己感兴趣的内容进行自我提高。提供可在线答疑的师生交流平台,为学生关心的重点、难点问题进行讲解和说明。
4.强化平时考核,淡化期末考试,增加课程后期实践教学环节。学生的分析和设计能力是无法通过期末考试的一张试卷所反映出来的,所以学生的平时考核尤为重要,平时考核可以占到最终成绩的30%,由作业、实习实验效果和项目讲解组成,其中本课程的设计模式部分可由学生分组进行讲解,然后老师点评、补充完成,根据学生完成的效果给分。这种形式使学生对设计模式的理解更加深入,能够理论联系实际。
为了巩固学生学习效果,在大三暑期增加校企实训的实践课程,课程将企业指导教师引入学校,按照企业软件制作的标准过程,对系统进行分析、设计和编码,使学生能够将理论尽快地应用到实践中。目前已完成08、09级的实训,学生对课程内容、课程在企业开发中的应用掌握得较好,同时对授课方法也反映较好。
5.编写符合教学要求和目标的实习指导书。实习指导书是知识巩固的重要途径,是促进教育教学改革与发展,提高高等教育教学质量的重要方面。基于此,编写合适的实习指导书,将新的教学理念和教学思想、学科发展方向融入到教学中去成为了课程建设亟待解决的问题。《面向对象分析与设计》实习指导书经过3次修订,于2012年9月投入使用,目前效果良好。实习指导书主要包括Rational Rose的使用;绘制用例图、类图、顺序图、通信图、活动图、包图;研究生培养管理系统的分析和设计过程。
三、结语
经过3年的《面向对象的分析与设计》课程建设,目前已经基本形成了合理的职称梯队、学历梯队、年龄梯队,课程体系已经具有客观性、科学性和可操作性。考核体系完善,能够激发作为学习主体的学生的学习积极性,鼓励学生的个性发展,培养学生的创新意识和创新能力,为培养全面的专业人才打基础。网络教学平台提供了教学团队之间教学信息共享和交流,为学生知识扩展、自学、互动提供了有效的技术支撑,为教学实施提供了保障机制。在进一步的工作中,我们按照精品课程的标准,进一步完善课程的教学资源,将教学视频、教学案例库组织完成,完成更加全面的教学资源建设。
参考文献:
[1]任华,冯晓兰.探析应用型本科软件工程专业教学的改革[J].新西部,2011,(3):176-177.
[2]王新海,李建东,李捷娜.软件工程专业课程体系研究与实践[J].计算机教育,2011,(4):70-73.
[3]杨书新,李淑芝,兰红.关于软件工程专业课程体系设置的思考[J].江西理工大学学报,2008,29(2):74-76.
[4]李志民,赵一丁,恒底.“面向对象的分析与设计”优秀课程建设[J].计算机教育,2012,(8):51-53.
[5]白晓清,王勇,祝云,等.“软件工程”课程教学改革探索[J].高教论坛,2007,(2):122-124.
[6]王光,王永贵,刘腊梅,等.面向对象分析与设计课程教学改革探索[J].科技资讯,2011,(30):176-177.
[7]王光,王永贵,邱云飞.“链”式教学模式下的OOA/D课程教学尝试[J].科技信息,2011,(28):44-47.
[8]刘辉,黄务兰,密严.高校多媒体教学资源建设的问题与管理对策研究[J].高教论坛,2012,(1):82-85.
[9]张宏鸣,孙健敏,李书琴,等.高等农林院校计算机网络基础课程教学改革探索与实践——以西北农林科技大学为例[J].高等农业教育,2012,(5):58-60.
[10]邵玉祥,陈青.“案例教学+项目教学法”在计算机语言教学中的互补应用[J].高教论坛,2012,(2):21-23.
[11]张继学.案例教学及其在国内的发展现状[J].职业教育研究,2004,(11):60-61.
[12]张家军,靳玉乐.论案例教学的本质与特点[J].中国教育学刊,2004,(1):48-50,60.
[13]白晓波,田建刚.案例教学法在“UML面向对象分析与设计”教学中的应用[J].电脑知识与技术,2010,6(27):7749-7750,7754.
[14]刘冬梅,严悍.基于UML的系统分析与设计框架[J].计算机工程与设计,2008,29(22):5774-5776.endprint