面向对象系列课程体系及统一实践平台

时间:2022-07-09 05:19:58

面向对象系列课程体系及统一实践平台

摘要:本文分析面向对象类课程之间的前后关系,针对原有各门课程的实践环节存在相互独立、无系统化的问题,按照面向对象的软件开发过程,提出:1)重新整合面向对象系列课程,形成包含基础篇、提高篇和深入篇的三段式面向对象技术课程体系;2)重新整合各门课程的实践环节,使之前后衔接,形成一体;3)建立基于IBM Rational企业级软件工具的统一实践平台。让学生在教学实践中掌握实用性的、应用型、系统化的面向对象的软件开发技术。

关键词:面向对象技术;课程体系;统一实践平台

随着计算机技术的迅速发展和IT行业对软件工程理念的不断重视,面向对象技术目前已逐渐成为现代软件开发中的主流方法。统一建模语言UML自1997年,被OMG(Object Management Group)采纳为面向对象的标准建模语言之后,已经成为当今国际上应用最广泛的、构建对象模型的描述语言和技术规范,成为软件业公认的开发标准。基于UML(Unified Modeling Language)的面向对象分析与设计方法在国内外学术界和产业界越来越受到重视,国内外许多高校的计算机类课程中均开设了“面向对象技术”、“UML”或“面向对象的软件工程”等相关课程[1-2]。华北电力大学计算机专业在原有编程语言和面向对象技术课程的基础上,重新调整、整合和新增了面向对象相关课程,形成了从基础篇到提高篇的面向对象课程体系。面向对象类各门课程原有的实践环节互相独立,使用的实验平台各异,实验内容相互间没有衔接或者有部分内容重复。2009年,我系在教育部专项基金的资助下,基于IBM Rational平台建设了适于各门面向对象课程实验的统一软件工具平台、让原本独立或重复的各门课程的实践环节,前后衔接起来,形成一体。通过一系列系统化的整合实验,让学生逐渐掌握面向对象软件开发过程,具备实际的项目开发能

力,以期培养“厚基础、强实践”的应用型、实践型的计算机技术人才。

1面向对象技术系列课程的课程体系

面向对象技术所涵盖的领域广泛,有所熟知的面向对象编程语言,如C++、Java、C#等,还有采用面向对象思想的软件开发过程:包括基于UML的面向对象的系统分析、面向对象的系统设计和面向对象的实现,面向对象的测试,面向对象的软件开发过程等。

为了使计算机学科的学生全面掌握面向对象技术,我系在原有高级编程语言和面向对象技术课程的基础上,借助2008版新教学大纲[3]修订的契机,重新调整、整合和新增相关课程,遵循由浅及深的原则,形成基础入门、技术提高、综合深入的三阶段面向对象课程体系。在该课程体系中,以高级语言程序设计(C++)、面向对象编程语言(Java)课程为基础,面向对象技术与UML课程为提高,J2EE开发平台及程序设计、可视化编程、软件工程、软件测试等课程为深入,并配以相应的独立实践环节。2009年7月,在教育部修购专项基金的支持下,引入了目前软件业广泛使用的企业级软件工具――IBM Rational 系列软件,为建立面向对象系列课程的统一实验环境提供了物质基础。

1.1低年级的基础入门和技术提高

计算机类学生的一年级第一学期和第二学期初开设必修课高级编程语言(C++)和专业限选课Java语言程序设计,建立面向对象语言的编程基础。通过这两门先修课,学生对面向对象的编程有了初步的了解,也初步具备面向对象实现和编程的能力。但是此时学生对软件的分析设计方法还没有系统化,面向对象技术和UML课程的开设,目的是在学生涉足软件开发之初,就树立起面向对象分析、设计的理念。并且配备了一周的独立实践环节――UML课程设计,实验的题目选用学生日常生活中熟悉的小型系统,如图书系统的借书或者还书子系统、学生成绩管理系统等。要求学生使用支持UML2.0以上的CASE (Computer-aided Software Engineering )工具完成面向对象的主要分析和设计模型,包括用例分析、绘制类图和顺序图,并进一步的设计,然后尝试使用CASE正向工程,由模型自动生成Java或者C++的代码框架,并要求学生用所学过的面向对象语言简单实现所设计的系统。

1.2高年级的综合深入

在学生熟悉了面向对象语言和面向对象分析设计、UML建模之后。三年级将按照面向对象的软件工程的开发流程来安排课程、分为方法论、过程管理、高级工具环境这三大部分。方法论中包括软件工程和软件测试课程;过程管理包括软件工程的一部分章节和软件工程项目管理课程;高级工具环境包括J2EE开发平台及程序设计和软件工具和环境课程。

首先开设软件工程,从整体上介绍贯穿软件生命周期的整个软件开发的流程,在软件工程的方法学中,包括了传统方法和面向对象方法。随后开设的软件测试课程中,包括一部分面向对象测试的理论和测试工具的介绍。而在软件项目管理课程中,会涉及同面向对象软件开发相关的过程管理和项目管理。然后开设J2EE开发平台及程序设计课程,在学生掌握面向对象开发技术以及Java语言的基础上,介绍软件的架构、组件开发和企业级应用等内容。软件设计的高级篇,以提高学生的实际的编程和应用开发的能力为重点,设立选修课软件工具与环境,专门介绍流行的、支持面向对象软件工程各个环节的CASE工具。

