软件课程范文
软件课程范文(精选12篇)
软件课程 第1篇
一、软件测试课程开设背景
近几年,我国软件测试行业发展迅速,其专业岗位迅速扩大、人才需求旺盛、职业价值日益提升。然而,由于行业内的软件测试人才严重短缺,企业虽然对软件测试人才有大量需求却招不到合适的人。国内仅在2007年2月的网上招聘信息搜索中,广州、深圳两地招聘软件测试工程师的IT企业数量就超过了60多家,企业的规模涵盖了大、中、小各种类型,人数超过了六七百人,这种情况反映出软件企业测试人才的严重短缺。根据对软件业未来的发展预测,测试人才的需求将持续保持旺盛的态势。
正因为看到软件测试行业的大好就业前景,也为了拓宽毕业生就业方向,我校首先在04级软件班开设软件测试课程,并逐步在低年级引入该课程,到现在为止该课程已开设一年。但是,目前就我们高职学校而言,软件测试教学仍处于起步阶段,经验积累不足,尤其是高职的软件测试课程教学特点尚未形成,需要逐步完善。
二、软件测试课程的培养目标
我们是对软件专业的学生进行软件测试课程的教学,而不是进行软件测试专业人才的培养,软件专业的学生主要是能熟练掌握一至两门软件开发语言,能从事对应的程序开发工作。所以本课程教学的目标主要有两个:其一,帮助学生熟练掌握规范化的软件开发流程,熟练掌握软件测试理论;其二,能进行一般的软件测试,能编写测试用例,至少能掌握一种软件测试工具。总的来说就是能成为初、中级软件测试人才。
该课程需掌握的知识主要包括:
1) 熟悉单元测试、集成测试、系统测试、回归测试、性能测试、功能测试等测试方法。
2) 熟悉并掌握黑盒测试技术和白盒测试技术。
3) 能进行测试计划、用例的编写。
4) 掌握一种软件自动化测试工具,了解其它自动化测试工具。
5) 能进行测试案例分析及编写系统测试总结报告。
三、软件测试课程开设存在的困难和问题
1、教材重理论,脱离实际
软件测试技术方面的教材,近年来才出现了一些,但质量良莠不齐,大多注重软件测试理论的讲解和测试方法的介绍,忽视了极为重要的实践环节,缺乏系统的训练,离软件公司对软件测试人才的要求差距较大。
具体来讲,现有教材存在以下缺陷:(1)缺少大型项目功能测试、性能测试实例的全过程,即没能把比较分散的知识点和技能点进行综合分析;(2)重技术实现、轻文档工作,教材对于如何编写测试计划、测试报告、测试记录和测试日志过于简略;(3)教材中的"测试工具使用"流于产品使用说明书,难以引起学习兴趣。
2、教师缺乏经验
大部分计算机专业教师较少系统的开展软件测试理论研究和测试工程的实践,因此,软件测试专业知识不多,教学经验也很少。虽然依靠自身的专业素养与专业知识的积累,花一定的精力,能较好的讲解软件测试理论和介绍软件测试方法,但仍然缺乏软件测试案例和软件测试经验,而这正是讲授好软件测试课程的关键所在。
3、学生的认识存在误区
学生对软件测试的认识也直接影响他们对软件测试技术的掌握。一些不规范的软件公司往往让新进人员和编程能力较差的人员从事软件测试,这让很多学生片面地认为不会编程序的人才从事软件测试,从而不重视软件测试技术的学习和训练。
4、教学手段单一
软件测试课程开设之初,主要希望让学生了解软件测试的基本理论和技术,所以更多的还是采用传统的教学模式,即板书或课件加上教师讲解进行授课,实验、实训环节的支持则很少。这样的灌输式教学方式,枯燥地讲解测试理论和测试方法,很难激发学生的学习兴趣。
四、关于解决方法和改进措施的思考
相信以上这些问题也是其他院校在软件测试课程开设时遇到的共性问题,针对这些问题我们也在不断思考解决方法和改进措施,希望能将以下方法逐步付诸实施。
1、自编教材弥补不足
教材可先选用一些较优秀的软件测试书籍,然后根据教学实践与有经验的软件测试工程师合编软件测试教材和实践训练指导书。教材中应有大型项目的测试案例分析,增加如何编写"测试计划"和"测试报告",给出测试记录、测试日志的模板。同时,可列出软件测试行业中长期积累的经验,例如软件测试的10大原则、10大最佳实践等,这些内容很实用,学生走上工作岗位就马上能用到。实训指导应站在学生学习和认知的立场上来编写,使学生在最短时间内对测试专项技能掌握和熟练。
2、教师要"请进来",要"走出去"
来自IT企业的软件测试工程师具有丰富的项目实战经验,是软件测试知识应用和创新最宝贵的资源,可邀请来校兼职授课。另一方面,校内教师应深入软件企业第一线,了解行业发展的动态,将最新的技术、观念等带进课堂,使学生得到的知识与社会同步。
3、引导学生正确认识软件测试
引导学生正确认识软件测试技术和软件测试职业。可通过教师讲解、专家报告及从各种媒体学习等方式使学生了解软件测试技术的重要性和广阔的就业前景,激发他们学习和掌握软件测试技术的兴趣。同时要让他们认识到软件测试职业对软件测试人员的要求较高,不仅要掌握软件测试技术,还要具备软件系统分析、软件系统设计和软件编程等方面的能力。由于软件测试人员的工作是找出软件中错误,并经常同系统设计者和编程人员交流,要训练和培养学生具有严谨的工作习惯、良好的沟通能力和团队合作精神。
4、加强实践训练
掌握软件测试技术只有课堂学习是远远不够的,还必须进行扎实的实践训练。所以在课程内容的安排上,应摆脱传统的重理论,轻实践的做法。目前我校软件测试课程在教学实施上已作出调整,将课程教学分为理论和项目实践两大部分。理论教学内容主要包含软件测试的基本理论和技术方法,企业级的各类软件测试解决方案。理论教学突出基本知识和基本概念的表述,通过知识点的认识掌握,形成知识链和技术理论。项目实践教学内容主要包括具体的测试项目的实施,以及对自动化测试技术的掌握。项目实践教学贯彻"任务驱动、项目导向"的教学策略,选择典型的软件工程案例或项目,配备丰富的软件测试工具与测试平台环境,通过实际项目的运作,以"学中干、干中学"的方式培养学生的专业技能。
5、建立校外实训基地,提高学生的岗位技能
本市多家软件公司与我专业一直都存在合作关系,其中几家如范思、佳软等在校内还建立了以企业命名的实训室。近一阶段,随着软件测试课程教学的深入开展,软件专业也在考虑与本市较有影响力的几家软件公司合作,建立软件测试的校外实训基地。如果让学生参加公司企业的工作实习,既可充分利用本行业典型生产企业的资源,又能满足学生的实习实训要求,培养岗位技能,同时为学生的就业创造机会。这样的教学模式,才真正实现了人才的职业能力与企业工作岗位的"零距离"。
五、总结
软件工程课程 第2篇
时间:2009-03-22 08:47 来源: 作者: 点击:1059
学院在课程体系制定、课程计划安排上制定了严格的规定与规范的操作程序。课程体系、教学计划由学院主管院长负责,对国内外大学、大型IT企业进行调研、分析,确定社会对人才的需求和人才知识、能力、素质的构成,而后由主管院长召集相关教师起草方案,再经学院教学指导委员会专家和企业专家进行论证,并报学校教务处审核、批准,由此形成本科生、硕士研究生的培养方案。同时,根据学科发展和社会需求的变化,学院通过增加或变更选修课、开设讲座等方式动态调整。目前,软件学院主要课程设置按课程体系关键域分类如下。
1)数学基础(本科):大学数学I、概率论与数理统计、数值分析、离散数学等。
2)软件基础(本科):数据结构、汇编语言程序设计、面向对象编程与设计、可视化程序设计基础、操作系统、数据库系统、C/C++程序设计、算法分析与设计、编译原理、软件工程等。
3)硬件基础(本科):数字电子技术、计算机系统基础、数字通信原理、微机原理与技术、计算机网络原理等。
4)专业技术(本科):大型数据库技术、软件体系结构、系统级编程技术、数据挖掘、嵌入式系统、J2EE应用开发、.NET架构软件开发、设计模式、建模与测试、信息安全、软件开发案例分析、并行程序设计、多媒体技术及应用、网络与分布式计算、计算机图形学等。
5)工程管理(本科):软件开发项目管理、软件质量管理与控制、企业管理、网络营销、商务谈判技巧、软件度量及应用、心理学、商务英语等。
6)数学基础(双证硕士):应用统计、组合数学、应用数学方法等。
7)软件理论基础(双证硕士):现代软件工程、面向对象与构件技术、高等计算机算法、移动计算等。
8)数学基础(工程硕士):运筹学、工程数学基础、应用数学方法等。
《常用工具软件》课程改革 第3篇
关键词:职业教育 课程改革 行业需求 能力标准 专业设置 教材建设
《常用工具软件》课是计算机相关专业高年级开设的一门职业技能必选课.旨在培养计算机专业学生熟练运用工具软件创造性地处理日常信息任务的技能。同时。这门课具有实践性、应用性、灵活性、情境化等诸多特点,若仍采用传统的课堂教学形式.会产生理论教学与实践运用相脱节的问题一学生虽然记住了工具软件的类型和功能但是不能利用工具软件解决实际的问题。为改变这种教学情况。笔者以建构主义教学理论为指导。根据自己的教学实际。探讨在多媒体网络教学环境下,如何实施这门课程的教学。
一、中职现状分析
由于我国地域辽阔,各地经济发展很不平衡,产业结构不一致,对职业教育人才的需求存在一定的差距。中等职业教育培养的人才主要是为地方经济服务,而中等职业教育的发展又受到当地经济发展的影响。因此中等职业教育的专业结构、课程设置,目前还没有全国的统一规范,这就对从事中等职业教育的人提出了新的课题。除了搞好教学工作外,还要了解国内、外职业教育发展的信息,了解行业对职业学生的需求信息,了解职业教育课程改革和教材建设的信息,开发出适应当地经济发展的职业教育课程体系和教材体系。
但在实际工作中,职业教育课程改革和教材建设从整体上看进展缓慢。首先,我国还没有中等操作性人才培养的行业标准,行业也没有明确地向中等职业学校提出人才培养的要求。中等职业学校在开发专业课程和教材上,存在一定的主观性和盲目性,开发的课程体系对于适应行业新的要求存在一定的距离,开发的职业教材与职业特点还有很大差距。
二、《常用工具软件》课程教学改革的具体措施
根据前文的理论分析.笔者认为可以从以下四个方面来探讨建构主义教、学理论指导下的<常用工具软件)课程教学改革措施。
(一)构建多媒化的网络教学环境
所谓构建多媒化的网络教学环境.也就是将教学场所由过去的”以教师为中心”来创建的多媒体教室变为”以学生为中心”而建构的多媒体网络机房。这并不是教学场所的简单变化.其现象背后蕴涵着教学理念的转变:在多媒体教室.体现的是一种以教师为中心的传统教学理念,教师处于绝对的权威的角色.他控制着教学的整个过程。学生则完全处于一种被动接受的角色。但是多媒体网络机房,它折射的是一种以学生为中心的教学理念。学生由过去的被动接受变为了可以主动参与一每人拥有一台可以操作实践的计算机。教学环境的变化为常用工具软件的建构性学习提供了基础性的物质保障
(二)创设真实学习情境
高效建构性学习的开展离不开真实的学习情境教师要努力营造真实的学习情境。在《常用工具软件》课的教学中,也就是要积极思考创设工具软件使用的问题情境可以通过讲故事来设置相关的任务与问题比如要学习有关杀毒软件的使用。可以创设这样的情境一XX公司的一台电脑、经常有U盘随意插拔.任意上网。过了一段时间后,发现计算机的运行速度变慢,打开一张网页需很长的时间.这可能出现了什么问题?如何在保证计算机有用信息不丢失的情况下.解决这个问题?通过这个大家都能遇到的情况创设学习杀毒软件相关知识的情境.要比单纯介绍病毒的概念切人教学更能吸引学生思考。也可以在课堂中采用竞赛的形式创设情境。比如为了学习两款下载软件:网际快车(HashGet)和迅雷(Thunder)的特征与运用,可以创设这样的情境一XX公司老总要欣赏一段视频MTv.他让两位员工同时去找并下载这段视频.要求谁先完成任务就有优先晋升的可能。
(三)组建工具软件学习共同体
知识建构是建构主义学习理念中的一个核心概念.这种建构性更加突出表现在学习的社会性建构.即通过与同学、伙伴、老师的交流、协商、讨论追求知识建构的合理性,也就是说要为学生的协商、交流、讨论创造条件,那么组建工具软件学习共同体是实现建构性学习的有效策略。
(四)采用多样化的情境化评价
学习评价是教学过程的重要环节。为了给学生做出客观、公正、全面的个性化评价,笔者认为。第一要采用多种评价形式:过程性评价与总结性评价相结合.第二要考虑多元化的评价主体:学生自己、学习同伴、教师等都是评价主体。
在学习评价中,将过程性评价与总结性评价相结合。(1)采用档案袋评价。利用”个人成长档案袋”记录下学生工具软件的学习过程。教师通过平时与学生的沟通、交流。对学生的操作指导,观看学生的操作演示等情况,来逐步了解学生的学习情况,并将学生的点滴进步与成长记录下来.逐步制作成有关学生个人的工具软件学习使用的”成长档案”。最终利用这个”档案袋”对学生的学习过程做出客观公正评价。(2)多形式的总结性评价总结性评价仍有其存在的价值.只是要求老师突破考试这一单一的总结性评价形式而灵活设计多样化的总结性评价形式。
现代网络信息技术的支撵.建构主义教学理念的引入。给高职工具软件技能教学改革带来了机遇与挑战:利用现代网络信息技术构建的多媒化网络教学环境给高职工具软件技能教学改革提供了物质保障:建构主义教、学理念指导下创设的真实学习情境和组建的工具软件学习共同体成了高职工具软件技能教学改革的核心教学策略:建构主义教、学理念指导下采取的多样化的情境化评价能够提高与促进高职工具软件技能教学改革的进一步开展它们是实现高职工具软件技能教学改革的四个不可分割的有机整体.同时也是实现建构性学习的必要条件。
参考文献:
[1]周炎涛.计算机网络实用教程(第2版).出版社电子工业出版社.
[2]李艇.网络安全与认证.出版社重庆大学出版社.
《软件测试》课程教学策略研究 第4篇
《软件测试》是软件开发和系统安全人员必须掌握的一门专业课程。随着计算机软件设计人员、规模和复杂度的增加, 软件测试技术成为保证软件质量的重要手段之一。软件测试是一项专业技能工作, 包含许多理论知识和实践经验。缺少这些知识和经验, 测试的深度和广度就不够, 软件的质量也就无法保证。《软件测试》课程的教学目标主要是让学生熟悉软件测试的基础知识, 熟练编写软件测试过程中的标准化文档, 掌握软件测试流程和测试工具, 独立或合作完成相关软件的日常测试工作。《软件测试》的前置课程一般包括《程序设计基础》、《数据库及应用》、《操作系统》、《动态网页设计》, 后续课程一般包括课程实训、顶岗实习等。
2《软件测试》课程教学策略
教学策略是20世纪70年代提出的概念, 主要研究“如何教”一类的问题, 是现代教学论研究的新课题。教学策略是在教学过程中将教学思想、方法模式、技术手段三方面动因集成起来, 是教学思维对这三方面动因进行思维策略加工而形成的方法模式。教学策略是为实现教学目标而制定的, 是教学过程实施的整体方案, 包括合理组织教学过程, 选择具体的教学方法和材料, 制定教师与学生所遵守的教学行为程序。
软件测试本身可以起始于软件项目研发的各个环节, 有其特殊的生命周期。采用项目管理的方式进行策略引导, 符合该课程的专业特殊性。《软件测试》课程教学要从多个方面, 全方位地培养和提高学生的基础理论知识、软件综合研发素质、自主创新和实践训练等各项能力。课程教学应该包括综合性项目, 如单元与集成测试、性能测试、功能测试、系统测试、UI测试等, 需要特别注重案例学习的关键环节, 进一步规范、标准教学策略, 进行合理设计、管理教学执行过程。
目前, 《软件测试》课程教学过程中一般采用项目化分组式教学方式。以小组完成具体工作任务为教学核心, 结合实际项目案例, 教师指导和监督来完成教学工作。
3《软件测试》课程教学策略
《软件测试》课程一般具有较高的专业特性, 就业方向比较明确, 课程职业定向性比较单一, 就业前景较为乐观, 但是对学生的软件设计和研发能力一般要求较高, 综合性较强。在课程教学过程中结合职业特点, 需要遵循以下几个教学策略。
3.1 理论联系实际和积累与熟练策略
在课程教学过程中, 将软件测试的基础理论和实际应用结合起来, 选择或设计合理的项目化实例进行教学。项目实例必须符合教学大纲和培养方案的要求, 具有针对性、研究性、启发性、实践性和岗位适应性等特点。通过项目实例的学习和练习, 必须让学生的知识的积累度和技能的熟练度达到课程教学大纲规定的程度。
3.2 教师主导作用和学生主体性相结合策略
课程的教学以教师个人能力为核心, 在提高教师教学水平的前提下, 以教师为主导力量建设课程标准化, 对教师的教学内容、教学方法进行统一规范和设计。同时, 充分调动学生的主体积极性、主观能动性和创造性, 以期形成良好的教学互动。
3.3 统一要求与因材施教相结合策略
对《软件测试》课程内容的粗粒度项目案例进一步分解为细粒度的教学任务, 结合项目管理思想, 引入WBS (Work Breakdown Structure) 理念, 对分解后的细粒度的教学任务进行统一说明和要求, 明确任务起止时间, 监控学生完成质量。在任务分配和完成环节反馈学生学习效果, 采用思维导图方式探测学生的客观学习效果, 便于进一步差异性教学。
3.4 专业性和综合性相结合策略
《软件测试》课程需要制定标准化的课程教学计划、教学大纲和教学课件, 提倡电子化、网络化教学。对学生的专业基础知识和综合能力必须进行相应的考核, 并采用客观评价模式进行效果评估, 在实践中注重建立过程化评价体系。
3.5 教学与科研相结合策略
高校教师和学生一般需要有一定的科研能力, 在教学中应结合《软件测试》课程特点, 可以尝试师生共同协作研发、创新实用软件系统进行教学内容的更新。课程教学中要充分发挥教师主动引领作用, 积极传授学生科研经验、科研思想和科研方法。
4 结语
课程教学策略是一个复杂的集合, 既有宏观策略, 也有微观策略。在实际课程教学应用中可以采用框架式分层设计理念, 将课程的知识点、教学方法、教学原则、课时等逐步细化, 区分难易度、重难点和优先级, 形成有序、层次、权重结合的结构, 易于实现、可控和可量化。研究课程教学策略可以为教师和学生共同提供一个教学平台, 使得课程教学能够理论联系实际, 具有良好的教学指导和规范意义, 为提高教学效率和质量提供更便利的服务。
参考文献
[1]丁智国.基于角色扮演的《软件测试》课程教学探索[J].中国信息技术教育, 2014 (1) :103-105.
[2]崔晓华, 张贺, 张超, 王荣青.《线性代数》课程教学策略探讨[J].河北北方学院学报 (自然科学版) , 2007 (12) :80-82.
[3]王建平, 韩凤英.“团队协作, 角色分工”个性化教学在课改中的探索——以网页设计与制作课程教学为例[J].计算机教育, 2010 (7) :134-136.
[4]丁智国, 吕振洪.软件测试课程实验教学探索[J].计算机教育, 2012 (3) :102-105.
[5]孙小兵, 朱俊武, 李斌, 章永龙.自主学习驱动的软件测试课程双语研究性教学方法[J].计算机教育, 2014 (1) :74-78.
[6]程茂, 温静, 吴玉洁.软件测试课程的教学研究[J].河北师范大学学报, 2010 (4) :117-120.
通信软件课程设计 第5篇
指导老师:汪汉新
一、题目
学生可根据自己的兴趣从以下参考题目中选择其中一个(使用的编程语言不限,Matlab,C,C++均可),学生也可以自行选择与通信系统相关的题目。
题目1.信源编码的软件实现
软件编程实现信源压缩编码中的香农编码,费诺编码或哈夫曼编码。要求任意给定一个离散的无记忆信源的符号个数和发生的概率,能够计算和输出显示该信源的信息熵,编码的码字,码长,平均码长和编码效率,并对编码的性能进行比较分析。
题目2.离散无记忆信道容量迭代计算的软件实现
软件编程实现通信系统的离散无记忆信道容量的计算。要求在设置迭代精度的情况下,对于任意给定一个离散的无记忆信道的转移概率矩阵,能够给出达到信道容量的信源最佳概率分布,并计算信道的容量。
题目3.模拟调制与解调的软件实现
软件编程实现上述通信系统的功能。要求信号源产生随机的模拟信号,进行单边带SSB或双边带DSB的模拟调制与解调,信道加入高斯白噪声,结果能以图形的方式显示整个调制与解调的工作过程中各个信号的时域和频域的波形图,并分析比较调制的性能。
题目4.数字调制与解调的软件实现
软件编程实现上述通信系统的功能。要求信号源产生随机的数字信号,进行ASK,FSK或PSK数字调制与解调,信道加入高斯白噪声,结果能以图形的方式显示整个调制与解调的工作过程中各个信号的时域和频域的波形图,计算相应的误码率,并分析比较调制的性能。
二、要求
每个学生可选择一个自己感兴趣的题目,必须独立完成,不能互相抄袭。设计完成后,将所完成的工作交老师检查。并按电信学院的软件课程设计报告模板格式(从电信学院主页下载专区大三课件中下载)写出一份详细的设计报告。
1. 查阅资料:通过期刊、网络等查找资料,并阅读所得资料。
2. 总体设计:在已查资料的基础上进行总体方案的设计。
3. 编 程:用相关语言编程实现课程设计。
4. 调 试:对所编程序试运行、查错、修改。
5. 撰写设计报告:A4幅面打印,报告中流程图和其他所有图形要求用Visio软件绘图。
三.参考书籍
1.曲炜,朱诗兵。信息论基础及应用[M]。北京:清华大学出版社,2005。
2.钟麟,王峰。Matlab仿真技术与应用教程[M]。北京:国防工业出版社,2002。
3.韩利竹,王华。Matlab电子仿真与应用[M]。北京:国防工业出版社,2003。
4.John Proakis.现代通信系统-应用Matlab.北京:科学出版社,2003(中文或英文版)
四.安排
1.时间:第6-11周,周四下午3:00-5:30。
2.地点:15号楼816。
软件课程 第6篇
关键词:MATLAB 软件 教学
中图分类号:G420 文献标识码:A 文章编号:1674-098X(2015)08(a)-0178-02
“Matlab software application” Teaching Analysis
Zhao Chunlan
(Department of Qiqihar Medical computer , Qiqihar Heilongjiang,161006,China)
Abstract:With the development and popularization of computer technology, the computer software are constantly applied to each field of studying and working,and playing an irreplaceable role, matlab is one of the more computer software .Because of its powerful features, matlab was welcomed and attentated by more and more teachers and students in universities , and MATLAB has become a regular courses and needing to master tool software of many undergraduate and graduate students in colleges and universities, greatly helped students to solve problems encountered in various fields. In this paper, the author according to the accumulated teaching experience,conclude the MATLAB curriculum teaching experience of medical bioengineering ,aiming to exchange the teaching experience of MATLAB.
Key words:MATLAB;Software;Teaching
1 MATLAB软件介绍
MATLAB(矩阵实验室)是matrix laboratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。
Matlab语言具有编程效率高、用户使用方便、扩充能力强、语句简单且方便作图等有诸多优点,且软件自身具有高效方便的矩阵和数组运算,目前国内大学理工专业多开设MATLAB课程,课程设置主要分为两种。一种是将其作为专业课独立开设,另外一种是将MATLAB课程与其它课程进行结合,利用MATLAB求解相关课程中的难题,使问题以直观形象的方式得以解决。
2 该院MATLAB课程设置情况
开设专业:生物医学工程。
软件版本:MATLAB R2010a。
所用教材:《MATLAB实用教程(第3版)》电子工业出版社。
3 教学过程实现
医学工程专业开设课程《MATLAB软件应用》,共计42学时,采用理论实验一体化教学模式,如何在设定的学时内让学生很好的掌握MATLAB软件应用去解决专业问题,授课课程中笔者进行了一些列的探索活动,取得了较好的效果。
3.1 课程授课目标
MATLAB是一种以数值计算和数据图示为主的计算机软件,并包含适应多个学科的专业软件包,以及完善程序开发功能。本课程要求学生掌握MATLAB的数据类型、矩阵输入和操作方法、语法结构、函数的使用以及二维、三维绘图功能,并能够熟练地将MATLAB应用于学习中,解决相关课程中的复杂的数学计算问题。进一步加强实践性教学,通过对M语言的编程方法、用MATLAB进行数据可视化、分析处理的基本步骤等内容的讲解,让学生掌握如何利用MATLAB软件解决本专业所遇到的问题。
3.2 教学过程实现
根据该课程设置的课程目标及《MAT
LAB软件应用》课程本身注重实践性,该课程授课采取以行动导向为主要特征的理论实践一体化教学模式,按照课程大纲的教学顺序,将理论内容与实验内容进行整合,课程讲授在我院网络实验中心进行,便于学生及时有效的掌握所学知识,综合应用实例,边学边练。课程的考核也同样注重对所学知识的能力应用。
4 课程教学浅析
4.1 根据MATLAB语言特点,注重细节教学
MATLAB是基于矩阵运算的软件,变量数据都是以矩阵形式存储的,即使是常数也会以一行一列的形式存储,掌握矩阵相关知识并熟练应用是MATLAB软件应用的基础前提,因此需要细致讲解,比如教学过程中对涉及到矩阵元素的提取。通过具体例题的讲解使学生明白如何提取出相关的元素,提取标识中涉及到的冒号、逗号、分号、end等代表的具体含义。如表1所示。
4.2 采取实例进行教学,加深学生对MATLAB的理解
对于偏重操作的MATLAB软件学习,辅以实例进行演示,会令学生对知识点的掌握更加直观明了,同时也更容易激发学习的兴趣。比如在图形用户界面GUI的教学过程中,用图1所示实例演示,不但巩固了绘图的知识,同时对图形用户界面也有了更加直观的认识。
4.3 建立学习讨论组,鼓励学生多进行课程学习交流
MATLAB的学习涉及到大量的函数的记忆和使用,必须通过大量的练习才能得以掌握,然而课上时间有限,不可能面面俱到的讲解,因此可以建立学习讨论组,每个人根据自己的学习上的问题和收获与其他的同学进行沟通交流,提高学习的质量和效率,合理利用课程外时间。
4.4 合理安排课堂授课和实践
MATLAB是一门实践性很强的课程,因此必须合理的安排好课堂授课与实践课程。因此我院该课程的授课采用理论实验一体化教学方式,理论讲授MATLAB相关知识及其使用方法,马上利用软件进行练习,方便知识的巩固,讲练结合,能够及时的发现学习过程中出现的问题。
4.5 多鼓励学生利用help函数进行自我学习
MATLAB内容繁杂知识点多,包含数量惊人的各类函数,知识学习难度很大,MATLAB软件考虑了不同用户的需求,提供了完备的帮助系统,如图2所示。除了可以通过命令调用帮助系统,刚刚接触软件的人还可以观看MATLAB软件的Demos演示系统更加便于理解。通过帮助系统学习软件的应用,因此教师可以鼓励学生多注重帮助系统的使用,通过该种方式进行学习,找到问题的解决办法。另外,网络提供了丰富了学习资源和BBS论坛,非常方便MATLAB的学习交流,可以帮助学习者更好的掌握软件的学习。
参考文献
[1]郑阿奇.MATLAB实用教程[M].电子工业出版社,2012.
[2]曹戈.MATLAB教程及实训[M].机械工业出版社,2009.
软件院校课程设置的探讨 第7篇
由于不同层次、不同办学体制、不同地域、不同教学软硬件等,导致在软件人才的培养过程中出现了一些问题。一方面是社会上软件类人才需求的缺口很大,另一方面软件院校的就业形式呈现出下滑的趋势[2]。各软件院校的教师都在努力的探索和改革,而课程体系设置作为高等院校培养目标实现的重要手段是大多院校改革的重要目标[3]。我们国家针对具体情况在2006年提出了软件工程知识单元这个方向的总体框架和课程体系结构,并给出了相关的指导性意见。然而该课程体系结构主要以美国、印度、加拿大等国家的软件培养模式为背景,并不能很好的适应我国软件人才的培养模式。
我们认为软件院校的课程设置要与市场和行业紧密结合,以技术案例和项目工程为主要实践内容。要做到软硬件结合和产学研结合,重在工程和应用。这样可以培养出既有理论知识又有实践工程的软件人才。在本文中,首先阐述软件院校课程设置存在的问题,然后分析软件院校的学生培养目标,其次提出具体的课程设置体系案例,最后探讨了课程体系设置中三个关键问题的研究。
1 课程设置存在的问题
随着大学学生人数的扩展,各大高校学生的学习能力是参差不齐。跟学校管理、学生就业、教学都带来了极大问题。我们通过网络和实地调查,发现目前软件院校课程设置存在一些共同的问题,概括起来有下面几点[:
1)课程设置内容陈旧
由于软件这个行业,发现迅速。单讲应用程序的开发就有两条技术主线:一是Microsoft公司推出的.Net系列、二是Sun公司推出的Java系列。而目前部分高校脱离实际情况,没有重视其中任何一条技术主线,导致学生仿佛这两个系列都会,没有真正掌握工程的开发知识,更没有开发经验[4]。
2)课程设置跟不上行业发展
大学的教育大多以教师为主体,在课堂有限的时间内,教师主要讲授大纲规定的内容。课程设置上往往跟不上行业发展,如iPhone/Andriod应用程序开发平台,学校课程设置是没有设置这样的课程,更不用说设置课程介绍苹果系统MacOS,因此学生到软件公司后发现学校学习的跟公司完全不一样。最多只能说学生在学校学习到一定方法,而非工程或项目的技术和经验。
3)课程设置不合理
主要是指课程体系设置的不合理情况,部分软件院校流于形式或者学校政策,对公共基础课和选修课程不但不删减,反而加大课时数。无法区分必须课和专业选修课,学生选课只看那门课程简单、学分多,容易挣足学分毕业,根本没有形成学生的技术指导路线。同时软件院校的课程设置是重实践的,然而多数院校对实践课程设置不够重视。原因是课时不足或者是部分软件院校硬件设备不够,导致学生实践环节缺乏,动手能力弱[5]。
4)认证课程过多
部分软件院校为了学生更好的就业,与一些培训机构或者大公司合作,跟学生开设认证课程。表面上学生即获得了学分有获得了考试证书,教师也完成教学,公司也更好的宣传了自己的产品,取得了多赢的效果。其实这种课程设置模式,导致学生过多的时间在应付认证考试,没有过多工程实践,也没有思考自己所学专业,真正到就业的时候选择面小。这一情况特别是在一些高职软件院校更为突出。
5)过多模仿国外课程体系
由于软件行业以美国和印度为龙头,所以最先课程体系的设置在这些国家已经有一定规模和经验。于是国内部分软件院校效仿设置课程,如SWEBOK。没有形成国内自己的教学课程体系,也脱离国内学生的实际情况。
6)设置的课程无法开课
部分院校为了更好的适应行业发展,不断的修改教学,增设一些行业前沿课程。但是没有相关的师资,导致设置的相关课程无法开课。部分软件院校邀请具有实践工程经验的公司项目人员授课,但是部分项目人员没有相关教学经验而且缺乏耐心,导致学生学习效果不好。
2 软件院校的培养目标
根据各软件院校对学生定位的不同培养模式,软件人才的培养目标也不相同。总体来讲我们把软件人才分两类:一是以基础代码编写为主的程序员或者高级程序员,二是以体系架构设计为主的系统分析师或者高级软件开发工程师。第一类人才主要培养是在高职院校,第二类人才主要培养是在本科院校。针对这两类人才的就业岗位不一样,培养目标也略有差异。在这里我们只是分析他们之间相同的培养目标,总体来讲,软件人才的培养要以行业需求为导向、面向学生、面向整个职业、以创新求发展的人才培养为理念。我们对人才的培养目标归纳如表1所示。
根据表1我们可以看出,一个优秀的软件人才培养,除了具有过硬的专业能力还需要具有良好的交际能力和外语能力,因为软件市场是一个国际化的市场,与国际接轨或者沟通是必不可少的,所以软件人才培养目标相对其它行业要求更高。
3 课程体系
对传统课程设置存在的问题及培养目标的分析,我们认为软件院校的课程设置需要基于如下一些考虑:1)以就业为导向的原则;2)突出软件课程的创新性,特别是对课程内容、实践环节;3)注重与工程能力培养的结合。下面结合我院具体情况,先给出课程体系结构如表2所示。
表2的课程体系主要是针对普通软件院校本科提出,是按照工程师培养目标和规格,制定课程体系。我们把整个课程体系的课程类别分为三个部分,即课程教学、实践教学、创新学分。要求学生必须参与每个环节,拿到规定的最低学分(如创新学分的最低要求为4学分,学生必须学习期间完成)。其中企业实习和毕业设计环节必须是在完成课程教学后开始。实践可以按照课程安排相应处理,最后完全达到规定最低学分要求后才能毕业。
根据以上对课程体系的分析,为了便于学生对知识的掌握,加强学生对软件行业的认识和面向对象开发的项目经验,下面讨论课程的设置。
核心课程说明:从软件工程和工程技术两个层面进行核心课程设置。软件工程方面的课程主要包括与软件相关的基础课程(如计算机网络、操作系统等)和软件工程理论(如软件过程的管理、配置、设计与架构等)。工程技术方面的课程分为基础课程(如C语言、数据结构与算法等)和技术课程(.Net系列或者Java系列)。
为了培养学生具备良好的外语交流能力以及国际环境下的交流、竞争与合作的能力。我们对此也设计了多层次的双语教学课程。设置软件工程、数据结构与算法、C++语言为双语授课。部分前沿课程可由外教授课,以激发学生的学习兴趣,加强学生的英语沟通能力和写作能力。
实践教学设置方面,公司和企业不断的对学生提出要求,他们需要的是学生一到公司不需培训即可上岗。可是实际情况是学生项目经验缺乏,甚至不清楚基本的软件开发过程。针对这些情况,我们在实践教学设置方面要求课堂教学与实践教学比小于11。加大实践教学环节,部分课程甚至可以全部在实验中心完成,如信息技术导论,C语言等课。学生可以在中心实验室通过实践教学完成学习。同时我们成立学生创新中心,进行面向专业方向的项目实践、学科竞赛等实践学习。
4 三个关键问题
4.1 教材建设
在课程实施的过程中,教材选择是教学过程所用的材料,目前教材情况有如下几种。一是部分软件院校根据自己情况编写优秀教材,但是由于编写人员水平残次不齐以及部分出版社不负责的态度。导致部分教材写作累赘,章节安排不合理,学生学习没有思路。其二是选择国内优秀教材,但是部分软件院校针对大纲情况,不断删减,导致教材在教学过程中发挥作用不大。三是选用国外原版教材或者是翻译为中文的教材,优点是可以保持国外教材的原貌,但是部分学生理解困难。同时国外教材部分基础缺乏,学生感觉没有头绪。在我院的教材建设方面,我们对每一门课程严格按照精品课程建设进程设计,从教案到课堂、从实验到学生实验报告等环节都围绕课程目标进行,实行课程组制度。充分保障学生在课程学习中的清晰思路和学习积极性。
4.2 双语课程教学
由于软件学科的专业特色,双语教学课程设置显的特别重要。进而也对教师提出了较高要求,要求我们的授课教师必须具有流利的英语口语,因此我院也每年派出部分教师进修,以加强英语学习[6]。在具体的实施过程中,考虑到学生的接受程度,我们对部分核心课程采用双语教学,对部分前沿课程邀请国外教授实行全英文教学。同时择优选择原版的英语教材,加强学生的兴趣。在授课的过程中,针对不同年级和学生的具体情况采用不同的双语教学比例,较好的平衡了专业知识讲解和英语本身的问题。
4.3 课程考核
课程考核是直接面对教师的教授成果,是对学生学习过程的检测。在我院的课程考核方面,我们主要采用过程考核为主,实行课程组下的教考分离方式。把学生的考核过程分为几个组成部分如:课堂、实验、项目、期中、期末等,采用过程考核的方式。同时也在课程组统一指导实现教学与考核的分离制度,对课程的考核起到了良好效果。
5 结论
本文讨论了基于软件院校课程设置的实际情况,我们结合当前软件行业的具体请,分析了传统软件学科在课程设置方面存在的问题,然后分析了软件院校的培养目标,提出了软件院校的课程体系结构,最后讨论了几个关键的问题。由于软件学科是一个快速发展的学科,各个课程每年都会进行适当调整。作为计算机教育工作者,这是一个持续的工作。
参考文献
[1]严丽平,汤文亮.软件工程知识体系与核心课程设置模式探讨[J].华东交通大学学报,2007(24):177-180.
[2]张应辉,饶云波,周明天.IT高职院校课程设置研究[J].职业技术教育,2006(27):51-54.
[3]陈云芳,孙力娟.软件工程专业课程体系研究[J].高等工程教育研究,2009(2):140-144.
[4]黄艳琼,梁俊.计算机网络课程实验教学改革探索[J].计算机教育,2009(2):62-63.
[5]王颖,陆防.本课课程设置与改革键因素分析[J].复旦教育论坛,2010,8(6):51-55.
软件类课程设计方法研究 第8篇
当前, 社会已经进入高效的信息化时代, 知识也在日新月异。传统的教育的模式已经无法满足当前形势的发展, 高校教育在不断的进行课程教学改革和教学研究, 而课程设计正是在改革和研究的重点。如何做好课程设计, 关系到整个教学课程改革实践环节的落实。在软件类的课程中, 课程设计是整门课程是否能达标的一项重要指标, 学生能否顺利地完成课程设计引起了越来越多的学者关注。
现在软件类课程设计中, 一般主要采取在一门课程的最后2-3周集中的进行。在一门课程讲授完毕, 然后由教师命题或者学生自拟题目, 再由教师制定课程设计计划与考核标准, 接着学生进入课程设计的阶段, 最后由教师进行考核评定。在整个课程设计过程中, 学生学习缺乏自主性与创新性, 这与新时代下的课程设计还有很大的差距。
2. 软件类课程的特点
软件类课程相对于其他课程有其自身的特点, 它具有理论与实践并重、逻辑性强、富有创新性等特点。
(1) 理论与实践并重
软件类课程学习的前提必须进行扎实的理论功底, 然后需要不断的进行实践。在实践的过程中, 必须再进行理论知识的学习与重复思考, 再进行实践。在实践中进行理论知识的学习, 在学习理论知识的同时不断思考实践的关键点。
(2) 逻辑性强
软件类课程是相互衔接的, 学习一门课程往往具有其先决条件, 而此先决条件是前一门课程的学习。软件类课程学习具有很严格的先后次序, 一旦颠倒将无法进行正常的学习。而某一门课程内部同样也具有严格的先后次序, 一环扣一环, 必须进行逐一的学习。
(3) 创新性
软件类课程的学习是在讲授传统知识的基础上进行创新, 在课堂上学习传统的理论知识, 在作业与练习上, 必须在思考传统的知识进行创新, 否则无法完成指定的作业。要求学生在学习的过程中必须培养自主研发能力。
3. 软件类课程设计方法
目前的一些软件类课程设计的方法, 很多学者仅从课程设计的角度出发, 没有考虑到课程的特点, 那样提出的课程设计方法并不能很好地应用于所有类型。本文针对软件类课程的特点, 本文提出了如下几种软件类课程设计方法:
(1) 在理论授课中完成课程设计, 理论与设计并进
在软件类课程的开课初期就进行课程设计的规划, 使之与所讲授的理论相互吻合相互促进。此阶段主要分三步进行, 第一步在课程初期, 根据教学进度规划出课程设计的题目与设计进度, 把理论学习进度转换为课程设计的每一步;第二步在理论学习中把课程设计遇到的共同问题进行串讲, 并与所有学生共同解决问题共同提高;第三步则为在最后考评的时候把课程设计与理论讲授相联系, 通过答辩的形式主要考评学生在每一个进度是如何联系理论知识进行课程设计的, 更加注重课程设计的过程。
(2) 对课程设计进行分解, 降低课程设计整体难度
由于软件类课程逻辑性强, 所以在课程设计的过程中可以将其进行分解为基础研究设计、过程研究设计与测试研究设计三个阶段。在基础研究设计阶段主要研究所需要的基本概念和基本概念应用, 考虑整个课程设计, 将基础知识内容连贯在一起组成一个基础研究课程设计;在过程研究设计阶段主要将精力集中在基础知识的扩展与课程设计的具体要求上, 把每一个具体要求通过基础知识扩展进行实现, 之后把所有要求功能再利用知识点之间的联系进行综合架构, 进而形成一个有机的应用整体;在测试研究阶段主要是把课程设计成果即整个应用程序进行整体测试, 在测试过程中也分为基础研究测试和过程研究测试, 而针对每个阶段出现的测试问题要进行回溯改进, 直到整个课程设计测试无误或者能完成既定设计要求为止。
(3) 教师全程参与课程设计, 实时监控学生的环节创新
教师在为学生留下课程设计的任务时, 要经常与自己所带学生进行沟通, 聆听他们在设计或者应用知识点的过程中的一些思路或者想法, 鼓励学生在一些陌生的领域进行自发研究与应用, 敢于想象。而对学生已经产生的一些可能实现的思路要进行分析与告之, 以防止学生在实现的过程中由于一些主观原因而放弃。对每一个学生的创新性想法进行记录。并定时在自己所带的课程设计小组内举行创新性想法或者思路的探讨, 研究其可行性并积极的去鼓励学生去共同研究实验, 拓宽创新性思维的实现的可能性。
小结
本文根据软件类课程的特点提出了三类课程设计的方法, 在进行课程设计的过程中可以将三种方法同时应用或者重点应用其中的一种进行。通过几学期的实践, 证明此三种方法较传统的课程设计方法无论在提高学生的课程兴趣还是在最后课程设计的质量上都得到了大大的提高。
参考文献
[1]顾凤佳.终身学习视野下的微型学习课程设计原则研究.远程教育杂志, 2013年4月.
[2]张生, 王丽丽, 苏梅, 齐媛.微课程设计要素探讨.中国电化教育, 2014年9月.
软件设计模式课程教学探索 第9篇
一、校企深度合作, 引入企业案例
为培养符合社会需要的高级软件专门人才, 2010年, 吉首大学和中软国际校企深度合作, 成立了吉首大学软件服务外包学院, 确定软件工程专业为教学改革试点专业, 由校企联合共同建设。校企合作过程中, 中软国际ETC根据双方共同制定的专业人才培养方案, 在遵守客户保密条款的前提下, 从中软国际国内外软件项目业务中精心挑选了一些项目进行改造, 形成软件工程专业实践教学项目案例库, 如烟草分布式数据采集系统、集团协同办公平台、多媒体网络资源管理系统、企业内网即时通信系统等。教师在讲授本课程时, 可运用这些案例中的部分实现方法, 如在讲解某个具体的模式时, 可以先提出软件设计需求→讨论一般的软件设计方案, 适当拓展项目需求, 指出原方案的缺点→讲解运用模式设计的方案→讨论该模式的优势→总结模式的应用, 这种方式能增强学生对课程内容的理解。结合企业项目案例, 如在一些较大的真实系统中, 看似一个简单的数据库接口程序, 通过以上环节的讲解, 都能引出设计模式的思想, 因为底层具体的数据库产品可能是不确定的, 可能是Oracle或SQL server, 也可能是Sybase或DB2, 甚至可能是其他的产品, 为了适应不同客户提出的数据库要求, 编程时不改变源码就能更换数据库, 这时采用工厂模式就是一种比较好的方案。企业项目案例中有很多具体的实现场景, 为本课程的教学提供了丰富的教学资源, 教师授课时可运用这些真实的案例结合模式进行讲解, 体现课程的实用性, 激发学生的学习兴趣。
二、改革教学方法, 引入研讨式教学
围绕学生“实践能力、创新能力和综合素质”的培养, 在教学方法的设计和教学方法的实践方面, 引入“研讨式”教学方法, 该方法分三个环节进行实施。第一个环节为创设问题, 教师根据教学目标要求提出问题, 以问题为导向编制学习预案或导学提纲, 学生依据问题进行资料查阅, 按小组合作探究研讨, 找出解决问题的思路和方案;第二个环节为课内研讨, 学生上台演示自己的解决方案, 其他同学和教师可随时提问, 大家共同讨论所演示方案的优劣。然后, 教师根据学生演示和讨论情况重点讲解一些知识内容, 对学生项目解决方案的优缺点进行总结;第三个环节为课后训练, 学生针对演示中的出现的问题, 对解决方案进行重构, 或布置一些相关的任务或练习, 达到对知识的巩固与提高。如在讲授策略模式时, 可以创设一个报价系统的题目, 对于某个产品根据不同的客户类型进行不同的报价, 要求这些报价可以方便设定。如对普通客户或者是新客户报全价, 对老客户折扣3%, 对大客户折扣8%。学生对这个程序的解决方案可能会出现几个不同的版本, 有可能是写一个简单的判断程序, 直接将折扣编入代码, 有可能将报价的算法单独进行实现, 对这些解决方案进行研讨时, 教师应不断对系统功能提出新的要求, 如国庆节的时候, 公司进行产品促销活动, 这些折扣都变了, 国庆结束又恢复到原先的报价方式。提出新要求的目的是要将报价算法和使用算法的那段程序分开, 从而体现策略模式的本质。因为研讨式教学方式要求学生上台演示并讲解, 能极大地促进学生的学习。
三、加强实践教学指导, 培养工程实践能力
软件设计模式课程的实践性非常强, 而受课内实验时数限制, 任课教师要精选实验题, 并加强实验指导与检查。为进一步培养学生工程应用能力, 学院专门开设了第二课堂, 实验室全天对学生开放, 并加强了对教师和学生的管理, 安排专业教师轮流值班, 教师作为学生学习的引导者, 为学生提供和课程配套的学习资料或布置相关项目实践任务。在教师的引导下, 学生可独立或以小组讨论的方式完成相关任务, 教师定期检查任务完成情况, 形成“做中学”的教学模式, 让学生在实践中逐步理解模式的应用方法。在课程教学即将结束时, 要求学生演示并讲解自己的项目开发情况, 由任课教师和其他专业教师组成评定小组进行评分。
另外, 为进一步满足学生个性化学习的需要, 学院另外创建了两个学生创新创业实验室, 该实验室配置了服务器、网络、电源、桌椅、电视等基础设施, 学生自己可带计算机进入, 该实验室由学院制定管理规则, 学生自主管理、自主学习, 指导教师布置相关任务、定期进行指导与检查, 在适当的时候学院邀请部分企业教师对学生的项目进行点评。
四、营造学习环境, 促进自主学习
良好的学习环境能促进学生的学习, 学校建设了软件工程专业云教学平台, 采用虚拟桌面或虚拟应用两种策略在云端为每位师生分配个人专属虚拟实验机, 师生可随时随地联网上线。部署了智能移动学习系统 (i Cloud Class) 、ACM在线测评系统 (ACM Online Judge System) 等, 提供电子教材、教学视频、PPT课件、教学案例、实验项目等, 方便师生交流, 促进学生自主学习。
在教学软环境建设方面, 学院根据软件工程专业的特点, 通过课堂教学、课外分组练习、软件项目设计竞赛等方式, 逐渐形成一个以学生为中心的教学方法体系, 如开展软件项目设计竞赛, 提升学生学习专业的热情, 对于学生的优秀作品先由学生讲解软件设计思想和设计方法, 之后由教师组点评并渗透设计模式相关方法, 所有学生可以相互学习和探讨。
五、改革考试方式, 引入课堂和项目考核机制
在课程考核方面, 改革以知识考核为目的的传统考试方式, 配合研讨式教学方式, 实行课堂或项目考核, 变结果考核为过程考核。课堂考核主要内容为学生知识拾取与应用能力、分析解决问题能力、团队协作与沟通表达能力、创新能力等。项目考核主要内容为软件项目实施, 从项目需求、分析与设计、编码与实现、演示与答辩等方面进行评价。将学生平时回答问题、研讨式教学中的提问与答问、研讨式教学中的项目演示与答辩、学生对演示项目的互评分等以较大的比例计入课程总评分, 期末测试则只占课程分数的40%左右。这种方式有利于督促学生抓紧平时的学习, 脚踏实地地一步步提高专业技能, 同时也能在某种程度上保证研讨式教学的顺利开展。
六、结束语
本文从教学案例选取、教学方法改革、实践教学指导、学习环境建设、课程考核与评价方式等方面对软件设计模式课程教学进行了一定的探索并做了一些改革, 从学生上机实验结果、软件设计作品、参加国家计算机技术与软件专业技术考试等方面观察, 以上改革取得了一定的成效。鉴于课程内容本身的复杂性与抽象性, 今后需要继续在教学内容、教学方法和手段等方面进行探索并积极实践。
参考文献
[1]Erich G, Richard H, Ralph J, et al.李英军, 马晓星, 蔡敏等译.设计模式:可复用面向对象软件的基础[M].北京:机械工业出版社, 2004.
[2]蒋湘涛, 余绍军.“软件设计模式”课程教学研究[J].中国电力教育, 2011 (22) :77-78.
[3]罗锦坤.软件设计模式课程教学存在问题及其对策[J].广西民族师范学院学报, 2014, 31 (3) :55-57.
[4]李勇军, 余雨萍.《软件设计模式》课程教学过程设计[J].教育教学论坛, 2013 (04) :207-208.
[5]杨瑞龙, 朱征宇, 朱庆生.引入软件设计模式的面向对象程序设计教学方法[J].计算机教育, 2012 (10) :97-100.
软件课程 第10篇
随着软件和信息服务业的迅速发展,软件服务外包市场需求和软件技术外包服务业都得到了巨大的发展。软件服务外包已成为世界软件产业发展的重要趋势。中国正面临一个前所未有的发展机遇,国家已经认定了21个软件服务外包示范城市,软件服务外包产业规模一直保持年均30% 以上的增速,软件服务外包产业正处于高速发展期[1]。
软件外包企业对既具有计算机技术能力,又具有一定外语能力的人才需求极为强烈。如何培养出能够满足软件外包企业需求的人才成为高等教育领域研究的热点。 《软件工程》课程是计算机相关专业的专业必修课,涉及软件工程基本原理、软件开发技术和开发方法、软件工具和平台、软件项目管理等多方面知识,是培养学生软件工程能力的一门关键课程[2]。为把学生培养为软件企业需要的软件工程人才,国内众多高校在教学内容、教学模式、实践体系等方面进行了教学改革[3-4]。
1教学目标
《软件工程》课程是计算机相关专业的专业必修课,具有较强的理论性和实践性。根据软件工程专业的人才培养目标,结合软件外包行业对人才的需求,确定了《软件工程》课程的教学目标:掌握软件开发流程,能灵活运用软件工程的知识进行项目设计、开发、测试和运行维护,能阅读并撰写软件开发过程中产生的文档资料(中文和日文),如需求说明书、系统设计说明书、数据库设计说明书、测试说明书和用户使用说明书等;具有团队合作能力。
2基于校企合作的教学内容改革
校企合作就是在合作教育模式框架下,高校和企业两个独立的组织,以学生价值创造和人才培养为出发点,以共赢为基础,双方进行紧密合作、优势互补的合作方式。 软件外包企业需要学生具有较强的日语或英语软件文档阅读和撰写能力,因此依托校企合作平台,本课程组与软件外包企业紧密合作,邀请企业培训师与授课教师一起, 根据企业的实际用人需求确定教学内容、编写合适的项目案例和完整的中英日文文档资料,使教学内容无限贴近实际软件开发中使用的技术和方法,由此实现学校与企业 “零距离”、学生毕业与就业“零过渡”、理论与实践学习“零衔接”。
3教学方法改革
3.1基于案例的教学方法改革
案例教学法作为一种启发式的教学方法,是对传统教学法的扩充和革新[5]。针对软件工程课程理论性和实践性强的特点,对基于案例的《软件工程》课程教学模式进行了研究,结果显示目前采用的基于案例的教学方法,多为分散案例,案例间的关联性不强,甚至没有关联。例如:在讲解E-R图的时候采用学生信息管理系统做例子,在讲解数据流图的时候采用仓库数据管理系统做例子,这样就导致学生对软件工程的知识仅仅是管中窥豹,不能贯通。所以将一个完整的案例贯穿到《软件工程》课程的教学过程中,有利于学生对知识的理解和整合。
3.2基于项目驱动的分组项目实践模式
项目实践是软件工程课程教学过程中非常重要的一环。结合《软件工程》课程特点,提出项目驱动的分组项目实践模式,以项目为主体,组织学生以团队的形式参加项目分析、设计、实现和管理,在项目实施过程中,激励学生自我认识,引导学生独立思考与创新,营造讨论争辩的机会和气氛,并以讨论的形式鼓励学生表达各自的观点和思想,从而积极主动地参与分析、概括或评价,将软件工程的分析、设计、实现、管理等各个知识点的讲解融入项目实施的各个阶段[6]。基于项目驱动的分组项目实践模式由以下两个环节构成:
(1)学生组队。在课程初期,安排学生自由组队,每组人数限定3~4人,选出一位同学作为项目组长进行项目管理。学生按系统分析、设计、实现、测试的角色明确各自的分工和职责,并协作完成,以培养学生的团队合作精神、 沟通能力和协调管理能力。随着教学进度展开,把项目实施与理论教学结合起来。
(2)项目选择和项目开发。根据课程进度,引导学生根据兴趣自行进行项目选择;按照软件工程的生命周期指导学生进行项目计划、需求分析、设计等工作。侧重培养学生发现问题、独立分析问题和解决问题的能力,使学生初步体会一个软件项目开发的全过程。采用分组方式开展项目实践,这样在巩固项目开发技术知识的同时,培养学生与人合作的能力,提高学生的项目管理能力。
3.3师生互动和生生互动
在授课过程中,每个开发阶段(需求分析、概要设计、 数据库设计、页面设计等)完成后,都选择2~3个项目组进行项目进展情况发表。根据项目进展情况,项目组自行设计PPT,在课堂上阐述设计理念,教师和其他学生作为项目评审人员对设计方案进行评估、提问,由项目发表的学生进行解答。学生把自己的想法表述出来,大家一起探讨可行性和合理性,有利于师生之间、学生之间的交流,提高学生与人沟通的能力。
3.4充分利用网络交互工具进行课后扩展教学
QQ、微信、微博的发展,完全改变了现代人的交流沟通方式。学生接收新鲜事物快,乐于在网上与教师、同学沟通,所以将微信引入到教学中,可以引导学生认识到微信不仅仅是一种沟通工具,也是一种有效的学习工具。
4考核方式改革
传统的考核方式以考试为主,学生仅仅为了考试而学习,采用应付考试的方式来学习,在根本没理解的情况下, 死记硬背,不能做到知识的灵活运用。《软件工程》课程涉及到的知识面很广,在实际项目开发过程中,需要查阅很多的参考资料,因此,本课程组采用了分组开发项目,最终提交大作业的形式进行课程考核。平时成绩占30%,期末大作业占70%。传统的大作业方式,是在课程后期才将大作业要求告诉学生,学生可能采取突击的方式完成作业,作业质量不高。我们在课程初期就以大作业说明文档和样例的形式,告诉学生本课程的考核验收方式,让学生提前准备。在授课过程中,每个软件开发阶段完成后,需要学生完成相应项目进度的文档撰写工作,采用课堂随机检查或学生主动发表的方式,对大作业的完成情况和相关知识的掌握情况进行考查。实验考核结合各小组提交的作品进行,在评价整个小组成果的同时注意区分个人贡献。具体评价内容与比例为:软件需求规格说明20%,软件设计文档20%,模块代码25%,集成系统25%,软件测试文档10%。
5教师队伍建设
在师资培养方面,坚持“走出去、请进来”的原则,有计划、有步骤地选派骨干教师加入软件工程课程组,扩大本课程的师资配备;通过多种渠道,选派教师参加各类企业培训;聘请企业经验丰富的导师作为项目经理,课程组骨干教师作为项目组成员,进行项目开发实践,确保教师的教学水平与实践能力得到提高。软件工程授课教师都具有在知名软件公司工作或接受专门培训的经历,积累了丰富的项目经验,能够熟练使用英语、日语给学生讲解软件文档(需求分析说明书、概要设计说明书、详细设计说明书、数据库设计说明书、测试说明书等)的撰写,从而使学生在掌握软件开发过程的同时,熟悉各种文档的多语言阅读和撰写,满足软件外包企业人才需求标准。
6结语
我国高等教育处于转型期,要抓住机会,掌握主动权, 从市场需求入手,解决高校人才培养与社会需求之间的矛盾,让学生真正体会到学以致用的快乐。实践证明,《软件工程》课程的教学改革,对软件学院人才培养目标的重新修订、教学模式的改革有指导和借鉴意义,有利于本专业的建设、发展和转型。
摘要:根据计算机科学与技术专业的人才培养目标,从软件外包行业人才需求的实际出发,结合《软件工程》课程理论性和实践性强的特点,提出了面向软件外包人才需求的《软件工程》课程教学改革方案。
《软件工程》课程教学方法的探索 第11篇
关键词:教学改革;软件工程;教学方法
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2012)02-0163-02
一、概要
1968年秋,NATO(北约)科技委员会召集近50名一流的编程人员、计算机科学家和工业界巨头,讨论和制定摆脱“软件危机”的对策。会上首次提出软件工程的概念[1]。软件工程是指导计算机软件开发与维护的工程学科;是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理措施和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它[2]。虽然软件工程应用了几十年,软件人才依然紧缺,大部分大学毕业生刚毕业缺少项目经验、实用技能和职业素质。用人单位不得不再投资,对刚毕业的大学生进行再培训,IBM公司和Microsoft公司对新员工的技术培训就是一个很好的例子。虽然各高等院校意识到这一现象,对软件专业、计算机应用专业都开设有软件工程课程,但是由于软件人才培养的实践性、连贯性、分工协作性,使得在大学环境下培养软件人员的方法、手段上面临着不少困难,具体表现在:软件专业的大学生在校园里缺乏实战项目、大学缺乏软件项目经理、缺乏有实际软件项目开发经验的教员。目前国内《软件工程》教学还是老师讲得多,学生做得少。学生也只是注重具体的编程能力,对于软件开发项目的全局不够重视,团队观念不够强,学生学得不扎实,兴趣不是很高。鉴于本文作者具有国内外软件开发公司的多年工作经验、多个项目的项目经理的工作经验,具有国内外大学的学习、科研经验,具有《软件工程》、《软件开发》、《项目管理》等课程的教学经验,特此介绍《软件工程》课程的教学方法,从理论和实践两个方面促进高校《软件工程》课程的教学改革,目标是充分调动学生学习的积极性、主动性和能动性,培养学生大型软件开发项目的综合能力。
二、教学目标和内容
本课程的教学目标是让学生掌握求解软件的基本思想、工具、技术、过程和方法,为从事计算机软件开发、测试与维护奠定良好的基础。从实用的角度讲述软件工程的基本原理、概念和技术,强调软件开发过程的方法研究,使学生掌握软件分析、设计、实现和测试等基本技术以及面向对象分析和设计的基本方法。通过案例研究和实践,实际运用软件工程的原理,掌握软件项目管理和团队开发的基本技能。具体内容包括软件工程与软件过程概念、结构化分析、设计和实现、面向对象的分析、设计和实现、软件项目管理基础、统一建模语言基础等内容[3、4]。
三、教学方法
众所周知,大学本科软件工程及其相关專业的学生,在大学学习期间,对软件开发接触的不是很多,特别是大型的项目,更是时间上和环境上的不允许。因而学生更注重于具体的编程技术而缺乏项目组及其团队精神。为此我们探索对《软件工程》课程的教学进行改革。中心思想是以学生实际情况为基础,以实际项目开发为主线,以企业软件开发过程中的问题为引导,特别是以本人多年的企业软件开发经验为实例,在讲述理论知识的同时,举出软件开发过程中遇到的实际问题,并讲述利用理论知识和其他知识解决问题的方法。为此特别设计若干个实际开发案例。从课程的第一节课开始,就要求学生和实际的开发案例联系起来。随着理论知识的逐步讲解,软件项目的实际开发过程的各个阶段也接着逐步进行。每一个阶段的完成,就是下一个阶段的基础及开始。最终系统地完成整个软件开发任务。具体来说,就是将课程讲解分成软件需求分析、系统原型建立、系统设计实现、系统测试、和系统总体报告等五个相互关联的软件开发阶段讲解,考核方式也是围绕着这五个阶段,要求学生每个阶段都提交阶段报告,最后现场演示并提交总体开发报告。这样既解决了以往教学上理论讲解和实际软件开发脱节的问题,又解决了对众多学生考评的问题。下面以一个冰酒销售系统为实践案例进行说明:首先,在教学的第一堂课,就提交给学生软件开发案例,即用户(冰酒销售商店老板)自述:“我是一个果园农场主,又是一个冰酒供应商。我向市场上提供不同种类的冰酒。我的客户可能是小商店、超市、批发商、或个人。客户可以通过电话购买冰酒,也可以到我的商店上门买酒。我以前是将每一次客户及购买信息登记到一张卡片上,并计算费用。我还要根据客户不同的要求送货,当然送货费用越远越高。我将所有的卡片放到一个盒子里以便查询。月末我还要对卡片进行统计。随着我的销售量的增加,我发现越来越难于应付了。现在需要用电脑系统来管理。”让学生已开始就有思想准备,就有一个目标,就有一个问题,即如何去完成软件开发任务。然后引导学生要有团队精神,要求学生自行组成软件开发小组,每一个开发小组4人,最多5人,最少3人。并将软件开发任务和以大作业形式分五个阶段提交报告的考核形式及要求分发给学生,使学生能够真正从软件工程和实际软件开发的角度对该课程的学习内容和要求有一个初步的认识。接下来的课程内容按照上述实践案例的实际项目开发过程进行分阶段段讲解和实施。第一阶段是软件需求分析阶段。本阶段首先讲述软件工程与软件过程概念,然后讲述结构化分析的方法和手段,再接着引入面向对象的程序设计和面向对象的需求分析方法,组织学生讨论,模拟软件需求调研以及起草用户需求分析报告。本阶段结束时,每个开发小组提交一份软件需求说明报告。报告内容要求包括报告封面、目录、各组员单独起草的软件需求说明报告、组内讨论分析结果及每个成员对该报告的贡献比例、和开发小组提交的软件需求说明报告。注意事项:可以按照不同的报告模板格式书写,但是主要内容不要遗漏,主要内容应该有实体关系图、数据流图、数据字典、概要功能说明、和详细功能说明。第一阶段提交的软件需求分析报告,我们会及时批改并反馈给学生。第二阶段是系统原型建立阶段。该阶段是在第一阶段的基础上进行的。在该阶段,主要是介绍各种软件工程的开发方式,包括结构化开发方式和面向对象的开发方式,并选择目前比较流行的原型建立快速开发方式对冰酒销售管理系统进行开发。特别强调系统原型的建立一定要在第一阶段的软件需求报告的基础上实施,切忌想当然的自行设计。该阶段结束时要求提交系统原型报告,其内容要求有报告简介、报告目标、报告范围、定义及缩略语、系统原型设计(对于本案例,主要是界面设计)图示及文字说明,报告后面必须有附录,即大作业第一部分,按照老师反馈信息修改后的小组提交的软件需求说明书。第三阶段是系统设计实现阶段。本阶段是在第一和第二阶段的基础上进行的。在第三阶段,主要介绍结构化程序设计的准则,包括模块化、抽象、迭代、信息隐藏、启发性规则以及面向数据流、面向数据结构的设计方法,同时介绍面向对象的程序设计的基本方法、设计风格,以及统一建模语言等设计工具。第三阶段要求在软件需求说明报告和系统原形报告的基础上提交系统设计、实现报告。报告内容及格式要求有简介、目标、范围、定义及缩略语、系统设计(包括用例图、类图、顺序图、活动图、和功能模块图及其文字说明)、系统实现(包括描述系统实现的环境,开发工具等)、参考、和附录(包括文档说明、小组成员贡献说明等)。第四阶段是系统测试阶段。本阶段是在第三阶段系统实现的基础上进行的。这一阶段主要讲解软件测试的各项技术和测试方法。要求学生提交测试计划和测试报告。其中测试计划内容应该有范围说明(冰酒系统概述和文档描述)、参考资料、测试计划(包括单元测试、集成测试、和系统测试的测试进度,对功能和性能进行测试的测试方案,测试环境,和测试人员安排)、和测试说明(包括功能测试说明,要求提供测试用例,例如系统进入测试、客户管理测试、产品库存管理测试、订单录入测试、订单修改测试、单查询测试、订单统计测试,以及性能测试,例如压力测试、系统反应速度等。软件系统测试报告内容应该有范围说明、参考文献说明、测试结果概述、详细测试结果说明(包括各功能模块的测试,要求截图及说明)、和总体评价。在完成了上述四个阶段的任务后,就是第五阶段的系统总体报告阶段。本阶段主要是概括总结,综合、串通上述四个阶段。在此阶段主要介绍软件开发过程中遇到的一些实际问题,而这些问题往往与各阶段的衔接有关。同时介绍软件项目管理,引导学生以项目经理的视野去看待问题。作为对学生的考核,要求各开发小组提交系统开发总体报告,同时作现场演示汇报,每一个学生对其他小组的演示进行现场评分,作为最终分数的一部分。
本教学方法以一个实际开发案例为主线进行讲解,解决了大学校园里缺乏实际软件项目开发的难题,提高了学生的学习兴趣,同时避免了大批学生一个老师带造成的程度差异,考核繁琐等问题。本教学方法在深圳大学软件工程专业09级50多名学生进行实验。学生们对《软件工程》课程有了初步的理解,特别是对团队精神和项目经理角色有了深刻的体会,教学效果良好。
参考文献:
[1]Roger S.Pressman,SoftwareEngineering-A Practitioner's Approach,Sixth EditionM].McGraw-Hill,2005.
[2]Jeffrey L.Whitten.系统分析与设计方法(第6版)[M].肖刚译.机械工业出版社,2004.
[3]张海藩.软件工程导论(第五版)[M].清华大学出版社,2008.
[4]张海藩.软件工程(第3版)[M].人民邮电出版社,2010.
作者简介:朱安民,分别于1987年和1990年获得同济大学计算机科学专业学士和博士学位,于2005年获得加拿大圭尔夫大学计算机工程专业博士学位,目前是深圳大学计算机与软件学院的教师。
《软件测试》课程教学改革研究 第12篇
软件作为一种商品, 其质量越来越受到重视。没有质量保证的软件产品, 就没有市场竞争力。软件测试是保证软件质量最行之有效的方法。近几年专业性的软件测试机构和组 织迅速发展, 随之带来了对专业软件测试人才的旺盛需求, 软件测试人才的培养正成为新的热点。然而, 软件测试课程理论与实践脱节的现象还普遍存在, 这导致学生不懂如何活学活用所学知识。软件测试教学模式和教学方法改革已经迫在眉睫。 针对实际教学中发现的问题, 结合作者多年教学经验, 提出相应的解决办法, 以期能提高软件测试课程的教学质量和效果。
1 软件测试课程开设的背景
自计算机诞生以来, 程序的编写与测试就同时出现了。只不过当时的测试只是现在所说的调程序, 只是为了证明程序可以正常进行而已。测试是没有计划和方法的, 测试用例的设计和选取也都是根据测试人员的经验随机进行的。
进入20世纪90年代后, 计算机技术日趋成熟, 软件应用范围逐步扩大, 软件规模和复杂性急剧增加, 与此同时, 计算机出现故障引起系统失效的可能性也逐渐增加。由于计算机硬件技术的进步, 元器件可靠性的提高, 硬件设计和验证技术的成熟, 硬件故障相对显得次要了, 软件故障正逐渐成为导致计算机系统失效和停机的主要因素。福布斯的一篇文章就曾指出, 每年在软件产品几百万行代码中找到并纠正错误, 业界需要花费600亿美元。
如今在软件产业化发展的大趋势下, 人们对软件质量, 成本和进度的要求也越来越高, 质量的控制已经不仅仅是传统意义上的软件测试。传统软件的测试大多是基于代码运行的, 并且常常是软件开发的后期才开始进行。而在整个软件开发过程中, 测试已经不再只是基于程序代码进行的活动, 而是一个基于整个软件生命周期的质量控制活动, 贯穿于软件开发的各个阶段。
国外的软件厂商极为重视软件测试,在欧美等软件产业发达国家的软件企业中, 测试人员与开发人员的配置比例一般已达到1: 1甚至1: 2, 而国内软件企业, 平均8个软件开发工程师才对应1个软件测试工程师, 比例严重失衡。随着近几年国内软件企业对软件测试的日益重视, 产生对软件测试人才的大量需求, 国家信息产业部发布的最新报告显示, 我国目前软件人才缺口高达40万。即使按照软件开发工程师与测试工程师1: 1的岗位比例计算, 我国对于软件测试工程师的需求便有数十万之众, 而目前, 我国软件开发工程师与测试工程师岗位比例达到6:1, 还远远低于国际水平。预计在未来10年内, 我国IT企业对软件测试人才的需求还将继续增大。
为适应我国经济结构战略性调整的要求和软件产业发展对人才的迫切需要, 实现我国软件人才培养的跨越式发展, 亟需针对该课程展开深入的教学改革。
2 教学现状
软件产业迅速发展, 软件测试的作用越来越重要, 软件测试人才需求量剧增。目前国内软件测试人才的培养主要有3种途径: 其一是在各高校的计算机科学与技术专业和软件工程专业中开设软件测试课程; 其二是社会上各类软件测试工程师的培训课程; 其三是软件企业通过对员工进行培训。其中第一种占大部分比例。很多人员对软件测试存在错误认识, 认为这是一个效率低, 工作性质简单的一项软件开发工作的辅助性工作, 而事实上在国外如微软公司其开发和测试人员比例为1:2, 随着我国软件软件产业的发展, 软件测试也越来越受到重视。因此, 加剧了软件测试人才的需要, 据统计未来几年软件测试工程师的需求将急剧增加。
软件测试课程很注重学生的实践能力的培养。但在目前的教学还存在以下问题:
(1) 课本内容理论性过强
由于课时的限制, 相关课本中大部分内容都是有关知识的直接讲解, 只能包含少量项目案例。课本内容的理论性过强, 理论知识的抽象性和概括性使得学生在对课程的理解上大打折扣, 同时也让学生无法有效地进行理论联系实际的训练。因此, 在课程最初的知识讲解阶段, 学生经常会有“只要能考试通过就行”, 以及“等到实际工作需要的时候再学也不迟”等的错误想法, 影响了课程学习的积极性。而软件测试应包括理论和实践, 是理论和实践性并重的课程。有由于这个行业比较新, 相关专业教师缺乏经验, 致使大多数高校开设的软件测试课程有些纸上谈兵。教师授课流于基本概念和基本理论的讲授, 且由于内容本身的抽象、缺乏实践, 使得学生感觉枯燥乏味。
(2) 软件项目管理水平的高低偏重于经验的积累
想要提高实际的软件项目管理水平, 除了掌握有关基础知识外, 需要大量的实践经验, 而当前的教学模式对此帮助有限。学生对于实际的软件项目开发的经验略显不足, 对项目管理更没有概念。填鸭式的传统教学不能提高即将走向社会的学生的相关经验和技能, 很容易让学生对于这门注重实践的课程失去自信心。
(3) 传统的课堂教学手段单一
由于社会的进步, 当代大学生思维活跃, 兴趣广泛, 很容易受新兴事物的影响, 对所学的课程有更高的要求。而传统的教学模式是教师课堂讲解知识, 学生被动接受, 这无法激发当代大学生的求知欲, 使得大学生在思想上有依赖, 不能对所遇到的软件项目问题积极思考应对, 长此以往使得大学生对于该课程的学习失去兴趣。因此, 如何提高大学生的积极性, 使大学生从被动学习转变到主动学习, 增强课程的理论联系实际的能力, 增加学生的实践能力, 是课程改革研究的重点。
3 改革方案
现在国内的软件测试行业仍处于发展阶段, 软件测试人才也很匮乏。因此, 高校软件测试课程教学应以市场为导向, 全面加强课程建设和师资队伍培养, 才能为社会输送合格的软件测试人才。
目前, 在全国各院校中, 普遍开设软件测试课程, 通过对多个院校的软件测试课程的教学大纲展开了调查和分析。课程总学时最高为96学时, 最低为24学时, 既有专业必修课, 也有专业选修课。针对该人才培养目标的需要, 软件测试课程教学内容改革的主体方向是突出知识点的辐射效应, 培养学生的求知欲, 鼓励自主学习、独立思考。教学内容构建的基本原则如下。
(1) 理论教学内容注重基础性、实用性和先进性 , 突出知识点的辐射效应。
受计算机专业和软件工程专业本科培养计划的限制, 软件测试的学时不足, 而课程需涵盖的知识内容包括基础理论、测试方法、测试实践、测试工具和测试管理等, 涉及的知识领域很广, 教学内容中无法囊括以上所有知识领域。应该尽快将软件测试课程设为必修课, 并且将学时在保证32学时的基础上逐步提高到48学时。
(2) 实践教学内容注重综合性、创新性。
软件测试是一门实践性很强的专业基础课, 通过实践教学应能锻炼学生的动手能力, 培养其创新意识, 加强学生的团队协作精神。将教学内容规划为阶梯式教学, 循序渐进地指导学生从基本的功能测试入手, 进而到程序测试, 再到一定规模的系统测试。
软件测试课程改革应从以下几个方面进行:
(1) 采用多种教学手段
充分运用计算机教学的特点, 在课堂上采用各种新的教学手段。除了幻灯片外, 还加入其他多媒体教学手段, 比如测试工具演示动画, 项目的计算机模拟等。首先丰富了教学内容、提高知识的信息容量, 保证理论知识与实践相联系, 使得学生充分理解学习课程的目的、理解规范化的软件测试过程, 掌握软件测试的基本原则、方法和工具等。同时, 通过利用多种新教学手段修正学生的错误认识, 在观看了一些实际的场景录像后, 认识到以前接触实际项目太少, 特别是大型项目, 从而认识到软件测试的确是一门需要掌握大量知识才能刚刚入门的学科。
(2) 组织学生分析案例
为了提高学生的实际项目经验, 增强学生解决实际问题的能力, 除了课本知识外, 还搜集了大量来源于实际项目的案例, 在课堂上通过计算机模拟的形式, 让学生认识到软件项目管理中的实际问题是复杂和层出不穷的, 需要在课内课外努力学习, 不断学习。在案例教学中, 注意采用启发式教育的手段, 引导学生进行正确思考, 解决实际的问题。比如在第一章软件测试概述, 通过一些鲜活的案例, 比如: 美国火星登陆事故、千年虫问题、导弹防御系统等, 认识软件测试的重要性, 以及失败的惨痛教训。
(3) 以就业为导向, 合理安排教学内容
软件测试课程应注重理论与实践相结合, 打好理论基础, 重视实际操作能力的培养, 其结构要与学生认知结构相统一, 应以软件测试基本理论为基础, 课堂讲授与学生讨论相结合, 突出实践教学环节。教学内容分为理论教学、上机实验、课 程设计3大部分, 在教学过程中采用案例教学, 并增加配套实验的学时。课堂教学包括软件测试基本概念、各种测试技 术和方法、测试用例的设计、软件测试项目的组织和管理等; 上机实验要同步安排, 主要是一些基础实验, 包括白盒测试、黑盒测试等, 通过学习实践, 让学生掌握软件测试最基本的一些方法。在学生掌握软件测试的一些基本理论和方法基础上通过上机实验加深对理论的理解。 在此过程中, 使学生理解和掌握软件测试技术和各种具体的测试方法在项目中的应用, 感受软件测试项目的工作流程和实施细节。实践教学与理论教学相辅相成, 以达到理论联系实际的教学效果。
(4) 组织项目小组
在学期末课程设计, 将学生编为几个小组, 该过程中强调学生的综合设计和运用能力, 主要是让学生掌握在实际项目应用中各种测试方法的使用, 熟悉测试项目中的管理, 感受软件测试项目的工作流程。
为了学生能够对于实际项目的体验更加深刻, 在课程一开始, 就让学生按照个人意愿组成最少不少于2人的项目小组, 让学生结合课本知识, 选取一个较大的有实际应用价值的软件项目, 或以前学习C语言、C++语言等课程做的课程设计为基础, 结合课本中各个部分的知识和要求, 分别进行有关“策划测试过程”、“测试设计”、“测试实施”、以及 “测试管理”的报告, 并做成PPT报告, 并在课堂上演示和讲解整个测试项目。整个项目由学生通过团队完成, 通过这样的课堂模拟, 可以达到以下目的:
(1) 通过项目小组让学生体会团队合作和获得软件项目管理与被管理的实际经验。
(2) 使得学生真正进行团队合作完成较大的实际软件测试项目。
(3) 通过进行团队PPT报告和现场模拟 , 让学生充分体会到软件测试项目管理。
(4) 让学生灵活运用课本的理论知识对软件测试项目进行开发和管理, 而不是以往的背诵知识应付考试, 克服“死读书和读死书”的现象。
(4) 关注行业动态, 让学生正确认识测试职业。
学生普遍对软件测试这个职业存在认识偏差, 觉得测试是软件开发工作的辅助, 不需要太多技术含量, 是比较琐碎的为人挑错的活, 这种错误思想需要教师从课程开始给予纠正, 有了正确认识, 才能学好这门课程。比如上“中华英才网” 或“前程无忧网”搜索测试人才招聘信息, 从中了解软件测试的重要性和光明的就业前景, 以此激发他们学习的热情。还要让学生知道, 测试工作对知识的要求其实很高, 不仅要掌握软件测试技术, 还要具备软件系统分析、软件系统设计和软件编程等方面的能力, 让学生能主动、全面提高自己的能力应对行业的需求。软件测试人员要有严谨的工作习 惯、良好的沟通能力、团队合作精神。而学生对软件测试技 术的重要性和就业前景的了解, 是激发和促使他们主动学习的重要推动力。
(5) 开发校外实习基地, 促进学生实践经验的提高。
近些年, 随着高校扩招毕业生找工作越来越难。在这样的大环境下, 高校毕业生学生要进入大型软件企业工作也就难上加难。如果由学校出面与企业建立合作关系, 建立校外实习践基地, 便解决了这一难题。保证了教学中对软件测试项目案例的需要, 让学生更贴近专业领域中的实际应用, 提高学生的学习热情。校外实习时, 可由本校老师带队, 请企业中在职人员指导, 这样更便于学生在实习过程中接触当前行业中流行的测试工具, 接触企业中实际项目。学生实践经验的提高, 必将对其找工作带来促进作用。
在学生完成全部的专业课之后, 可以选择在大四阶段, 学生企业实习可以采取, 根据学生本人自愿, 学校推荐, 用人单位审查的原则, 经三方认可后签订联合培养协议书, 学生参加企业的工作实习, 培养岗位技能, 实现人才的职业能力与企业工作岗位的直接对接。在此期间, 学生还要完成毕业设计任务。
4 结语
软件测试是一门专业基础课, 该课程对于计算机软件专业的学生十分重要。特别是使得即将走向工作岗位的理工科大学生从 “学生”向“工程师”过渡的课程之一, 能够提高学生的团队合作精神, 运用理论知识解决实际问题的能力和培养学生的创新思维。对该课程的教学从几个方面进行了探讨, 首先提出软件测试课程教学现状, 然后对软件测试课程改革提出了方案, 比如在课堂中增加新的教学手段, 做到理论联系实际, 组织软件测试项目小组进行项目的开发和管理, 进行大量实际案例的分析、讨论和点评, 使得学生理解课程目标, 深入掌握理论知识并将所学知识灵活运用于实践, 采用创造性思维解决问题, 同时拥有良好的团队协作能力。从实践的效果来看, 学生的课堂情绪很高, 对课程学习的积极性大幅度提高。
软件测试在国内软件行业正越来越受到重视, 社会需要大量的软件测试人才, 这给毕业生带来了机遇, 同时, 软件公司希望招收有技术有经验的员工, 又给毕业生和高校带来了挑战。软件测试人才培养刚刚起步, 机遇和挑战并存。由于很多工作仍处于摸索阶段, 因此, 需要学校、教师和学生的共同努力, 为社会培养出大批合格的软件测试人才。
摘要:介绍了软件测试课程开设的背景和软件测试课程教学现状,提出了软件测试课程改革方案,实现理论与实践教学的统一,调动了学生的学习积极性,深化了教学改革。
软件课程范文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


