《面向对象分析与设计UML》的课堂教学新模式的研究

2015-07-01 09:45罗曦
信息化建设 2015年5期
关键词:设计模式面向对象案例

罗曦

摘要:面向对象分析与设计是一门研究和掌握使用面向对象技术进行软件开发的专业课程,是软件工程专业的必修课程,在专业课中占据重要位置。这是一门抽象性很强的课程,如何将抽象的建模理论为学生所接受是该课程讲授过程的重点。本文从高等院校面向对象分析与设计的课程特点出发,在实际教学中引入了“讲授—案例—互动—实践—考评”五段课堂教学新模式,在教学实践活动中综合运用多种教学方法和手段,希望能提高学生的面向对象系统分析与设计能力及面向对象软件开发能力,且帮助培养学生的创新能力。

1.引言

面向对象分析与设计方法学,代替传统的面向过程的结构化分析与设计方法,已逐渐成为现代软件工程领域中的主流方法。特别是随着90年代末统一建模语言UML的广泛应用,结合UML的面向对象分析与设计方法在国内外学术界和产业界普遍受到重视,成为软件工程三个要素之一。

面向对象分析与设计是软件工程专业开设的一门重要的专业基础课程。该课程主要分为UML基础,面向对象的设计原则和面向对象的设计模式。而统一建模语言UML贯穿于软件开发过程的不同阶段,为软件开发人员建立整个系统的模型 告诉开发人员做什么和怎么做。在软件开发的不同阶段的侧重点又有不同:在需求分析阶段,系统分析师可以用UML来描述用户的业务模型,从而给系统设计师做进一步的设计。在系统设计阶段,系统架构师或系统设计师可以用UML来描述架构模型以便让程序设计师进行实现设计,在详细设计阶段程序设计师可以用UML来描述具体对象模型给编程者来具体实现。由此可以看出UML是用来清晰地描述模型的,它的作用是将计算机软件开发技术和面向对象的设计思想联合起来,对软件生产工业产生了极大的影响。因此,统一建模语言UML课程的重要性显而易见。面向对象设计原则是设计模式的灵魂,它描述了对象设计和职责分配的基本原则。面向对象设计模式是在面向对象设计中针对重复发生的问题的描述和解决办法的统称。综上所述,该课程的主要内容涵盖了软件开发过程中的各个阶段,以及面向对象设计原则和处理常见问题的方法,对软件工程专业的学生是极其重要的。

2.“讲授—案例—互动—实践—考评”五段课堂教学新模式

该教学模式通过“讲授”让学生系统掌握整个知识体系,运用“案例”激起好奇心和引发应用和创新的动力,引导学生自主学习“扩展”知识面和建构自己的新知识,在项目“实践”中综合应用强化创造,最后通过综合“考评”合理评定出学生的成绩。加强工程化的教学内容建设,在课堂教学系统地传授知识的基础上,注重工程性的课程案例和循序渐进的课程项目实践的有机结合,为学生自主性和研究性的扩展学习搭建优良的网络教学环境。

1)“系统讲授”让学生系统地掌握整个知识体系。教学内容强调工程化,适应软件开发技术发展快的特点,不断跟踪国际最新标准和最新技术,及时更新教学内容,反映基于构件、模型驱动和面向服务等现代软件开发技术的最新发展趋势。课堂教学采用启发式教学,指导学生阅读经典学术论文并进行综述、评介和讨论,撰写读书笔记,培养学生阅读、概括、评价、撰写和表达等基本科研能力。

2)“案例教学”让学生置身于模拟的真实环境中,学习如何进行具体实践和问题解决,引发学生研究性学习和创新的动力。案例分为基础-扩展-提高等3个阶段。基础阶段针对UML和OOAD方法等基本内容,着重于单项练习和简单系统设计;扩展阶段着重于架构设计和设计模式、框架设计和复用等现代技术,将基础阶段的简单系统扩展为基于构件和框架复用、支持持久框架的Web系统;提高阶段则结合专题讲座,了解最新技术发展趋势。

3)“网络加自主的互动方式” 创造多元化的教学环境,将课堂上的教学与课堂外的师生互动无缝的进行集成。当今互联网环境为我们提供了便捷、丰富的交互手段,借助其以整合不同的教学要素来提升整体的教学效果,这也符合以学生为中心的教学理念。基于以上的认识,在教学过程中,可以依托网络教学平台提供丰富的互动方式,在网络上共享学习资源、在线讨论、即时沟通,达到了充分调动学生学习热情的目的。在交互的过程中,通过开放性的问题驱动学生自主选择感兴趣的方向做深入的学习和研究,充分地释放学生的个性和创造力。整体而言,课下教学组织在网络加自主的互动方式支持下有力的支持并拓展了传统的课堂教学,不仅对教学效果有明显的提升,而且对培养学生的主动性、协作能力乃至钻研精神和创新意识都有着潜在的不可忽视的帮助。