在三年级的第二学期,单独开设了两周的软件工程课程设计,并结合软件项目管理和J2EE开发平台及程序设计的课内实践环节,将学生分成项目组,每组选用面向对象的方法学,对所选择的中型系统,使用CASE工具,完成从计划、分析、设计、实现、测试,以及项目管理,涉及面向对象软件开发的整个流程。

2案例教学和多样化教学手段

随着面向对象技术的普及和软件行业对软件工程开发流程的重视,面向对象技术和UML建模越来越受到关注。自OMG组织将UML采纳为标准的面向对象建模语言以来, 每隔几年就会有新的版本,无论是教材还是教辅材料都更新非常快。特别是UML建模,如果只介绍面向对象分析设计的理论,UML建模的基本知识,学生会感觉到晦涩难懂,更谈不到实用性。因此在面向对象技术的授课过程中,适时的采用案例教学,在教学方法上,采取课堂讨论和质疑、分组讨论解决方案、课程读书报告等多样化的教学方式。

2.1案例教学

在课程重点章节的讲授过程中大量使用案例教学。以面向对象技术与UML课程为例,选用一个完整的、学生熟悉的案例,如图书馆管理信息系统、教材销售系统等,贯穿始终。从用例分析开始,到如何识别类和对象、类间关系、如何用交互图来细化用例图中的用例、如何设计和实现、部署这个系统。使学生从该案例入手,直观教学,通过生动的案例将深奥的面向对象分析和设计、实现的理论连成一条线,系统的去理解面向对象软件开发整个流程。

2.2多样化讨论式教学

面向对象技术发展很快,软件系统的分析建模没有统一的标准,只有方案的合理性。因此在案例教学的同时,强调多样化教学。在满足课堂讲授基本理论的前提下,布置大型作业,鼓励学生分组讨论。在授课的学时中留有一部分讨论学时,教师走下讲台,跟学生一起讨论解决方案,甚至可以采取辩论、质疑、复审的方式,各个讨论组可以提出不同的解决方案,并讨论方案的合理性,教师和同学一起修改方案,最终的讨论结果可能形成2~3个问题的解决方案。在讨论式的教学互动中,学生是主体,教师是引导,充分激发学生对软件系统分析和设计的创新性,并为下一步的课程设计奠定基础。

2.3广泛阅读,了解课题的前沿

在面向对象的基本授课内容完成后,留有一小部分学时,教师介绍一下所了解的课题的前沿,提供一些网上资源和图书资源,并给学生布置作业让学生查阅相关资料,了解面向对象技术的目前的最新动向和市场应用现状,要求学生提交课程读书报告,阐述面向对象技术和标准的最新发展,让学生的学习不仅仅局限在课堂,还要跟踪领域的最新进展。

2.4考试改革

因为日常教学内容的多样化,课程的最后评定不再是单一的卷面考试,最终的考试成绩将从考试、大作业、上机实验报告、读书报告、平常讨论的创新性等各个方面综合评定。

3统一实践平台的建立

面向对象系列课程根据课程性质和开设的学期不同,分别配以课内实验或者单独开设的实践环节,也根据各自的教学大纲制订了相应的实验大纲和实验内容。但是由于各门课程的实验内容没有整合、实验环境不统一、造成了这些实验之间,题目和实验内容过于独立或出现部分重复,导致学生们实验效率不高,对贯穿整个面向对象软件开发流程的课程体系的完整性感受不深。

为了提高教学效果和实验效率,需要将这些课程的实验进行整合。在教育部实验室建设专项资金(55万)的支持下,我系已引进了软件业应用广泛的、企业级软件工具――IBM Rational系列软件(如表1所示),为统一实验平台的建设提供了可能,鉴于IBM Rational在业界的影响程度,基于该套软件工具所建立的综合统一实践平台,会对本系学生未来的就业有所帮助。

3.1IBM RSA支持下的面向对象技术课程设计

在IBM rational工具的支持下,借助2008版新大纲为软件类课程增设很多独立实践环节的契机,重新整合相关课程的实验,按照各门课程在面向对象软件开发流程中所处的阶段,建立统一的实验平台,合理组织实验内容,使之前后衔接,形成体现整个软件开发流程的课程实践体系。比如,在面向对象技术和UML课程的为期一周的课程设计中,培训学生使用IBM的RSA工具,应用UML建模语言对所熟悉的小型系统进行需求描述与设计,包括用例分析、类图、交互图、绘制系统的组件图和部署图[4]、对所完成的模型,通过正向工程,从UML自动生成系统主要程序框架等。

3.2IBM Rational 平台对先修课实践环节的支持

