在UML课程的实践教学中实施CDIO的探讨

时间:2022-06-24 02:35:14

在UML课程的实践教学中实施CDIO的探讨

摘要:通过分析UML课程的特点,文章指出传统实践教学存在的局限性,提出通过整合IBM技术资源,将CDIO工程教育理念引入实践环节,提高学生的工程素养和团队协作能力。实践证明,其实践教学改革实施效果较好。

关键词:CDIO;IBM技术资源;UML;CCSE

由IEEE和ACM联合制定的CCSE(Computing Curricula, Software Engineering)2005包含10个知识领域,软件建模与分析是其中之一。软件工程专业培养方案中的UML(统一建模语言)课程主要注重软件建模方法和技术。该课程的传统实践教学环节强调在建模工具的支持下,采用各种UML建模元素和建模技术建立UML模型,从而支持软件开发。它的问题在于忽视与软件开发过程的有效结合,且缺乏促进团队沟通与交互的机制,对学生系统化工程技术素质培养的重视程度不够,因此,学生感觉该课程所学知识较分散,不能有效地将所学的建模技术应用在软件项目的开发过程中。

CDIO(Conceive-Design-Implement-Operate)工程教育模式是近年来国际工程教育改革的最新成果,是由美国麻省理工学院、瑞典哥德堡查尔姆斯技术学院、瑞典皇家技术学院和瑞典林雪平大学4所工程技术大学发起的一项工程教育改革计划。目前已经有来自全世界30多个国家的大学加入CDIO国际组织,并在各自的工程院系实施CDIO模式[1]。在国内,教育部CDIO工程教育模式研究与实践课题组成立后,我校成为首批教育部CDIO试点高校。

自我校加入IBM学院计划以来,双方在课程体系、实践环节、课程认证以及校企交流方面展开深入合作。我校师生可以免费使用IBM全球领先商用软件开发工具以及技术资源。

在分析UML课程和CDIO工程教育模式的特点,综合考虑IBM先进技术资源的优势之后,我们在该课程的实践教学中整合IBM技术来实施CDIO工程教育模式,它使学生的专业工程素质得到明显增强,其教学效果较好。

1UML课程的特点

统一建模语言是软件工程专业必修课程,本课程的目的是使学生在学习面向对象程序设计的基本原理以及掌握一门面向对象编程语言之后,进一步了解和掌握建模语言的业界标准――UML,从而提高软件开发的能力与水平。该课程不仅要求学生掌握UML的基础知识,而且要求学生通过本课程实验,掌握UML的应用技术,并具备使用UML建模工具来支持软件开发过程的基本技能。本课程是工程实践性很强的课程,在传统实践教学过程中,强调理解UML建模元素、熟悉建模工具以及在软件开发过程应用建模技术。本课程的内容较难讲授,学生感到知识点太多、内容抽象。虽然在实践环节学习使用建模工具绘制各种UML图,但是不够深入,而且与具体软件项目开发结合不够紧密。经过分析研究,我们认为产生问题主要因素有以下几方面。

1) 学生实践经验不足,动手能力不强,实践教学脱离企业开发环境。本课程属于实用工程学科,以往授课普遍采用将知识点从具体到抽象、对实践经验进行概括总结的方法加以叙述。但是,学生对应用背景和企业开发环境并不了解,难以理解所讲述的实践经验和知识。

2) 综合性强,实践教学缺少实际案例和项目实践。软件建模是一项综合性和系统性很强的工程,需要开发者首先具有面向对象程序设计等基础课程知识和综合运用能力,更重要的是在软件开发过程系统运用软件建模方法和技术的能力,而学生欠缺这方面的能力。以往传统实践教学虽然也强调在软件开发中应用各种UML建模技术,但是未能与实际案例和项目有效结合,效果不明显。

3) 学生独立性较强,不善于团队合作和沟通。面向对象程序设计、数据结构等基础课程主要是培养学生独立的逻辑思考和编程能力,但是,它忽视了沟通、交互与团队合作。以往的实践环节,也强调团队开发,但缺乏合作开发的软硬件环境以及必要的监督和评价机制,流于形式。

从学生的反馈来看,不少同学在毕业设计的项目开发过程中未能应用UML建模技术,在求职过程中缺乏工作经验。因此,本课程的实践环节必须调整,采用先进的工程教育培养模式,培养具备综合运用软件建模技术进行软件开发的工程素质和一定工程经验的专业人才。

2CDIO工程教育模式

