首页 > 范文大全 > 正文

“面向对象技术与UML”课程教学探索

开篇:润墨网以专业的文秘视角,为您筛选了一篇“面向对象技术与UML”课程教学探索范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:“面向对象技术uml”课程是一门抽象性和实践性都很强的课程,从该课程的性质和地位出发,针对该课程现有教学中存在的问题,结合实际教学情况,从多个方面进行思考与探讨,提出解决问题的对策,提高UML课程的教学质量。

关键词:面向对象;统一建模语言UML;案例教学;教学改革;统一开发过程1KUP

1 课程性质和地位

面向对象技术是软件工程学中的主流方法,是现代软件企业广为采用的一项有效技术。统一建模语言UML是一种定义良好、易于表达、功能强大的面向对象的建模语言。UML作为软件行业建模的标准语言,通过可视化的图形方式展示软件系统的结构、关系和行为模式,并且支持软件开发全过程。

“面向对象技术与UML”课程将面向对象技术与UML完美结合,以基于UML建模语言描述的面向对象分析与设计过程为内容,已成为许多高校软件工程专业课程体系中的专业必修课。作为软件工程的续接课程,课程的教学质量直接影响着软件工程专业复合型人才的培养。

2 课程教学中存在的问题

虽然UML技术在软件行业中已被普遍认同和使用,但在高校的计算机与软件工程相关专业中,“面向对象技术与UML”仍属于一门新兴课程,所以没有太多的教学经验可循,在现行的教学过程中主要存在着以下问题。

1)课程设置不合理。

该课程涵盖的知识面广,抽象性和实践性比较强,需要相关基础课程的学习作为支撑。但现有的课程设置存在相关课程知识点重合或知识体系断层等问题,影响了UML课程的讲解。

2)知识体系庞大,学时较少,教学内容组织不合理。

该课程不仅包括面向对象分析和设计方法,而且包括UML丰富的知识。现有教学内容的组织很难达到在较少的课时内将庞大的、复杂的课程内容讲授清楚,其主要原因是没有处理好面向对象技术与UML的关系。

3)教学环节安排不合理,理论教学和实践教学脱离。

现有的教学过程中常出现理论教学与实践教学脱离的现象,主要表现如下:

①重实践而轻理论。有些学生主观认为不学习理论知识,在实践课程上同样可以利用相关软件进行UML建模,在实践环节上仅凭个人主观意愿设计和建模,严重缺乏理论基础支撑。

②重理论而轻实践。有些学生在很长时间内都难以理解和描绘UML的实际应用价值,难以将理论知识应用于使用UML对系统进行分析与设计的实践中。

4)缺少知识的综合应用能力。

UML语言本身主要讲解建模原理、语法知识以及建模工具的操作。学生虽然对建模工具的操作感兴趣,也可以按照规范画出案例的各种图。但面对实际项目,需要结合软件开发过程时,学生却很难利用UML进行综合分析和设计。

5)教学案例的选取不当。

在教学过程中,一般采用循序渐进的教学方法,将知识和案例有机结合。在现有的教学过程中,每章节的教学案例常为了方便学生对本次课程知识的理解,选用的案例虽然能为知识点很好地服务,但对综合应用不起作用,学生在宏观上不能很好地把握各个知识点的作用和知识点之间的整合。

6)教师实践能力的缺乏。

该课程实践性强,要求专业教师不仅要具备丰富的理论知识,而且要具有扎实熟练的实际操作技能和软件开发经验。而目前从事UML教学的教师大多偏重理论知识,缺乏实践经验睇,影响了课程的教学质量。

3 解决问题的对策

针对“面向对象技术与UML”课程教学中存在的问题以及学生在学习过程中的思维规律,笔者结合自己在教学过程中的总结和积累以及教学实践中的一些方法,从课程设置、教学环节、教学内容、实践教学、教学方法、教师素养提升方面进行教学探讨,让学生对该课程有非常清晰的认识,能熟练掌握“面向对象技术和UML”建模方法,达到将其应用于系统分析与设计实践的目的。

3.1重新调整课程设置