4) “项目实践”培养学生运用知识、解决问题和团作协作的能力。学生参照课程案例、文档模板、实践指南和参考资料,结合有助教指导的课内上机、课外自由上机和有助教在线指导的网上辅导教室等多种教学手段,以3-5人的小组为单位的团队方式完成一个课程项目,项目题目和需求是在教师指导下由学生自主确定,以鼓励创新。项目进度和课堂教学及课程案例基本同步,循序渐进。

5)“综合考评”从知识、创新、应用等多方面进行评价,根据每节课、每次作业、项目的每阶段评审和考试来综合考核成绩。成绩一般由课堂表现、每周作业、读书笔记、项目阶段审核和项目答辩、期末考试等部分组成。

本课程充分利用信息技术,课堂教学采用多媒体信息技术手段,基于Web的网络教学平台提供论坛、答疑、作业、问卷调查等课程互动功能,网上辅导可提供无时空限制的即时学习、小组讨论和辅导帮助等功能。

课堂教学实施方面,研究启发式、交互式等多种形式的教学方式。建立网络教学平台,同学生充分沟通,不断学习、改革和实践。摈弃了过去只注重书本内容的教授,引进了实际工作的案例。大量的案例分析,促使学生从实际出发,从现实的角度看待问题、分析问题。对项目工程的亲身实践,使得学生把所学转化为所用,并在所用中不断充实。

3.教学内容顺序及对应的学时安排如表1

除本课程的课程项目实践外,还可鼓励学生参加其他实践活动,如大学生学生创新项目的申报,可进一步强化5段式教学新模式中的 “实践”,培养学生解决实际问题的能力和创新能力。

4.课程的重点、难点及解决思路

本课程的设计符合UML最新国际标准,覆盖了国际软件工程知识体系的相关知识点,分析和设计并重,原理和案例兼顾。课程内容的重点主要有UML可视化建模技术、领域建模和面向对象系统分析方法、面向对象系统设计方法、设计模式、框架设计和复用等方面。课程内容的难点主要有对UML的深入理解和运用、领域对象识别和关系分析、架构因素分析和架构设计、分析类与设计元素的区别和联系、设计模式的深入理解和运用等。解决办法主要是通过分阶段的综合性课程案例、循序渐进的工程性课程项目实践等加强实践性教学环节,让学生在实践中学习和领悟。 另外,本课程由于工程性和实践性很强、相关技术发展快、涉及面广,在课程体系建设、教学建设和实施等方面都存在挑战。

5.实践教学的设计思想

循序渐进、手段多样的工程性课程项目实践。学生参照课程案例、文档模板、实践指南和参考资料,结合有助教指导的课内上机、课外自由上机和有助教在线指导的网上辅导教室等多种教学手段,以3-5人的小组为单位的团队方式完成一个课程项目,鼓励创新。进度与课堂教学和课程案例基本同步,循序渐进。

进一步搭建网络教学平台,将部分学生的优秀作品在平台中展示。学生利用课外时间以团队方式完成多个实际软件项目的开发,实验进度和课堂教学基本同步。项目题目和需求是在教师指导下由学生自主确定,以鼓励创新。通过实践,学生能把所学转化为所用,并在所用中不断充实,同时也加强了软件工程规范的训练,培养了学生的团队精神和沟通能力。

6.结束语

通过本课程的教学,使学生掌握面向对象技术原理、面向对象的软件系统分析和设计方法、软件设计模式等,能结合UML和工具进行面向对象的软件系统分析和设计,并具有软件开发实践和项目组织的初步经验、创新意识、团队精神。

此外,面向对象分析与设计是一门知识更新和发展很快的课程,业界的许多新方法新技术在不断涌现,因此该课程的教学方式也需要与时俱进。因此,除了对授课模式、互动方式以及考核形式的改进之外,教师自身的专业素养的不断提升亦是至为重要的。endprint

猜你喜欢
设计模式面向对象案例
“1+1”作业设计模式的实践探索
案例4 奔跑吧,少年!
三维协同设计模式下的航天项目管理实践与展望
随机变量分布及统计案例拔高卷
交通机电工程设计模式创新探讨
面向对象的计算机网络设计软件系统的开发
面向对象的数据交换协议研究与应用
发生在你我身边的那些治超案例
面向对象Web开发编程语言的的评估方法
一个模拟案例引发的多重思考