CDIO以产品生命周期上的四个环节――构思(Conceive)、设计(Design)、实施(Implement)和运行(Operate)代表四个教育和实践训练环节[1]。CDIO改革主要有三个目标,培养学生掌握基础工程技术的深层应用知识,引导新产品、新生产流程和新系统的创建和运行,并理解研究和技术发展对社会的重要性和战略地位[2]。CDIO不仅提出以能力培养为目标的CDIO大纲(如表1所示),而且系统地提出能力培养、实施指导、实施过程和结果检验的12条标准,有很强的可操作性。

清华大学在数据结构和数据库系统原理两门课中采用CDIO教学方法,取得了满意的教学效果,增强了学生自学和解决实际问题的能力以及协调沟通和团队协作的能力。国内外经验表明,CDIO“做中学”的理念和方法是先进可行的,完全适合工科教学过程各个环节的改革[3]。

由于CDIO新型工程教育模式特别适合计算机和软件工程相关课程的教学,因此,它已应用于我院多媒体应用基础课程实践教学改革[3],以及软件工程专业的UML等课程中,我们也将逐步在其他工程性较强的课程中大力推行。

3实施面向CDIO的实践教学改革

在分析UML课程的主要特点,以及CDIO工程教育模式中以能力培养为目标的大纲和12条标准之后,我们对本课程实施面向CDIO的实践教学环节改革。由于已加入IBM学院计划,本课程可以充分利用IBM全球领先的技术资源优势。本课程采用IBM RSA(Rational Software Architect)7.0这款商用软件作为建模工具,该软件是基于Eclipse的IDE,支持软件开发的全过程,包括UML建模。本课程实践环节包括7个验证型和1个综合性实验,其中7个验证型实验来自于IBM Rational Software Architect Workshop[4],如表2所示。

从表2可以看出,7个验证型实验基本涵盖CDIO能力大纲中前三个层面的能力。因为验证型实验来自IBM,实验指导电子书是英文版,而且实验室安装的RSA也是英文版,所以,实验项目也在一定程度上涵盖了大纲中3.3外语交流能力。

综合性实验“对软件开发项目全过程建模”涵盖了CDIO能力大纲中“在企业与社会环境下的构思-设计-实现-运作”层面的能力。该实验项目由学生分组完成,分组成员3~4人。该实验项目与课堂的案例教学同步。在软件工程教学中引入案例教学能有效地提高教学效果[5],案例则采用IBM公司实际项目,该项目软件开发过程采用迭代增量式IBM RUP (Rational Unified Process)。主讲教师按照RUP中的四个阶段进行迭代,并在RSA建模工具的支持下,建立用例模型、分析模型、设计模型以及实现模型。要求每组学生选择项目按案例中所采用的RUP,使用RSA对软件开发项目进行全过程建模。

本课程实践环节按照CDIO标准来进行,具体实施如下。

1) 标准1:以CDIO为基本环境。软件项目开发严格以软件产品的生产周期作为工程教育的环境。基于项目需求要求学生从构思、设计、实现、运作四个环节,完成一个实际项目开发。项目小组由3~4名学生组成,坚持阶段评审答辩。

2) 标准2:学习目标。要求掌握在RUP中全程采用RSA进行软件建模,并撰写符合《计算机软件文档编制规范》国家标准的文档,此目标已达到中小软件企业软件开发建模要求。

3) 标准3:集成化课程设置。在软件工程课程群设置中,UML作为核心课程之一,与软件需求、面向对象分析与设计以及软件体系结构等课程相互支撑。在其他课程采用的开发工具与UML课程中的RSA能无缝集成,例如软件需求中的IBM RequiresitePro项目可以在RSA打开,而且与相应的UML模型项目关联。

4) 标准4:工程导论。在UML课程之前,学生已经完成作为工程导论的软件工程概论课程学习,已理解软件开发过程,并已具备开发小型软件项目的能力。

5) 标准5:设计――制作实践。本课程实践环节综合性实验要求学生按企业软件产品开发周期进行构思、设计、实现以及运作,属于高级层次的项目。学生在此之前已完成软件工程概论课程中属于基础层次项目综合性实验。

6) 标准6:工程实践场所。实践环节在IBM软件开发实训基地进行,该基地按照企业开发环境进行布置,每位学生都可以在一个由隔板独立出来的空间中进行项目开发,既有属于自己的相对独立空间又方便交流。基地中机器都安装了一系列IBM主流商用开发工具,具备了企业开发的软硬件环境。为了更好支持分布式协作开发,在RSA中安装了Eclipse通讯框架(Eclipse Communication Framework――ECF)插件,给使用RSA进行开发的团队提供了实时通讯和协作特性。