在课程设置上,合理安排“面向对象技术与UML”的先行课程,有利于学生对该课程知识的理解和吸收。例如学生需要掌握数据库、面向对象程序设计语言、软件工程和计算机网络等相关专业课程,要求学生能够站在软件开发的总体框架上进行把握。学习过程本身就是一个螺旋上升的过程,所以要求各相关课程的主讲教师应作好课程的前后衔接,前驱课程对后续课程的讲解起到铺垫和辅助理解的作用,后续课程的讲解对前驱课程起到加深理解和综合应用的作用。

3.2教学环节的安排

该课程的教学主要包括课堂教学、上机实践和课程设计3个环节。实践教学贯穿于课堂教学、上机实践、课程设计多个教学环节,同时要避免理论教学与实践教学相脱离。

3.3教学内容的组织

该课程具有抽象、涵盖知识面广、实战性强的特点,决定了在UML课程教学内容的组织上分为UML,的知识准备、UML建模实践、过程指导与实现3大模块,如图1所示。

知识准备包括面向对象基础知识、UML简介和UML建模工具介绍;UML建模实践分为需求建模、静态建模、动态建模、进程建模、物理建模,分别对应UML,的5种视图来构成反映软件各个方面的完整UML,模型;过程指导与实现是将UML建模与统一开发过程(RLTP)相结合,用面向对象的软件开发过程进行UML建模指导,以及使用双向工程来实现系统模型和代码之间的映射。

3.3.1正确处理好面向对象技术与UML的关系,作好知识准备

面向对象技术与UML,是相辅相成的。UML是面向对象的建模语言,面向对象基础知识对于后期的UML,知识的学习是至关重要的,在学习过程中处处离不开面向对象的思想;同时,面向对象的思想通过UML图来进行更好地可视化展示。因此,UML的学习与面向对象思想、面向对象软件工程、面向对象编程语言是分不开的,面向对象技术贯穿于UML讲课的全过程。

3.3.2UML建模实践的学习路线

UML建模实践按照项目开发流程进行UML知识单元的组织。以统一建模的5个核心工作流(包括需求阶段、分析阶段、设计阶段、实现阶段和测试阶段)为时间序列来安排学习线路。该路线贯穿于UML语言纵览、用例模型(用例图)、概念模型(类图)、行为模型(序列图、协作图、状态图、活动图)、分组机制(包图)和实现模型(组件图和部署图),以及UML 2.0中新增的知识。

3.3.3引入RUP进行过程指导,利用双向工程进行模型和代码的映射

过程指导与实现是以RUP过程为主线,在软件过程中的各个阶段讲解具体的分析、设计原理和技术,并不断利用UML建模工具给出各个阶段的成果。学生在看到这些成果时,会有“成功感”,并且用一个完整的案例贯穿整个课程,对案例进行增量式开发的过程中讲解UML中各种图的应用。课程后期,学习使用Rose工具进行系统模型和实现代码的自动转换来实现双向工程,达到软件分析设计与软件编码实现的对应统一。

3.4实践教学

实践教学主要体现在以Rational Rose 2003为代表的UML建模工具的使用以及UML在软件开发中的应用两个方面。

在UML课堂教学中,使用Rose工具对所讲知识进行当堂演示、操作,采用探索式教学方法,带领学生现场探索软件的各种重要功能,总结画图的重点和难点,强化新知识和实践技能。在实践教学中,充分发挥上机实践与课程设计的作用,尤其将RUP工作流引入到实践教学环节,实现从不断分析和改进系统的渐进过程中,从获得阶段性成果到获得最终的完整软件系统(包括UML文档和程序)的过程中,培养学生的工程能力和实践应用能力。

3.5教学方法的改进

“面向对象技术与UML”课程的学习,需要学生有持续的兴趣驱动。对抽象概念、理论及模型的学习,同时也需要借助具体化的实例来配合抽象的理论加深学生对课程知识的理解,提升实际知识的运用能力。在教学方法上主要采用以下两种方式。

3,5,1采用合适的案例教学

通过合适的案例不仅能帮助学生深入理解和掌握案例本身所反映的基本原理,而且能让学生将理论学习和实际问题紧密结合起来,进而提高分析解决问题的能力、实践能力及创新能力,达到事半功倍的教学效果。

