admin 管理员组文章数量: 1087139
2024年3月28日发(作者:transfer of)
龙源期刊网
《软件设计模式》课程教学过程设计
作者:李勇军 余雨萍
来源:《教育教学论坛》2013年第04期
摘要:本文针对当前《软件设计模式》课程教学中存在的问题,提出一种教学设计方法,
并给出了一个教学案例,最后对提出的教学设计方法进行了分析。
关键词:《软件设计模式》;教学设计;教学案例
中图分类号:G642.41 文献标志码:A 文章编号:1674-9324(2013)04-0207-02
《软件设计模式》是一套多数人知晓的、经过分类编目的、被反复使用的代码设计经验的
总结。学生感觉这门课程学习起来比较困难。市场上也有一部分教材以生活中的例子或典故为
主导,授课时容易只注重细节,而很难上升到一定高度,最终学生只会简单应用,不会分析,
更不会进行合理的选择。本文主要针对我校学生特点及当前教学中存在的问题,总结出一个相
对合理的教学方法来提高教学效果。
一、教学过程设计
本课程在讲授时采用教材为《Head First设计模式》,参考教材为《实用软件设计模式教
程》、《Java与模式》、《大话设计模式》等。《软件设计模式》课程只有30(22+8)学
时,要对本课程中各个具体的设计模式都一一介绍是不现实,也是不可能的。在制定教学大纲
时,充分考虑到了学时、办学定位、学生特点等方面,选取了其中12个设计模式作为课堂教
学的内容。选取标准主要为:①在以后工作中常用的模式。②在模式分类中具有典型代表的模
式。结合传统的教学方法,在讲授本课程时使用了以下教学过程设计。
1.给出场景。即提出一个与本次课程要讲授的设计模式相关的设计问题。这一步选取场景
时要注意,此场景必须是学生们比较感兴趣的、熟悉的,且学生能够依据此场景给出一个合理
的设计方案。
2.场景分析。引导学生思考,给出此场景的设计方案,针对其中存在的问题,依据设计原
则进行一步一步的“优化”,最后得出良好的设计方案。
3.讲授该设计模式中体现的设计原则。由于每个设计模式中体现的设计原则不同,并且同
一个设计原则会在不同的设计模式中体现,所以此处的讲解关键在于设计原则的内涵及其使
用。
4.引出欲讲授的设计模式的定义、意图、结构图、适用场景、优缺点、效果分析等,并用
代码演示第一步提出的场景。
龙源期刊网
5.课堂练习。针对刚才的讲解,再给出1~3个不同的场景,让学生当堂给出其设计方
案。
6.布置作业。此作业为课外作业,要求学生给出完整的设计及代码。
二、教学案例
观察者模式(又称发布/订阅模式)是软件设计模式的一种。观察者模式定义了对象间的
一对多的依赖关系,当一方的对象改变状态时,所有的依赖者都会被通知并自动被更新。此种
模式通常被用来实现事件处理系统。下面以该设计模式的教学为例,阐述前面的教学过程设
计。
1.提出场景——报纸订阅系统。报社出版报纸,客户可随时向报社订阅或取消订阅报纸,
即只要报社在运营,就会一直有人(或单位)向它们订阅或取消订阅报纸。当报社有新报纸
时,就会给处于订阅状态的客户送去。如果你取消了订阅,则将收不到新的报纸。
2.场景分析。引导学生一起分析得出,该场景中主要涉及到的“角色”有:报社、报纸、客
户(包括人或单位)。行为方式有:(报社)出版(报纸)、(客户)订阅(报纸)、(客
户)取消订阅(报纸)。根据课堂提问及学生上课反馈情况给出其初始设计方案,如图1所
示:
在初始设计方案的基础上,引导学生进一步分析,当报社有新的报纸出现时,会送到客户
手中,说明客户是受到报社的影响的;并且客户向报社订阅或取消订阅报纸,其数据应放在报
社方,即报社方要清楚当有报纸出版时,应发送给谁。为使此设计方案更有弹性,即当出现新
的客户向报社订阅报纸或客户欲向新的报社申请订阅时,我们不影响到对方且不用修改代码,
这就是说要“针对抽象编程”,如何完善已有的设计方案?也就是说我们要给报社及客户提供一
个“抽象”概念。具体见图2:
3.总结模式要点。观察者定义了对象之间一对多的关系,主题用一个共同的接口来更新观
察者,观察者和被观察者之间用松耦合方式结合,可观察者不知道观察者的细节,只知道观察
者实现了观察者接口。使用此模式,可以从可观察者推或者拉数据,有多个观察者时,不可以
依赖特定的通知次序。
4.体现的设计原则。观察者设计模式中出现体现的设计原则中“针对抽象编程”、“多用组
合,少用继承”、“里氏替换原则”、“为交互对象之间的松耦合而努力”等。在课堂上对前面未
讲过的设计原则再进行详述。
5.课堂练习。气象站(教材上的例子):关键是抽象出主题和观察者;图形显示系统。
6.作业布置——班会通知。设计模式:班长临时通知大家一件事,辅导员有事,班会取
消。当大家听到这个消息的时候,不再去教室开会,而是各忙各的事。
龙源期刊网
三、教学分析
从学生提交的作业、课下学生反馈及期末考核等多方面来看,本课程的教学设计基本上能
达到预期的目标。但存在问题有:学生水平参差不齐,有一部分学生并没有完全理解设计模式
的精髓,只会简单地去“套用”。如观察者模式中,个别学生并没有完全明白主题和观察者之间
的关系,即观察者的状态是随着主题状态的改变而改变的。所以作业中有的同学只让“班长”充
当观察者,而有的同学仅让“班长”充当主题,这都是不正确的。作业中的“班长”具有双重身
份,充当“辅导员”的观察者,而又是班内其他同学的“主题”。
参考文献:
[1]徐宏喆,侯迪.实用软件设计模式教程[M].北京:清华大学出版社,2009.
[2]黄洪.PBL的改进及在“软件设计模式”课程教学中的应用研究[J].计算机教育,2008,
(8).
作者简介:李勇军(1983-),女,河南驻马店人,助教,硕士,主要研究方向为服务计
算、服务组合等;余雨萍(1982-),男,河南驻马店人,助教,硕士,主要研究方向网络安
全、可视化等。
版权声明:本文标题:《软件设计模式》课程教学过程设计 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1711596523a601595.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论