7) 标准7:集成化教学过程。本课程以“做项目”为主线来组织课程,以“用”导“学”[6],选择实际工程项目来做主线,教师全程指导。

8) 标准8:主动学习。在项目阶段评审时,采用“角色扮演法”,要求每小组成员按照角色对项目提出设想,再经小组讨论和全班讨论,充分激发学生的积极性。从而实现由学生被动转为学生主动学习。在这个过程中,教师要注意对学生的思路加以引导,对学生所提的方案加以鼓励,帮助学生树立创新意识,学会从多角度思考问题[7]。

9) 标准9:教师CDIO能力的提升。主讲教师通过参加IBM组织的各类师资培训来提升自身的CDIO能力,也通过与企业的横向项目合作来进一步提高教师的工程经验。此外还邀请IBM资深工程师为学生开设短期(一般为1~3天)培训。

10) 标准10:教师教学能力的提高。通过组织课程组教学研讨会,来提高教学在集成化教学过程、运用案例教学和基于项目的教学方法以及学生考核等方面的能力。

11) 标准11:学生考核。各个小组由小组长负责组织、分工、控制进度等,对小组成员的最终实验成绩有一定分数浮动调整权;组长带领全组顺利完成任务,总评可以加一定分数。阶段评审时,每个小组都要展示自己的阶段性里程碑。评审由学生评审(采用各小组循环评审,占成绩的30%)和教师评审(占成绩的70%)组成。在学生评审的同时,教师对每个小组的汇报情况、系统的质量、文档以及报告进行评审、打分,并写出评语,但不能影响学生的评审。最后,教师要对小组的表现进行总结点评,帮助学生理清思路,鼓励积极性。通过考核的学生还将获得由IBM颁发的UML课程认证证书。

12) 标准12:专业评估。本课程通过实施CDIO后,学生在后续的课程,如岗位实践课程以及毕业设计项目中应用UML进行软件建模能力相比实施前的学生明显提高。

4结语

目前,我们已在两届软件工程专业的UML课程实践教学中实施了CDIO,取得了良好的教学效果。通过整合IBM技术资源,按照CDIO能力大纲以及12条标准进行面向CDIO实践教学改革后,学生普遍反映能够较好地理解并掌握软件建模的方法和技术,通过在CDIO环境中学习,学生工程素质、团队合作能力都得到明显提高,更重要的是它增强了学生在今后求职过程中的信心。

参考文献:

[1] 雷环,汤威颐,Edward F. Crawley. 培养创新型、多层次、专业化的工程科技人才[J]. 高等工程教育研究,2009(5):29-35.

[2] Edward F. Crawley, Johan Malmqvist, Sören Östlund, and Doris R. Brodeur. Rethinking Engineering Education : The CDIO Approach[M]. New York:Springer,2007:2-3.

[3] 王志强,蔡平,杜文峰. 基于CDIO 理念的多媒体应用基础课程实践教学改革[J]. 计算机教育,2009(12):137-138.

[4] IBM Corporation. Rational Software Architect Workshop[M]. Distrubuted by IBM Corporation,2007:1-3.

[5] 叶俊民,胡金柱,李蓉. 软件工程案例教学研究[J]. 计算机教育,2007(7):19-21.

[6] 和薇. CDIO模式在“数据结构”课程中的运用[J]. 计算机教育,2009(20):122-123.

[7] 查建中. 论“做中学”战略下的CDIO模式[J]. 高等工程教育研究,2008(3):1-6.

Exploration on Implementing the CDIO in the Experimental Teaching of UML Course

CHEN Hao, MING Zhong, PENG Xiao-gang

(College of Computer Science and Software Engineering, Shenzhen University, Shenzhen 518060,China)

Abstract: With the analysis on the features of UML course, the paper point out the limitations in the traditional experimental teaching. Considering these shortcomings, this paper proposes to introduce the CDIO engineering education in the experimental teaching of this course by integratng IBM technology resources for the sake of improving the students’ engineering and teamwork capabilities, which brings good effects and is a successful exploration in the experimental teaching innovation.

Key words: CDIO; IBM technology resources; UML; CCSE

上一篇:接口技术多层次实验教学的探索 下一篇:CDIO教育模式在计算机基础教学中的应用研究