借助IBM RSA的双向工程,结合一年级的两门面向对象编程语言课程(C++和Java), 让学生在IBM Rational的平台上通过RSA 来体验UML模型和代码之间的同步转换。比如将所建立的UML的类图和顺序图通过正向工程转换成Java代码,也可以将以前所开发的代码或者下载的案例代码逆向工程生成UML模型,以便修改。还可以直接在RSA上开发代码,双向工程。让UML建模真正的能运用到学生的日常编程中去。

3.3IBM Rational 平台对后续课程实践环节的支持

在三年级的软件工程和软件测试课程之后,在软件工程为期两周的课程设计中,以前面的RSA为基础,实验中加入Rational RUP(Rational Unified Process)的面向对象流程管理(RMC)、需求管理和描述工具(RRP和RRC)、自动化测试工具(RFT)以及项目管理工具(RTC)。然后在高年级的选修课J2EE开发平台及程序设计的实验环节中,进一步培训IBM Rational系统软件在软件架构设计和组件开发上的能力。在第六学期的软件综合课程设计实验中,可以培训学生的团队协作精神。深入使用Rational的RTC工具进行项目合作。经过对相关课程的实践环节的重新整合,可以让学生通过统一实践平台的使用,掌握面向对象软件开发整个过程。

4分层次实践,开放实验

我校计算机系包括软件工程、计算机科学与技术,网络和信息安全4个专业,每个专业的教学侧重点不同,每门课程的实践要求也不同,因此采取的分层次教学。

4.1同一门课程,不同专业不同实践学时要求

对于软件专业,面向对象编程语言、面向对象技术与UML、软件工程等课程均为必修课,配备的是为期1~2周的独立实践环节,因此可以布置更为系统的中小型项目,让学生分组协作,并可以通过面向对象的课程,全面感受面向对象软件开发的整个流程,通过一系列的课程设计,培训学生全面了解和基本掌握基于IBM Rational的统一实践平台中的7个核心工具。而对于网络和信息安全专业的学生,上述课程作为限选课,配备的是课内的实验,实验学时较少,因此实践侧重点则放在IBM RSA建模,简单介绍测试工具RFT。考虑网络专业主要涉及网络软件的开发和网络软件体系架构,可以借助软件综合课程设计的实践环节,介绍RSA对J2EE和SOA(Service-Oriented Architecture)架构的支持。

4.2对学有余力的学生,可以跨专业选修开放实验

增设的一些开放性实验是高级拓展篇,对RSA的高级应用和对开发的支持,需求工程和RUP裁减等进行更加深入的介绍,并可以借助IBM公司提供合作机会,通过8学时以上的开放实验,向培训的同学颁发IBM的结课培训证书。开放实验将弥补课内实验的学时不足,也可以向全校同学打开一扇了解基于IBM Rational的统一软件实验平台的窗口。

5结语

通过对原有课程和实践的调整和整合,我系形成了以低年级面向对象编程语言(C++和Java)为基础入门篇,面向对象技术和UML和软件工程课程为综合提高篇,软件测试、J2EE开发平台及程序设计等高年级专业选修课为深入拓展篇的三段式课程体系。在授课过程中,跟踪最近的面向对象发展潮流,大量使用案例教学,并适时使用多样化的教学手段,提高教学效果。在课程的配套实践环节中,基于教育部专项基金支持的IBM Rational企业级软件工具建立统一实践平台,按照面向对象软件开发的流程来重新整合实验内容,并根据授课的专业不同,形成以课内实验入门、独立实践环节为综合提高、开放实验为拓展的分层次实践体系。2009年7月,IBM Rational安装调试期间,在软件专业的课程设计中进行了试用;2010年第二学期,相关课程教师通过IBM的培训后,基于以上教学体系和统一实践平台的构想,正式使用了相关课程的配套实验,教学效果明显。

参考文献:

[1] 中国计算机科学与技术学科教程2002研究组. 中国计算机科学与技术学科教程CCC2002[M]. 北京:清华大学出版社, 2002:151-165.

[2] 李信本. 面向对象技术系列课程教学模式研究与实践[J]. 浙江万里学院学报,2005,18(4):113-115.

[3] 华北电力大学教务处. 华北电力大学计算机系2008版培养方案[EB/OL]. [2010-09-18]. 202.206.208.50/ jiaowuchu/userfiles/jxk/File/2008pyfa.doc.

[4] 奎特尼. IBM RSA和UML可视化建模指南[M]. 北京:机械工业出版社,2007:15-71.

Curriculum Architecture of Series of Object-oriented

Courses and Unified Practice Platform

CHEN Qing

(School of Computer Science of Technology, North China Electric Power University, Baoding 071003, China)

Abstract: The relationship among object-oriented courses are analyzed, regarding that existing experimental courses are independent and non-systematic, three proposals are given: the object-oriented curriculum architecture is re-integrated referring to object-oriented software development process, which is composed of three phases including basis phase, advanced phase and in-depth phase, all courses experiments are re-integrated and systematized, and the unified practice platform is built based on IBM Rational that is an enterprise software tool. Therefore, students can master practical, applied and systematic technology in software development.

Key words: object-oriented technology; curriculum architecture; unified practice platform

上一篇:开展研究型教学,促进高质量创新型研究生的培养 下一篇:高校网络技术课程网络设备配置教学方案