基于案例驱动的面向对象技术课程教学改革与实践
2017-12-07蔺想红郑鉴洋
蔺想红,郑鉴洋
(西北师范大学计算机科学与工程学院,甘肃 兰州 730070)
基于案例驱动的面向对象技术课程教学改革与实践
蔺想红,郑鉴洋
(西北师范大学计算机科学与工程学院,甘肃 兰州 730070)
面向对象技术是一门理论性和实践性都很强的专业课程,结合教学实践的体会,提出了基于案例驱动的面向对象技术课程教学模式改革。首先分析了目前面向对象技术课程教学中遇到的问题,即教学中存在内容陈旧、教学方法单一、评价体系不够完善等。然后提出“案例驱动”的教学模式,阐述该教学模式的特点,并对比分析了与以往教学模式的差别。最后探讨了案例的选取,在课程教学过程中案例的应用,以及与之相适应的课程考核方式。
面向对象技术;案例驱动;教学模式;考核方式
0 引言
面向对象技术(Object-Oriented Technology)强调在软件开发过程中面向客观世界或问题域中的事物,采用人类在认识客观世界的过程中普遍运用的思维方法,直观、自然地描述客观世界中的有关事物[1-3]。面向对象技术的基本特征主要有抽象性、封装性、继承性和多态性等[4]。国内外大多数院校都为计算机类专业的研究生开设《面向对象技术》课程,在硕士研究生的课程体系中占有重要地位。面向对象是一种全新的思考方式,该课程以概念为基础,注重建模和视图,应用统一建模语言(Unified Modeling Language,UML)对面向对象技术的各个方面进行描述[5]。通过该课程的学习和理解,主要目的是使学生可以将面向对象技术应用于将来的学术研究或实际工作中,确实提高学生对复杂工程问题的求解能力,并能够用软件实现。但是,不同教师在该课程的教学过程中讲授内容侧重点各有不同,有的教师以面向对象技术为指导,讲授较多的UML知识,使学生能够熟练掌握UML并用于实际问题的软件系统实现[6];有的教师主要讲授面向对象分析和设计的理论内容,较少涉及面向对象实现和测试的相关内容,缺乏对应的实践考核环节。此外,课程教学内容陈旧、教学方法单一、评价体系不够完善,学生不能全面掌握面向对象技术的知识体系,教学效果不够理想,导致学生难以达到预期的目标。
目前,《面向对象技术》课程在教学中存在以下问题:(1)以理论教学为主,忽略了实践教学。《面向对象技术》这门课程的理论性强,不易掌握。一方面,学生在学的过程中极易产生学不会、不想学的思想,从而产生枯燥的感觉;另一方面,教师在教的过程中较少涉及软件新理论和具体的软件项目案例,不容易培养学生较强的实践能力,从而达到较好的教学效果。因此,在学习过程中学生不容易把抽象的理论和实际软件项目联系在一起,被动地接受抽象的理论知识会导致学生的学习兴趣逐渐消失。(2)教学案例比较单一,缺乏连贯性。具体的项目案例是案例教学赖以实施的基础,案例选择是否恰当直接影响到案例教学的效果。许多教材上提供的案例比较单一,在一个具体的知识点上用这个案例,而另一个知识点上选择另一个案例。这种案例缺乏连贯性,很难让学生从系统层面上对实际问题进行分析、设计并实现。(3)以面向对象分析和设计为主,面向对象实现和测试内容不足。许多教材在介绍面向对象技术时,着重介绍面向对象分析与设计技术,对面向对象实现与测试技术只是泛泛的提一下,或者压根不提。从内容的完整性来说,面向对象实现和面向对象测试是软件生命周期中不可缺少的部分,这部分内容和面向过程的实现和测试又有所区别,直接忽略不利于学生全面学习面向对象技术。(4)在内容讲授时缺乏对软件设计模式的分析和穿插。设计模式是一套被反复使用的代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性[7]。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。在讲授面向对象设计技术时,如果能与设计模式结合起来,对学生的系统设计能力会有极大的提升。
《面向对象技术》课程的教学改革有助于夯实学生的理论基础知识,进一步提升学生的系统能力和创新能力,培养学生的独立思考能力和批判性思维[8,9]。因此,本文提出了基于案例驱动(Case Driven)的《面向对象技术》课程的教学改革方案,根据硕士研究生的具体情况和实际需求,选择学生感兴趣、复杂程度合适的优秀项目案例,采用由浅入深、层层推进的方式将具体的项目案例与课程的理论内容相结合。该改革方案中,强调理论体系的同时,充分运用案例教学法,强化基于项目案例的实践教学,优化课程内容。
1 案例驱动教学模式的思想和特点
1.1 案例驱动教学的基本思想
案例教学法起源于20世纪20年代,哈佛大学所倡导的案例教学法是这样定义的:一种教师和学生共同参与,针对实际的案例问题进行讨论的教学方法。在案例教学法中,教师扮演着设计者和激励者的角色,鼓励学生积极参与讨论,不像传统的教学方法,教师扮演着传授知识的角色。案例教学方法有一个基本的假设前提,即学生能够通过对这些案例的过程研究,发现案例中所蕴涵的知识并进行学习,在必要的时候回忆出并应用这些知识与技能。案例驱动教学是在此基础上进一步引导学生进行课程内容的学习与掌握,通过案例的分析与讨论,学生更易接受所学的理论知识,使教学过程更具实用性和灵活性。
1.2 案例驱动教学模式的引入
目前,研究者对《面向对象程序设计》课程(如C++,Java等语言)进行教学改革与实践,引入案例驱动的教学模式,取得了较好的教学效果[10-13]。但对以软件分析、设计与开发为主要目标的《面向对象技术》课程,教学研究及应用还有待进一步发展,探讨案例驱动教学模式在《面向对象技术》课程中的应用,并从教学内容、教学方法、考核方式等提出新的教学改革,具有重要的价值和意义。
从《面向对象技术》课程的性质和地位出发,针对目前授课过程中存在的一些问题,使用案例驱动教学模式进行该课程的教学改革与实践,培养学生的软件系统分析与设计能力。(1)结合硕士研究生的知识结构,参考国内外其他院校的授课内容,将授课内容进行一定的调整,将面向对象技术分为面向对象基础、分析、设计、实现和测试五大模块来讲授。将面向对象程序设计和 UML作为面向对象技术的基础知识进行回顾和讲解。在讲授面向对象技术的同时与面向过程的软件工程方法进行对比学习,在面向对象设计中融入设计模式的内容,提高学生分析问题和解决问题的能力。通过面向对象实现与测试内容,使学生全面理解面向对象技术,形成完整的理论体系。(2)授课方式将从传统的讲授法变到以案例驱动的教学模式,充分运用案例教学方式,形成一套优秀的案例库,强化实践教学。(3)优化考核方式,以课程设计的方式代替原有的笔试考核,注重教学过程的监控和学生实践能力的评价。
2 案例驱动教学模式的实施及考核
2.1 案例的选择与实施
应用面向对象方法有助于提升认识问题的能力,可以很快地洞察问题的实质,建立问题域的逻辑模型,并以此为依据解决一些看似复杂的问题。在《面向对象技术》课程的讲授方式上以案例为驱动,理论与实践相结合,逐步取代单一的理论讲授。单一的理论讲授容易使学生产生厌学情绪,不利于调动学生的学习积极性,还可能导致学生只懂理论方法而不懂实际应用,学习效果不佳。选择合适的案例,可以充分调动学生的主观能动性,体会所学理论知识的实际应用价值,做到学以致用,加深对理论知识的理解。
教师选择的案例要使学生学会如何去考虑和解决问题,更好的应用面向对象技术来创建可维护、可扩展、可复用的软件。案例的选择重点考虑以下三个方面:(1)选择的案例应覆盖多个相关知识点,促进学生掌握面向对象分析、设计、实现、测试技术。(2)案例应具有实践性,是学生熟悉的题材,反映在日常生活中需要解决的问题。(3)案例难度适中,循序渐进,具有一定的综合性。比如企业人事管理系统、基于图像的试卷识别系统、桌面搜索引擎、幼儿预防管理系统等案例。
图1给出了《面向对象技术》课程教学过程中案例的选择与实施方案,主要包括案例的类别、特点及其作用。第一类为知识点案例,对于特定的理论内容,通过案例的讲解加深对知识点的理解与掌握。教师在教授面向对象技术的理论内容时,应以学生为主体、案例为主线,对案例所提供的材料和问题进行分析,学习案例所涉及的相关知识点,针对具体问题需求相互探讨提出见解。此外,教师需要根据课程各章节之间的联系,设计或选择的案例应该具有连贯性,让学生从系统层面去理解课程所讲述的理论内容。第二类为项目案例,课程理论内容结束后,选择特定的项目进行分析、设计、实现和测试,使学生掌握软件项目开发的整个过程,进一步加深对课程内容的理解。这类案例要求分析整个开发过程,并包含相应的文档说明。第三类为课程设计案例,要求解决一个具体的问题,并应用面向对象技术进行软件实现,结合考核标准评价学生对该门课程的掌握情况。课程设计案例一般只给出选题及实现要求,教师可以列出一些题目让学生选择,或者学生根据自己的兴趣、研究方向进行自主选题。
图1 面向对象技术课程中教学案例的选择与实施Fig.1 Selection and implementation of teaching cases in object-oriented technology
《面向对象技术》课程的教学案例选择与实施是一个持续积累和改进的过程,一方面,根据教学的实施过程,对各类案例进行积累和扩展,构建课程案例库。另一方面,需要清楚了解学生现有的知识水平,并结合面向对象技术的发展趋势,对构建的案例进行持续改进。
2.2 课程的考核与评价
课程考核与评价是对学生学习效果以及知识掌握程度的衡量方式。考核与评价改革的目标是使学生在掌握基本理论、基本知识和基本技能的基础上,增强职业素养与专业技能,提高分析问题及解决问题的能力,成为具有较强创新意识和实践能力的高技能人才。通过考核与评价的改革,使教学工作的重点真正落实到学生能力的培养和自身素质的提高。
《面向对象技术》课程的考核方式一般采用闭卷考试方式,对于学生来说这种考核方式只要在期末考试时,对面向对象技术的一些基本概念和理论进行复习就能取得好成绩,而死记硬背的东西很容易忘记,不利于学生吸收。面向对象技术体现的是学生对软件设计的系统能力,简单的笔试无法反映学生对面向对象技术理解和掌握的程度。因此,我们用课程设计的方式代替传统的闭卷考试,全面考察学生的专业素养。
在课程设计的考核方式中,要求学生选择一个课程设计案例,进行系统的分析、设计与实现,并给出软件文档。面向对象技术软件文档主要内容包括:(1)需求分析:进行文字描述,包括功能性需求、非功能性需求等;(2)需求分析建模:给出系统的用例(Use Case)图,对用例进行文字描述,包括用例的简要说明、主事件流与其他事件流、前置条件和后置条件;(3)建立静态模型:即建立类图,确定类及对象的属性和方法,分析类与类之间的关系,包括泛化、关联、依赖关系;(4)建立动态模型:对一些复杂的场景,给出顺序图、协作图,构建复杂对象的状态图,或业务过程的活动图等;(5)问题域部分设计:按照具体的实现条件对对象进行必要的修改、调整和细节补充;(6)人机交互部分设计:给出软件系统的图形用户界面设计,或其他的人机交互模式;(7)任务管理部分设计:对复杂的任务控制流程进行设计;(8)数据管理部分设计:根据所选择的具体数据库,对系统的数据存储进行设计;(9)构件化与系统部署:分析软件系统的体系结构,给出系统的包图及构件图;(10)代码实现:对一些重要的实体类或控制过程写出伪码或高级语言的程序;(11)结论:对所实现的软件系统进行总结,给出结论;(12)参考文献:列出所用到的参考文献。
按照面向对象技术软件文档的要求,逐项进行评分。采用百分制形式,具体的评分细则如表1所示。这种考核方式能全面映射课程的讲授内容,并且重点突出,能锻炼学生的实践能力,体现学生对理论知识的掌握程度和实际应用能力,充分调动学生的学习主动性,培养学生独立思考的能力和批判性思维。
表1 课程设计评分细则Tab.1 Detailed grading rules on course design
3 结束语
面向对象技术是软件工程学中的主流方法,是现代软件企业广为采用的一项有效技术。学好《面向对象技术》这门课程,对学生系统能力的提升有很大帮助。针对该课程授课过程中存在的一些问题,结合学院学生实际情况,力求完善和优化课程教学内容,构建适合于教学和学生实践的案例库,以案例驱动的方式进行教学,使学生在学习过程中表现出较为浓厚的学习兴趣,能积极参与到教学活动中来,对所学知识及时进行总结与回顾。学生在深刻理解面向对象技术理论的同时能将所学理论知识用于实践,实践能力和创新能力有较大提升。
[1] 陈剑辉, 张震宇. 基于面向对象技术的软件开发系统[J].中国有线电视, 2006(12): 1164-1167.
[2] 易昕昕, 宋美娜, 杨俊, 等. 一种面向对象的全过程需求工程方法[J]. 软件, 2014, 35(6): 1-5.
[3] 张辉, 龚杰民. 软构件与面向对象技术[J]. 计算机工程,1998, 24(5): 15-17.
[4] 田苗苗. 基于面向对象技术的软件开发方法[J]. 吉林师范大学学报(自然科学版), 2004, 25(2): 97-99.
[5] 吴含前, 吉逸. 《面向对象技术&UML》教学改革与实践[J].计算机工程与科学, 2011, 33(s1): 23-26.
[6] 付晓豹, 王玉萍. 基于UML的移动教务管理系统的研究与实现[J]. 软件, 2014, 35(5): 25-29.
[7] 钟茂生, 王明文. 软件设计模式及其使用[J]. 计算机应用,2002, 22(8): 32-35.
[8] 郭艳燕, 任满杰, 李淑艳. “面向对象技术与UML”课程教学探索[J]. 计算机教育, 2013(2): 58-62.
[9] 叶俊民, 王敬华, 李蓉, 等. 基于CDIO的“面向对象软件工程”教学模式研究[J]. 计算机教育, 2014(13): 64-67.
[10] 李建伏, 沈中林, 衡红军. 案例教学法在面向对象程序设计课程中的应用[J]. 软件, 2015, 36(3): 48-51.
[11] 许四平. 基于案例驱动的面向对象程序设计教学方法的应用研究[J]. 计算机光盘软件与应用, 2013(1): 278-279.
[12] 王学玲. 任务与案例驱动法在面向对象程序设计教学中的应用[J]. 电脑知识与技术, 2014(11): 2591-2592.
[13] 周玉新, 魏国利, 裴志利. 基于案例驱动的创新性Java教学模式研究[J]. 内蒙古民族大学学报(自然汉文版), 2014(6): 634-636.
Teaching Reform and Practice of Object-Oriented Technology Based on Case Driven Method
LIN Xiang-hong, ZHENG Jian-yang
(College of Computer Science and Engineering, Northwest Normal University, Lanzhou 730070, China)
"Object-oriented technology" is a professional course with high theoretical and practical performances.Combining with the experience of teaching practice, this paper puts forward the course reform of “object-oriented technology” based on case driven teaching model. We first analyze the problems existed in the present teaching of the course, such as obsolete teaching content, single teaching method, the evaluation system is not perfect and other issues.And then we expound the characteristics of the case driven teaching model, and the contrastive analysis is made with the previous teaching model. Finally, we explore some new ways and ideas in the reform of the course, such as selection of teaching cases, their application in the teaching processes, and appropriate course evaluation methods.
Object-oriented technology; Case driven; Teaching model; Evaluation method
TP311
A
10.3969/j.issn.1003-6970.2017.11.006
本文著录格式:蔺想红,郑鉴洋. 基于案例驱动的面向对象技术课程教学改革与实践[J]. 软件,2017,38(11):36-39
西北师范大学研究生培养与课程改革项目“案例驱动的面向对象技术课程研究”
蔺想红(1976-),男,博士,教授,主要研究方向:神经网络、智能软件;郑鉴洋(1990-),硕士研究生,主要研究方向:数据分析、软件技术。