软件设计模式课程教学设计(精选8篇)
软件设计模式课程教学设计 篇1
软件设计模式课程教学设计
软件设计模式课程教学设计
***
(*****************)
摘要:本文结合教学实践从学习需要分析、学习者分析、教学目标的设计、教学策略的设计、教学媒体的设计、教学过程的设计、教学设计的评价这六个方面对操作系统课程的教学模式进行了探讨
关键词:教学设计模式;双主模式;教学策略 中图分类号:G423.1
Instructional design for software design patterns Abstract:Combining with teaching practice from the learning needs analysis, learner analysis, design of teaching goal, teaching strategy design, design of teaching media, teaching process design and evaluation of the six aspects of teaching design of operating system course teaching mode are discussed in this paper Key words: teaching design pattern;Double main mode;Teaching strategies 0引言
近年来,以计算机技术为支撑的信息产业迅速发展,以及全球化浪潮所导致的信息技术人才新需求,对软件工程教育产生了巨大的影响。在软件产品、项目的研发过程中,不仅需要大量的初、中级人才来完成程序编写工作,更需要能完成软件设计的高级人才,目前总体来看,高校对该类人才的培养还远远未达到产业界的实际要求,没有真正把软件开发原理中的思维和内涵传授给学生,更多的时候还处在传授计算机软件开发技术层面,一定程度上制约了学生激发自己学习的潜力。
在信息技术的推动下,网络教育以其独特的魅力逐渐成为一种重要的教育手段。在网上开展教学,使得网络课程的设计和开发成为必然,软件设计模式与其结合,才能提高教学效果和教学效率,才能更充分的发挥网络多媒体技术的特点与优势,更有效的支持学生富有创造性的个性化学习。
设计模式作为软件设计研究领域新的热点,随着其理论成果的不断取得一级在软件与设计中所起到的举足轻重的作用,受到了软件产业界广泛一致认同,特别是设计模式更多地关注了程序开发基本原理,而并非一味追求所谓技术创新,通过学习这些基本原理,有助于摆脱定式思维的桎梏,加深对软件开发的理解,该课程的总体安排、教学方法、理论与实践课的内容以及安排甚至教材的选定都需要进一步的探索和研究。
软件设计模式课程教学设计 教学设计的一般模式
教学设计,就是为了达到一定的教学目的,对教什么和怎么教进行设计。教学设计的模式既是教学设计理论的具体化,也是教学设计实践活动的升华1。从教学设计的角度看,构成教学设计模式的基本要素主要有四个,即教学对象、教学目标、教学策略、教学评价。而组成教学设计模式的因素有以下几个方面:(1)学习需要分析,包括学习需求分析、学习者分析(2)教学目标的设计;(3)教学策略的设计;(4)教学媒体的设计;(5)教学过程的设计;(6)教学设计的评价.
2软件设计模式课程教学设计探析
2.1 学习需要分析:
学习需要的核心是发现问题,而不是解决问题的方法。包括三方面的工作:一是通过调查研究,分析教学中是否存在要解决的问题;二是分析问题存在的性质,以判断教学系统设计是不是解决该问题的合适途径;三是分析现有资源和约束条件,以论证解决该问题的可能性。
2.1.1 学习需求分析
设计模式,它描述了在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。所有结构良好的面向对象软件体系架构中都包含了许多设计模式,特别是在J2EE的架构中使用了大量的设计模式,使系统架构精巧,简洁和易于理解,同时也给我们提供了学习典范。与之同时设计模式被认为是的软件复用的目标2。
本课程主要介绍软件复用基本概念,设计模式的原则,典型的GOF的设计模式,并列举的大量的可运行代码,结合实例使课程生动。通过讲授,使学生理解设计模式的概念、作用以及在软件开发中的应用,掌握设计模式使用原则。同时通过使用复用技术,改造代码,从而使用合适的设计模式。
2.1.2学习者分析:
每个学习者都有各自不同的先天素质和后天通过学习得到的素质,这就造成了学习者与学习者之间学习现状和学习目标的不同。对学习者进行分析就是要弄
软件设计模式课程教学设计
清楚他们具有什么样的先天素质、已习得哪些后天的能力及学习需要是什么,因此在对学习者进行分析时就包括对其一般个性心理特征进行分析、对其学习风格进行分析、对其已习得的能力的分析和学习需要进行分析四个方面。
要使分析结果客观真实,相应的调查问卷的设计是关键,笔者在实践工作中设计并采用了“一般个性心理特征调查问卷”、“学习风格分析调查问卷”、“习得的能力调查问卷”等来进行分析;根据设计的调查问卷首先对学生进行分析,为制定教学策略方案寻找相应的依据。2.2 教学目标的设计:
通过这门课程的学习,为计算机科学与技术专业学生,传授软件设计与方法的基础知识,培养科学思维和软件开发的基本能力。了解软件设计一般过程和掌握软件设计的原则,加强学生的面向对象设计开发思想、理解设计模式的概念、掌握常用的设计模式的使用方法,提高学生的软件系统架构设计能力。树立学生正确的软件设计思想,基本具备创建可维护的、灵活的和清晰的应用程序的能力。
我们对学习目标的描述应力求做到精确化,避免传统描述中存在的模糊性;我在进行相应目标描述时,采用了学习结果的分类方法,对每一部分的教学目标的成分进行分析时,都分别从学习者可以习得的智慧技能、言语信息技能、认知策略、动作技能和态度情感等五个大的方面去进行分析;在具体描述时对对象、行为、条件和标准四方面进行描述,这样就基本上做到了对教学目标描述的精确化,为后面的教学评价提出了具体的标准。
进行本课程学习的学生,也有基础较好,其中也有一部分学生需要系统扎实的学习理论知识,以便于进一步深造,同时也注重实践活动;另一部分学生则面临将走上工作岗位的压力,根据社会对人才的需要要求提高理论知识和应用能力,多学习一些基本技能,提高操作能力;对于学习的目的比较明确,希望通过学习提高自己实际的应用能力.即将走向工作岗位的同学具有较强的自学能力,希望在学习上改变过去那种死记硬背的作法,多理论联系实际、所学知识能对今后实际应用工作有较强的指导作用.即学以致用,而不是纯粹的理论学习.我认为,在教学过程中,应该根据不同班级,采取不同的策略,对于基础较好的学生,使学生在系统掌握基本理论的基础上,提高实际应用能力.对于即将走上工作岗位的学生,侧重于以学生为中心的教学模式,以学生在掌握基本理论、基本分析方法的基础上,注重实际分析问题、解决问题能力的培养. 对所有学生都应注重实际学习效果.对每一堂课的教学活动都应该具有实效,能解决学习上碰到的问题.
软件设计模式课程教学设计
2.3 教学策略的设计
教学策略的设计,是有效地解决 “如何教”、“如何学”的问题.只有采取了相应的教学策略,才能完成预期的教学目标.在现代教学设计研究领域,已形成两大流派:一是以“教”为中心的教学设计理论;二是以 “学”为中心的教学设计理论.以 “教”为中心的教学设计理论的研究重点放在将知识和技能加以分解,使之符合一定的加工顺序,以及以什么样的媒体形式呈现才会有利于信息加工等方面.这种教学设计只关注知识的传递,教师被看作是知识的主要来源.
针对以上情况的分析,我认为应该从教学形式、教学方法、信息呈现方式和程序四个方面进行了规划设计;在教学形式上,主要采取集体教学与小组合作学习相结合的方式,也鼓励学习者根据自身情况进行些个别化学习;在教学方法上,采用了讲授法、讨论法、演示法、设问法等多种方法;在信息的传递方式上,采用了传统与现代媒体来呈现信息的方式;课程教学的基本程序是:问题——相关理论——实践——评价。2.4 教学媒体的设计
学生获取知识不再是单纯从书本上、教师的课堂讲解中,而是已经可以立体化,全方位的从学习环境中取得.学习环境是学习资源和人际关系的组合.学习资源包括学习材料、帮助学习者学习的认知工具、学习空间等等.我们提供了便于自学的文字材料、电子教案及多媒体课件,从媒体的有机组合上来实现教学过程的优化.便于学生利用计算机网络进行远距离交互式学习.教师不再是学习材料的主要来源.教师通过人际交往来影响和引导学生管理自己的学习活动,并且应以学生的身份参与到学生的学习活动中去.教师不再是个体学习的辅导者,而是群体学习的参与者。针对以上情况,我认为现行的教学模式,从网站下载课件和源码的方式固化,不方便分享,随着社会化媒体的兴起,我认为应该充分利用现有资源对教学媒体的资源进行扩充,比如,在现有条件下部署一个FTP,供校内学生进行资源共享,可上传和下载,对于校外学生,则应建立具有分享属性的网盘文件来共享文件,比如百度网盘、金山快盘等都是非常不错的配比。2.5 教学过程的设计
软件设计模式的教学在精心备课、内容求新的基础上,采用启发式教学的方法,力求教学质量的全面提高.在教学中,根据现有可参考设计思想做如下教学策略3:
软件设计模式课程教学设计
2.5.1 告诉学习者学习目标、学习重点、难点.
教学开始时,明确告诉学习者学习目标,并使其了解当目标达到后,将学会什么,从而激发学习者对学习的期望.这不仅能提高学习动机,而且能起到“先行组织者”的作用.告诉学习者学习重点、难点,引起注意.以唤起和控制学习者注意力.
2.5.2 新课导人.
在学习新内容前,指出所需先决知识和技能,提出相关问题,以此刺激回忆起学过的有关知识和技能.还应使学习者充分利用原有的认知。
2.5.3 课堂教学.
课堂教学采用了讲解、提问、小组活动、讨论相结合的形式.在教学中采取的策略是先进行教师讲解,通过ppt、动画、现场操作方式,把教学涉及的新信息、新内容较快地系统地向较多的学生传输.但如果仅是教师讲解这一种教学形式,教师就不能及时获得学生的反馈信息.为改变这一状况,在教学过程中,穿插了课堂提问及时了解学生的情况,要按学生的反应做出必要的说明和进一步的提问. 根据学生的具体情况,进行不同的活动安排.对于普通专科班的教学安排是采取讲解、提问、小组讨论方式,还增加了专门 的讨论课、答疑课,使教学活动更加生动活泼.对于有工作压力的同学,重点放在教学辅导课上,根据学生的需求,选用以讨论式为主,穿插讲解、提问方式,能起到事半功倍 的效果 . 同时提供丰富的教学资源,如参考教材、网络资源、学习指导、电子教案等供学生在课外学习.
2.5.4 教学后记.
每堂课后,认真听取学生的意见和建议,根据课堂情况和教学效果,记录教学后记.及时对教案和教学方法进行研究和改进.这一反馈工作可以使下一轮教学更加优化
2.5.5 加强实践教学注重提高学生的实践能力.
实验教学是培养学生实践能力的重要环节,精心设计实验,引导实验过程.对学生实验的指导特别注意调动学生的积极性,引导他们独立思考、独立
软件设计模式课程教学设计
完成 ;加强实验过程与结果的监督.提高实验教学质量.机房实验室是学生创新能力和动手的实践场所,通过实验培养学生创新能力和实践能力.改变传统的实验教学模式,拓宽实验教学内容.按照实验教学 “三步骤”来提高学生技能.这三步是:课程实验实行 “讲解扫清障碍、指导落实过程、考核强化结果”.实验前讲解实验内容、过程和要求,补充必要的知识 ;在实验过程中检查学生完成规定的实验项目,督促学生实际动手,并指对结果进行分析;实验考核以过程考核为主,综合考察学生试验的态度、试验技能、试验完成情况、试验报告质量等.增设设计型实验:这类实验以项目形式提出实验要求和具体实验结果,要求学生通过查资料或自学方式结合所学知识,来完成实验项目.旨在培养学生的综合应用能力.
2.6教学设计的评价
教学评价主要包括两大部分,一是传统的总结性评价,二是需要在教学过程中不断进行的形成性评价4;总结性评价一方面是对学习者的学习结果进行检测,另一方面也可发现一些教学方面的问题,从而在下一届的教学中予以改进;形成性评价是在教学的过程中为使教学效果更好而不断进行的评价,它是教师为使学习者尽可能在教学过程中学得更好而需不断进行的工作之一;从某种意义上讲,形成性评价比总结性评价更重要,因此我认为在教学过程中特别注意形成性评价方面的工作,具体针对“教学设计概述”、“学习者分析”、“学习内容分析”、“教学目标的阐明”、“教学策略的制定”、“教学实践活动”等几个教学环节进行了形成性评价,诊断出现的问题,然后在下一阶段的教学中给予解决。
3:结论
总之,在软件设计模式这门课程的教学中,注意运用了教学设计的基本原理和操作程序,特别注意让学生理解现代科学教育思想(大教育观)、帮助学生掌握教学设计基础理论和基本技术、引导学生理论联系实际,依据现代教育思想、运用现代教学设计理论和技术对具体的教学活动进行设计,形成成果;在教学方法上注意讲授、组织小组讨论、指导见习和实践活动相结合,对相关问题进行分析、指导教学方案、学习方案及课件的设计、指导研究论文的撰写和课件的制作,从而使学生真正的有所收获和学习的成果。通过对这门课程的学习,学生们不仅学到相关的理论,而且更重要的是他们学会了思考、分析、研究相关教学问题,学会了对相关教学问题进行解决的方法——设计教学策略方案。学生变被动学习为主动学习,达到了原定的教学目标,他们的实践作品(上机作业等)也收集在软件设计模式课程教学设计
一起,形成了成果。当然由于是集体教学,面对的是几十个学生,一套方案总是不能兼顾所有的学生,故还存在个别学生不能主动参与各项教学活动的情况,这将在今后的教学方案中设法解决。
软件设计模式课程教学设计
[参考文献]
[1] 罗伯特·加涅主编.教学设计原理.华东师范大学出版社,2000.[2] 《软件设计--从程序设计到体系结构》 Eric J.Braude著; 李仁发、王岢、任小西译,电子工业出版社。
[3] 李克东,谢幼如著.多媒体组合教学设计.科学出版社,1994.[4] 何克抗.教学设计理论的新发展.中国电化教育.1998.(10)、(11)、(12).[5] 罗伯特·加涅主编.学习的条件.华东师范大学出版社,2000.[6 《设计模式:可复用面向对象软件的基础》,机械工业出版社,Erich Gamma 等著,2000。
[7] 张文兰,李文光.对我国教学设计理论与实践的思考.2001年教育技术论坛论文集.
软件设计模式课程教学设计 篇2
关键词:《软件设计模式》,教学设计,教学案例
《软件设计模式》是一套多数人知晓的、经过分类编目的、被反复使用的代码设计经验的总结。学生感觉这门课程学习起来比较困难。市场上也有一部分教材以生活中的例子或典故为主导, 授课时容易只注重细节, 而很难上升到一定高度, 最终学生只会简单应用, 不会分析, 更不会进行合理的选择。本文主要针对我校学生特点及当前教学中存在的问题, 总结出一个相对合理的教学方法来提高教学效果。
一、教学过程设计
本课程在讲授时采用教材为《Head First设计模式》, 参考教材为《实用软件设计模式教程》、《Java与模式》、《大话设计模式》等。《软件设计模式》课程只有30 (22+8) 学时, 要对本课程中各个具体的设计模式都一一介绍是不现实, 也是不可能的。在制定教学大纲时, 充分考虑到了学时、办学定位、学生特点等方面, 选取了其中12个设计模式作为课堂教学的内容。选取标准主要为: (1) 在以后工作中常用的模式。 (2) 在模式分类中具有典型代表的模式。结合传统的教学方法, 在讲授本课程时使用了以下教学过程设计。
1. 给出场景。即提出一个与本次课程要讲授的设计模式相关的设计问题。这一步选取场景时要注意, 此场景必须是学生们比较感兴趣的、熟悉的, 且学生能够依据此场景给出一个合理的设计方案。
2. 场景分析。引导学生思考, 给出此场景的设计方案, 针对其中存在的问题, 依据设计原则进行一步一步的“优化”, 最后得出良好的设计方案。
3. 讲授该设计模式中体现的设计原则。由于每个设计模式中体现的设计原则不同, 并且同一个设计原则会在不同的设计模式中体现, 所以此处的讲解关键在于设计原则的内涵及其使用。
4. 引出欲讲授的设计模式的定义、意图、结构图、适用场景、优缺点、效果分析等, 并用代码演示第一步提出的场景。
5. 课堂练习。针对刚才的讲解, 再给出1~3个不同的场景, 让学生当堂给出其设计方案。
6. 布置作业。此作业为课外作业, 要求学生给出完整的设计及代码。
二、教学案例
观察者模式 (又称发布/订阅模式) 是软件设计模式的一种。观察者模式定义了对象间的一对多的依赖关系, 当一方的对象改变状态时, 所有的依赖者都会被通知并自动被更新。此种模式通常被用来实现事件处理系统。下面以该设计模式的教学为例, 阐述前面的教学过程设计。
1. 提出场景——报纸订阅系统。
报社出版报纸, 客户可随时向报社订阅或取消订阅报纸, 即只要报社在运营, 就会一直有人 (或单位) 向它们订阅或取消订阅报纸。当报社有新报纸时, 就会给处于订阅状态的客户送去。如果你取消了订阅, 则将收不到新的报纸。
2. 场景分析。
引导学生一起分析得出, 该场景中主要涉及到的“角色”有:报社、报纸、客户 (包括人或单位) 。行为方式有: (报社) 出版 (报纸) 、 (客户) 订阅 (报纸) 、 (客户) 取消订阅 (报纸) 。根据课堂提问及学生上课反馈情况给出其初始设计方案, 如图1所示:
在初始设计方案的基础上, 引导学生进一步分析, 当报社有新的报纸出现时, 会送到客户手中, 说明客户是受到报社的影响的;并且客户向报社订阅或取消订阅报纸, 其数据应放在报社方, 即报社方要清楚当有报纸出版时, 应发送给谁。为使此设计方案更有弹性, 即当出现新的客户向报社订阅报纸或客户欲向新的报社申请订阅时, 我们不影响到对方且不用修改代码, 这就是说要“针对抽象编程”, 如何完善已有的设计方案?也就是说我们要给报社及客户提供一个“抽象”概念。具体见图2:
3. 总结模式要点。
观察者定义了对象之间一对多的关系, 主题用一个共同的接口来更新观察者, 观察者和被观察者之间用松耦合方式结合, 可观察者不知道观察者的细节, 只知道观察者实现了观察者接口。使用此模式, 可以从可观察者推或者拉数据, 有多个观察者时, 不可以依赖特定的通知次序。
4. 体现的设计原则。
观察者设计模式中出现体现的设计原则中“针对抽象编程”、“多用组合, 少用继承”、“里氏替换原则”、“为交互对象之间的松耦合而努力”等。在课堂上对前面未讲过的设计原则再进行详述。
5. 课堂练习。
气象站 (教材上的例子) :关键是抽象出主题和观察者;图形显示系统。
6. 作业布置——班会通知。
设计模式:班长临时通知大家一件事, 辅导员有事, 班会取消。当大家听到这个消息的时候, 不再去教室开会, 而是各忙各的事。
三、教学分析
从学生提交的作业、课下学生反馈及期末考核等多方面来看, 本课程的教学设计基本上能达到预期的目标。但存在问题有:学生水平参差不齐, 有一部分学生并没有完全理解设计模式的精髓, 只会简单地去“套用”。如观察者模式中, 个别学生并没有完全明白主题和观察者之间的关系, 即观察者的状态是随着主题状态的改变而改变的。所以作业中有的同学只让“班长”充当观察者, 而有的同学仅让“班长”充当主题, 这都是不正确的。作业中的“班长”具有双重身份, 充当“辅导员”的观察者, 而又是班内其他同学的“主题”。
参考文献
[1]徐宏喆,侯迪.实用软件设计模式教程[M].北京:清华大学出版社, 2009.
软件设计课程考核模式探索 篇3
关键词软件设计;课程考核模式;学习过程;作品答辩
中图分类号G642文献标识码A文章编号1673-9671-(2010)031-0126-01
软件设计课程是软件专业的专业必修课,也是软件开发的第一环节,在实践中起到很重要的作用。软件的设计、开发、实施、测试人员都需对软件设计知识有一定了解。因此,本门课程是软件技术专业的重点课程之一。对于本门课程的考核模式,在各校方法不一,本文以我校的实践经验入手,论证了“学习过程”加“作品答辩”的考核模式。
1“学习过程”加“作品答辩”考核模式的提出
考试是教育测验的主要形式或手段。不仅具有检测、鉴定和评价功能,而且具有教育教学的导向、反馈和激励功能。同时,考试也是促进学生全面发展,提高其素质的有效手段。对学生来说,通过考试调动学生学习数学的积极性和兴趣,促进能力的培养,使学生由知识的被动接受者成为主动参与者及积极探索者,实现对知识由“学会”转变成“会学”、进而“会用”。对教师来说,是检查教学效果、因材施教的重要手段,促使教师在进行数学教学的同时,坚持“以人为本”,培养学生应用数学知识解决实际问题的能力。新的考试模式要有良好的可操作性。考试内容要科学合理。考试方法要便于组织实施,具有实践意义。要考查学生的学习状况,督促和引导学生学习。巩固所学知识,但不能“一卷定终生”。学习的过程更能反映学生的发展变化和进步的程度,因此既要重视“结果”,也要重视“过程”,要培养学生发现、探索问题的能力和创新意识,所以要运用多种评价方式。另外,学生考试成绩的好坏,关键在于教学水平的高低,对学生学习结果的评价、检查,也是反映教师的教学效果的重要手段。考试的目的是对教师的“教”与学生的“学”的双向检测。建立新的数学考试模式遵循的原则要体现全面性、科学性、多功能、灵活性,突出专业能力和方法能力双向考核。如果考试功能存在误区,考试内容难易搭配不合理,缺乏对学生各种能力的综合考查,考试方式单一,那么就达不到进行数学测试的目的。因此,改革的指导思想是:既要重基础知识、基本技能,也要重思维、重应用,采用多种考试方式,给学生提供创造性表达的机会。不仅要让考试成为学习效果的评估,而且要充分发挥考试的促进和引导作用。调动学生及教师的积极性,要使考试真正成为教学的一部分,而不是教学围着考试转。
基于此,我校在软件设计课程中提出“学习过程”加“作品答辩”的考核模式。“学习过程”成绩包括小组“学习过程”得分和个人“学习过程”得分。小组“学习过程”得分即各项目组在学习阶段任务完成情况的分数积累,占总成绩的20%,个人“学习过程”得分,即学生平时的学习状态得分,包括日常教师对于出勤、回答问题、小组参与程度、学习态度、知识掌握程度等的分数积累,占总成绩的20%。
“作品答辩”成绩,即学生以项目组为单位完成软件设计作品一份,并据此作品进行课程答辩。教师针对作品给出得分,占各人总成绩的30%,对小组成员答辩情况和作品参与程度给出得分,占各人成绩的30%。
2实施步骤
2.1初始准备
在课程开始之初,就向学生明確本门课程的考核及教学模式,根据学生的性别比例、性格差异、学习状况将学生尽量平均分配为多个学习小组,通常学习小组的人数为4人左右。学习过程中,以小组为单位共同学习,并记录小组及个人的“学习过程”成绩。
2.2确定题目
软件设计作品题目原则上由教师指定题目,学生也可根据需要,自主命题,但需经过教师同意。题目要尽量结合实际教学,反映新技术,以取得更好的工程设计实践的训练效果。同时由于受到时间、开发环境及条件等限制,命题应从实际出发,课题的规模大小及难易程度要适中。课题也要具有一定的复杂度,通过项目激发学生的积极性与创造性,努力完成实践任务,才能达到综合应用所学知识的目的。
2.3明确设计文档的撰写规范
软件公司在软件设计阶段完成后需要提交软件设计报告文档。因此,在教学中要训练学生编写进行设计文档的编写,同时也训练学生养成严谨的作风和科学的学习态度。通过撰写软件设计报告,不仅能对设计过程有个全面的总结,而且还能够把实践内容提升到理论高度。教师要为学生提供以下资料:
1)软件设计文档撰写模板(包括可行性研究报告、软件需求说明书、概要设计说明书、详细设计说明书、数据库设计说明书);
2)PPT编写规范;
3)作品及答辩评分标准;
4)组内任务分配评分表。
2.4验收评定成绩
作品完成后各小组需提交以下材料:设计文档、答辩用PPT、小组内工作任务分配评分表。在表中,由组长列出作品中的主要技术及关键模块。并注明各模块的负责人、参与人。并根据工作量,为小组成员确定得分(此得分供教师提问时参考)。
以小组为单位进行作品的展示并接受答辩。用PPT的形式进行作品设计结果的展示,教师给出作品设计得分,同时根据每位学生的工作量及答辩情况给出个人得分。相加得到设计得分。
3实施效果
采用“学习过程”加“作品答辩”的考试模式的主要目的是提高学生综合应用所学课程知识的能力,训练和提高软件设计技能。要求学生在规定时间内完成一个规模适当的软件设计工作,在教师的指导师下以软件设计为中心,完成从需求分析、界面设计、数据库设计、模块设计、用例设计等全过程。通过此种方法可以达到取得以下效果:1)深化已学的知识,完成从理论到实践的转化。通过作品设计及答辩,进一步加深对软件工程方法和技术的了解,将软件工程的理论和知识运用于开发的实践,并在实践中逐步掌握软件工具的使用权学;2)提高分析和解决实际问题的能力。采用 “作品答辩”的考试模式,是对实际工作的一次模拟训练。通过软件设计,积累经验,同时提高分析和解决问题的能力;3)促进团队合作,培养互学意识。通过这样一种考核模式,培养学生的团队合作意识。在成绩评定时,不仅要考核各组任务完成的情况,同时要记录是否有学生调队,是否全员参与的情况。以激励学生团结合作,互为师长,使教师向学生流动的单向信息流向学生之间互相流动的多向信息流转变;4)更真实地反映学生本门课程的学习情况及知识掌握情况。
4总结
采用“学习过程”加“作品答辩”的考核模式在我校软件设计课程中取得很好的效果。不仅对学生的学习成绩有个公平公正的判断,同时对于教学的实用性也起到了指导作用。
参考文献
[1]姚策主编.基于UML的管理信息系统实训[M].北京:北京理工大学出版社,2007.
软件工程课程设计题目 篇4
1.学生学籍管理系统 要求:
1)包括基本需求:
主要对学生的学籍进行管理。学籍管理包括各种信息的录入、修改、删除等操作;此外还有对各种信息的查询,便于老师和学生查看。(其中,教师具备对学籍的录入、修改、删除等操作,学生只具备查询的权限)
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
2.学生成绩管理系统 要求:
1)包括基本需求:
对学生成绩进行综合管理,学生信息要素:学期、学号、姓名、课程名称、课程成绩。因此学生成绩管理系统的主要功能为:
学生信息管理 课程信息管理 成绩信息管理
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
3.个人通讯录管理系统 要求:
1)包括基本需求:
增加记录、删除记录、显示所有记录、查询记录、退出。通讯录记录信息包括:姓名,电话,email等。(其中,用户输入正确的用户名和密码才能看到自己的通讯录信息)
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。4.网上书店 要求:
1)包括基本需求:
购书者可以通过访问Web站点,得到图书信息。系统可以:
显示每本书的详细信息
显示购物车和顾客选购的图书信息 增加新购买的新书
对定单的修改、确认、提交等 图书销售数量的排行
(注意管理员和客户分别具备的权限)
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
5.企业办公自动化管理系统(企业客户管理)要求:
1)包括基本需求:
针对企业常用的功能设计一个普遍适用的企业办公自动化管理系统,包括考勤管理,客户管理,每天的工作管理,个人信息修改,权限管理,注销等功能。2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
6.小型商业网站管理系统 要求:
1)包括基本需求:
主要是宣传性质的网站,包括产品展示,公司简介,销售查询,销售排行,商品管理,公告管理等。(注意分配普通消费者,会员消费者和公司管理人员对该网站的权限)
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
7.ATM柜员机模拟程序 要求:
1)包括基本需求: 当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行(规则可以按照实际系统做需求):
查询余额:初始余额为10000元
ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
ATM存款:不能出现负存款。
修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
8.火车订票系统 要求:
1)包括基本需求:
可输入、添加、删除及修改列车信息,并能实现查询、订票、退票等功能。此系统还应能够打出取票通知和帐单,以保证能使每个旅客在出发的前一天凭取票通知和帐单交款取票。
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
9.超市收银系统(不考虑条码处理部分)要求:
1)包括基本需求:
接收收银台(客户端)的信息,经服务器处理后,把结果返回到收银台。即:客户端由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等,然后把信息提交服务器。由服务器从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。
另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200员,可为其发放一张会员卡,以后在该商场购物可向9折优惠。
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
10.教师工资管理系统 要求:
1)包括基本需求:
基本信息管理,考勤信息管理,加班信息管理,工资信息管理,工种工资参数设置和年终奖生成几大模块。本项目数据库设计针对不同角色的用户需求,设计了三种角色.其中包括超级管理员,系统管理员和教师用户.帐户信息
不同的登录用户有对应的用户角色,登录用户名和登录密码,用户角色针对不同的用户群,而登录名则是帐户信息全局唯一的.用户基本信息:
每个用户有对应的详细信息,包括:类别编号,类别名称,用户类型,部门编号,职称编号,级别编号,性别,地址,工作时间,出行日期,手机,家庭电话,办公室电话,政治面貌和教育程度等.教师部门信息:
教师部门具有全局唯一的部门编号和部门名称.教师工资信息参数设置:
教师工资工种编号,工资名称和工资金额.其中工种编号全局唯一.教师工资信息:
教师工资包括教师编号,教师基本工资编号,教师职称工资编号,教师级别工资编号,教师工龄工资编号和教师津贴工资编号.2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
11.中学图书馆管理系统 要求:
1)包括基本需求:学生基本信息查询,书籍借阅管理, 书籍管理
图书管理系统主要有三种角色,分别是读者、图书、工作人员.主要分成五个功能模块:图书管理, 图书流通管理, 读者管理, 统计查询, 系统管理.方便图书馆对书籍借阅的管理。
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
12.简易办公系统
要求:
1)包括基本需求:
(1)收发文管理:
对收到的公文进行登记,分类编号,(学校主要发文部门分为:教务处、财务处、学生处、人事处、保卫处、工会以及其他),并形成文件主要内容关键字,使收文能够按照关键字、时间和部门查询;对发文进行登记,并形成文件主要内容关键字,使发文能够按照关键字、时间和部门查询
(2)会议管理:
对所管理的2个会议室进行自动化管理,即由申请部门提交申请,然后统一安排会议室以及各种会议资源(如投影仪、计算机、桌子、凳子等),能形成会议资源使用通知单送达申请部门,主管领导随时查询会议室使用情况(管理者直接负责管理)。能够按照申请者的要求自动生成会议通知单,由办公室负责通知发放。能够形成会议纪要,存档并送到需要的部门(由申请者提供的信息决定)。
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
13.网上选课管理系统 要求:
1)包括基本需求:
登陆:学生依照学生姓名,学号,密码等基本信息登陆 学生选课:列出所有可选课程供学生选择
课程相关信息查询:所设课程名称,教师,教材,学分,学时等信息 成绩查询:查询该门课成绩
选课方案建议:根据学生专业提供建议 信息修改:学生基础信息修改,学生选课修改 打印功能:打印所选课程信息。
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
14.学校教材定购系统 要求:
1)包括基本需求:
系统简介:本系统可以细化为两个子系统:销售系统和采购系统
销售系统的主要工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票,登记并返给教师或学生领书单,教师或学生可以到书库领书.采购系统的主要工作过程为:若是教材脱销,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员.2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。15.其他
社区居民健康档案管理系统的设计与开发 药房药品管理模块的设计与开发 电子病案信息系统的设计与开发 大学论文管理系统的设计与开发 医学营养基础知识查询系统的设计与开发 医院网上挂号系统研究与开发 开放性实验室管理系统的实现与应用 简单物体的模式识别系统的设计与开发 要求:
软件设计模式课程教学设计 篇5
课程设计任务书
一、考查目的按照软件工程的要求,以团队形式,选择适当的软件过程模型,实施软件开发各个阶段的主要任务,运用统一建模方法,并完成相关文档。
二、课程设计要求
1. 根据本组情况确定系统的规模,进行可行性分析,得到可行性分析报告;选择适当的软件过程模型,如瀑布模型、迭代模型、增量模型(下一个版本)、喷泉模型、原形模型(简单的界面原形设计、快速开发的功能)等,通常多种过程模型相结合,估计进度和初步分工,制定项目初步开发计划。
2. 建立业务模型(略)
3. 建立需求模型,描述与软件系统相关的需求
a)识别出系统的参与者与用例,画系统的用例图
b)书写详细的用例文档
c)绘制主要功能的活动图或顺序图,表示工作流
4. 制定项目计划
5. 进行系统分析(概要设计)
a)分析该系统的领域类模型
b)绘制主要用例的顺序图或协作图
c)完善得到分析类模型及实体类模型
d)数据库设计s
6. 进行系统设计(详细设计)
a)得到系统的实现方式图(组件图、部署图)
b)物理设计类模型和相应的动态模型
7. 快速原形实现
a)编写部分源代码
b)设计界面
c)编写用户手册
8. 提交资料
a)各个阶段的主要文档,包括进度管理的文档,以及可行性分析报告、需求规格说明书、系统分析(概要设计)说明书,系统设计(详细设计)说明书、用户手册等。注意不要罗列文字,用最简单的方式将问题说明清楚。
b)提交*.mdl文件
三、评分标准
1. 形式:分为过程性评价和终结性评价两个方面
2. 检查方式:随堂检查进行过程性评价,答辩作终结性评价
3. 时间:三周4. 评分标准
软件设计模式课程教学设计 篇6
摘 要:《教育软件设计与开发》是教育技术学专业本科生的专业核心课程,通过设计和开发一个基于网络的课程系统,可以有效实现课程管理、资源管理、课程活动、用户管理,为学习者提供一个良好的学习空间和个性化的学习环境,并且能够引导学生进行课程任务的系统化分析和设计。
关键词:教育软件;网络课程;管理;学习环境
中图分类号:G434 文献标志码:B 文章编号:1673-8454(2016)07-0093-04
一、概述
网络课程是通过网络表现某门课程的教学内容及教学活动的总和,它包括按一定的教学目标、教学策略组织起来的教学内容和网络教学支撑环境,其中网络教学支撑环境是指支持网络教学的软件工具、教学资源以及在网络教学平台上实施的教学活动。[1]相对于传统的教材,网络课程具有开放性、内容丰富、形式多样、交互性强、反馈及时以及共享性等特点。《教育软件设计与开发》网络课程的使用对象是教育技术学专业的学生,因此,其内容设计和结构规划既要全面反映课程内容,又要适合教育技术学专业学生的学习要求和特点,并为教师提供一个良好的教学辅助平台。鉴于此,《教育软件设计与开发》网络课程管理系统的主要特点包括:
(1)依托网络课程的开放性、交互性、共享性等优点构建多功能学习环境。与传统课程相比,网络课程具有开放性、交互性与共享性等优点。本网络课程系统提供了个人管理、资源下载、在线交流、课程项目、在线考试等多种功能特性,此系统的功能特性就是利用网络课程的开放性、交互性和共享性等优点构建网络课程。充分体现了网络课程的优点,为学生和教师提供了良好的学习环境,同时也为师生之间提供了良好的学习交流平台。
(2)利用网络课程系统来达到学生自主学习、自主探索的目的。由于网络课程具有开放性与共享性等优点,因此网络课程能够给学生提供良好的自主学习、自主探索平台。本网络课程充分体现了自主学习的特点,为学生提供了大量的自主学习教材和学习资源。
(3)充分利用多种媒体形式,丰富教学内容,提高学生的学习兴趣。与传统课程相比,网络课程能够充分利用多媒体进行教学,不但丰富了教学内容,还提高了学生的学习兴趣。本网络课程系统中就包括了教学资源电子课件和课程视频等多种多媒体教材。
(4)学习评价设计(作业系统、在线测试、练习题)随时检测学习效果,实现自我评价,随时得到反馈。本网络课程系统包括了学习评价功能,主要有作业系统、在线测试和习题演练。为学生提供了自我评价和自我检测的平台。
(5)实现网络课程的交互功能,为学生提供更好的教学内容,实现教师与学生的有效沟通。网络课程的交互,是网络课程的核心环节,能够给学生与教师提供及时、方便的沟通环境。本网络课程系统包括了在线答疑、常见问题、BBS等多种交互模块,为学生与教师、学生与学生之间的交流提供了良好的沟通渠道。
(6)符合网络教学、学习规律和使用对象――学生的特征。网络课程的最终服务对象是学生,评价网络课程的好坏,最重要指标是该网络课程是否符合学生特征。本网络课程系统的开发充分考虑了学生的特征,为学生提供了良好的学习的平台。
二、《教育软件设计与开发》网络课程系统的设计原则
《教育软件设计与开发》网络课程系统的开发在吸收上述网络课程优点的同时遵循以下原则:
1.专业性原则
网络课程是一个以提供学习资源为特点的开放系统,能够为学生提供丰富的学习资源。因此,在教学内容的设计上要符合专业要求,明确学习目标,充分发挥网络的优点,有目的、有计划地提供专业知识及其拓展材料,争取做到学生的学习脱离于传统教室的讲授学习却又不脱离课程专业所要求达到的目标。
2.导航明确性原则
由于网络课程信息量巨大,内部信息之间的关系复杂,因此在网络课程的设计过程中要充分考虑学生的需求,尽量为学生创造便捷的学习条件。那么设计清晰、明确、简洁的导航显得尤为重要,本系统在导航设计过程中将力求结构清晰、交互生动形象、逻辑结构合理、链接方便,从而可以使学生在知识的海洋中第一时间内找到自己学习的内容。
3.交流互动性原则
网络课程不同于传统的课堂教学,它借助于现代网络技术,能够体现强烈的人机交互、师生互动和生生交互等交流活动,在培养学生自主学习、主动学习能力的同时又不失为学生提供强大的交流平台,使学生随时可以获得所需的帮助。
4.操作性强原则
由于学生的计算机操作水平参差不齐,因此在网络课程系统设计过程中要充分考虑到学生的现有水平,提供简单明了、方便快捷的操作,将重点内容放到显眼的位置,在操作过程中不会对学生再有其它过多的辅助操作步骤要求,尽可能地为学生提供便捷顺畅的学习流程。
三、《教育软件设计与开发》网络课程系统的设计思路
考虑到网络课程的全面性与交互性,在系统设计时将教学过程的各个环节都进行了全面的分析,尽量将教学过程的每个环节都能在系统上完成。系统的全面性决定了网络课程对教学过程深入的程度,本系统主要分为课程内容建设、课程团队建设、课程资源建设和教学互动建设。课堂教学、师生互动、课后巩固以及教学评价都在系统上完成。系统的交互性决定了课程中师生互动的程度,本系统包含了教学答疑、常见问题、课程项目以及在线考试等功能,能及时给学生提供良好的学习的平台以及与教师之间的交流平台,教师也能通过互动环节与学生进行交流,帮助学生更好地掌握所学知识,同时还能获得更好的反馈信息。
在人员管理模块中,本系统采用三级管理模式,即教师、学生和管理员。为了便于管理,该系统将教师设置为课程主讲教师和课程团队教师两个角色,其中课程主讲教师既是本门课程的教师,又具有课程管理和系统维护等功能。由于本课程是一门计算机应用类课程,教师的计算机应用能力都很强,所以本系统将课程负责人设为管理员,由课程负责人来管理系统的正常运行。
四、网络课程系统的设计与开发
网络课程系统的设计与开发是一个复杂的过程。需要设计者有系统的建构思想,对系统中各个环节、功能模块进行全面的分析,综合考虑不同角色的需要,分析使用者的特征,这样才能设计和开发一套操作简单、目标明确、内容丰富、思路清晰的网络课程。
1.整体框架及功能设计
本系统将整个网络课程划分为课程内容建设、课程团队建设、课程资源建设和教学互动建设四大功能模块,以及相应的后台管理模块。其结构如图1所示。
(1)课程内容建设
课程内容建设是本系统的核心和基础。它包括课程大纲、课程内容、习题演练、在线考试、参考资料五个功能模块。课程大纲是描述本门课程的学习框架以及学习的总目标,其中包括教学大纲和考试大纲。课程内容给学生提供了本门课程的主要教学内容,课程内容的每一个章节都包含了本章节的学习目标、学习内容和相关资源等信息。习题演练是给学生提供一个课后巩固知识点的平台。参考资料列出了本门课程中部分知识点的参考出处,学生可以查找这些参考资料,从而对这些知识点进行更进一步的了解。在线考试是检测学生对课程知识的掌握程度。学生学习了课程内容之后,可以通过在线考试来检测和巩固自己所学的知识,教师也可以通过在线考试这一环节来了解学生的掌握程度从而对学生做出学习评价。
(2)课程团队建设
课程团队是教授此门课程的所有教师团队,它包括课程负责人、课程团队两个模块。课程负责人是本门课程的主要负责人,同时也是课程团队中的领导者。课程团队中展示了本门课程授课教师的相关信息,学生可以通过这个模块了解教师的一些相关信息。
(3)课程资源建设
课程资源建设是对课程主体的补充,同时也是给学生提供丰富的网络学习资源的平台。本模块包括课程项目、教学录像、电子课件、学生作品和资源下载五个模块。
a.课程项目是学生协作学习的展现平台,教师根据学生的特征,对学生进行分组,或者学生根据自己的爱好和特长自行分组;然后教师根据小组的特征给每一小组分配不同的项目。学生通过小组协作的方式完成项目要求,最后上传项目成果。
b.教学录像为学生提供课堂再现,学生可以通过观看教学录像,以便充分掌握相关的教学知识。
c.学生作品是学生在学习本门课程的过程中,自己完成并上传的学习作品,是学生作品的展示平台,也是学生资源的共享平台。在学生作品模块中,提供了作品检索和作品统计功能,这样方便了学生检索作品。
d.资源下载为学生的学习提供了更多的网络学习资源,资源下载模块将资源按不同的分类进行显示,同时也提供了资源检索功能,学生可以根据不同的分类进行资源的检索。
(4)教学互动建设
教学互动是课程学习中的必要环节,教学互动为教师与学生之间提供了一个交流的平台,学生可以在学习的过程中与教师进行沟通互动。教学互动包括课程公告、教学答疑、常见问题。教师可以通过课程公告给学生提供最新的课程信息,提醒学生按时完成课程要求。教学答疑环节是教师与学生在线交流的平台,学生在遇到困难时,可以在教学答疑中给教师提出问题,教师登录之后可以给相关问题做出解答。常见问题是教师通过自己的教学经验,总结出学生在学习过程中可能遇到的问题,然后把问题以及解决方法展示给学生,以便学生能够及时解决问题。
(5)后台管理模块
网站系统后台是管理员维护网站功能以及网站信息的平台。本系统是一个网络课程网站,为了达到系统的要求,本系统采用三级管理模式,包括系统管理、教师管理和学生管理。
a.管理员管理
管理员负责整个系统的管理与维护,拥有最高权限。本网络课程是一门计算机应用类课程,教师的计算机应用能力都很强,因此本系统的管理员是本门课程的课程负责人。其主要功能的体现有:在课程内容上对一些大纲、资料等进行添加、删除、修改和维护;在课程团队上对一些课程的团队以及负责人的信息进行添加、删除、修改和维护以及人员的审核;在课程资料项目的管理中首先是对本门课程进行立项、分配课程小组以及安排小组组长、给小组分配课程项目后对项目作品的审核等,还包括对项目、小组及小组成员进行修改、删除、审核等;在教学互动中,可以公布一些课程公告,对常见问题和教学答疑进行管理,并对这些信息进行添加、修改和删除管理。
b.教师管理
为了使本系统信息能得到及时的更新和维护,系统为教师分配了较高的管理权限,除了用户设置管理里面的教师管理功能和系统安全管理功能外,教师管理还具有管理员管理的其他所有功能。
c.学生个人管理
学生可以在系统中完成相应的教学过程和教学任务。其主要功能包括:对个人信息、资料的修改上传,查看课程及分组情况,并能进行在线考试和对自己的成绩进行查询。
2.系统UML建模
数据建模语言是从项目工程中引入的概念,它能够帮助我们更好地理解正在开发的平台,理清设计思路,并能够比较直观地反映系统平台的结构和功能。本系统采用基于UML模型建模语言,UML模型包括用例图、时序图和活动图等。
(1)用例图
用例图是用于描述用户与系统之间的关系,它表示系统能够给用户提供的操作。在绘制用例图时首先要确定参与者,也就是使用此系统的人或事物,通常包括三大类:使用者、管理者和应用程序接口,在本系统中包括管理员、教师和学生。其次是要明确系统用例,也就是系统给操作者提供什么样的使用操作。学生用例图如图2所示。
(2)时序图
时序图是指按时间的顺序描述系统各个元素之间的交互顺序,网络课程的时序图主要有:①管理员添加、修改和删除用户的时序图;②课程内容的添加、修改和删除的时序图;③课程公告的添加、修改和删除的时序图;④教师和管理员对课程信息的添加、修改和删除的时序图;⑤教学资源的上传、下载以及查看的时序图等等。以上时序图的设计方法大致相同,本文以管理员对课程大纲的添加、修改、删除为例说明网络课程系统设计中时序图的创建过程。如图3所示为管理员添加课程大纲时序图,管理员首先使用自己的用户名和密码登录系统后台,进入后单击添加课程大纲菜单,输入添加课程大纲信息,然后点击添加将输入的课程大纲信息提交给数据库模块进行添加处理,最后平台会弹出添加成功提示信息,这样一个添加课程大纲的时序图就完成了。
(3)活动图
活动图是用来描述系统是如何协同工作的。当系统中的操作步骤比较多时,活动图就可以清晰地显示各个步骤的先后顺序,使用者只要按照步骤进行操作就可以达到预期的结果,学生子系统的活动如图4所示。
3.技术的应用
本系统采用ASP技术作为开发工具,使用SQL作为数据库,运用VBScript、JavaScript脚本实现语言,B/S(浏览器/服务器)架构设计。本系统是以课程为中心,为教师和学生提供了良好的学习和交流的平台。学生和教师登录之后,就可以对系统进行相关操作。以下以课程项目实现为例,进行一个简单的说明。课程项目模块主要是针对课程小组活动设计的。当某个班需要进行分组活动时,教师就可以在后台将班级按照随机或者指定的方式进行分组。如果是随机分组,教师只需要将每组最多和最少人数输入系统,系统将会自动完成分组;如果是指定分组方式,教师可以按照课程项目需要分组,并且可以指定每组人数、负责人和设定每组的活动项目名称和内容。另外,该模块还具有对选修相同课程的学生之间进行班级间的自由成组功能,他们可以依据个人喜好和需要自由成组,只要双方课程中的某一个教师审核通过即可。在课程项目中,小组成员自动组成讨论小组,可以发表言论,建立小组成果展示区等。
五、小结
本系统的设计充分考虑《教育软件设计与开发》的课程要求,实现了《教育软件设计与开发》课程教学过程的各个环节。同时还将协作学习模式融入到本课程当中。系统中的课程项目以及在线考试是本系统特设功能模块,课程项目为学生提供了良好的小组协作学习的平台,在线考试为学生提供了自我评价的平台,同时也是教师对学生考核的重要平台。本系统在某高校教育技术与传媒学院的《教育软件设计与开发》课程中使用了5年,获得了教师与学生的一致好评。本系统虽然给教师以及学生提供了良好的学习与交流平台,但是在评价方式上没有充分考虑到评价的多样性与全面性,虽然有个人评价、小组评价以及在线测试评价,但是它们之间联系不够充分,无法形成一个总体性的评价。下一步工作将是完善系统的评价功能,使教师能够充分而又方便地对学生进行综合性评价。增加教学互动方式,方便师生之间的交流,使师生交流方式更为多样。
参考文献:
设计课程与软件的应用结合分析 篇7
根据多年的设计教学经验, 我发现学生中普遍存在的认识误区是把专业基础课程同软件学习课程分别对待, 而且更侧重后者, 没有将两者合理的结合起来, 这种现象实际上就是课程设置、教学中理论与实践应用脱节的体现。
针对此种现象, 我曾经尝试了将专业课程同软件学习同时进行的教学方法, 学生的学习兴趣和学习效果都有较大的提高。例如, 在PS+平面广告项目中, 周学时是十六节, 前两周用十二课时学习PS工具、图层、钢笔路径、蒙版等基本操作, 四课时通过图片、视频等学习了解广告的理论知识。在学生初步掌握了PS软件的简单操作及广告的基本理论知识后, 开始两者融合的教学。首先, 安排学生用软件临摹制作难度较小的各类广告作品, 这个环节至关重要, 因为此阶段学生既可以巩固加强已有的软件知识, 又能够通过制作直观的感受现代平面广告的特征、形式、规律。临摹的同时根据学生普遍的学习进度, 适量增加一些新的软件知识, 在软件操作较为熟练时, 临摹稍复杂的广告作品, 循序渐进, 如同人体的生长, 肌肉和骨骼同步成长、变化。经过几周的临摹环节, 学生已经能够把软件同专业课程联系起来, 对于复杂的、艺术效果更为完美的广告作品以及作品中表现出的软件制作技巧产生浓厚的学习渴望, 此时, 难度较大的理论问题即可结合软件应用的深入学习陆续展开。例如, 平面广告的板式设计、设计色彩的应用规律、画面文字图形元素的运用、广告的创意、某些常见的表现形式的软件制作技巧等。此过程可以开始临摹与创作相结合的方式, 学生已具备了一定量的感性认识和积累, 随着软件应用的熟练度加强, 有着较强的创作欲望, 教师合理的引导, 把握好学习进度和难度, 收效十分明显。
此种学习方式需要对传统的课程设置顺序做大幅度的调整, 做到设计课程中时时用软件、软件学习中时时做设计, 其实设计理论与软件应用在设计专业里原本就是一个整体, 分开来单独教学对于学生普遍的接受能力来说难免顾此失彼。设计能力是基础, 软件是工具。例如, 素描课, 不能用三分之一时间讲解理论知识, 再用三分之一时间讲解铅笔的使用技巧、排线方法, 最后的三分之一时间才开始用铅笔画画。由于设计课程与设计软件的混合教学, 教师严谨准确的教学指导, 在教学结束后, 学生均能熟练运用设计软件进行设计, 而且专业知识掌握的程度较好, 达到了预期的教学目标。
此种专业课程加软件应用的混合教学方式在各学校的设计专业中都有体现, 但程度较低, 依然是分开教学的形式为主。笔者尝试提出几点建议, 希望能够推动设计专业教学更加科学化、合理化。
1.课程设置的优化整合
以往的课堂理论教学与机房的软件教学不能简单的合在一起, 有可能会出现理论没学好, 软件没学会的混乱现象。在课程整合之前, 要认真、仔细的调查分析学生的学习能力情况, 结合专业人才培养目标、课程的教学目标, 制定合理的教学计划。理论内容与软件应用的比例、理论与软件的交叉结合方式等都需要仔细斟酌, 即使是混合教学也不能一会讲理论、一会讲软件, 两者相去甚远, 学生会无法适应。参考上文的例子, 可以用小分段式的教学方式, 前期理论与软件分开来讲, 但此过程不宜过长, 基本的软件操作与理论知识达到目标后马上把两者结合开展教学。随着教学进度的延伸, 结合的频率越来越高, 分段时间也越来越短, 到课程后期两者完全合二为一, 西瓜不能丢, 芝麻也要捡。
2.教师综合能力与硬件设施的加强
课程整合的教学方式对教师的专业综合能力与学校的硬件设施会带来较大的挑战, 许多设计专业的设计课程与软件教学是由不同的教师完成的, 理论课教师的软件操作一般较生涩, 软件教师的理论知识又不够全面, 这需要教师之间相互学习提高, 逐步扩大自己的专业知识面。作为设计专业的教师, 其专业有较强的社会应用性, 应该掌握更多的社会实践知识, 努力压缩课堂教学与社会实践应用两者间的距离。课程的整合同时对学校的硬件设施提出了较高的要求, 以往的理论课程是在教室中完成的, 软件课只要学会软件即可, 占用机房的时间有限。整合后的课程需要大量的机房课时, 如果班级数量较多的话, 相应的也需要配备较多的机房, 设备的投入与维护成本会增加许多。
3.注重专业教学的连续性, 加强专业内部学科间的协作
目前各学校设计专业的课程设置都遵循着由易到难、由基础到实践应用的教学顺序, 大体上是合理的, 但也存在诸多问题。比如专业知识的跳跃性较大, 每学期学习的内容都不一样, 学过的知识很容易就忘掉。今年学过包装设计, 明年还能记得包装知识的学生将会很少, 重点专业知识的重复性应用是必要的, 这就需要专业团队内部加强合作, 所有科目的教师不再是单独的个体, 互相穿插教学, 及时沟通交流专业教学情况, 建立高效的、全面的专业教学平台, 对于学生的就业发展是有积极意义的。
软件设计模式课程教学设计 篇8
摘 要:高端软件设计人才不仅要有过硬的设计技能,还要有牢固的工程观、系统观和产品观。本文基于南京大学软件学院的教学实践,以软件系统的设计与构造为主线,提出了围绕软件设计设置和实施的软件工程专业关键课程方案。该方案强调在专业入门课程就开始培养学生的软件工程观念和系统观念,并一以贯之地教授学生在软件工程思想的指导下进行软件设计的能力。
关键词:软件工程;软件设计;教学改革;课程建设;教材建设
一、概述
作为国家战略性新兴产业,软件业急需一批领军型软件人才。教育部在2002年批准开办软件工程(以下简称SE)专业并设立国家示范性软件学院,2011年批准设立软件工程一级学科并把软件工程师培养列入了卓越工程师教育培养计划。至2013年,我国有425所高校开设软件工程专业,设点数、招生数及就业质量均进入前十。因此,研究与建设软件工程专业关键课程体系对于软件人才培养具有重要的现实意义和积极的推动作用。
国际上,IEEE和ACM共同制定了软件工程学科教程CCSE[1,2],给出了软件工程专业的教育知识体系,提出了组织和设计课程体系的若干建议,是公认的软件人才培养工作基础。CCSE推荐课程包括SE基础课程5门、CS中级课程3门和SE高级课程6门,并提出了SE优先的课程方案和CS过渡的课程方案。
但是,SE专业在教学实施中面临以下难题[3]:(1)传统计算机科学(以下简称CS)专业的软件工程课程如何合理过渡到SE基础课程和6门SE高级课程;(2)如何落实SE优先的教学理念,解决关键课程的教学实践与教学资源;(3)如何实施软件工程课程与程序设计类课程的融合教学。
具体来说,目前国际国内缺乏对SE关键课程的教学实践,SE优先的基础课程与部分高级课程属于全新构造,难觅教材和成熟的教学资源,从而导致SE专业教学在实施时面临很大困难,大多数学校只能因循计算机科学专业传统课程过渡。因此,贯彻SE优先的教育理念与落实系统化的SE专业教学体系成为摆在广大SE教育者面前的一个巨大挑战。针对这些问题,南京大学软件工程专业经过多年教学实践,以软件开发的核心工作——软件系统设计与构造为主线,提出了面向软件系统设计与构造的SE专业关键课程教学实施方案。
二、设置思路
CS传统课程按照知识领域安排,非常适合于培养研究性人才。软件产业则迫切需要能够综合运用各种工程技术知识解决具体问题的实用性人才。为此,南京大学SE专业教学体系从能力培养入手,强调持续培养学生的工程观、系统观和产品观;面向“软件系统设计与构造”主线,规划专业关键课程,实践并求精CCSE的SE优先课程设置方案;探索关键课程的教学内容与教学方法,建设相关教材与教学案例。
1.提出软件工程专业课程改革的基本策略。在专业教学早期开始培养学生工程观、系统观与产品观,引导学生持续以软件工程观的角度学习与体验软件系统分析、设计与构建的过程。在一年级开设软件工程课程,专业入门时就树立学生的工程观和系统观,将质量、成本、度量、折中、决策、纪律、规范等工程理念贯穿后续课程,通过反复强化来培养学生牢固的工程理念以及基于工程理念解决问题和进行开发的能力。
2.规划与实践SE优先的专业关键课程。遵循工程的集成与创新特征,面向“软件系统设计与构造”,按照软件系统规模由小及大的次序建立专业教学主线,即以小规模系统、中规模系统、中规模产品、大规模系统技术、应用领域来部署SE专业课程的展开。在单门课程中强调构建系统的全面知识融合教学,培养学生解决实际问题的综合能力。
3.探索适应培养卓越软件人才的教学方法。软件人才培养必须重视学生的工程实践能力、设计能力与创新能力培养,重视实验、实训、实习等培养过程,特别是理论教学与实践教学的完美融合。主要的教学方法包括:面向具体的软件系统构造项目开展综合性知识教学;加强课程教学案例与实践用例建设,实施理论、案例、实践相辅相成的教学;探索校企合作教学、面向问题教学、体验式教学、面向实际教学、研讨式教学、软件创新设计竞赛教学等适合卓越人才培养的新型教学方法。
三、课程体系框架
下图给出了南京大学SE专业的课程体系框架[4,5],其中左侧为重点建设的SE专业关键性基础课程,右侧为其他SE专业基础课程和高级课程,后者在教学上较为成熟,故不赘述。
面向“软件系统设计与构造”的SE专业关键课程共7门,分别为计算系统基础、软件工程与计算Ⅰ、软件工程与计算Ⅱ、软件工程与计算Ⅲ、软件需求工程、软件系统设计与体系结构、人机交互的软件工程方法,分别重点解决学生计算系统分层构建、个人级小规模软件系统设计与构造、小组级中小规模软件系统设计与构造、模拟团队级中规模软件产品设计与构建、大规模软件系统的需求技术、大规模软件系统的设计技术、交互式软件系统设计与评估技术等关键性能力培养。
南京大学软件工程专业课程体系结构图
这7门关键课程均围绕一个具体的软件系统教学案例,融合构建系统所需的多方面知识展开每门课程的教学。各课程都精心设计了一个教学讲解用的软件系统构建案例,并同步设计了一个培养学生工程能力的实践用例。课程围绕教学案例和实践用例的构建活动组织课程教学和实践教学。课程同时力图打破传统课程的技术藩篱,将程序设计、软件工程、交流与沟通、团队动力学、职业素质、过程管理、工程经济学等知识进行融合教学,在案例中引导学生使用软件工程的观念来观察、体验和实践计算系统软件的设计与构建过程,训练其软件系统设计与构造的综合能力。
四、课程描述
“计算系统基础”,以一个经典计算机指令集MIPS的简化版本DLX为线索,以C语言为载体,使初学者可以建立起完整的计算概念,了解经典计算系统的工作原理,理解计算系统自底向上、逐次构造的过程;理解结构化程序设计,能够利用自顶向下、逐步求精的方法完成小规模的结构化程序。具体教学内容包括:数据的机器级表示、数字逻辑、冯·诺伊曼模型、机器语言、汇编语言、输入和输出、Trap 机制和子例程、结构化程序设计和语言处理。endprint
“软件工程与计算Ⅰ”,在软件工程理念指导下,侧重于程序设计教学。以一个计算示例和实践用例的迭代式增量开发实践为线索,全面培养学生在个人开发级别的小规模软件系统构建能力,让学生初步体验软件工程方法与技术在系统开发中的关键作用。具体教学内容包括:程序设计基础、面向对象程序设计语言;OOA、OOD、调试与测试等软件工程知识;个人级别的软件开发活动管理、个人级别的软件职业知识。
“软件工程与计算Ⅱ”,以经典软件工程方法与技术为主线,软件设计与构造知识为教学重点,软件系统构建实例(计算系统示例与学生实践用例)为切入点,培养学生基于瀑布模型的、简单小组开发级别的、中小规模软件系统构建能力。具体教学内容包括:软件工程历史、软件职业知识;适用于中小规模软件产品开发的软件工程方法、原则与实践;软件工程方法指导下的程序设计原则与实践;小组级别的简单软件开发活动管理;包括代码和重要文档在内的关键软件开发制品。
“软件工程与计算Ⅲ”,以螺旋模型和团队实践为特征,通过开发一个中等规模软件产品的方式,培养学生对程序设计和软件工程方法的实际运用能力,同时强化学生的职业技能和项目管理能力。将学生组织成8人左右的团队,按照6个阶段(即项目启动阶段、第一循环、第二循环、第三循环、第四循环、项目部署阶段)合作完成一个具有一定复杂度的具体项目。在项目完成过程中,涉及需求、设计、实现和质量保障,强调团队协作、文档写作、工具使用、陈述等能力,并在软件团队中对软件开发进行管理。
“软件需求工程”,以需求工程技术、软件经济学和迭代过程为特征,结合工业界实例综合分析,培养学生构建大规模软件系统所需要的需求获取、分析与建模能力,试图让学生把握需求工程工作给后继软件项目工作带来的影响。具体教学内容包括:需求工程基础、需求获取方法与技术、需求分析方法、需求分析模型与建模技术、需求管理与需求工程过程知识、软件工程经济学等。
“软件系统设计与体系结构”,以软件设计、体系结构、可复用软件过程为特征,结合复杂工程案例及其重构,培养学生构建大规模软件系统所需要的综合设计技术能力。具体教学内容包括:软件设计的要素、软件设计的支持与评价、软件设计方法、体系结构设计、详细设计、基于中间件的设计、基于复用的设计和设计演化。
“人机交互的软件工程方法”,以用户为中心的设计与软件再工程为特征,培养学生交互式产品开发的软件分析、设计和评估技术。具体教学内容包括:可用性工程、人机交互界面的经典模型、人机交互的需求工程方法、人机交互的设计方法以及基于行为观测与眼动分析的交互评估技术等。
五、教学方法
软件人才培养需要重视教学方法改革,面向软件系统设计与构造的SE专业采用了一系列新型教学方法。
面向问题教学要求各课程都以工程问题开始,并依照工程问题的解决过程和活动来组织教学,这既体现了多种知识的融合运用,又培养了学生的问题解决能力。体验式教学要求各课程在实验设计时必须考虑模拟现实环境的不确定性因素,让学生体验真实的开发氛围,这既能培养他们综合运用各种知识与方法解决问题的能力,又能重点训练他们的折中、决策、沟通等非技术能力。面向实际教学要求各课程在讲授软件开发方法与技术时,要结合实践调查数据说明企业对不同方法、技术的选择与权衡情况以及应用效果,要突出企业界的主流方法与技术,遵循企业界的行业标准与规范,这既能让学生更深入地理解方法与技术,又能开拓他们的视野。研讨式教学要求各课程针对教学难点和重点,给出启发式问题,让学生自行收集资料,研讨解决,这既培养了学生的问题解决能力,又培养了他们的创新能力。基础课程结合软件创新设计竞赛教学鼓励低年级学生在导师指导下,结合课程教学内容,自由选题,参加软件创新设计竞赛,鼓励学生创新。部分高级课程采取实训实习后回顾教学,通过理论教学考试和实训实习后再回顾总结报告综合评定分数,促使学生学习理论、实践体验、再总结提高,以提高他们的工程认知能力与创新能力。还有部分高级课程采取校企联合设计课程、联合实施教学的校企合作教学。
这些教学方法可以培养学生牢固的工程观念、综合运用设计技术进行创新以解决复杂工程问题的能力、基本的职业素质与交流沟通团队组织能力以及良好的开发过程驾驭能力等。
面向软件系统设计与构造的SE专业关键课程建设秉承教材系列化、案例行业化、实践系统化、资源公开化的原则,围绕教材、案例和实践,打造了软件工程专业课程精品教学资源。多门课程入选国家精品课程,出版系列教材,建设教学案例和学生实验教学用例,建设课程教学资源示范网站,提供丰富的教学资源(课件、教学与实践案例、实验设计、教学视频),可供我国软件工程专业教育者参考。
参考文献:
[1] ACM/IEEE Joint Task Force on Computing Curricula[EB/OL]. Software Engineering 2004, Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering, http://sites.computer.org/ccse/.
[2] 骆斌,臧斌宇,丁二玉. 软件工程专业教学知识体系的分析、重构与求精[J]. 计算机教育,2010(23):2-8.
[3] 刘强,陈越,骆斌等. “软件工程”课程教学实施方案[J]. 中国大学教学,2011(2).
[4] 骆斌,葛季栋,丁二玉等. 软件工程专业课程体系的研究与创新实践[J]. 计算机教育,2010(23):9-13.
[5] Eryu Ding, Bin Luo, Daliang Zhang, etal. Research and Practice on Software Engineering Curriculum NJU-SEC2006, CSEE&T2011[R]. Proceedings of 24th IEEE-CS Conference on Software Engineering Education and Training.
【软件设计模式课程教学设计】推荐阅读:
软件工程课程设计指导08-29
软件工程与实践课程设计08-29
软件工程(应用专业)课程设计09-14
《软件项目管理方法与实践》课程设计报告06-07
终端软件设计09-11
电脑设计软件与广告设计制作教学.doc - 电脑设计软件与广告设计制作教学06-27
DSP软件设计06-17
网络软件设计07-02
犀牛设计软件07-24
专业设计软件07-26