UML案例的设计既要结合所要讲解的知识点,又要符合学生的特点和水平,还要结合UML课程本身特点,符合规范和标准。

“面向对象技术与UML”课程的案例选择主要遵循以下几个原则:

1)实用性:列举现实生活中遇到或参与过的实际问题,达到理论联系实际,促进教学的目的。

例如,ATM机案例或学生选课案例,不论是学习用例图进行需求分析,还是学习活动图进行操作流程分析,都比较容易理解。

2)从简到难,循序渐进:在UML课程初期的教学中应采用小的、简单的案例;在课程后期应采用具有一定难度、深度和综合性的案例,这样可以吸引学生对案例进行反复琢磨、推敲,激励学生系统地研究、分析,加深对难点、重点问题的认识和掌握,从而取得较好的整体教学效果。

3)综合性:好的案例应该覆盖多个知识点,可以提高学生综合应用知识的能力,达到整合知识的目的。在课程初期讲授学生身边的案例进行具体需求分析,并在后续的课程中始终基于该需求层层推进,从分析、设计到实现,从类模型、状态模型到交互模型和实现模型,使学生在整个课程的进程中始终以关注该案例为主,避免各个抽象概念、理论以及模型分别学习所导致的知识点上的“断裂感”。例如,ATM机案例的讲解可以贯穿到UML多种图,如用例图、类图、时序图、活动图、组件图、部署图。

4)设计无唯一性:对于软件分析来说,没有绝对的正确和错误,只有设计是否合理,所以同一案例题目可以反复使用,但关注的知识点不同,解决方法不一样,画出的UML图也就不一样。所以在-分析系统过程中,要鼓励学生开放思想,发挥能动性,培养学生的创新能力。例如分析图书管理系统的需求建立用例图时,分析的粒度不一样,得到的用例大小不同;分析的角度不同,得到的用例之间的关系不同;用例之间的关系不同,最终的代码实现也就不同。图2所示是针对图书管理系统实现的两种不同设计的用例图。

3.5.2将UML与面向对象编程语言完美结合

将面向对象编程语言和UML图结合进行讲解,来完成软件工程中的分析设计与具体编码实现的统一。在UML课程中,将部分案例结合C++代码或JAVA代码进行模型映射,实现双向工程。如图3所示的“公司一员工类关联图”中的关联及关联上的属性,可以对应以下具体的JAVA类代码。

还可将多个UML图联合起来展示更为复杂的系统结构。例如,图4所示是1个类图和多个顺序图联合表达面向对象的多态性,其对应c++中的具体类及成员函数代码如下所示。

UML建模是通过将用户的业务需求映射为代码,保证代码满足这些需求,并能方便地回溯需求的过程。通过这种方式能将抽象的知识转化为具体的体现,更利于学生的理解,更好地体现UML的实际应用。

3.6教师专业素养的提升

教师专业素养的提升对于提高“面向对象技术与UML”课程的教学质量和教学效果是非常重要的,通过以下途径可以提高教师的理论水平和实践能力。

1)教师在教学过程中,要不断地摸索和改革教学模式,同时参与课程研讨,吸收其他好教师的教学经验和方法。

2)教师在教学之余应深入软件企业参与项目实践,提高个人的专业素养,增加实践经验,练就与时俱进的教学水平。

3)教师应积极参与与课程相关的科学研究,如UML形式化、UML模型检测等,达到教学与科研相辅相成的目的,加深对所教授知识的理解,拓宽思路,加快教师自身知识更新的步伐。

4)邀请企业中经验丰富的项目开发人员进入课堂讲学或进行指导,吸纳既懂理论又有实践经验的优秀的复合型人才,充实UML教师队伍。

4 结语

“面向对象技术与UML”课程是一门知识更新和发展很快的课程,业界的许多新方法新技术在不断涌现,因此该课程的教学方式也需要与时俱进。以上对该课程的教学探讨来源于实际教学工作中所得出的一些经验性的总结,这些方法已在课程内进行了具体的实践,收到了较好的效果。