这次小编给大家整理了软件工程的课程实践教学的论文(共含14篇),供大家阅读参考,也相信能帮助到您。同时,但愿您也能像本文投稿人“天清芝晨”一样,积极向本站投稿分享好文章。
软件工程的课程实践教学的论文
摘要:分析高校软件工程专业课课程设计实践环节教学内容、教学手段及考核体系现状与存在问题,提出课程设计环节教学改进方案,即建设一个供多门课程使用的可复用教学案例库,并采用分段式教学手段推行案例,配合完整监管与考核体系,保证课程设计环节教学质量。
关键词:软件工程;实践教学;课程设计;案例库;可复用
课程设计是一门课程结束之后安排一周或者两周综合实训,让学生完成一个实际的课题巩固理论知识,对课程知识体系获得更深刻全面的理解,是提高学生实践能力的重要环节[1]。目前,学院软件工程专业从第4、5学期陆续开设专业基础课和专业课,如《C#面向对象的程序设计》、《Java程序设计》、《软件需求分析》、《数据库原理及应用》、《软件工程》、《UML技术》、《软件测试》等,这些课程均安排了为期一周的课程设计。但大四毕业设计时发现部分学生实践能力达不到专业培养要求,原因主要在于专业类课程实践环节没能够达到理想的教学效果。经调研发现,这些课程设计周是由各科授课老师布置一个相关课题,明确课题要求,给一周时间让学生自主完成,最后提交一个小的系统与课程设计报告。这种课程设计存在以下问题:(1)课程设计教学内容方面。老师未能提供系统、综合的课程知识相关案例,导致学生对题目理解不足,对课题认知模糊,无从下手,降低了学习主动性。(2)教学手段陈旧。基本还是停留在老师讲、学生听的阶段。师生互动较少,学生没有足够时间思考,即使在某个环节出现问题也不能及时解决,课后问题可能不了了之。(3)课程设计考核体系不完善。实践环节大多为考察,导致学生不够重视,提交一个报告了事。由于缺乏完整监管机制,学生对整个课题的开发过程认识不清,没有收获。另外,老师凭提交的报告给出成绩,区分度不明显,不够合理公平。针对目前存在问题,本文提出软件工程类课程设计实践教学改进方案。首先,建设一个可复用的软件工程实践教学案例库,案例库中的教学案例运用主流开发技术、管理技术及开发环境。“可复用”是指同一案例根据不同课程分割出不同的知识单元,软件工程类课程之间本来就紧密联系,相互承接,案例库可供多门专业课在实践环节教学中使用。其次,推行案例同时更新教学手段,采用注重学生参与及师生交流的分段式教学模式。最后,制定明确的课程设计监管与考核方案,对整个课程设计过程严格把控,培养学生综合应用知识能力与实践动手能力,提高课程设计环节教学效果。
1案例库建设
案例库中的项目不仅要考虑案例库的可复用性,能够服务多门课程,还需体现软件工程专业能力培养需求,并考虑开发难度与学生接受程度。因此应选择学生熟悉的业务系统,采用主流开发工具来实现轻量级工程化系统。系统功能尽量有代表性,同类系统可以仿照实现,并根据课程知识结构需要进行功能定制。如案例库中的项目:《学生成绩管理系统》用C#与SQLServer2008开发。该系统是典型的小型MIS系统,主要实现了学生、教师、管理员3类用户对学生信息、课程信息及成绩信息不同程度的增、删、改、查。该案例可以服务于《C#面向对象的`程序设计》、《数据库原理及应用》、《UML技术》、《软件工程》、《软件测试》等课程的设计教学。案例库项目开发融合了软件工程很多专业课程知识,在不同课程中使用,学生可以明确各门课程学习目标,从不同视角体验软件开发流程,提高对软件工程整体把握的能力,建立软件工程的思想。
2知识结构划分与整理
案例实现之后,为了服务于不同课程,不同授课教师需要重新组织教学资源,梳理课程大纲、划分教学内容、整理教学素材、制作教学课件,这一步至关重要也最为核心。想要通过一个完整教学案例,使学生建立起课程知识结构网络,授课教师不仅要基于案例将课程相关基本知识点及联系贯穿其中,还要对知识进行高度提炼,体现课程内容有机联系。这样学生通过案例讲解,不仅对理论知识理解更加透彻,对课程体系也会有更深刻的把握,学习效果取得质的飞跃。下面以《学生成绩管理系统》的实现为例,按不同课程知识侧重点进行概要划分,在课程设计环节中,授课教师结合案例针对本门课程侧重讲授知识结构。(1)《面向对象的程序设计C#》,讲授如何利用C#语言进行系统开发。利用常用控件来搭建设计学生成绩管理系统界面、实现窗口间跳转、消息传递;利用面向对象的程序设计方法实现系统业务逻辑与主要功能;利用ADO组件访问数据库,完成对系统数据的基本操作。(2)《数据库原理及应用》,讲授如何进行学生成绩管理系统后台数据库设计。数据流图,数据字典的创建;概念结构设计(E-R图的绘制)逻辑结构设计,将E-R图转换为关系模式,如何考察关系模式、规范化程度、规范化理论、视图机制、安全性及完整性设计;数据库的实施:SQL的应用,建库、建表、录入数据等。(3)《软件工程》,以学生成绩管理系统为例,按照软件工程流程,讲解每一阶段任务及涉及方法,结合案例从可行性分析、需求分析、总体设计、详细设计、系统实现及系统测试几个步骤进行。(4)《UML面向对象设计与分析》,对应学生成绩管理系统开发各阶段从建模的角度讲解UML的9种图,主要包括在需求阶段如何识别参与者与用例,建立用例模型;在分析设计阶段静态结构模型的建立(类图、对象图)及动态行为模型的建立(顺序图、状态图、活动图);系统实现阶段物理模型的建立(组件图、系统部署图),及将UML自动转换为面向对象设计语言的实现。可以看到,不同课程使用《学生成绩管理系统》案例侧重于不同知识体系。
3案例推行与考核模式建立
授课教师在课程设计环节中推行案例,按照案例教学、任务驱动模式来进行,课堂讲授仍然是不可或缺的[2]。首先通过分析案例程序引导学生学习,由案例的讲解分析,深入浅出地引出知识点,引导学生逐步理解课程重点、难点,深化理论知识学习[3]。其次提出本次课程设计任务要求,老师详细分解设计题目内容与步骤,给出参照与示范。案例讲解与任务分解交叉进行,课程差异性使得案例教学不必拘泥于固定模式与时间,讲授案例时间大概是6~10学时,老师可以自行调整授课进度与节奏。在案例教学中,为了充分调动学生主动性,并及时发现问题、解决问题,采用了“教师提出课题―学生分组讨论―教师演示案例―学生实践―学生总结、师生交流”分段方式进行,并且在以学生为主体的阶段进行考核。在案例讲解、任务驱动教学方式下,建立完整考核机制,教师监控整个实践过程,激励学生参与到每一个阶段中,学生遇到问题也可以反馈给老师,及时得到帮助,提高学生主动性。成绩考评是根据学生每一阶段任务完成情况,从分析解决问题、团队合作、语言表达及文档书写能力表现作综合评定,不仅保证了评价结果客观性,也引导了学生加强这些方面的能力培养。
4结语
针对学院现在软件工程类多门课程在课程设计环节存在问题,提出了建设可复用的案例库,并根据不同课程教学需要对案例进行知识结构划分与整理,在实践中采用分段式教学推行案例,加以完整考评方式,现已收到较好教学效果。基于案例库的实践教学改进方案还可以应用在软件工程综合实训环节,为了达到更高教学要求,培养高质量人才,案例库还需要不断更新与完善。
参考文献:
[1]吴金秀.课程设计在高职实践教学中的应用与探索[J].网络与信息,2008(10):78.
[2]高应波.《计算机软件技术与应用基础》教学中案例任务驱动教学法的应用研究[J].软件导刊,2007(4):23-25.
[3]彭统乾,张敬普.基于案例任务驱动的《软件工程》课程教改研究[J].科技信息,2010(11):23.
软件工程实践课程教学模式优化分析论文
[摘要]软件工程实践课程对学生专业技能要求较高,如软件需求分析、软件架构设计、软件升级维护等内容,都直接关系学生未来能否胜任就业岗位,能否在工作中顺利解决实际问题。基于此,文章从软件工程实践课程教学模式入手,就当前软件工程教学中存在的问题提出改进和优化方案,目的在于提升学生的计算机综合实践能力。
[关键词]高职;软件工程;实践课程;应用研究
一、引言
软件工程实践课程具有较强的理论性,而在专业技能上又表现出更高的操作性。从学科特色来看,软件工程是计算机科学与技术专业的融合,其内容围绕软件需求、系统分析、软件设计、技术实践等环节,强调高素质技能型人才的培养质量。然而,传统的软件工程实践课程教学效果并不理想,教学内容往往单一、枯燥,学生的学习积极性受到抑制。如软件开发中的数据流程无法提供应用环节,学生难以从中发现数据关联性问题,导致执行效率较低;在现代软件开发环境下,难以满足多层分布式架构设计要求。
二、软件工程实践课程内容的拓展
(一)软件工程建模应用设计
传统教学中软件工程实践课程建模设计,主要采用数据流程图方式,其优势在于从数据流程图的绘制上展现软件设计过程。然而,在绘制软件设计流程图过程中,往往导致学生产生畏难心理。同时,由于对整个软件需求、软件功能分析不到位,导致数据来源不统一、数据需求不清晰、数据存储出现异常、数据冗余度等问题,也在一定程度上影响了学生对知识和技能的掌握。所以,有必要改进软件工程实践课程的教学模式,有针对性地拓宽教学方案,特别是在流程图设计分析上,需要从软件工程分析、软件数据分析、软件功能分析等方面适当延伸和拓展。如在软件功能分析上,需要借助于软件数据流程图进行顶层设计,抽象出各软件功能子系统及相关单元的功能;在软件数据分析上,需要区分软件实体、属性及关联性,并对相关数据库进行识别,引导学生理解和应用不同的数据信息结构建立E-R模型。
(二)软件工程建模设计拓展
传统建模设计主要从系统功能上确定不同的模块,比较适宜面向过程的设计环境。但对于面向可视化、面向对象、面向事件驱动下的程序设计环境,则显得不相适宜。因此,需要从建模设计上进行扩展,保留原来软件过程类模块设计的主要内容,围绕软件结构、软件数据、软件界面等进行扩展。如在系统结构设计上,可以采用集中式结构、分布式结构,还可以采用集中-分布式结构;在确定软件应用模式上,可以采用B/S结构,也可以采用C/S结构;在确定数据设计上,可以采用逻辑数据集关系进行规范化处理,也可以采用物理数据集关系进行编码和命名;在界面设计上,根据软件功能及业务需求,来组织输入、输出,从而满足不同软件设计的开发需要。
三、软件工程类课程实践教学模式
软件工程类课程实践教学模式的重点,在于从教学内容的组织与优化上,联系软件工程设计实际,突出教学方法的创新性、实践性、应用性。根据软件工程类课程特点,在改革实践教学模式上,围绕实践教学纲要目标,融入多种实践教学方法。如案例驱动教学法、任务驱动教学法、典型案例分析法等,逐渐深入、细化软件工程理论知识与应用的展开。
(一)进销存C/S案例分析与应用
C/S软件结构基于客户、服务器关系,适用于业务流程复杂、对软件响应速度较高的软件开发项目。在C/S结构中,用户根据角色权限来操作相应功能模块,并实现进货、销货、库存汇总及各类报表的输出功能。在数据库设计上,要从软件执行效率、处理异常及满足业务需求等方面,设计系统数据库表、E-R图和数据视图。在数据库表结构设计中,根据不同数据字段项的使用特点,来优化系统后台数据库结构。如在SQLServer数据库中,可以定义员工名称表、商品基本信息表、客户基本信息表、仓库部门信息表、进货商品信息表、用户权限表、退货商品信息表、销售商品信息表、库存信息表等,以满足进销存管理系统设计中不同业务信息的统计与关联。在数据库视图设计上,常用的有标准视图、索引视图、分区视图三种,利用Select语句进行视图检索,确定入库视图v-GoodIn、v-ReGoods、v-UserSell、v-Use-rView基本视图。针对C/S结构中软件表单编码的设计,要从信息交换、处理、传输、共享等方面来优化编码规则。如在进货商品基本信息格式上,以“系统当前日期+‘JH’+7位数字编码”为规则,来提升商品信息识别效率。在系统触发器设计上,要保证商品信息数量一致性。如在t-Goods触发器设计上,对于某商品信息没有历史记录者,则触发入库信息表tb-Stock;若该商品在库存信息表中,则将该余量进行及时相加,保障库存信息实时更新。
(二)进销存B/S模型设计与应用
B/S模式是基于多层应用结构,将原来的表示层、业务逻辑层进行分离,便于开发人员提供简洁的功能操作界面。下面以ASPNet为例来探讨软件工程实践教学。ASPNet三层应用结构中,第一层是用户表示层USL,封装了人机交互的表单与组件,满足业务逻辑层与系统用户之间的信息传输需要,并通过简单的校验后传送给浏览器进行显示。第二层是业务逻辑层BLL,主要是对不同应用业务规则和逻辑的封装,便于用户通过业务逻辑层进行多种功能的调用,以及访问数据库等;第三层是数据访问层DAL,通过与数据库进行交互来获取查询记录、插入、修改、删除数据库记录等操作。在B/S软件工程模型中,数据访问包括业务实体访问和数据操作两部分,业务实体是反映现实生活的各类业务数据,而数据操作是基于对数据库的'检索来完成的信息传输服务。Model业务实体层主要存储与业务实体相关的数据属性值;DBUtility公共类主要是从Web.congfig配置信息库中获取类库,满足对数据库相应操作的访问;DAL数据访问层主要是记录数据库的表结构,满足增删、修改等功能;BLL业务逻辑层主要是满足创建数据库类,以及对数据库进行访问调用。
四、软件工程实践课程案例实施要点
软件工程实践课程在案例教学实践中还要注意几个问题。一是对于典型案例的选择与应用,要贴近软件工程实践需求,特别是接近行业软件开发现状,体现案例的实践性、应用性。二是在引入典型案例进行讲授与实践操作时,要注意多种教学方法的统合。如对于一些结构化程序设计方法,可以选择面向对象的综合性案例,让学生能够从结构化模型分析中,了解和认识不同功能模块的设计要求和方法;还可以让学生从项目讨论中,自己动手来设计程序,激发学生的创新意识和探索精神。三是要优化典型案例的教学方案,不同案例的导入要与教学目标相适应。要让学生从案例实践中,明确为什么这样设计,懂得为什么要撰写不同的设计任务,根据软件工程生命周期来细化程序设计要求,解决什么样的问题,具备什么样的功能等,多从程序设计案例分析上加深理解。四是案例分析要融入师生互动与参与,特别是通过对程序设计不同功能、不同环境的变化,如何从运行时效性上来优化程序设计;通过分组探讨等方式,来共同编写执行程序,来对各小组程序进行分析,让学生参与提问与改进,从具体的程序设计开发中积累经验,增强学生的合作意识、团队协作能力。五是强调案例导入分析与总结归纳,特别是教师要鼓励学生在案例分析中,对错误和不解进行归纳,来分析成因和问题所在,积极总结改进思路和方法,尊重学生的独特见解,引领学生创新意识的培养。另外,软件工程类课程实践教学具有特色性,不同教学内容、不同课程在实践应用中还有差异。如对于当前流行的软件开发语言及程序设计,NET与J2EE架构具有相似性与差异性,在典型案例导入中,要结合企业需求、教学分析、学生实际来选择,体现软件工程类课程实践教学的可操作性,满足学生从案例分析到职场应用的有效过渡。
五、结语
高职软件工程实践课程教学,是增强毕业生软件应用能力的必然选择。面对人才市场需求的变化,应该从软件工程类课程实践教学体系建设上,把握好“教”与“学”的关系,激发学生的软件应用热情和主动性,着力以典型案例导入与具体程序设计任务驱动,锻炼学生的动手能力、实践能力、应用能力、创新能力,真正为社会、为企业培养高素质的软件设计人才。
参考文献:
[1]陈中育,吕振洪,叶荣华等.软件工程专业课程建设的思考与实践[J].计算机教育,(10):48-51.
[2]李净,郭洪禹,红春.程序开发类课程群框架下“数据结构与算法分析”实践教学研究[J].工业和信息化教育,(11):61-65.
[3]陆璐,张新红.《JSP动态网站设计》项目化教学模式的研究与实施[J].郑州铁路职业技术学院学报,2016(1):63-65,68.
摘要:随着互联网时代的到来,越来越多的人意识到能够熟练使用计算机的重要性.随之各大高校为了迎合社会需求相继开设了计算机专业,而软件工程这门课程是每一个计算机专业学生都必须要学习的课程.本文着重研究探讨了高校计算机教学中软件工程课程改革的主要思路和具体实施策略,以供参考.
关键词:高校教学;计算机软件工程;课程改革
1前言
我国的各大高校开设计算机这一学科,主要目的就是为社会培养能够熟练应用计算机的专项人才.在高校的学习过程中,学生能够掌握理论知识以及一些基本的技能.而计算机专业必学的软件工程这门课程,能够拓宽学生的视野,帮助学生从多角度思考问题,因为这门课程的综合性很强.但是随着时代的进步,课程教学却没有与时俱进,这难免会影响学生的学习,所以为了给社会培养更多专业人才,应该与时俱进改革计算机课程.接下来先阐述软件工程的含义及特点.
2软件工程的含义及特点
2.1软件工程含义
SE是软件工程的简称,软件工程这门学科主要研究的就是如何用工程化的办法来搭建或者运营维护高质量的软件的.软件工程这门课程涉及到了很多方面,比如:数据库、设计语言模式等;而且在当下该种软件运用在很多地方,即我们日常用的电子邮件、经常玩的游戏等都用到了该种软件,另外在工作中常常也会用到该软件.对于此软件的合理运用,不仅能够提高工作效率,还能间接的提高工作的质量.所以在大学计算机专业中设置软件工程这一课程是至关重要的.
2.2软件工程特点
软件工程这门课程自身具备很多的特点,而比较突出的有三个:①比较抽象,之所以说具有抽象性,是因为软件工程这门学科所讲授的原理技术等都必须置于具体的工程项目上,并没有披露单个项目的一些信息资源,所以说是抽象的.另外在校学生的知识水平并没有达到学习软件工程理论的高度,或者说两者间存在很大的间隙.而会出现这种情况,是因为要想学好软件工程这门课程,那么必须投入实践投入到工作项目中,在做项目的过程中理解软件工程的原理,只有这样学到的知识才会更加印象深刻.②总结前期工程项目.软件工程非常擅于总结,而总结的内容是前期大型软件开发成功或者失败的例子,对于成功的例子,罗列出好的地方并证明实践的过程;而对于失败的例子,则找出错误点,警醒后来的研究者.另外,软件工程常常指导大型的且相对比较复杂的`软件,这样容易发挥其价值展现其功能,而对于小型的项目进行指导不易发挥其意义.③能够展现软件开发的整个过程.众所周知软件的生命周期包含很多阶段,比如:对于问题的定义、进行可行性研究、对需求进行分析、设计、维护等.但是每个阶段的成果并不会立竿见影的影响工程项目也不会在本阶段体现,所以要想把软件工程的技术方法原理等熟练的运用到实际工作过程中,那么必须要进行深度学习,透彻了解每个阶段的特点,并将每个阶段联系起来.以上就是软件工程的含义及特点.
3.1着手营造良好的学习环境
软件工程这门学科涉及的学科领域比较广泛,而且知识体系也比较错综复杂,再加上计算机这门学科更新的速度飞速,所以说要想在短暂的课堂上对其进行全面讲述,相对来说比较困难.而要想改善这一情况,那么学生就应该具有主动学习的意识,应该意识到自身是认知的主体,要积极主动地去探索学习,进而拓展知识层面;此时的老师要充当指导者的角色,并要努力为学生营造良好的学习环境,而在营造学习环境的过程中,可以采取以下几种形式:其一,建设教学网站.目前我国的互联网技术比较发达,所以高校计算机教师为了能够给学生构建高效的学习环境,可以把网络技术给充分的利用起来,比如:可以建设教学网站,并在此网站上利用超链接的形式来学习跟此学科有关的知识.再者,利用网络技术开设网站具有两个显著的优势,即知识更新速度快以及能够包含大容量的信息,基于这两个优势,能够辅助学生更好的对软件工程这门学科进行自主的学习.除此之外,建立网站也能够给学生提供交流沟通的平台,在此平台上学生可以畅所欲言的跟教师进行探索,学生间也可以彼此切磋,进而充分地调动学生自主学习的热情.其二,加强校企合作.软件工程是一门实践性比较强的课程,要想学好这门课程仅仅依靠课上认真听讲是远远不够的,必须要动手实践.所以各大高校为了促使学生更好的学习,应该时刻洞悉该行业的动态并给学生提供实践的地方.而要想实现这一目标,目前最可取的办法是:各大高线应寻找实力雄厚的软件公司进行合作,并通过合作的公司来获取该行业发生的风吹草动,进而有方向的变革教学内容以适应时代的发展.另外,也可以邀请合作企业有名的软件工程师来校给学习做演讲,让学生进一步了解软件工程这一行业的目前状况以及发展前景等,并现场指导学生,进而提高学生学习的积极性.还有在寒暑假期间,学校可以组织学生去合作企业实习,提高学生的动手能力.
3.2创新改革考核体系
由上面我们可以得知:软件工程这门学科本身就具有很强的实践性,所以学校、任课教师在设置考核体系时,要认识到本门学科的特点,制定合理的考核体系.比如:软件工程这门课程偏重实践,所以在考核时要重点考察学生的动手实践能力,而不是重点关注对这门学科的理论考察.另外,教师也应意识到制定考核制度不单单是为了检验学生对此门课程的了解掌握程度,更是为了督促学生对此课程的学习以及提高学习的热情.所以为了实现这一目标,就应该创新改革考核体系,鄙弃传统的通过一张试卷定成绩以及评价一切的标准,而是重视学生应用能力的考核,毕竟当今社会需要的不是纸上谈兵之人.而现阶段能够良好使用的方案是:平时作业+课堂表现+案例分析+笔试+实践,这五个模块所占的比例,每个学校可以根据本校情况而定,之所以要提倡这种考核方式,是因为这种方式能够有效改善学生对知识死记硬背的情况,进而转向实践与应用;再者也可以调动学生的积极性,所以各大高校一定要根据实际情况创新变革考核体系.
3.3要科学合理的安排实践环节
软件工程这门课程实践性、综合性很强,所以不能跟其它的课程一概而论,而是应独辟蹊径结合具体的项目或者实际应用展开教学,只有这样才能真正的促进学生的进步.而在我国大多高校在软件工程的课堂上,一般会把课程设计安排在授课结束后,这样不利于学生巩固已学的知识.所以要想改变这一情形,应重新合理安排课程设计,比如可以在不影响授课进度的同时搜集一些资料或者提早指导学生设计课程题目,进而达到既听课又实践的目的,这样一来也能及时的消化课上的内容并把其运用到实际的应用中.以上的这一实践环节是小打小闹,等到课程结束后就需要大动干戈了,也就是集中的组织学生进行课程设计,并在这一阶段也要完成对上一阶段的总结并记录在案.在进行课程设计的时候,为了能够取得良好的效果,在实施时最好采取小组合作的形式,小组成员不能过多也不能太少,应保持在6个人左右,并给每个人安排在这个团队中扮演的角色以及承担的主要责任.等做完以上工作后,指导教师应该虚拟一些项目分配给不同的小组,并给其提出具体要达到的目标以及要求,通过这一虚拟的实践项目能够启发学生的思维,使其获得更好的发展.另外在实践的过程中也应注意:在整个过程中教师扮演的是指导者的角色,所以不要过多的干涉学生应让其独立的完成,等学生遇到无法解决的问题时教师再适当的点拨指点迷津.由此可知:采用双管齐下的教学方式,即一边授课一边指导学生设计课程题目,能够很好的解决实践与理论相脱节的问题,进而更好的促进学生的学习同时也能够使课程设计达到事半功倍的效果.
3.4创新并尝试多种教学手段
高校计算机中的软件工程这门课程,涉及的内容广泛复杂且相关技术理论也很多,再加上实践性很强,对于刚接触此课程的学生来说是有一定难度.如果此时学生的意志不坚定,就极有可能会被枯燥乏味的学习所击退,进而放弃对其的学习.所以为了避免这一现状的出现,教师就应该创新并尝试多种教学手段,进而激发学生学习的兴趣,毕竟兴趣是最好的老师.比如在日常的教学过程中,教师可以充分采用以下两种教学手段进行授课:其一,在板书授课的过程中合理运用CAI.随着科技的发展,CAI技术也越来越趋于完善并运用在社会的各个领域中,再加上CAI具有诸多优势,比如:运行速度很快、可容纳的信息、内容多,把其运用到软件工程的课程中,能够很好解决软件工程这门课程课时少但内容颇多的难题.另外,把CAI技术运用到软件工程课程的教学过程中,也能够吸引学生的目光引起其兴趣,虽然这种新兴的教学设计手段可以通过视、听觉来充分的调动学生的兴趣,但是也不能完全放弃传统板书的教学方式,因为这种方式能够时刻的观察学生的课堂反应,反应良好则接着深入;反应不好则询问学生哪里不懂,等学生掌握后再进行下一步,这样的教学手段能够兼顾班里的每一位学生.由此可知:上述提到的这两种教学手段各有各的优势,所以在软件工程课程的课堂上应该根据本堂课所讲授的内容合理的选择授课手段,进而营造良好的课堂氛围,达到教学目的.其二,可以尝试场景模拟的教学手段.在高校计算机专业中开设的软件工程这一课程,要想实现其价值那么就应把其放在具体的实践过程中,如果仅让学生一味地学习理论知识技术而不付诸实践无异于纸上谈兵、缘木求鱼.但是只在课堂上通过口述的方式给学生讲解实际的项目也不能起到很好的效果,因为大多数学生并没有真正的接触过项目实践,也就不能感同身受,反而会觉得教师所讲授的内容夸大其实.所以为了避免以上这一情况的出现,教师在授课的过程中可以根据课程内容适当的给学生虚拟场景,虽然不能一比一的完全还原实际项目,但是在授课的过程中可以模拟实际项目的简单场景,通过师生合作的方式来完成这一项目,并在完成项目的过程中可以把课堂上讲授的理论技术运用其中,这样一来不仅能够巩固课堂上学习的理论技术,还能激发学生自主学习的兴趣.可谓一举两得.所以为了培养真正的有用人才,就应该在授课的过程中合理利用多种教学手段,给其营造良好课堂氛围,进而激发学生学习的兴趣,达到提高学生综合能力的目的.
4结束语
由上述内容可知:要想改革高校计算机教学中的软件工程课程,那么就应该在透彻了解其基础上进行,毕竟知己知彼方能百胜不殆.而软件工程这门课程显著的特点就是实践性超强,所以在改革软件工程课程时就应该围绕这一特点开展,只有这样才能设计出适合学生学习的课程,才能真正的促进学生的进步.而在以上篇幅中,本人主要研究了高校计算机教学中软件工程课程的改革,希望对大家有所帮助.
参考文献:
〔1〕蒋辉.软件工程与高职计算机软件专业[J].中国科学教育,(10).
〔2〕孙涌.现代软件工程[M].北京:希望电子出版社,.
〔3〕陆惠恩.软件工程基础[M].北京:人民邮电出版社,2015.
〔4〕尹峰.软件工程课程教学改革初探[J].长沙大学学报,(12).
实践教学软件工程论文
1构建先进的课程体系
软件开发技术发展迅速,软件管理出现了新的概念,教学内容也要与时俱进,不然无法满足社会需要。通过分析IEEE最新发布的软件工程知识体系进行组织教学内容,使得学生学习之后继续深入学习软件开发打下坚实的基础。
(1)基础部分:课程知识包括IEEE的软件工程知识体系(SWEBOK),有软件需求分析、软件的程序设计、软件开发代码实现、软件的测试(白盒黑盒)、演化过程、过程质量、配置管理等核心内容。
(2)应用部分:包括如今常用的开发过程、程序开发的技术方法和UML语言,教学内容加入企业实践和案例教学。
(3)实践部分:教学以开发团队的方式开发一个软件系统,学生从开发软件的过程体会软件工程思想,学习和运用软件工程知识解决软件开发出现的很多问题。
2研究认知规律与学生心理,强调案例化教学和探索式学习
《软件工程》的知识是根据很多软件开发过程中提炼出来的,对于缺乏软件开发经验的学生来说只是简单的讲授课本上的知识会让学生理解不了。所以,首先收集软件开发案例,然后将好的案例放到平时的理论课程中,学生通过了解软件开发过程掌握软件工程的思想和方法。教学过程应该注重鼓励学生探索学习知识,启发学生自己想办法查阅资料,最好能够和软件企业的开发人员聊天接触开发知识,体会一个工程师的工作。老师上课的时候喜欢“一言谈”,这样教学不受学生喜爱,如果增加课堂上的互动,可以使得教室内气氛活跃、宽松,积极启发学生多问问问题,针对问的比较多的问题进行专项训练和专题报告。介绍学生了解网络课程和网络中的教学资源,激发学生学习兴趣,让学生自主学习。利用网络聊天工具,创造机会和学生多交流,引导他们思考讨论软件工程的问题,这样的话,老师由知识的.灌输者成为学习的引导者,学生学习兴趣会提高,学习效果也得到了提升。
3根据课程特点结合实际开发因素进行实践教学
实践教学是本课程中一个重要的组成部分,它要求学生以开发团队(一个团队通常由3~5人组成)的方式开发一个具有一定规模的软件系统,侧重培养学生发现问题、独立分析问题和解决问题的能力以及团队合作精神,使学生初步体会到一个软件开发项目全过程。课程实验项目的软件开发过程分成实验准备、分析设计、编程测试和软件交付等部分,具体要求如下:
(1)准备实验:实训课堂中学生首先接触到一个软件描述,内容很简单。学生自发的联系队友组成一个团队,并且制定开发计划。
(2)分析设计:开发团队根据软件描述实现需求分析,最终形成需求分析规格说明。软件需求规格说明完成后,设计软件系统的总体框架,分模块完成,每个团队都将得到开发任务,最好能够实现竞争性开发。
(3)编程测试:得到任务的团队,实现项目开发包括文档,测试和调试代码。
(4)软件交付:团队集成的完整系统交给老师验收。
4研究软件工程环境
提供一个软件开发项目对学生来说是不够的,他们还需要一个符合软件工程的开发环境,在这个环境里面体会软件工程的思想和方法,怎样这样一个学生喜欢效果好的软件开发工程环境呢?通过研究软件工程应该具备的基本要素,软件工程工具的使用引入课堂中来,特别是课程实验项目中,学生可以使用管理工具,他们会发现各种制品控制在有序管理之下,使用他们建模和测试进行软件分析、设计和测试效果要比没用他们好很多。老师认真编写规范的实验指导书,包括开发过程模型、系列文档模板、软件编码规范、段评审标准等,使实验和实践环节规范有序,改变了学生以往突出个人技巧的杂乱过程。
5结论
软件专业的学生根据培养计划加强他们的实践教学,通过分析软件工程的发展和社会需求,我们认为在教学内容中应该突出内容的先进性、系统性和工程化;教学方法方法提倡互动式讨论,教练是教学是适合这个课程的有效教学方法;在教学实践方面,通过开发团队搭建软件工程开发环境实现实践教学。
软件工程实践课程教学改革的探讨
该文结合实际教学的体会,对软件工程实践课程教学活动中存在的问题进行了分析,对教学方法的`改进和教学实践等方面进行了论述,并提出了具体的建议.
作 者:王昕 作者单位:辽东学院,辽宁丹东,118003 刊 名:科技资讯 英文刊名:SCIENCE & TECHNOLOGY INFORMATION 年,卷(期): “”(7) 分类号:G64 关键词:软件工程 项目开发 教学改革软件工程教学方法实践论文
摘要:
文章结合软件工程课程的特点,阐述了兴趣引导、任务驱动教学法在课堂教学中的应用,指出了教学设计中要注意的问题,并举例分析其用法。
关键词:软件工程;教学方法;兴趣引导;任务驱动
在互联网+大智慧时代,计算机和移动智能终端的普及使得软件成为人们日常使用必不可少的工具。有了软件,人们的办公效率得到提高,生活质量也有了很大改善[1],人们幸福地生活在这个智慧的时代。随着国家经济的发展和对软件人才需求的增长,软件工程学科的作用和地位不断上升。,国务院学位委员会及教育部将软件工程设立为国家一级学科[2],这反映出社会发展的重大需求,指明了学科发展的方向。目前高校中近80%的院校设有软件及相关专业,国家对软件人才的需求旺盛[3]。教指委也认定软件工程是计算科学相关专业的核心课程之一,着重强调软件工程的重要作用[4]。软件工程是一门工程学科,主要讲述软件开发与维护的相关知识,涉及软件开发的各个方面:开发流程、原则、开发方法与常用工具、软件项目管理等,能够为高效地开发高质量的软件产品提供有效的技术支持[5]。它在培养学生的软件开发能力、提高项目管理水平方面起着重要的作用。软件工程课程涉及的原理、方法、概念多,涉及的知识面广且抽象,较难理解,实践环节操作困难。需要学习者既知晓理论知识,又能够在项目实践中灵活应用。在计算机相关专业的课程设置上起着重要的作用。因此,针对高职院校的软件工程教学现状,必须进行教学改革,不断探索更为有效的教学方法。下面是笔者结合自身的教学经验探索了“兴趣引导+任务驱动”的软件工程教学法,与同行探讨。
1软件工程课程教学现状
1.1教学方法陈旧
大多数高校的软件工程课程主要以理论讲授为主,在课堂上采用“灌输式”的教学方法。课堂教学枯燥无味,学生被动式地接受,教师是课堂的主导,学生为辅。情景式、互动式等教学方法较很少采用,课堂氛围沉闷,缺乏灵活性,课后缺乏实践训练。不能充分地调动学生学习的主动性,无法激发学生的学习热情,大多数学生学完后只记住了一些基本概念,很难灵活应用于项目开发实践中。有的学生甚至认为有了这些理论知识就能指导软件开发,开发出完美的软件产品。单一的课堂教学枯燥无味,加上理论抽象,教学效果大打折扣。
1.2教学内容与其他课程融合欠佳
软件工程的选修课程有数据结构、数据库原理及应用和程序设计语言等,这些课程学完之后,学生很难把这些课程的知识点融合在一起应用于软件开发过程中。学生难以融会贯通,理解起来困难,在项目实践中更是难以灵活应用。
1.3忽视实践环节
软件工程是一门理论性和实践性比较强的综合性课程,很多院校只注重理论课的教学,开设了很少的实验课程,甚至有的学校只开设纯理论课,没有实践教学环节。学生在实验过程中只是学习了一些软件工具的用法,而没有按软件开发流程完成一个完整项目的开发,不能真正领悟到软件工程在项目开发中的重要作用[6]。
1.4师生对软件工程课程重视度不够
软件工程不同于一般的应用软件,学完后会有立竿见影的效果,比如学习了photoshop就能够进行简单的`图像处理。在完成一个软件项目的开发过程中,有些学生虽然能做出来,但是做出的软件产品却差强人意,软件质量缺乏保障,缺乏完整的文档资料,很难进行软件维护。许多学生认为软件就是程序,没学软件工程也能写代码,不重视软件工程,认为学不学没有太大的关系。随着信息化时代的来临,越来越多的应用都离不开软件,同时对软件的质量要求也越来越高,所以教师更要重视软件工程的教学,在教学中要进一步结合现代教育技术,开展信息化教学创新研究。
2教学方法设计
大多数高职学生基础薄弱,他们对理论知识的归纳、总结能力欠佳。在教学中,要尽量深入浅出,以简单、形象、生动的语言,把知识点阐述清楚,同时要注重培养学生的逻辑分析能力和动手能力,力争让每一位同学都能有所收获,有所提高。教学过程中“教”与“学”高效结合,需要注重教师和学生在课堂中主导角色的合理优化[7]。为了让学生更主动地参与到学习中来,兴趣引导是一种有效的方法,可以激发学生的学习热情。因此,在教学实践中采用“兴趣引导+项目任务驱动”的方法,激发了学生的兴趣,增强了教学效果。在信息化教学背景下,借助多媒体等现代教育手段,创造轻松、生动、形象的课堂环境,在寓教于乐中,把学生领进知识的海洋,学习相关的知识点,提高学生的逻辑分析能力、自学能力和动手能力,让学生在实践中能够学以致用。
3教学活动设计
在设计课堂教学时,要注意以下3个方面:
(1)转变学习方式。让学生主体主动参与到课堂中来,让学生成为课堂教学的主体,借助现代化教育手段,让学生通过多种方式(如移动终端等)参与到学习中来。
(2)场景与知识点相融合。设置与知识点融合的场景,让学生深入其中,再抛出知识点相关的学习任务,让学生在场景中顺其自然地进入学习状态。
(3)唤醒学生的自主学习意识。及时对学生的努力和成绩加以肯定,让学生体会成功的喜悦,激励学生主动学习。
4教学流程示例
结合当代高职学生的现状,以《软件需求分析》为例,本文进行如下的课程教学流程设计。
4.1兴趣引导,引出知识点,导入新课
课前的知识点回顾是很重要的,在复习上次课学习的知识点的同时,与学生互动,抛出问题,比如,什么是软件的生命周期,常用的开发模型有哪些?项目开发进行到哪个阶段了,接下来需要做什么?再通过一个“妈妈与孩子”的故事引出知识点,导入新课。故事是这样的:一个夜晚,有一位妈妈领着她的孩子走在回家的路上,孩子突然说:“妈妈,我想要吃鸡腿”,妈妈犯愁了,这么晚了,怎么办呢?附近店铺已经关门了,可又不能饿着孩子。突然,妈妈想起了包里还有一些下午买的披萨,就拿出来给孩子吃,孩子高兴地接过披萨开心的吃起来。讲完这个故事,注重与学生互动,及时提问学生,鸡腿=披萨?显然学生是乐意回答的,而且很高兴地回应老师的提问。显然是鸡腿不等于披萨,然后再追问,孩子的潜在需求是什么?学生的兴趣被激发出来,会接着分析,孩子的潜在需求是饿了,想要吃好吃的。由此引出知识点:需求的定义,导入新课。在讲解知识点的同时注重与学生的交互,实时了解学生的课堂学习状态、对知识点的理解程度,有针对性地进行讲解。
4.2以任务驱动结合项目案例讲授新课
提出问题,什么是需求分析,需求分析的任务,需求分析的过程。让学生带着问题看书,找出问题的答案,旨在培养学生自主学习能力。教师巡视教室,及时解答学生的提问,发现问题,专题辅导,启发学生,随时接受学生的咨询,巡回检查,个别指导,让学生成为课堂的主体。再以“传授技能,尝试练习”的教学法举例。精选出一两个有代表性的项目实例,引导学生用掌握的理论知识解决实际问题,案例讲完后,结合习题训练,通过与学生的交互情况,了解学生对这部分知识点的掌握情况。在授课过程中,借助PPT进行讲解,为了让PPT美观有吸引力,借助现代教育技术,增加一些动画、人物、技术的起源,插入一些流行影视图片等作为背景,增加趣味性,吸引学生的眼球。
4.3归纳总结
通过学生课堂习题训练的情况及师生互动情况,总结本次课的教学重点、难点,指出学生在解题过程中存在的问题,提醒学生在进行需求分析时容易出现的问题,结合具体项目案例讲解分析方法、工具及需求分析规格说明文档的格式,并总结方法和容易出现的问题。
5结语
软件工程是计算科学相关专业的核心课程,在计算机相关专业的课程设置上起着重要的作用。本文针对高校的软件工程教学现状,阐述了“兴趣引导+任务驱动”的教学方法在课堂教学中的应用。在以后的教学中还要进一步结合现代教育技术,开展信息化教学创新研究。
[参考文献]
[1]刘红梅.计算机软件工程管理与应用探究[J].无线互联科技,(2):97-98.
[2]樊富有,孟林,李忠.新形势下软件工程人才培养的思考[J].计算机教育,(13):82-86.
[3]易军,周伟,张元涛.软件工程专业办学现状及发展特色分析[J].计算机教育,(8):102-104.
[4]蒋宗礼.推进规范办学,培养合格本科毕业生[J].计算机教育,(7):7-10.
[5]曾强聪.软件工程方法与实训[M].北京:高等教育出版社,.
[6]赵淑芳,陈立潮.基于项目导向的启发式软件工程教学模式研究[J].大学教育,2015(11):186-187.
[7]王璐.从现象走向本质:课堂教学改革的路径选择[J].当代教育科学,2013(17):18-20.
一、茶艺课程实践教学条件
高校学生具有良好的专业基础知识及学习态度是开展好茶艺实训课程的前提。学生具备了餐饮知识及酒店服务礼仪等基础知识后,才能更好地开展茶艺课程实践教学。学生撑握较好的专业基础知识,不仅有助于教师的教,也有助于学生的学,达到事半功倍的实践教学效果。实践教学的特点是“在学中做,在做中学”,学生的学习态度会影响到学生的学和动手操作,积极的学习态度对茶艺课程实践教学效果产生较大的影响。
二、茶艺课程实践教学过程实施
茶艺课程实践教学过程的实施以工作岗位为导向,在实践教学过程中采用模拟教学、项目教学、模块教学和实地考察教学,通过这几种教学方法的综合运用,提高学生的动手操作能力,学会茶艺的操作技能。(一)模拟教学。模拟教学法是茶艺实践教学中较为常用的一种教学方法,通过模拟仿真的茶艺馆实践教学情境达到提高实践教学效果的目的。学生在教师的指导下模拟扮演茶艺师或顾客进行茶艺技能训练,亲身体验和操作识别茶叶、泡茶、饮茶、茶礼等,最大限度调动学生学习的.积极性。(二)项目教学。项目教学法是一种以学生为中心的教学方法,通过先实践操作、再讲解的方式,使学生在实践操作过程中不断解决问题。学生在茶艺实践教师的指导下亲自独立处理一个茶艺实践项目,从茶艺室的布局、茶叶采购、茶叶冲泡、茶礼及顾客服务等茶艺实践的全过程,在实践过程中处理碰到的问题,提高学生的学习兴趣和学习的积极主动性。(三)模块教学。茶艺术实践教学可分为茶叶识别模块、茶叶冲泡模块、茶礼仪模块、茶席设计模块等,对每一个模块进行茶艺专业技能训练,促使学生茶艺专业技能的形成。通过让学生亲自动手,学生互评,教师点评的方式,让学生的动手能力得到提升。(四)实地考察教学。根据茶艺术课程实践教学的需要,组织和带领学生到校外实训基地如酒店茶艺室、茶艺馆、茶厂等参观考察,以获取实践知识、巩固和验证已学知识。在实地考察前,教师根据茶艺实践教学要求,确定实地考察的目的、对象、时间、地点,并做好联系工作。实地考察时,教师提出具体要求,引导学生学习有关知识。
三、茶艺课程实践教学的几点思考
(一)突出茶艺课程实践教学的综合性。酒店管理专业培养的是综合技能型人才,教师在上茶艺实践课的时候不是着重强调让学生就某一个动作反复练习,而是让学生有所思考,进行一些综合性比较强的实训。在上实践课时,让学生把茶叶识别、茶叶冲泡、茶席服务等各个实践环节串联起来形成一个完整的综合性的实践教学。(二)作业布置多样化。茶艺课程涵盖的内容丰富且广泛,茶叶和茶具种类繁多,泡茶的方式和手法较多,学生可选择学习的机会更加多样。因此,在作业的布置上尽可能体现出多样化,这不仅兼顾到学生个性的发展,还能达到全面考核学生的目的。(三)科学灵活的考评方式。茶艺课程是一门非常注重实践的课程,除了让学生掌握理论知识外,还要掌握实践操作技能。在考评的方式上,不仅从期末考试成绩及平时作业的进行考评,还要在实践教学过程中对实践操作技能上加以考评,注重过程考核,并且增加实践考核在考评中的比重。
四、小结
茶艺课程实践教学的开展加深了学生对茶艺的认识,提高了学生的动手操作能力,为将来从事茶艺工作奠定了基础。在茶艺课程实践教学实施过程中,实践教学的效果如何很大程度上取决于教师,因此,教师要在原有的实践教学方法上,不断改善教学方法,提高茶艺术课程的教学质量。
艺术设计课程教学实践论文
一、专业人才发展现状
据高校统计数据显示:全国艺术设计专业从业者存在较大的市场需求和人才缺口,因此艺术设计专业成为各大院校竞相开办的热门专业。但大投入与回报之间却不成正比,应届生在参加工作后并不能马上融入新岗位,往往需要进行一段时间的岗前培训,才可以逐渐承担实际工作,这无形中给企业带来额外的培养成本。甚至于相当一部分艺术类毕业生走上工作岗位后从事与艺术设计无关的行业。导致该问题的因素主要在于高校办学模式的趋同化、程式化、应试化,设计人才培养与社会需求之间存在一定程度的脱节,大量毕业生具备的知识未系统化,实践动手能力偏弱,自身也缺乏创造力,对行业的前景比较迷茫等。如何打造多元、富于特色的艺术设计教育格局、提高人才培养质量、构建合理的、符合中国国情的艺术专业培养战略,不仅关系到我国创意产业的发展、民族文化的传承和创造力的提升,而且还关系到艺术设计发展的“全球化”对接。这是我们每一个艺术教学从业者需要深层次思考的课题。
二、问题分析
艺术设计专业与其它学科专业存在差异,这种差异主要体现在具有很强的灵活性、独创性和应用性。只有理论知识而没有实际设计能力无法在这一行业立足。实践课程是艺术设计专业学习中一个关键的综合性教学环节,培养了学生掌握综合分析、独立思考以及多项表达的能力,为今后能承担设计工作打下良好基础起到了非常重要的作用。然而,目前我们高校实践课程教学流于形式,书本化教学存在照本宣科和应试教育的弊端,与艺术设计行业的实际应用要求严重脱节,主要体现在教学模式上和培养模式上。
1.教学模式。目前高校普遍采用教师讲、学生听的灌输式教学方法,思想陈旧,所讲内容也是千篇 一律。教学实践环节中,教师常采取虚拟命题的方式给学生布置,不考虑实际环境,教学方式流于表面,使学生缺乏实际操作的经验。对学生设计作品的批改上也采用传统批改作业的方式,重形式而忽略内容。最终导致设计的方案更多是强调审美价值、造型的美观和欣赏性,而本质的实用性差。
2.培养模式。一方面,过多强调了计算机软件的运用能力(如3dmax效果图制作),忽视了草图表现能力、项目分析能力和材料、工艺知识等基本能力的培养、素质的训练,致使学生过多的时间花在软件学习上,设计的东西呆板,缺乏新意。另一方面,忽略了学生的基础素质与兴趣爱好。在短期内要培养学生的审美能力、设计能力、应用专业软件能力、创新能力诸多方面的能力难以达到,最终培养出的毕业生往往出现“样样通,样样松”的问题,毕业生到了企业后完全不清楚自己的专长。所以,弱化技术手段和工具的权重,重视理念的创新和创作模式的突破,这些应由教师们去鼓励和引导。
3.教学思路。针对上述存在的问题,对现行的`专业实践课程教学进行探索性的改革,确立符合学科特点的改革思路,形成一套切实可行的教学方案体系。这在当前大学生就业形势严峻的社会背景下,具有积极的现实意义。以社会需求“对接”为根本切入点,转变教育思想,更新教学内容,在具体的实践教学环节中,勇于大胆尝试,提倡敞开式办学,结合工程项目经验渗透教学。适当情况下,可以让学生走出校门到市场、工地现场熟悉各种施工工艺、程序,形式语言及视觉效果,循序渐进地提高艺术设计的综合能力,达到艺术与工程实践结合,理论与实践结合,教学方法与个性发挥相结合。为艺术设计的整体系统教学注入了新鲜活力,培养适应社会需求的专业人才。
4.实施措施。专业实践课是艺术设计教学中的重要一环。要求学生在理论学习的同时,必须辅以进行大量的实践训练,以不断强化对理论知识的理解,同时增强学生理论结合实际的能力。以“全面培养学生的技能水平”为出发点,落实到实践教学环节中我们采用“四步式”教学。第一步,培养基础设计表达技能。在教学中,以启发引导为主,主要包括草图表现能力、项目分析能力、材料、工艺基本知识。第二步,强化设计原理的学习和提高。安排教学实践项目,图文并茂进行讲解,力求将枯燥的设计原理用鲜活的形式展现,让学生乐于接受。第三步,加强运用专业软件的能力。让学生们充分重视“软件”工具对于艺术设计的辅助性作用。第四步,设计实习检验阶段。主要是在校外实习基地(设计院、设计公司等)和校内进行,要求学生先在实习基地实习锻炼,然后回到学校综合运用所学的专业知识,结合自己的实习情况,完成一个较全面的毕业设计的任务。“四步式”实践教学通过由基础性实践到综合性实践,从课程设计到现场实践性教学,由浅到深,逐步深入,由理论到实际应用,循序渐进,使学生专业技能在实践教学过程中得到系统的锻炼和培养。全方位提高学生的动手能力、独立思考能力、实践能力,使学生能根据用户或市场的要求独立地进行设计。艺术设计教学应秉承大文化观,站在培养塑造完美人格的高度去实施人才教育,而不是拘囿于专业的局部看问题。以素质教育为中心,以实施美育为主导的思想原则,通过审美教育培养学生感受美、认识美、鉴赏美、追求美和创造美的能力。通过对实践课程教学的改革,丰富了教学手段和教学内容,使得学生的专业兴趣得到提高,创造性思维得以开发,创作能力得到有效锻炼,培养出更适应行业发展和社会需求的专业人才,更好的为社会服务。
关于课程案例教学法软件工程论文
一、案例教学法的设计原则
案例教学法是通过真实的案例,并与我们身边熟悉的生活内容相联系,来学习专业的课程知识的过程。但是案例教学方法并不是随便设计的,在案例设计中要遵循一定的设计原则。下面我们简单论述一下,软件工程案例教学法设计的基本原则。
1.目的性
众所周知,软件工程课程是一门理论性比较强的课程,在教学过程中要求理论与实际情况相联系,让学生把理论知识应用到实际联系中去,发现问题,解决问题。巩固软件开发专门技术,并应用到实践中去,因此,在案例选择和设计的过程中,要按照教学目标和要求来展开。
2.真实性
案例设计的真实性是指,要通过实际的项目作为研究和讨论学习的核心,给学生营造一个真实的学习环境,在课堂教学中,通过接触真实的问题,来提高学生的实践动手和操作能力,为以后的软件开发提供坚实的实践基础。另外,还要邀请国内经验比较丰富的老师或资深比较深厚的软件工程师,对案例进行编写以及对开发的实际项目进行讲述。
3.代表性
软件工程课程涉及的方面比较广泛,系统的设计和开发都比较广泛,因此在教学过程中,案例的选择还要具有典型性和代表性。具有代表性的案例才能将实际的理论知识更好的应用和实践,同时也扩大了应用的范围,对培养学生解决问题的能力和思维方式有着积极的意义。
二、案例教学法的设计方法
面向对象方法学和生命周期方法学是软件工程的两种基本方法学,这两种方法学都把软件的生命周期,分别分成几个不同的阶段对系统进行分析、研究、设计、实现。因此在对于案例教学法的设计,要按照不同的阶段对系统开发进行设计,针对其中不同的现实问题设计不同的解决方法和案例,并且对案例的应用要分阶段的进行降解。当整个案例课程教学方法完成后,再对学生布置几个综合性的案例,对所学的知识进行巩固和加深印象。一般来讲,综合性的案例内部联系往往比较紧密,包括的内容也通常比较多,运用和调动的知识和技术也比较广泛,因此,从整体上来说,综合性的案例教学,对学生综合能力和综合知识的提升发挥着重要的意义。
三、案例教学法的应用
案例教学是软件工程课程教学的主要方法,对于案例教学法的应用,我们要考虑以下方面的因素。首先,通过案例讲解后,让学生们知道软件工程的基本方法和原理,然后把一个具有代表性的、真实的、易于理解的实际案例导入到软件工程的教学中去,把软件工程课程中抽象的概念和理论,通过具体的实际案例生动、形象的表达出来。举例来讲,当讲授课程中生命周期方法学时,课程讲解从问题的定义出发,再对其进行可行性研究和需求分析,然后进行设计,编码、测试和维护等一系列的教学管理工作。这样把学生接受的`知识有序的连接起来,让学生在具体的案例中掌握DFD、E-R图、Warner图、HIPO图以及Jsckson图的绘制和测试方法,并且理解基本的含义和作用,以达到良好的教学效果。其次,案例教学的应用必须要调动学生的动手能力,让学生参与到案例教学的设计和分析中来,这样才能培养学生的实践能力和动手操作能力。对此我们对软件工程课程进行了综合案例设计,具体设计内容主要从如下几个方面来阐述。
1.确立项目开发计划
首先,项目组完成“可行性研究报告”的撰写,然后根据“可行性研究报告”确立项目开发计划,对每个组成员进行分配任务,确保每项任务的进度和项目使用的各项工具。对每项任务需要完成的时间和日期进行规定,最后再对项目开发计划进行评审,不断完善。
2.需求分析
需求分析是项目开发和设计研究性强度的分析,通过对项目任务的结果和进度,相关负责人员对项目需求性进行分析,并撰写“需求分析说明书”,然后再经过相关的评审人员进行评审,不断完善需求分析内容。
3.软件设计
参考项目进度和任务分配结果,以及“需求分析说明书”,由相关负责人对项目进行初步设计,并对具体的设计内容和任务进行细分,其他人员要辅助开展完成项目设计任务。然后对设计内容撰写“软件设计说明书”其中包括数据库设计、功能设计以及人机界面设计,并撰写相关的“软件测试计划”。其中人机界面设计是一个重要的环节,在设计过程中要兼顾考虑技术和人两个方面的因素,保证界面的一致性、简洁性以及易操作性。
4.实现
按照项目的具体任务要求,以及相关的指导说明以及计划书等,完成具体的软件工程项目设计,达到项目设计的要求,实现项目设计的目标,并撰写相关的程序设计清单。
四、结语
综上所述,案例教学法是软件工程课程重要的教学方法,通过案例分析和研究,对项目进行设计,把抽象的理论知识和概念通过形象、生动的案例表现出来,同时也培养了学生的思维能力和实践操作能力。
软件工程课程教学过程设计的论文
【摘要】软件工程课程软件学院软件工程专业的一门专业基础核心课程,也是一门理论与实践并重的课程。但在实际的教学过程中,存在较大的难度:知识与现实脱离、课程内容比较庞杂和抽象、教学实践环节薄弱等,对于缺乏软件开发实践经验的本科生来说,单纯地讲授抽象的理论知识往往使学生感到枯燥无味且难以理解。达不到良好的教学效果,无法满足现代软件工程人才的培养目标。为此,提出了以“应用”为导向的软件工程课程教学过程的设计,主要从教学设计原则、教学设计策略、教学内容、教学方法、课程重、难点解决方案、考核方式与评价方法等方面展开,给出了切实可行的方案,与院系“一体化”教学理念切合,通过实施,取得了一定的效果。
【关键词】软件工程;应用导向;“一体化”教学理念
平顶山学院软件学院从建系以来的培养目标就是培养应用型人才。而软件工程课程是软件学院软件工程专业的一门专业基础核心课程,也是一门理论与实践并重的课程。该课程的培养目标也应该与院系培养目标一致,培养应用型人才。但在实际的教学过程中,存在较大的难度。现有的软件工程课程存在着知识与现实脱离、课程内容比较庞杂和抽象、教学实践环节薄弱等,对于缺乏软件开发实践经验的本科生来说,单纯地讲授抽象的理论知识往往使学生感到枯燥无味且难以理解。达不到良好的教学效果,无法满足现代软件工程人才的培养目标。为此,以“应用”为导向的软件工程课程教学过程的设计显得尤为重要。
1软件工程课程的课程目标
《软件工程》课程以培养学生完整严格的软件工程观念和训练软件项目开发、管理能力为目标。通过本课程的理论教学,要求学生了解软件项目开发和维护的一般过程,建立良好的软件设计开发理念,能自觉按照软件工程的方法进行软件的开发和维护工作;掌握软件开发中传统和最新的方法与技术,学会使用分析设计工具,培养学生用工程的方法进行软件开发的能力和素质;了解软件开发过程中的各种标准与规范,包括国际国家标准、行业标准、企业规范和项目规范等。通过本课程的实践教学,训练学生运用软件工程CASE工具的能力,同时强化训练个人分析设计能力、工程实践能力、创新能力、规范化工作能力、沟通表达能力、文档写作能力、团队配合能力、自我学习与可塑性组织能力。通过本课程的理论学习与实践练习,了解软件工程各领域的发展动向;如何用工程化的方法开发软件项目,以及在开发过程中应遵循的流程、准则、标准和规范。使学生基本具备进行软件工程项目分析、设计、实现和进行有效的项目管理以及文档编写的能力。为适应计算机应用各领域对专业技术人才的需求,根据应用型本科技术人才培养目标的需要,我们坚持课程体系的科学性、系统性与开放性,关注计算机软件技术发展研究的最新动向,及时更新与充实课程内容。
2教学设计原则
坚持以应用能力培养为本位的设计原则,教学内容、教学方法以及考核方式均围绕能力培养来进行设计。
3教学设计策略
3.1知识域覆盖
针对软件程序员/软件设计师职业,以职业所需的知识和技能为先导,突出技术理论和技术应用主线,实现知识传授与技能培养并重,体现知识、能力、素质培养“三合一”特征。理论部分突出基本知识和基本概念的表述,知识覆盖范围,着重把握理论知识的深度和要领,力求线条清晰,为后续技术方法介绍和运用提供技术理论支撑;对软件工程基础理论知识的涵盖原则是“必须的不缺、不用的不设”,对技术原理(方法)的分析原则是“举一反三”,对实践技能训练的原则是“项目运作”。
3.2技术方法先导
软件工程是一项技术性较强的工作,软件规范的实施是以技术的方式开展或进行,教学策略设计是以技术与工程为导向,围绕着软件工程项目的进程展开,一个项目的进程当中能处处体现工程特点和专有技术的特征。因此,教学设计通过项目活动及过程来呈现问题、运用相关理论知识解析问题和通过工程过程解决问题。通过项目阐明技术方法与策略运用。
3.3突出技能训练
技能训练也是本课程重要组成,践行“做中学”人才培养理念,建立课内课外一体化实践教学体系。建立“1-7课题组”课外工作机制,将学生的实践教学环节延伸到课外。学期大作业要求学生按“1-7课题组”课外完成一个实际软件系统的分析、设计、实现和模拟运作等4个过程,并按照国家标准《GB/T8567-计算机软件文档编制规范》规定的要求,提交各阶段报告,课题组完成后通过课堂答辩提交项目结果。通过技能训练学习掌握当前主流软件的软件开发方法、工程技术,并将软件工程理论知识与软件工程过程密切结合。在软件分析与设计能力培养上,主要通过实际案例或软件项目的运作,以“学中做与做中学”方式中培养和形成专业技能。
4教学内容设计
结合软件产业发展的要求,以能力需求为导向。坚持理论够用,将相关知识点分解到实际项目案例中,让学生通过对项目的分析和实现来掌握相关理论知识和软件开发技能,选择技术实用性、知识拓展性强的教学案例和实验项目,在保持传统理论知识讲授的同时,同时关注计算机软件技术发展研究的最新动向,将相关内容融入到相关的教学单元中,及时更新教学内容,并通过阶段性安排新技术讲座,布置课外读物等方式,使学生了解最新热点知识,掌握新方法。
5教学方法设计
在教学过程中,针对专业学生的特点,从实际教学出发,在对多个小软件项目的研究基础上,提出首先结合小软件项目,以传统的结构化的方法为主线全面系统的.进行教学设计,将软件工程思想贯穿于教学中,这样可以从综合的观点看待整个系统开发过程。然后以快速原型法、面向对象法为辅线扩展学生进行软件设计的思路,从而总体上提高学生进行软件设计、编写文档的能力。改进教学方法和教学手段。教学中,实行启发式、讨论式、行动导向、案例分析、项目驱动等教学,有效地调动学生的积极性和主动性,激发其学习潜能,注意学生的参与和互动。采用“提问式切入”、“问题讨论式”等方法对前述内容进行深入复习和引申,同时采用“问题引入”、“情境导入”等方法引入新的教学内容;采用“以项目开发驱动”的方法授课,将相关知识点融入项目,通过项目实现,让学生掌握软件工程技术,并对面向软件工程理论有一个直观和更加感性的认识。
6课程重、难点解决方案
6.1软件工程课程重点
软件工程基础理论,软件工程策略,面向数据流的分析方法、面向数据结构的设计方法、问题域中对象的识别、对象关联关系的建立、对象的结构层次、建立动态模型、建立功能模型,以及软件工程过程管理和配置设计。
6.2软件工程课程难点
软件需求分析模型,软件开发过程模型,软件质量分析与度量,软件设计方法、软件维护。
6.3重、难点的解决方案
软件工程所涉及的基本概念、基本方法、基本过程和应用技术,教学必须作为重点突破,主要措施是理论讲解和实践体验“双管齐下”,为学习软件工程专业知识和掌握实际开发技能奠定基础。理论讲解实施项目教学模式,以精讲和透彻分析、自主学习、探究方式和集体讨论的形式进行,引导学生理论与应用相结合;实践教学主要是通过课内、课外一体体教学体系、产学合作方式等方式,通过项目开发过程中的问题,有针对性的学习软件工程理论。引入真实企业项目,在引入项目的同时,引入企业项目经理等技术与管理人员,协助完成合同任务,将教学活动与项目实施融为一体,实现工学结合。培养学生在实践中学会发现问题、研究问题、分析问题、解决问题,培养学生综合实践能力。
7考核方式与评价方法
采用过程性考核方式,评价所有的学习结果。制定了分阶段、互评定的二次考核体系,即课程考核由三部分组成:平时考核(课堂表现、考勤)占20%,理论(期末考试)考核占40%,实践(技能)考核占40%。其中实践成绩的评定包括小组成绩和个人成绩两部分,各占50%。
8总结
该教学过程设计,切合院系在提出的“一体化”教学的理念。从这几个学期的教学效果看,取得了一定的成果。但在具体实施的一些细节中还存在一些问题,有待进一步思考、提高。
【参考文献】
[1]刘强,等.“软件工程”课程教学实施方案[J].中国大学教学,(2).
[2]刘海燕,王雅轩,等.基于项目案例驱动的《软件工程》实践教学研究[J].科技创新导报,(14).
[3]汪Z玢,叶福玲.案例与项目实践结合的“软件工程”教学方法[J].计算机教育,(10).
[4]王小磊.任务驱动与情境认知学习理论在《软件工程》课程教学改革中的探索[J].福建电脑,(7).
[5]郝水侠.《软件工程》的教学模式及方法的探索[J].科技创新导报,(1).
师范类学生软件工程课程教学的论文
摘要:针对软件工程课程在师范类学生教学过程中出现的现实问题,通过分析学生的学习情况,提出了课程的实践教学方案。陕西师范大学软件工程课程教学中的实践情况和取得的效果,对于其他院校的软件工程课程建设也有借鉴意义。
关键词:软件工程;师范类学习;课程实践;教学探索
0引言
软件工程的课程教学和实践是作为计算机科学和软件工程专业学生大学课程中第一个较为系统化的软件开发方法和开发流程类课程,它对培养学生动手能力无疑起着非常重要的作用,陕西师范大学计算机科学学院为计算机科学、软件工程、信息系统与管理等专业的本科学生开设了软件工程的专业必修或专业选修课。计算机专业师范类学生的就业范畴一般是中学教育,如何针对这类学生的特殊性,进行软件工程教学是师范类大学教师亟待解决的问题。
1软件工程课程教学现状分析
1.1软件工程课程特点
设立软件工程课程的目的,不仅仅是让学生掌握地软件开发的流程,熟悉软件开发的基本原则,还要让学生锻炼代码的编程能力和解决实际问题的能力,并且尽可能地了解当前最前沿的软件开发知识。[1,2]而这些知识的呈现形式,往往是最新的开发工具、程序开发语言。通过本课程的学习,既可以使学生掌握基础的软件开发方法,又锻炼了学生的动手能力,为学生下一步的研究生学习或者工作奠定基础,提高学生在计算机类开发工作中的竞争能力。
1.2师范类学生的特点
师范类学生在入学时就确定了工作的方向,相对于其他专业的大学生,师范生的就业方向比较稳定,一般为中学教师或教育局工作人员。因此,虽然学生在大学校园中完成了软件开发的学习,但毕业后需要进行软件开发的工作场景非常少,学生容易降低对于软件工程类课程的兴趣。仅靠传统教学手段,例如课堂幻灯片,或者教师的个人讲述来进行软件工程课程的教学,已无法满足软件工程类课程系统化、工程化的教学目标。如何调动学生的积极性,让学生多动手,多参与到课程中是师范类大学教师必须面对的问题。在授课过程中,通过视频或者漫画的形式,以生动活泼的案例为导引,图文互动,加深学生对软件开发过程的理解,增强软件开发的动手能力,更加主动地学习,是软件工程课程教师需要进行教学反思的方向。
1.3师范类学生的兴趣
兴趣是学生学习的最大动力,在软件工程课程教学过程中,需要积极地调动学生的积极性,让学生多动手,多参与到课程的教学和实践中去。通过某一具体项目的引入课堂和现场实践,帮助学生克服对软件开发过程的烦躁心理,而软件开发一步一步应用于实际问题,既加深了学生对软件开发过程的理解,又增强了学生的兴趣,如此即可形成良好的正反馈,改善教学的效果。[3,4]
1.4软件工程理论与编程实践结合
软件工程课程是一门实践性很强的学科,在学习的过程中,学生不但要掌握基本的软件开发原则,算法开发流程的适用范围,还要将软件开发应用到实际的问题中。在教学的过程中,可以通过多元化教学模式[5]和不同的教学方法,[6]根据学生的兴趣和认知模式,积极地引导学生进入学习。引导学生通过对实际问题的思考,根据问题的特征,选择适合的软件开发模式、程序语言算法,对问题进行求解。为了将理论与实践相结合,提高学生编程能力和软件开发的能力,在课程中,需要使用更加直观更加前沿的教学手段。本课程就采用了机器车任务控制问题,作为软件工程课程项目实践的切入点。具有单个机器控制简单,群组协作功能强大的特点。通过将学生划分为不同的小组,协同将控制算法应用于机器车的路径控制工作,并完成特定的任务。在课堂学习的过程中,既锻炼了学生的动手能力,又加深了学生对于软件开发过程的理解,具有一定的趣味性和直观性,有助于学生将兴趣转化为学习动力。
2软件工程课程教学模式构建
2.1软件工程课程教学内容选择
软件工程课程涉及的知识点很多,如何合理选择内容,既要使学生了解软件工程的全貌,又要避免“蜻蜓点水”式的浅尝辄止是一个教学难点。为了应对这一难点,在课程的设计上,课程以软件工程的各个开发阶段、各种开发模型为重点,兼顾新的开发模式和开发方法,同时对软件开发的编程习惯和编程规则进行介绍。针对师范生的特点,本课程设置了“翻转课堂”等多个项目来锻炼学生的.表达能力和讲授能力。通过学生的讲解,加深对课程的理解,教学相长,学生在教的过程中,既理解了课程的难点,又提高了教学的能力,达到课程和专业相结合的目的。
2.2软件工程课程教材选择
软件工程的发展迅速,仅仅依靠一两本教材很难覆盖当前的发展前沿,而过度依靠新出版的文献又难以为学生打下坚实基础。同时,软件工程类课程的教材还需考虑中英文术语的不同。为此,课程采用了教材为主,同时加入新的期刊、杂志、网络资料,以几者并行的方式进行综合性教学。
2.3网络资源的使用
随着互联网的发展,网络上存在大量的软件工程开发和软件工程实践的资源,这些资源包括教学视频,算法源代码,个人博客等。不同类型的网络资源,也需要在教学过程中结合使用。在网站Github.com上就存在大量的开源软件项目。在学生的课余时间,可以通过手机、个人电脑等设备方便快捷地获取这些信息,学习代码的写作规范,甚至参与到开源软件的开发过程中。通过网络资料自主学习的形式,学生可以对某一编程软件或编程模式进行深入了解,适合学生的个性化发展。
3结论
软件开发课程是计算机类、软件工程类学生了解软件开发流程,锻炼编程能力的主要课程。本课程的教学,为学生奠定了软件开发领域的知识基础,提高了学生的软件开发实践能力。通过为学生讲授软件工程课程,学生不仅可以掌握软件开发的基本流程,还能锻炼编程开发能力,对于学生接下来的研究或软件开发、软件测试类工作大有裨益。文章讨论了师范类学生软件工程课程中需要注意的问题,探讨了软件工程课程教学资源建设的注意事项,对于其他院校的软件工程课程建设也有借鉴意义。
参考文献
[1]陈长清,陈传波,肖来元,吴涛,裴小兵.项目驱动产学结合的软件工程系列课程构建探讨[J].计算机工程与科学,2011.33(A1):178-181.
[2]吴川.面向独立学院的《软件工程》课程链建设研究[J].科技经济导刊,.32:148,153.
[3]黄昭,徐涵.高校计算机专业全英文授课之问题与教学方法探析[J].计算机教育,2016(3):124-126.
[4]于汪洋,黄昭,胡曦明.基于认知互换的计算机公共课教学模式探索[J].教育教学论坛,2006.13:144-145.
[5]刘辉,冯莹莹,李林国,余世干,李淑敬.软件工程课程多元化教学模式研究[J].黑河学院学报,.3(3):81-82.
[6]代才.行为导向法在文科师范生的PS教学中的使用[J].教育界,2015(33):59.
VFP数据库课程教学软件工程研究论文
1软件工程思想在“VFP数据库”课程教学中的体现
1.1逐步细化
软件工程中逐步求精的思想是指现实问题通过抽象(细化)处理,最后解析出相对明析简单的算法描述和算法实现。将面对的问题按功能进行层次分解,每个层次再继续不断的细化为简单且易实现的模块,其核心本质是“细化”。在VFP数据库中将自顶向下分解后的教学内容进行细化,逐步细化的过程就是对整个教学内容中的关键性知识点进行整理和描述的过程。通过细化构建起严谨的知识系统,精确的表述出知识的内涵和外延。在VFP数据库中是在分解框架下对教学内容的细化,教学内容按知识关联程度细化分为六大个部分,分别是:数据基础、数据构建、数据维护、数据查询、编码、交互界面。对每个部分再按知识关联程度进一步细化,数据基础模块细化为基础概念、数据类型、数据运算;数据构建模块细化为项目管理、数据库、数据表、数据表间关联;数据维护模块细化为数据库与表的修改、添加、删除,记录的相关操作;数据查询模块细化为索引与排序、查询、视图、标准语言SQL;编码模块细化为过程化程序设计、面向对象程序设计;交互界面模块细化为表单、菜单、报表与标签。每一个小的细化模块再进一步细化为一个个的知识点。
1.2模块化
软件工程思想中的模块化方法是指在解决相对复杂的实际问题时自顶向下、逐步细化把问题系统分成若干模块,每个模块完成一个相对独立的特定功能,模块内高内聚,模块间低耦合,所有模块按照一定组织方式组成在一起成为一个整体后可以实现系统的所有功能要求。其本质核心是“复用”。具有代表性的模块化的教育模式有“MES”和“CBE”两种。MES(ModulesofEmployableSkills,模块式技能培训)是以技能培训为核心的教学。它以岗位任务为根据来确定模块,以实际岗位工作的完成流程作为主线,可称之为“任务模块”。CBE(CompetencyBasedEducation,能力本位教育)是以知行能力为根据确定模块,以实际岗位工作所需要的认知能力和活动能力为主线,可称之为“能力模块”。这两种模块教育模式都强调实用性和能力化。在《VFP数据库》中,我们将教学内容的`次序按软件工程思想以“MES”模块重新进行组织。按软件工程原理实现一个数据库管理系统需要完成需求分析、概要设计、详细设计、编码、调试、测试、发布、维护,在教学过程中通过采用一体化案例,将这些软件工程流程贯穿整个教学过程。需求分析对应细化过的数据基础模块;概要设计对应数据构建模块,详细设计对应数据维护与数据查询模块,编码对应编码和交互界面模块。调试与测试则贯穿在整个的教学过程中,每一模块任务案例在完成过程中随时都需要调试与测试,最后将所有模块的任务案例组成在一起就是一个完整的小整数据库管理系统。这样一个学习的过程也是一个基于软件工程原理的数据库管理系统开发的过程。在每个软件工程的流程中,将“CBE”模式灵活应用于其中,比如数据构建模块中按学生所学的专业,要求学生建立一个与专业相关的项目,项目中至少包含一个数据库,库中至少包含三个具有关联的数据表。例如旅游专业的学生创建“旅游线路管理”项目,项目中有“报名管理”数据库,数据库中分别有“旅游线路”、“报名情况”、“交费管理”三个表。通过模块化培养学生解析问题的能力,动手解决问题的能力,团队协作的能力。
2结束语
本文详细论述了在教学过程中将VFP数据库与软件开发过程紧密联系,采用软件工程思想指导VFP数据库的学习。建立了自顶向下的教学内容解析流程,给出逐步细化的途径,并依据模块化思想构建了《VFP数据库》模块化模型。教学过程中通过一体化案例演示VFP数据库在软件开发中实际的应用过程,把实践教学自始至终贯穿于整个教学全过程,真正实现理论与实践的有效统一,拉近学生与数据库实际应用环境的距离,使学生感觉可以实现学以致用,学生在学完本课程后感觉到学会了,会用了,从而进一步提升了我院计算机等级考试中VFP数据库的通过率,甚至在春季的考试中就有多名级的新生报考,并有多人通过考试。
独立学院软件工程课程教学探究的论文
【摘要】《软件工程导论》课程是独立学院计算机专业培养中非常重要的一门课程。本文介绍了独立学院《软件工程导论》课程目前的教学现状,描述了一种针对该课程的,以CDIO理念为指引,以提高学生工程化开发能力为目的进行的教学改革思路。
【关键词】软件工程导论;CDIO;教学改革;工程化
1、引言
在就业环境日益严峻的现今,软件人才仍然需求火热。企业需要合格的软件人才,而应届毕业生希望找寻到合适的企业接收。在供和求都有需求的情况下,仍然存在企业需求不被满足的情况,这体现了目前的现状:在计算机行业内,既缺少行业特色型人才,也缺少应用型人才。在这种情况下,以创建应用型本科为目标的独立学院所面临的改革压力非常大,各个专业也开始寻求全新的发展方向[1];与实践相关的专业纷纷开始展开各项教学改革研究,特别是针对实践类的课程教学改革[2]。作为独立学院的计算机专业,在教学上必须结合行业的需求,紧跟行业内的技术发展趋势;同时立足自身定位,对专业的培养目标进行适当调整。而在计算机相关专业的培养计划中,《软件工程导论》作为一门承上启下的重要专业课程,对于学生的影响十分重大,在教学中需给予正确的定位[3]。
2、课程现状
福建师范大学协和学院建立了基于CDIO的教学培养模式。CDIO是工程领域一种较新的教学理念,于2000年由美国麻省理工学院、瑞典皇家理工学院等四所大学的工程教育改革团队联合提出。“CDIO这个缩写包含了Conceive、Design、Im-plement和Operate,其代表的含义是构思、设计、实现和应用”[4]。这种教育理念所倡导的创新能力和与社会大环境的协调发展对于目前的独立学院教育是非常吻合的。在目前的教学体系中,计算机专业的《软件工程导论》课程安排在三年级的上学期进行教学,主要安排为理论课程。由于课时的限制,也因为课程本身的导论性质,教师在教学中理论讲授的时间偏多,存在以讲授为主的教学行为,导致学生的学习积极性不够;而学生所获取的知识点相对零散,无法建立起统一完整的知识体系。这种情况若任其发展,将使学生丧失对课程的兴趣,因此,课程改革势在必行。
3、教学改革措施
本课程教学改革的核心在于基于CDIO的指引,将工程化理念引入《软件工程导论》的教学当中,对现有的教学理念进行修正。CDIO倡导“基于项目的教育和学习”,将学生作为教学的主体,而不是以教师为主;CDIO提倡以工程项目从研发到运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习,以此来培养学生的`工程能力、运用知识分析和解决问题的能力、终生学习的能力以及团队协作的能力。这些能力的培养对于信息技术相关专业的学生来说尤其重要;这种以工程项目为驱动的教学方法非常适合于《软件工程导论》课程的教学开展。课程教学的改革将围绕独立学院所设定的应用型本科人才培养为目标[5]。首先,工程化理念的引入并不是在《软件工程导论》课程中才首次提出。在大一新生入学后,在编程的入门课程中,教师可以为学生引入简化后的工程化思想。在需要通过编程去解决问题时,首先要思考出完整的解题思路(在软件工程中我们称之为解决方案),而不是立刻开始代码的编写。通过长时间的训练让学生习惯“谋定而后动”,并且将这种习惯延续下来。在目前的教学培养中,我们在大一学年安排了《高级语言程序设计(C语言)》和《面向对象程序设计(C++)》课程作为专业的基础入门课程,主要完成C语言和C++语言的学习。在教学过程中,我们注重了验证性实验和设计、综合性实验的合理搭配,避免让学生陷入一味验证的套路中,通过实验的设计去启发学生对同一问题的不同解决方案。在课程的正常教学结束之后,我们安排了一个综合性实验,要求学生分组完成一个基于DOS平台的简易的MIS信息管理系统。这个系统允许学生分组(每组2-3人)完成,遵从需求分析―――数据结构设计―――功能模块划分―――模块代码实现―――调试完成总体功能的大体顺序开发完成。通过这样的实验安排,既能渗透简化的软件工程思想,也能强化学生的编程能力,锻炼学生的团队合作能力;在项目的工程化实现过程中提升学生的总体能力。其次,在《软件工程导论》之前的前导课程中,都可以不断的渗透工程化的开发思想,为后续的课程打好基础。工程化开发思想在后续的学习和之后的工作中都是不可缺少的。在在《软件工程导论》之前,培养计划中安排了《数据库原理与技术》、《数据结构》、《网络编程》等专业课程,均设置了以项目形式主导的课程设计或综合实验。在各门前导课程的综合训练中,我们一次次的强化了项目管理的相关知识,不断的向学生传输工程化的软件开发思想。这种潜移默化的引导为后续《软件工程导论》课程的开展奠定了良好的基础。再次,在不增加现有课时的前提下,对学生进行分组,提供相关的课程选题,由各组选择完成并以课程大作业的形式完成提交;课程大作业将作业课程最终成绩的重要组成部分。选题的设置要注意贴近实际,要能让学生能够展开实际的调研;同时要注意难度的合理设置,既能关注到尖子生的提升性要求,也能照顾到落后学生,避免部分学生对课程的学习失去信心。结合课程中的分析讲解、分组讨论和课后的文档完成,我们希望学生在这个过程中能够体验到完整的软件开发的流程,将课堂讲授的知识应用到所选课题中,能够更深入的体验分工合作的团队精神,从而对课程教学内容有更加深入的理解。第四,在课程结束后的课程设计中,每个小组对所选的项目进行优化完善,提供一个可以运行的版本,并完成项目答辩。通过现场答辩的形式让小组成员更明确的了解自己的项目作品在哪些环节仍存在缺漏。当然,在这个课程中,我们主要关注的每个小组对于所选课题的需求分析和设计的过程,对于实现环节,我们鼓励学生尽可能的完成,在困难环节可以与教师进行沟通,认识到自身知识体系的薄弱环节并进行提升,为后续的毕业设计打完基础。总而言之,我们希望以这种分组团队项目开发的形式,为学生提供软件工程课程的实践体验,加深对课程知识的印象,锻炼文档撰写的能力;同时,在项目开发的过程中,让每一个成员都能够参与起来,能够完整的体验整个项目开发的流程,并且熟悉流程中涉及到岗位角色,建立起一定的团队合作精神。另外,在对不同专业开设《软件工程导论》课程时,要综合考虑不同专业的培养目标,对课程内容进行相应调整。
4、小结
通过上述相关措施的执行,学生对于《软件工程导论》课程的学习积极性和主动性有所提升,对于软件开发的完整流程有了更加深刻的认识;同时也深刻认识到软件开发并不是一个“单打独斗”的过程,需要有团队成员的良好合作才能有很好的软件作品产生。以上这些都将为本专业的学生进入专业工作领域奠定良好的基础。目前的行业发展趋势表明,企业仍然是需要人才的,既缺少高级软件工程人才,又缺少高技能的应用型人才。根据独立学院的特殊定位,我们在教学中应该定位于培养高技能的应用型人才,注重实践动手能力的培养,注重提高团队沟通和协作能力的培养,提高毕业生质量,为软件企业输送人才。在后续的教学开展中,我们将在坚持现有良好措施的前提下,将相关课程更好的组合成为一个课程体系,打通课程之间的壁垒,降低学生的学习难度,增强学生的成就感,从而更好的提高总体的教学效果。
参考文献:
[1]林昌意,张杰,林鸿.独立学院电子信息工程专业建设的探索与实践[J].中国石油大学胜利学院学报,2012,26(2):80-82.
[2]林昌意,兰其斌,陈海霞,等.技术实践与创新并举的实验教学体系研究[J].福建电脑,2017(3):87-88.
[3]韩智,张振虹,李兴娟.基于CDIO理念的软件工程课程教学改革[J].计算机教育,2010(11):56-59.
[4]陈翠荣,赵飒.高校多媒体教学中存在的问题与对策―――基于调查访谈法的分析[J].黑龙江高教研究,2013(5):19-22.
[5]廖礼萍,刘宏哲,马小军,等.面向应用型人才培养的软件工程课程教学改革[J].计算机教育,2014(14):19-21.
★ 软件工程论文
★ 软件工程实践报告
★ 有效教学课程论文
★ 课程教学论论文
★ 软件工程教学总结