软件工程课程设计总结范例6篇

前言:中文期刊网精心挑选了软件工程课程设计总结范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。

软件工程课程设计总结

软件工程课程设计总结范文1

1.1教学理念落后

受到传统教育思想的影响,我国高校工程教学长期以来以教师为教学环节中的主体,教师在教学过程中强调知识传授,忽略了对学生实践动手能力、创新能力、团队合作精神和相关人文素质的培养。传统的“面向对象软件工程”课程的教学也存在着上述问题。

1.2传统项目驱动教学方法在实施中的不足

项目驱动教学方法是在具体项目引导下以学生为主体来实施相关教学内容的一种教学模式。当前国内很多高校在开展项目驱动教学时,往往会变成走形式主义,具体表现在:①教师对于学生的工程意识培养不够重视,对项目的选择或者设计比较主观(具体表现在所选择的项目很难或很易),这要么会引起学生有畏惧情绪而产生厌学,要么会使学生很容易地实现该项目(这种情况是因为学生可通过网络轻易完成项目),从而使得该课程项目失去原本意义;②在实施过程中,由于组织不当,会使得学生团队人数过多,搭配不合理,这样使得有些团队因配置了能力很强的学生而使得该项目能够顺利完成,同时另一些团队由于聚集了能力偏弱且自觉性较差的学生而使得该项目最终流于形式,这反而会导致项目驱动教学未能达到应有的教学目标。传统的“面向对象软件工程”课程项目的实施过程中也存在着上述问题。

1.3CDIO工程教育模式在“面向对象软件

工程”课程改革中起到的作用针对上述问题,CDIO工程教育模式摒弃了以教师、教材和课堂为中心的“旧三中心论”,弘扬了以学生、学习和学习效果为中心的“新三中心论”,更强调通过工程实践环节引导学生掌握新知识和动手与创新能力,从而树立起以产品为导向的工程价值观,将IT企业工程师应该具备的核心素质作为整个教育活动的主线。在实施CDIO教学过程中,将更强调学生在教师的引导下进行主动学习和积极认知过程,以构建起与学生已有认知结构相联系的知识体系。

2基于CDIO工程教育模式的教学方法

基于CDIO工程教育模式的项目驱动“面向对象软件工程”课程教学方法(下简称CDIO教学法),以培养学生的基本工程能力和工程综合素质为目标,将“面向对象软件工程”知识体系中的相关知识点渗透到实践的各个环节中,而这些环节和软件工程生命周期完全一致,在各个环节中解决问题的方法则可以采用CDIO的构思、设计、实现和运行理念。我们参照CDIO能力大纲,提出通过“面向对象软件工程”教学和课程项目实践,培养学生如下方面能力:①通过基于案例/项目驱动来学习,要求学生能够深入理解“面向对象软件工程”的知识体系和该课程的基础理论并能在实际项目中加以灵活应用。“面向对象软件工程”的知识体系为学生理解和应用其基础理论解决分析、设计、实现和运行中的实际问题打下基础并提供有效工具;而“面向对象软件工程”理论基础为学生针对实际问题进行发明创造提供动力,为学生发现问题、分析问题和解决问题提供理论支持。②通过“面向对象软件工程”课程中项目的驱动,要求学生创建项目团队,通过课程项目实践各个环节(包括需求分析、设计和实现等环节及在此环节中的各项活动、沟通与协调、文档撰写),培养学生的良好职业素养,以及团队合作、系统思维、工程实践、项目管理和文档写作的能力。③通过“面向对象软件工程”理论学习和课程实践,培养学生的创新意识和能力,以开发出具有鲜明个性的软件作品。

3CDIO教学法在“面向对象软件工程”理论及其课程项目教学设计中的应用

3.1总体设计

目前,“面向对象软件工程”课程教学安排共计54学时,我们将理论教学内容与课程项目实践教学内容结合起来进行设计。在整个教学周期内,按照软件生命周期并结合CDIO、案例与项目驱动的教学法,设计理论课程案例教学过程中的相关活动,配合对应的课程项目实施活动加以有效组织与实践,在整个教学环节结合项目开发活动的进展与深入,要求学生记录自己团队活动中的相关内容,按照我们事先制定的规范撰写并维护项目文档。具体解决方案是:第一,正式课程教学的1~6周,设计项目描述和需求获取与分析、系统设计中的具体活动,这些活动包括分别标识实体对象、边界对象和控制对象;将用例映射成对象;建立对象之间的交互;标识关联、聚集和属性;对单一对象状态依赖行为的建模;对对象之间的继承关系建模;对本阶段的分析对象模型进行评审;基于分析对象模型标识出设计目标,进行子系统分解和标识;将子系统映射到系统构件元素上;标识并存储持久性数据;设计访问控制策略;设计全局控制流;标识服务;标识边界条件;对系统设计进行评审。第二,7~14周,设计对象设计与实现中的活动,这些活动包括学习软件复用和设计模式,并在详细设计中加以应用;对对象之间的接口进行说明,涉及标识遗漏的属性和操作、说明接口类型、签名与可见性,说明接口中相关方法的前置条件、后置条件和不变式等。第三,15~16周,设计测试阶段中的活动。第四,17周,进行相关的总结活动,包括项目文档的静态检查和验收,以及课程项目的动态演示与现场回答问题。

3.2设计课程项目

在设计课程项目中,将考虑提供给学生一个贯穿整个学期的课程教学项目描述,为此我们将选择开发一个基于Web的应用系统。这类系统的实例很多,可以由教师设定或者由学生自选,如教师可根据教学中的需要设定一类基于Web的师生交流系统,以方便实现教师和学生之间关于做项目时的沟通。学生也可以根据个人兴趣选择网游软件开发,或者选择基于Web的电子商务网站系统等。总之,相关项目的设计需要教师事先准备好项目描述或问题定义。为了开发这类基于Web的应用系统,教师需要指定项目使用的环境和工具,主要包括两类:一类是开发环境与工具、数据库管理系统、界面开发工具等,另一类是项目管理工具。这一阶段设计的活动属于CDIO中的构思阶段。

3.3设计理论课程教学过程

首先,在理论课程教学内容设计中,我们主要依据的是第3版的SWEBOK标准(2013),在CDIO工程教育模式的指导下,完成相关知识体系教学设计。在SWEBOK2013版中的17个知识点中(其中2个为候补知识点),我们选择了其中10个知识点,并将这些知识点融合到“面向对象软件工程”的理论课程教学中。这些知识点可有效地体现着CDIO的工程教育理念,如软件需求体现了CDIO的构思,软件设计体现了CDIO的设计,软件构造和软件测试体现了CDIO的实现,软件维护体现了CDIO的运作等。其次,在此基础上设计理论教学过程。一方面,以案例/项目驱动教学方法为基础,“面向对象软件工程”课程中相关知识体系及理论学习,要求学生在学习和思考中掌握“面向对象软件工程”的相关知识、术语、理论和技术基础,并通过团队方式共同学习、讨论和完成作业,并以团队形式参加全体同学的各种讨论活动;另一方面,要求学生围绕着项目描述或者待解决的问题描述,完成团队组建、工具选择、项目计划制定,并开始执行需求工程中的需求获取和需求分析活动,以及在此基础上的系统设计活动,这些阶段的工作结论需要学生加以记录,特别是需求获取与分析的结论和总体设计结论更要以文档形式加以记录。第三,结合案例/项目驱动教学,进一步完成“面向对象软件工程”理论课程。具体做法是一方面引入小型案例,另一方面引入面向应用领域的实际项目,并在项目描述、需求获取和分析活动、系统设计和对象设计中,将该项目的具体情景或者可行的系统设计解决方案引入课堂,在课堂上组织学生参与讨论、分析这些基于场景的案例,将需求阶段和系统设计阶段中涉及的重点知识、术语、过程与步骤等重点和难点融入到案例中来讲解和学习,以便于学生真正理解相关的理论教学内容。这一阶段的活动设计对应着CDIO中的构思阶段。

3.4基于项目驱动的课程实验教学设计

解决软件项目中的问题或实现软件项目中的任务,要求学生以团队方式进行活动,并在整个活动中的各个阶段贯彻CDIO工程教育的理念,即让学生能够对软件项目中的任务完成进行构思,获取与软件项目相对应的软件系统的功能性需求、非功能性需求和系统约束,并以文档方式进行描述;接着,通过设计手段来完成项目任务,用系统来对应将来要完成的任务,并在该系统设计中落实项目的各项要求,这需要通过对系统的总体设计、详细设计等环节来达到,并将设计结论记录在软件设计文档中;在前面构思和设计的基础上,选择合适的程序设计语言、数据库管理系统等基础设施,用编程的方式实现该系统,并完成相应的测试任务,注意在实现过程中,同样要将相关结论以文档的形式加以记录,以备维护之需;在系统实现后,通过部署和运行等方式,让该软件系统(可以看成是本项目的解决方案)呈现出价值。在这一完整过程中,让学生通过项目驱动下的团队活动过程,体验到软件产品从构思、设计、实现到运行(包括维护)所经历的全生命周期过程。这一阶段的活动设计对应着CDIO中的设计、实现阶段。

3.5项目总结与项目验收过程教学设计

项目总结过程的教学设计是以团队为单位进行自我总结并撰写项目总结报告,以个人为单位撰写学习心得,教师主要验收和检查相应的项目总结报告和学生学习心得。项目验收过程的核心是开展两阶段验收活动,即在学期的15~18周中,选择第15周进行一次中期检查,第18周再进行一次期终项目验收。全体主讲教师和辅导教师组成一个答辩小组(一般为4人),他们事先要做好各项准备工作,包括现场点名以确认学生的有效身份并结合点名宣布学生团队的答辩顺序,保证答辩的有效性和合理性;由答辩小组组长宣布评分标准细节和学生是否能够通过本次验收活动的标准。

4实践活动

在“面向对象软件工程”课程教学活动中,共有45位学生(组成了15个团队)全程参与了我们的教学改革过程,现在仅就验收答辩环节进行说明。整个答辩所耗时间共计7个多小时;答辩老师根据实际情况(最低底线是学生必须完成项目要求的最基本功能),充分肯定了学生到目前为止所完成的开发成果,同时建议相关学生利用即将到来的假期进一步完成或完善该应用软件系统的开发,及时修改设计上的缺陷。在本次教改实验过程中,我们充分认识到这一教学过程对教师也提出了更高的要求。教师不仅仅是需要在理论基础教学上过硬,还需要具备软件项目开发的经验,这样才能够做到既能站在理论的高度指导学生分析和解决问题,同时也能给出实实在在的课程项目开发活动中的技术指导。

5结语

软件工程课程设计总结范文2

工程技术经济学论文范文一:工程技术经济课程实践教学改革

一、课程实践教学现状

1.实践教学环节设置较少

目前,我校工程造价专业《工程技术经济》课程的设置中只有课堂教学部分,实践教学包含在课堂教学内容中。没有设置课程实训和毕业设计这两个实践环节,而在课堂教学中的实践环节大多仅局限于习题练习与少量的案例分析,与实际的工程经济分析内容脱节较多。没有课程实训及毕业设计这两个实践环节的设置,使学生学过理论基础知识之后,不能将理论更好地运用到实践中去。并且在毕业的时候,有可能会对工程技术经济所学的内容产生遗忘。

2.实践教学课时不够

该课程课堂教学总共48课时,其中理论教学课时数为32课时,实践教学课时数为16课时,16课时的实践教学大多为前面理论教学的习题练习。并且由于总共的课时数只有48学时,因此在工程技术经济教学内容上,只能够将前面的现金流量分析、方案评选、盈亏平衡分析、敏感性分析等基础内容介绍完,后面的财务评价内容以及可行性研究部分的内容。只为学生进行介绍性的讲解,实际练习内容较少。学生综合运用理论基础知识,进行整体项目的财务评价以及项目的可行性研究练习分析较少。

3.电子表格EXCEL软件运用不够充分

工程技术经济包括定量分析与定性分析,其中定量分析占主要部分。在定量分析中,工程实际的经济分析都有可能会用到Excel软件来处理函数计算及数据整理,其实践操作过程都离不开Excel软件的运用。但是在该课程中,由于教学条件有限,只注重理论部分的教学。对于Excel软件的操作运用,并没有给学生进行详细的讲解,而只是做概要的介绍。很多学生对该软件不熟悉、不熟练,甚至有些学生根本不会运用Excel软件进行经济分析。因此,造成了该课程与实际运用有一定的脱节。

二、课程实践教学改革措施

为了提高工程技术经济课程的教学效果,调动学生学习的积极性,该课程的实践环节设置改革迫在眉睫。针对上述分析的实践环境中存在问题以及多年工程技术经济课程教学的经验,建议可以通过以下几个步骤来进行实践教学的改革。

1.增加多样化的课程实践环节

首先,增加课程课堂教学的总课时数,及其中实践环节课时数。课堂教学课时,由以前的48课时增加为64课时,增加财务分析及可行性研究等方面内容的讲解。并搭配进行案例分析及习题练习,使学生能够在课堂教学中打下坚实的理论基础。其次,由于前面分析本课程没有课程实训、毕业设计这两个实践环节。因此在以后的教学计划中,应考虑增设这两个实践环节。通过课堂教学、课程实训、毕业设计这三个环节,循序渐进强化学生动手实践能力。

2.在课堂教学中融入案例教学分析

本课程的案例教学非常重要,在理论学习的基础上,再适当增加实际案例,进行启发式教学。将前面所学的现金流量分析、方案比选、盈亏平衡分析等分散的理论、公式,融合在一起通过案例的方式进行表现出来,并进行综合练习。并且可以在案例中引入Excel软件的应用讲解,向学生演示怎样整理基础数据,怎样处理基础数据。并通过基础数据编制相应的计算表格,将各种表格联系起来进行计算。最后,通过案例教学重点考察学生对工程项目经济效益评价的方法的实际应用能力。

3.在实训环节中加强Excel软件应用

定量分析是工程技术经济在工程实际运用中的一个重要特点,它包含了大量的函数模型及经济技术指标的分析计算。而Excel软件强大的函数与数据处理功能,正好能够完成工程技术经济定量分析这一任务。并且能够构建直观简明的计算表格,将各个表格通过数学公式及模型联系起来,对项目的经济分析具有非常重要的作用。在本课程的课堂教学中,根据教学内容,结合学生的实际情况,将Excel软件的基本操作向学生讲解。并且通过课程实训环节,将课堂教学所讲解的Excel内容进行强化练习。例如,在课程实训环节中,设计相应的综合练习,让学生运用Excel软件自己构建计算表格,练习资金时间价值的计算、运用软件函数计算NPV、IRR等经济指标、通过函数的计算绘制盈亏平衡图及进行敏感性分析的计算,并在Excel软件中绘制敏感性分析图,最终完成一个项目的综合的财务评价。由此使学生在扎实理论基础上,能够正确运用Excel软件来强化实践操作。

4.在毕业设计环节中编制可行性研究报告

可行性研究是工程技术经济的重要内容,可行性研究报告是从经济、技术等方面对项目可行或不可行做出的评价,编制可行性研究报告是将所学的工程技术经济内容进行融会贯通。在毕业设计中,增加学生编制可行性研究报告的内容,主要考察学生对工程技术经济知识的掌握情况以及学生对理论的实践运用的综合能力。由教师提供一定的建设项目资料,由学生自行进行项目实地调查,项目预测分析,收集项目相关经济分析基础数据。再将搜集到的资料结合Excel软件进行分析汇总,构建经济分析表格、模型。最后运用Excel计算出建设项目相应的经济指标,并进行归纳、总结编制可行性研究报告。从而将书本上所学的理论知识充分地与实践结合,为将来进入工作岗位并且顺利上岗奠定扎实的基础。

三、结语

工程技术经济课程的教学环节中,实践教学虽然非常重要。但是我们也必须认识到,实践教学必须在掌握基本理论的前提下才能进行。因此,要做到理论与实践的有机结合。并且各个实践环节还要循序渐进,相互配合。这样才能达到提高工程技术经济课程的教学的效果,满足工作岗位的需求。

工程技术经济学论文范文二:工程技术经济课程实践教学改革

一、课程实践教学现状

1.实践教学环节设置较少

目前,我校工程造价专业《工程技术经济》课程的设置中只有课堂教学部分,实践教学包含在课堂教学内容中。没有设置课程实训和毕业设计这两个实践环节,而在课堂教学中的实践环节大多仅局限于习题练习与少量的案例分析,与实际的工程经济分析内容脱节较多。没有课程实训及毕业设计这两个实践环节的设置,使学生学过理论基础知识之后,不能将理论更好地运用到实践中去。并且在毕业的时候,有可能会对工程技术经济所学的内容产生遗忘。

2.实践教学课时不够

该课程课堂教学总共48课时,其中理论教学课时数为32课时,实践教学课时数为16课时,16课时的实践教学大多为前面理论教学的习题练习。并且由于总共的课时数只有48学时,因此在工程技术经济教学内容上,只能够将前面的现金流量分析、方案评选、盈亏平衡分析、敏感性分析等基础内容介绍完,后面的财务评价内容以及可行性研究部分的内容。只为学生进行介绍性的讲解,实际练习内容较少。学生综合运用理论基础知识,进行整体项目的财务评价以及项目的可行性研究练习分析较少。

3.电子表格EXCEL软件运用不够充分

工程技术经济包括定量分析与定性分析,其中定量分析占主要部分。在定量分析中,工程实际的经济分析都有可能会用到Excel软件来处理函数计算及数据整理,其实践操作过程都离不开Excel软件的运用。但是在该课程中,由于教学条件有限,只注重理论部分的教学。对于Excel软件的操作运用,并没有给学生进行详细的讲解,而只是做概要的介绍。很多学生对该软件不熟悉、不熟练,甚至有些学生根本不会运用Excel软件进行经济分析。因此,造成了该课程与实际运用有一定的脱节。

二、课程实践教学改革措施

为了提高工程技术经济课程的教学效果,调动学生学习的积极性,该课程的实践环节设置改革迫在眉睫。针对上述分析的实践环境中存在问题以及多年工程技术经济课程教学的经验,建议可以通过以下几个步骤来进行实践教学的改革。

1.增加多样化的课程实践环节

首先,增加课程课堂教学的总课时数,及其中实践环节课时数。课堂教学课时,由以前的48课时增加为64课时,增加财务分析及可行性研究等方面内容的讲解。并搭配进行案例分析及习题练习,使学生能够在课堂教学中打下坚实的理论基础。其次,由于前面分析本课程没有课程实训、毕业设计这两个实践环节。因此在以后的教学计划中,应考虑增设这两个实践环节。通过课堂教学、课程实训、毕业设计这三个环节,循序渐进强化学生动手实践能力。

2.在课堂教学中融入案例教学分析

本课程的案例教学非常重要,在理论学习的基础上,再适当增加实际案例,进行启发式教学。将前面所学的现金流量分析、方案比选、盈亏平衡分析等分散的理论、公式,融合在一起通过案例的方式进行表现出来,并进行综合练习。并且可以在案例中引入Excel软件的应用讲解,向学生演示怎样整理基础数据,怎样处理基础数据。并通过基础数据编制相应的计算表格,将各种表格联系起来进行计算。最后,通过案例教学重点考察学生对工程项目经济效益评价的方法的实际应用能力。

3.在实训环节中加强Excel软件应用

定量分析是工程技术经济在工程实际运用中的一个重要特点,它包含了大量的函数模型及经济技术指标的分析计算。而Excel软件强大的函数与数据处理功能,正好能够完成工程技术经济定量分析这一任务。并且能够构建直观简明的计算表格,将各个表格通过数学公式及模型联系起来,对项目的经济分析具有非常重要的作用。在本课程的课堂教学中,根据教学内容,结合学生的实际情况,将Excel软件的基本操作向学生讲解。并且通过课程实训环节,将课堂教学所讲解的Excel内容进行强化练习。例如,在课程实训环节中,设计相应的综合练习,让学生运用Excel软件自己构建计算表格,练习资金时间价值的计算、运用软件函数计算NPV、IRR等经济指标、通过函数的计算绘制盈亏平衡图及进行敏感性分析的计算,并在Excel软件中绘制敏感性分析图,最终完成一个项目的综合的财务评价。由此使学生在扎实理论基础上,能够正确运用Excel软件来强化实践操作。

软件工程课程设计总结范文3

关键词 软件工程 实验 设计 创新

软件工程是应用计算机科学、数学及管理科学等原理来开发计算机软件的工程科学,它的教育培养目标是让学生了解和掌握软件开发中的方法学和工程学知识,并应用于实践。

今天,软件工程的教学正面临着计算学科发展规范所提出的更高质量要求,同时也面临着大众化高等教育背景下所带来的客观问题。软件工程教育应当给予学生“工程”的概念,以软件生命周期为主线,构建知识结构,将科学与工程有效结合,实施技术与管理的能力和素质培养。因此,对软件工程实验教学进行精心设计与创新发展至关重要。

1CC2004与规范对软件工程课程的要求

IEEE/ACM一直在跟踪工业界对计算领域人才需求和教育界对人才教育培训的状况、发展和存在的问题,并于2004年6月1日公布了“计算教程CC2004”。CC2004将计算学科分为计算机科学 (CS) 、计算机工程 (CE) 、软件工程 (SE) 、信息技术 (IT) 和信息系统 (IS) 等五个专业方向,各个专业都针对本科生教育提出了相应的知识领域、知识单元和知识点,并给出了相应的参考教学计划和课程设置。

IEEE/ACM强调工程教育的基本要求,包括:

1) 系统观点:熟悉系统设计、构造和分析过程。

2) 知识的深度和广度:知识面要宽,但具体领域方向上要能够深入。

3) 设计经验:参与设计活动,具有项目 (工程) 概念。

4) 工具使用:能够使用计算机软、硬件工具,分析和解决实际问题。

5) 职业训练:了解职业 (行业) 需求,具有“产品”(如软件、系统、行业和应用服务等) 意识。

6) 交流技巧:能够以合适的形式 (如书面、口头、可视化等) 进行交流和沟通。

为指导我国计算机本科专业的发展,教育部计算机科学与技术专业教学指导分委员会了“战略研究报告”,并制定了《计算机科学与技术本科专业 (软件工程方向) 规范》(以下简称《规范》) 。如今,软件工程已经由最初的一个学科方向,发展成为以计算机科学技术为基础的一个新兴交叉学科,在当今的信息社会中占有重要的地位。

软件工程强调采用工程化的方式开发软件,要求培养的软件工程师能够胜任如研究、开发、设计、生产、测试、构造、操作、管理,以及销售、咨询和培训等多种角色,并能在软件工程过程中选择和使用合适的软件工程设计与开发工具。《规范》要求,软件工程课程要培养学生熟练掌握软件工程知识与技能,具备作为软件工程师从事工程专业所需的能力。其实践教学体系需要重点培养学生以下方面的能力:工具的使用与实验、工程设计与实现、评审与测试、团队协作与沟通、过程管理与控制等;实践教学的形式包括:课程实验、综合设计、项目实践、企业实践、毕业设计等。

2软件工程课程改革所面临的问题

我国的普通高等教育从1999年开始连年扩招,在教学规模上有了迅速发展,从精英教育迅速走入了大众化教育环境。但是,传统的精英教育模式即使仍然优秀与先进,也不能完全适应普及化高等教育的需要,新的高等教育形势呼唤新的教学方法、新的教材和新的教学模式。另一方面,传统的计算机教学模式在实践环节上的缺乏与不足与今天社会人才市场的需求远远不相适应。长期以来,我们培养的计算机专业的学生存在着“什么都学过 (却) 什么都不会”的尴尬处境,专业教育、教材与应用需求严重脱节。事实上,学生就业难并不是就业市场不需要计算机人才,其根源还是计算机教学的现状所致。

软件工程课程虽然一直都有实验教学的要求,但常常只是停留在组织学生编写软件项目若干设计文档这个单一环节上。然而,由于中等教育过早和长期的文理分家,理工科学生的文档编写能力是个“软肋”,他们不感兴趣;而且,由于教学时间有限,要真正完成软件工程各阶段文档的编写事实上也没有可能。此外,由于学生甚至连任课教师也缺乏软件开发的实践经验和感性认识,使一门应用性很强的工程科学却常常被当成理论课来开展,课堂教学必然枯燥、乏味。因此,作为一门重要的计算机专业课程,如何开展软件工程的实验教学,如何保证软件工程实验环节的效果一直是个问题。

软件工程课程要让学生学以致用,为市场培养适用的应用型软件工程专业人才;软件工程课程要“因材施教”,通过加强实验实践环节促进学生对学科理论知识的理解和学习热情。因此,迫切需要优秀的软件工程实验教材和对软件工程综合实践的精心设计。

3关于解决问题的思考

教育的一个重要原则是“因材施教”。通过对计算学科教学现状和对培养对象的分析,我们认识到:

1) 大众化高等教育背景下人才的培养,应该体现到教材建设上。尤其是应用型大专院校的教材建设不仅要做好减法――适当地降低理论要求,也要做好加法――增加探究性实验并在实践环节中有突破性的创新。

2) 要根据学生求知欲望强的特点扩大学生的知识面,要利用学生动手能力强的特点来提高学生的实践能力、创新能力和就业竞争能力,努力形成一个“什么都学过什么都会点”的积极局面。

3) 实验内容的建设要有可操作性、趣味性和适当的难度。可操作性保证学生都能完成实验而促进学生学习信心的建立,在一定程度上减少学生抄袭的理由,克服实验数据普遍抄袭的弊病;趣味性体现“寓教于乐”以提高学生完成实验的积极性;而适当的难度有助于激发优秀学生进一步钻研的斗志。

4) 实验内容应覆盖软件工程学科的各个主要环节,覆盖软件生存周期的各个阶段,使学生通过实验加深对学科理论知识的理解。但也要避免“喧宾夺主”,冲击或淡化相应理论课程的学习。实验内容要形式多样,例如可以是实验、论文、课程设计等不同环节,并且各种实验内容应该得到严肃认真的设计,使实验产生适当的节奏感。同时,在积极发展实验教育的同时,要保证必要的理论教学水平。

4实验的创新与成果

根据以上思考,我们在实验内容的选择、实验步骤的设计和实验文档的组织等方面都做了精心的考虑和安排,尝试为软件工程课程编写并出版了《软件工程学实验》教材。该实验教材依据课程教学大纲,充分理解课程的大多数主教材,遵循课程教学的规律和节奏,体现了实验的可操作性,帮助学生有效地把握本课程的知识内涵和提高理论与实践的水平。

《软件工程学实验》通过一系列学习软件工程工具的实验练习,把软件工程的概念和理论知识融入到实践当中,从而加深对软件工程的认识和理解。实验内容涉及到软件生存周期的各个阶段,如表1所示。

实验1:软件工程工具与环境。主要通过因特网搜索与浏览等,让学生熟悉软件工程的技术支持环境,了解软件工程工具以及支持环境对于开展软件工程实践的意义,了解主流的软件工具和软件开发环境产品及其发展与应用状况,尝试通过专业网站的辅助与支持来开展软件工程应用实践。

实验2:软件工程标准化。了解支持国家标准和其他相关标准信息的专业网站。熟悉和掌握软件工程标准化的概念、内容及其意义。系统地了解与软件工程相关的国家标准,重点熟悉和掌握国家标准GB/T8567-1988,掌握软件项目规模与软件文档实施关系的处理方法,掌握软件文档管理的基本要求。

实验3:软件开发绘图工具Visio。了解Visio工具软件的功能特色和工作环境,掌握应用Visio工具绘制软件开发图形的基本操作;了解开发Visio解决方案的基本概念,通过UML模型图、网络图、机架图和网站图等图形的绘制,熟悉Visio绘图操作。

实验4:软件分析与建模工具PowerDesigner。了解PowerDesigner的4个模型:业务处理模型(BPM)、概念数据模型(CDM)、物理数据模型(PDM) 和面向对象模型(OOM)及其相互关系与作用;初步了解系统分析和建模工具PowerDesigner的概念和操作界面;学习运用PowerDesigner工具进行简单系统分析建模操作,学习建立BPM、CDM、PDM和OOM的方法等。

实验5:软件自动化测试。学习自动化测试的原理和方法,结合软件生命周期,了解自动测试工具的类型以及测试步骤和自动测试用例设计基础,了解测试自动化的优点和限制,掌握MI WinRunner功能测试等工具的基本操作。

实验6:软件项目管理Project。了解IT项目管理的基本概念和项目管理核心领域的一般知识,初步掌握项目管理软件Microsoft Project的一般操作界面和基本操作。

实验7:软件配置管理VSS。学习软件配置管理的基本概念、分类、工具集成和相关技术,初步了解Visual SourceSafe 配置管理工具的使用方法。

每个实验中都包含背景知识介绍、所需的工具与准备工作,以及详细的实验步骤指导等,以帮助学生加深对课程教材中所介绍概念的理解以及掌握一些主流工具或应用的基本使用方法。每个实验完成后,要求学生根据个人体会完成实验总结。

实验总结:软件工程实验总结。全部实验完成后,要求学生回顾所有实验内容,进行系统的概括、评价和总结,以巩固通过实验所了解和掌握的软件工程相关知识和技术。师生通过“实验总结”和“教师评价”部分,交流对学科知识、实验内容的理解与体会。每个实验单元设计了“实验单元的学习评价”,全部实验完成之后的实验总结部分还设计了“课程学习能力测评”等内容,书后则提供了“实验成绩记录”,以此方便师生交流对学科知识、实验内容的理解与体会,方便老师对学生实验成绩的记录和管理,以及对学生学习情况进行必要的评估。

课程设计:根据实验进度,分别要求完成的两个课程设计作业是:

1) 指定或自选项目需求分析与概要设计文档;

2) PowerDesigner项目设计――物业管理系统。

5学生的体会与评价

《软件工程学实验》教材编写和出版以来,已经在全国范围内得到了广泛的应用,师生们大都给予了很高的评价。

教师们说:

*很高兴看到一本非常优秀、实用的软件工程实验教材,对我的教学很有帮助,弥补了软件工程实验的空缺。

*得到《软件工程实验》一书很受启发,特别是通过这段时间的阅读、操作与理解,感到这本书确实很好,有拨云见日的感觉。该书的各部分都很有特点,对软件工程课程各部分的学习也很有帮助。

一些学生的实验总结摘录如下。

*这组实验是辅助我们学好软件工程的重要实践课程。通过实验,我们真正领会了课程所介绍的概念、原理、方法和技巧等。实验充分地结合了课本,效果非常好,大家对学好软件工程有了强大的信心和兴趣,让人感到学以致用。用一句话来总结软件工程实验:学软件工程可以没有实验,但学好软件工程则必须要有实验。

*软件工程课是唯一一门让我觉得学得还不够,课时还不够多的一门课程。较其他计算机课程,这门课多的是快乐和轻松,少的是无奈和郁闷,如此惬意地完成,其中又不缺少知识的灌溉。……

6后记

我们高兴地看到,软件工程课程实验教学中所做的设计与创新尝试,较好地符合了CC2004和《规范》的相关要求,同时,也得到了学生与教师的好评。我们要认真研究“专业发展战略研究报告”和CC2004的相关报告,积极进取,继续完善已经获得的成果。

在软件工程实验课程成功设计的基础上,我们正在考虑下一步以软件开发小组为基本模型,设计“软件工程项目沙盘模拟系统”作为软件工程课程设计环节,组织学生以一定的竞技方式开展软件工程项目的设计活动,使学生能综合应用软件工程知识,充分运用软件工程工具,很好地实践和完成软件工程项目,从中感性地理解和把握软件工程活动。

参考文献

[1] 教育部计算机科学与技术专业教学指导分委员会.中国计算机本科专业发展战略研究报告.2004,8.

[2] 周苏,王文等.大学计算机专业基础课程实验教学的改革与创新.北京:高等教育出版社,大学计算机基础课程报告论坛论文集,2005,194-198.

[3] 周苏等.电子商务实验教学的创新与发展.北京:万国学术出版社,第三届中美电子商务高级论坛论文集,2006:585-588.

[4] 周苏,王文等编著.软件工程学教程 (第二版).北京:科学出版社,2004.

软件工程课程设计总结范文4

关键词:产出导向;软件工程;课程改革

1 背景

作为软件工程专业的主要核心课程,软件工程课程一直很受关注,围绕着课程教学所进行的教学改革也比较多。目前,正在各高校进行的工程教育专业认证是我国为推进工程教育改革、提高工程教育质量、建立工程教育与工程师制度衔接、提高工程教育对产业发展的适应性和提高我国工程技术人才的国际竞争力所做的一项合格性评价,在给高校工程教育带来发展契机的同时也提出了对教育理念、教学过程管理、教学内容更新换代等方面的挑战和调整要求。

2 课程现状

目前,国内高校软件工程课程使用的教材主要有张海藩《软件工程导论》、郑人杰《实用软件工程》和国外翻译版《软件工程》。教学内容主要有软件工程概况、可行性研究、需求工程、传统的软件设计、面向对象设计、编码、软件质量与保证,项目计划与管理、软件开发工具与环境等。软件工程是一门强调实践的综合性工程课程,各高校在具体课程安排上各有侧重。

例如,复旦大学(54学时)的课程重点首先是结构化分析与设计、面向对象的分析与设计,这两部分内容超过了1/4总学时;其次是软件测试和软件项目管理,分别约占总学时的1/6;课程特色在人机界面设计和Web工程上。清华大学(48学时)把面向对象方法UML和RUP作为重点,占总学时的近1/3;其次是结构化分析与设计,占总学时的1/4;软件过程及软件工程管理是另一重点,通过学生合作小组或参与项目组进行软件开发,在实践中理解软件过程的意义和作用,培养软件项目管理的意识和能力。浙江大学(理论32学时、实践32学时)重点讲述软件工程的常用方法,包括分析模型的建立、总体设计、软件测试等,其特色是网络应用软件的开发方法和实践,通过从需求单位抽取出的大型模拟案例进行项目开发,锻炼学生的系统设计、开发、谈判、沟通、写作、团队合作等能力,培养学生的工程职业素养。

通过对国内几所高校课程教学特点的分析,我们发现目前国内高校软件工程课程主要以理论知识教学为主,虽然有的院校做到了实践与理论并重(1:1),但是大多数院校还是以理论知识教学为主。课堂教学以讲述概念性基础知识为主,课程的内容主要有面向对象的分析设计、软件测试和项目管理,对新知识、新技术和新工具介绍较少,目前软件工程课程更像是一门导论课程。

3 面临问题分析

3.1 工程专业毕业要求对课程的影响

工程专业毕业生应具备足够的沟通能力、合作能力、专业知识技能、终身学习能力及人格、国际视野和责任感等能力素质,这些素质要求可以保证学生毕业进入职场前具备基本的职业素养和从业能力。产出导向是工程教育认证中重点关注的部分,课程体系设置、师资队伍建设和外部条件配备均以有利于学生达到培养目标和毕业要求为导向。毕业要求反作用于课程设置,要求课程的内容建设、教学方法改进、过程监督以及成绩考核都应围绕这一要求,细化产出导向的要求和能力指标,设置相应知识点并调整各自的重要性比例,从知识点授课和实践能力两方面落实能力培养,达到毕业产出的要求。

3.2 与软件工程课程相关的专业技术资格考试分析

工程教育认证是将来国家注册工程师制度的基础和重要环节,目前我国已经在土建、环境、核安全等领域开展试点工作,实现了对工程人才的社会评价及国际间人才资格互认。在我国,与软件工程课程相关的全国性考试还有计算机技术与软件专业技术资格(水平)考试,由国家人力资源和社会保障部、工业和信息化部领导,对全国计算机与软件专业技术人员进行职业资格、专业技术资格认定和专业技术水平测试。笔者对与软件工程课程相关的资格考试内容进行解析,以软件设计师为例进行重点分析,见表1。

从表1分析内容可见,软件工程基础考试内容。与课程教学大纲知识点一致,在信息安全知识和标准化知识上给出新增内容,这与SWEBOK2013知识体系一致。考试科目“软件设计”以上述知识为基础,考查工程师的实际工作能力。在最近几次考试中有考题涉及数据流图、UML图的应用分析,与课程授课侧重点也相符,更侧重于实例的应用能力,需要实践积累与运用。

3.3 SWEBOK V3和课程对应关系分析

软件工程专业的课程体系是基于软件工程知识体系SWEBOK(software engineering body ofknowledge)、计算机教程软件工程卷(computingcurriculum-software engineering,CCSE)及其中的软件工程教育知识体(soft engineering educationknowledge,SEEK)而建立起来的。2014年,IEEE计算机协会了软件工程知识体系指南第3版,该版将原来的10个知识域扩展到15个,与现有软件工程课程大纲的比较结果见表2,其中有分布到其他课程中的知识点未加以说明。新增和修改的相关知识点需要在软件工程课程教学和实践环节落实。

4 基于产出导向的软件工程课程改革与建设

4.1 课程教学目标修订

基于上述分析,我们进行基于产出导向的软件工程课程改革和建设。课程教学以使学生掌握软件工程的理论基础知识和基本工作原理,培养学生具有工程问题需求分析的能力以及综合运用计算机科学和工程技术完成系统设计、实施和维护的能力为目标。课程的主要任务是使学生掌握软件开发过程的理论、方法、技术标准以及计算机辅助工程和环境等知识并通过实验灵活应用;掌握软件工程的基本概念、软件开发模型、开发过程的管理和质量控制;掌握需求分析的任务与原则,传统面向对象需求分析方法、设计过程与一般性概念以及文档的编写;掌握程序设计方法,增强编程实践训练,掌握软件测试技术与纠错性软件维护方法;掌握UML建模技术,能在软件工程过程中使用常用建模工具,能运用建模方法解决工程实际问题;了解专业开发活动涉及的标准、方针、政策和法律、法规,能正确认识实施软件工程对客观世界和人类社会的影响。

4.2 教学内容和教学方法改进

根据毕业产出要求及SWEBOK V3新修改版,我们对教学内容作如下调整:①在64学时课时中,将理论与实践课时设定为1:1;②在需求分析和设计部分新增人机界面和系统安全知识;③独立介绍软件复用部分知识,结合软件设计模式讨论软件可复用性;④在软件质量保证和项目管理部分新增软件产品标准和行业标准、国内外法律和法规;⑤在软件维护部分新增软件退役和迁移。

每一章都提供参考资料,教师引导学生有选择地阅读其中的部分内容,根据课程内容的进展情况布置相应的任务、思考题和作业,引导学生通过Intemet或其他途径查阅相关资料以拓宽知识面,了解软件工程领域最新实践研究成果。为了使学生建立起软件开发和维护的工程化意识,较系统地掌握按照工程化思想开发与维护软件的方法和技术,教师需在教学中培养学生从软件企业开发和维护实际大中型软件的角度出发,结合成本、风险、效益、进度、过程、质量等多种因素系统地分析软件开发和维护过程中的问题,突破以往要求完成某一给定知识点作业的单一思考问题局限。此外,构造实验环境用于课内工程项目实践,通过模拟项目的开发,锻炼学生的系统设计和开发能力、软件工具的使用能力、语言交流能力、文档编写能力以及团队合作能力,培养学生的职业素养。项目实践引导需贯穿理论知识学习始终。

4.3 考核方式与持续改进并行

课程强调过程考核,总成绩分为平时和期末两部分,分别占50%。平时成绩主要考核学生的课堂表现、作业、实验能力和实验报告撰写情况等。其中,课堂表现主要从学生上课是否专心听讲、回答教师提问是否正确以及分组讨论是否积极、正确、有独特见解等进行考核,以提高课堂教学效果和运用工程基础知识及本专业基本理论解决实际工程问题的能力;作业方面重点考核学生掌握软件工程理论基础知识和基本工作原理的程度;课内实践教学环节重点考核学生的工程问题需求分析和设计能力,综合运用计算机科学和工程技术完成系统的分析和设计并对设计文档进行审查的能力;期末考试将按照课程教学目标全面考核学生课程学习的效果,选取一定数目的学生成绩为样本,计算该课程对毕业要求贡献的达成度并通过建立阀值定量评估课程教学质量,通过不断提出持续的改进意见并实施,切实加大课程对提高毕业产出能力的贡献。

软件工程课程设计总结范文5

对于此类以经济管理类学科为主的财经院校,属于工学学科性质的软件工程专业面临着更加严峻的挑战,因此,如何结合西部软件产业的发展现状,在满足专业人才培养要求和突出特色之间找到本专业课程体系建设的结合点和平衡点,按照“面向西部,服务基层,培养信得过、用得上、干得好的应用型高级专门人才”的总体人才培养模式对专业课程体系进行分析和研究具有非常重要的意义。

1结合院校特色的课程体系建设

软件工程专业是在计算机科学与技术等学科的基础上发展起来的,因此课程体系的建设不仅需要计算机科学的理论知识,同时也需要把工程经济学领域的知识包括进来,课程设置应始终以软件开发的整个流程为主线,培养学生良好的软件编程思想、软件项目管理和软件开发的团队合作精神。财经类院校的课程体系建设应该避免照搬其它工科院校的培养方案,应该以教育部的软件工程专业建设指导思想的基础上,根据自身的特点梳理软件工程系列课程之间与其它相关系列课程之间的关系,合理衔接,避免重复。课程设置要突出软件工程的重要地位和价值,专业模块的划分要突出行业特点及行业市场的需求。建立以能力培养为主线,分层次,多模块,互相衔接的课程教学体系,通过增加案例教学、添加社会和企业需要的专业技术课程,从而最大限度的发挥课程体系的作用。

1.1课程体系在专业建设中的位置

通过调研、走访、学习名牌大学、重点大学、国家示范性软件学院的经验和做法,总结财经类院校软件工程专业的建设,根据自身的特点和实际情况,依托财经类院校在经济、会计、管理等方面的专业优势,建设具有鲜明财经特色的学科专业体系,总的建设方案指导思想是:“整体设计、分布实施、发挥优势、突出特色”。建设的内容包括师资配置与建设、实训环境建设(包括实验室和实训基地)和课程体系建设。对于课程体系建设,主要从以下几个方面进行:梳理课程关系、夯实课程内容、教学方法建设、课程教材建设和实践体系建设。为保证软件工程专业建设质量,构建质量保障与反馈体系,总体建设结构如图1所示。

1.2课程体系主要建设内容

(1)梳理课程关系。通过划分课程群,梳理以软件工程为主线的课程之间的关系,重新梳理和制定大纲,确保基础课、专业基础课和特色专业课知识衔接合理,保障知识体系的连贯性,避免知识点缺乏或知识点重复,以及知识体系不连贯等问题。

(2)夯实课程内容。通过梳理好的课程关系,筛选课程内容,保障课堂内容充实。为增强对课内内容的巩固,在课外开展“软件工程设计大赛”、“数学建模大赛”以及认证类课程等作为补充,促进学生的主动学习,提高学生的基本技能和软件开发素质。

(3)教学方法建设。按课程群划分,组织同类课程组教学方法和教学手段的研究。改革现有的、传统的课堂教学方式,精炼教案内容。以培养兴趣、激发创新激情为出发点,加强案例教学和实践环节,通过增加案例教学、添加社会和企业需要的专业技术课程,从而最大限度的发挥实践实训课程的作用,真正使学生体会和做到学以致用。

(4)课程教材建设。以软件工程为主线的课程群体系研究的同时加强教材建设。目前采用“内编外引”的方式,做好教材的自编与挑选工作。在软件工程类课程中的教材都要求是重点教材,规划教材或原版外文类教材,选择质量高、特色鲜明的教材。

(5)实践体系建设。建立起更加完善的、与课程群体系相适应的实验、实训、实践教学体系。实践训练课程划分五个层次,分别为基本训练、基础理论训练、专业训练、工程训练和创新训练。使实践类课程涉及到的理论由浅入深,程序规模由小到大,开发队伍由个体到团队。实训环节中还考虑了加强与企业的合作,将企业的资源优势与学校的理论知识优势充分结合,共同设计和建设课程群中的实训项目。

2解决的关键问题

(1)把握主线与特色的关系。目前已有多个示范的软件学院,软件工程专业根据目标不同,有向高层次培养也有的向国际化目标培养。如何地足于地方,结合财经类发展特色,对课程群内容进行筛选和改革是解决的主要问题之一。目前特色软件工程专业建设的方针是首先确立以软件工程为课程群的主线,保障基础内容的涵盖和衔接。另一方面,结合财经学院特点,在开发案例、管理项目和课程选择上体现特色,如面向金融软件开发实践,因材施教培养实践动手能力,开设《软件项目管理与工程经济学》等课程内容。

软件工程课程设计总结范文6

关键词:多模式融合;软件工程;翻转课堂

1本项教学改革背景

软件技术和产业的飞速发展进步,为我国经济注入了强大的推动力量,信息产业的人才需求量也在逐年扩大。据有关部门统计,未来五年,我国信息化人才总需求量高达1500—2000万人,其中“软件开发”、“网络工程”等人才的缺口最为突出[1]。以软件开发为例,职位数排名前五的职位依次是:软件工程师,高级软件工程师,网页设计,互联网软件开发工程师和网络推广专员。高校作为社会所需人才的培养基地,承担着培养大批合格软件人才的职责,满足软件产业发展和市场需求。为此,很多高校开设了多门软件技术方法课程,其中的核心课程包括软件工程,这门课程训练学生从工程化的角度认识软件开发和维护,通过实践理解和运用工程化的软件开发原理、技术和方法,在软件课程体系中具有重要地位。软件工程课程的特点是知识体系庞大,内容丰富,同时又与产业和应用联系密切,实践性很强。目前,大部分高校采用理论讲授上机练习的形式开展该课程,课程结构设置倾向于教师讲授,未给实践教学以足够的重视,学生参与软件工程项目机会很少[2]。即便是课堂讲授,有限的学时也难以展开或深入。大部分学生虽然学习过几门程序语言和一些软件专业课程,但基本上都没有经历过软件项目开发,普遍感到软件工程笼统抽象,很难真正理解其中的精髓。因此,如何改变软件工程课程的教学模式教学方法,提高教学水平和质量,切实培养学生的工程设计开发软件系统的能力,已经成为高校软件专业教改的重点热点之一。在多年的教学实践探索中,我们学习借鉴了多种新型教学方法的优点,包括WorkshopTeamwork教学法[3]、任务驱动的项目案例教学法[4,5]、情境教学法[6]、翻转课堂法[7]等,展开深入研究,将它们进行融合和合理改进,应用到软件工程教学中,提出了多模式融合的软件工程教学策略,结果表明,该教学模式收到了好的效果。

2多模式融合的软件工程教学策略

2.1多种新型教学方法融合应用

2.1.1WorkshopTeamworkWorkshop直译为工作坊、创作室、专题研讨会或实验班,是一种由几个人组成小组(Teamwork),进行密集讨论的集会,运用群体压力和有效的指导来完成复杂而具有挑战性的工作[2]。WorkshopTeamwork教学法以教师引领启发、学生分组学习和共同探讨问题为核心,通过充分的沟通交流实现思维能力、自学能力的培养,对于理解、领悟软件工程中抽象的理论及框架等概念模型具有一定的应用价值。它偏重于短期强化的专业训练,适合软件工程这样的短学制理论课程部分,通过充分调动参与者的积极性,在短期内高效率地完成教学任务。

2.1.2任务驱动的案例项目任务驱动教学法将以往以传授知识为主的传统教学理念,转变为以解决问题、完成任务为主的多维互动式的教学理念;将再现式教学转变为探究式学习,使学生处于积极的学习状态[3]。任务驱动法中的任务可以表现为案例(Case)或项目(Project)的形式。案例通常是能够突出体现一个或多个知识点、技能点的范例,在例子中设置问题或困难的情境,没有特定的解决之道,教师扮演设计者和激励者的角色,鼓励学生积极参与讨论,以求得解决方案。项目往往是综合性的案例,涉及本课程的大量知识技能点甚至融合了多门课程的知识。学生在老师的指导下独立处理项目,自我组织信息收集、方案的设计、项目实施、过程管理和最终评价,了解并把握整个过程。

2.1.3情境教学情境教学法的主要理论依据是情感和认知相互作用和认识的直观原理,通过在教学过程中引起学生积极的、健康的情感体验,直接提高学生对学习的积极性,使学习活动成为学生主动进行的、快乐的事情[6]。在教学过程中,教师有目的地引入或创设具有一定情绪色彩的、以形象为主体的生动具体的场景,以引起学生一定的态度体验,帮助学生理解学习内容,并使学生的心理机能得到发展。

2.1.4翻转课堂法翻转课堂是指重新调整课堂内外的时间,将学习的决定权从教师转移给学生。教师不再占用课堂的时间来讲授信息,这些信息学生在课后通过观看课程视频、电子书、与他人讨论、查阅参考资料等自主学习活动来掌握。课堂内的宝贵时间,学生能够更专注于主动的基于项目的学习,共同研究解决面临的问题,从而获得更深层次的理解。教师也能有更多的时间与每个学生交流,掌握学生的进度和缺欠,以便更有针对性地对学生指导和辅导[7]。

2.2课程规划

软件工程课程系统地介绍软件开发的过程、方法和工具的基本概念及需求分析、软件设计、编码风格、软件测试的工程化方法,涉及计算机科学、数学、经济学、法学、管理学、心理学等多学科,具有理论深、涉及面广、实践性强的特点。针对这些特点,我们设计了以WorkshopTeamwork为基本组织形式,采取翻转课堂的部分做法,将学习内容分解为课外自学部分和课内学习部分,课前由学生独立或以小组为单位进行知识的自我获取和掌握,课堂上开展任务驱动下的案例/项目的互动分析讨论,经常引入模拟工作场景的情境学习,课后学生在教师的指导下进行总结归纳提高,答疑解惑,并开展综合实验。在课程开始时即规定考核方式,最终成绩由四部分组成:课前自学+练习占20%,课堂学习占30%,综合项目(含开展过程和最终答辩)占20%,期末笔试占30%。前三项均为过程性评价,占最终成绩的70%,体现了对实践环节和参与度的重视。在过程性评价中采取个人自评(20%)、小组互评(20%)和教师评分(60%),含多个评估项目如学习态度、参与积极度、任务完成程度、创新性等,能够较为全面和充分地反映学生的个体能力、合作能力和整体表现情况,激励和督促学生平时积极学习,避免了以往仅考笔试的临时冲刺,或者团队中的平均主义现象,真正达到了学习过程就是学习结果的目的。

2.3小组活动的组织和实施

根据WorkshopTeamwork教学法中对案例及情境的需要,我们对软件工程课程教学计划进行总体规划和任务分解。通过收集整理具有代表性软件工程实例,创建若干对应课程相关章节内容的相应工程教学项目及工作情境,内容包括任务的名称、目的、需要解决的问题、项目需求的背景等相关资料。这些工作资料的收集和准备,是实现小组学习的关键。课堂任务的设计与选取强调以下几点:任务的相对独立性和开放性;任务是某项知识的学习和应用;将各子任务的完成贯穿到教学的各个阶段;每个具体任务既要覆盖一定范围的相关知识的运用,题目又不应过大,应相对独立,便于项目学习的实施。将学生分成小组,每个团队5-7人,选出一名团队负责人,教学活动将以小组形式,在负责人的主持下,在课内外展开和完成。每名学生在团队中有明确分工,不再是一个旁观者,而是分别担任客户、项目经理、系统分析员、程序员、测试员和评审人员角色等不同角色,完成特定任务,在不同的任务中,实行角色轮换,保证每个成员对所有角色有所体验。小组学习的基本流程是:呈现任务分析任务完成任务总结评价,四个步骤所包含的具体环节如下:呈现任务:创设情节、引起注意、提出任务;分析任务:针对问题、明确思路、提示重点;完成任务:自主探索、领会意图、解决任务;总结评价:检查结果、发现不足、总结经验。在课堂上,教师提出一个待解决的案例问题,每个团队独立提出问题解决方案,各团队对多种解决途径进行讨论,改进不足。在课外,每个团队自由选择或由教师给出一个要开发的实际项目作为案例。团队成员分别扮演各种角色分工,讨论问题解决方案。以案例为核心,围绕需解决的问题展开讨论及工作。小组中的每个人都应当畅所欲言,充分交流,团队负责人负责活动的开展,人员的组织和激励,要求每个成员认真努力,主动参与,及时纠正和避免“南郭先生”现象。教师对学员的实际表现进行考察、点评以便有针对性地提供咨询意见。

2.4案例项目的开展

近年来,软件工程学科发生了巨大变化,从传统的结构化技术到面向对象技术,继而发展到基于构件和面向服务的技术;出现了平台网络化、方法对象化、系统构件化、开发工程化、过程规范化、生产规模化的态势;软件开发过程、工具和方法等方面有了重要的发展。为了及时反映技术和理论的进展,在案例和项目的来源方面,我们改变了以往主要由教师设计的做法,通过学院与广州、深圳、佛山等多家技术企业和技术机构的校企合作机制,从企业引入了大量的实际产品和项目,根据课程内容和进度,分解和改变成多个小案例和小、中、大型实训项目。为顺应移动互联网发展潮流,我们精选了移动互联网和游戏开发技术中的软件工程实践案例,在课程中介绍这些项目的设计和开发经验,鼓励学生探索;精准医疗是目前医疗发展的新方向,精准软件的设计和开发与云计算、大数据分析等新兴技术密切相关,我们就把纷繁的资源整理成较为系统的格式,提供给学生课外学习,从而使得课程内容紧紧贴合蓬勃发展的医疗应用实际。这些做法不仅解决了案例项目来源单一、数量不足的问题,而且避免了闭门造车,使得学生能够接触到一手的软件产品的分析、设计中的问题,具有很强的实用价值和岗位情境价值,激发了学生的探索欲和表现欲。软件工程中的案例为小例子,较容易为学生接受和理解,能够在15分钟左右的时段内获得结果,不仅在流程上相对完整,而且在课时上便于掌控。项目则更加复杂,综合性更强,往往在学习完软件工程的一个独立阶段之后提出,检验学生综合运用原理和方法的能力,涉及的时间段也比较长,教师在课堂出提出项目要求,学生开展分析,获得初步的需求规格说明,而项目的设计、分工实现和测试、维护等主要放在课外展开,以获得充分的时间保证。在课程结束时,学生课内外产生的设计和分析成果就构成一个完整的项目工程,利于总结、比较和提高。随着软件工程的案例项目数量不断增加,内容不断丰富,为了便于管理、检索和更新,目前已经建立了教学案例项目库,包括课堂案例50多个,各类实践项目30多个,使得课堂内容和训练内容得到大大充实,训练素材和学习过程的质量也明显提高。

2.5真实情境的教学运用

在软件工程课堂上,我们组织学生以小组(Teamwork)形式讨论案例和项目中的疑难,提出案例和项目的解决之道并加以迭代修正,获得最终解决方案,组织软件开发和实施过程,就是对软件工程岗位的情境模拟,在其中引入了讨论情境、辩论情境、商议情境、多种媒体表现情境等,给学生以耳目一新的感受,活跃的课堂气氛,竞争与合作并存,使得学生全力投入,有效地促进学生思维的活动。例如,在开展学校医药费管理系统项目的需求分析时,教师提出问题:哪些干系人参与该项目的需求获取?学生小组经过讨论,给出了各自的结果。大多数小组认为,编程人员应当作为干系人参加需求分析活动,只有编写程序的人才知道某些功能是否能够实现。而实际情况则是,技术团队在前面的可行性分析中就已经证实了技术可行性,不必重复可行性分析。经过比较讨论,同学们强化了需求分析重要性的意识。又如,在软件测试环节,很多学生认为单元测试是编程者个人的事情,无需其他技术人员测试。为了验证同学们的想法,我们设置了如下情境:编写一个方法A,输入任意日期,输出该日期所对应的星期几,然后分别由编写团队和其他团队来测试代码有无bug;在学生已经完成的学校医药费管理系统1.0版本中随机选出了几个模块(编号为B1-B4),分别由编写团队和其他团队来进行测试。经过20分钟的测试,所获得结果如下表。虽然以上只是小样本实验结果,但学生已经在情境学习中深刻认识到了单元测试中其他技术人员介入的必要性,同时还验证了一个测试原理:检出错误的代码段比其他代码段更容易发现新的错误。学生对相关内容有了更深的领悟。

2.6翻转课堂向课外延伸

软件工程教学要想充分利用课内时间,使得学生在有限的学时中消化案例,理解项目,很有必要借用翻转课堂的课前自学普及型知识、课上讨论关键性要点、课后自我训练升华提高的策略。

2.6.1课前布置任务:教师铺路学生自学要实现学生的课前自学,前提是教师充分重视课前准备工作。教师首先根据课程总体教学目标划分一系列的单元子目标,再根据子目标细化成具体任务。具体任务要适应学习者的水平,符合其课外自主学习的特点,任务难度适中,学生能够独立完成,或以小组形式自学完成。教师根据细化的任务和学习者的实际情况,制作相应的学习资料,以满足学习者的基础知识储备。例如,在总体设计环节,我们将学习内容分解为5个小单元,包括软件总体设计的概念和目标、软件体系结构与风格、总体设计的原则、总体设计的方法和工具、总体设计的应用,每个小单元里包括PPT、案例、思考题、阅读链接。学生在完成了这5个小单元的自学后,初步掌握了总体设计的基原理方法,未能解决的疑问将作为上课时集中讨论的主题。

2.6.2课堂教学活动:解决疑难重点问题教师在课堂上组织学生进行任务完成情况的汇报、测评以及后续任务的布置等教学活动。通过组内交流和组间答疑,尽量使更多的问题由学生自行解决。例如,在总体设计学习中,A小组提出,设计软件时没有必要先确定体系结构风格,应当顺其自然。B小组发表了反对的意见,认为很多项目开发符合特定类型,事先设计好体系风格,有助于采用成熟的方案进行设计,少走弯路。通过讨论大家认识到:复杂系统采用面向对象方式设计比传统结构能够更准备地表示数据之间的关系,提高重用性和可维护性;过滤器类型的软件不必考虑交互性,可以采用管道风格设计;如果业务处理以数据为中心,则可以采用仓库体系结构,等等。教师对学生课堂表现进行考评,综合前期任务的实施情况,制定后续任务。

2.6.3课后自我训练:巩固归纳升华提高教师根据本堂课的学习目标和知识要点,设计课后小练习,交给学生个人独立完成,设计课后综合性练习,交给学生以小组形式独立完成。学生可以将自己的练习结果和思路发布到网络群组中共享,分享经验,共享发现的新工具、新技术,互相帮助攻克困难。需要教师及时关注跟进,了解学生的练习情况,并及时进行辅导、提示和解答,从而保证学生在课后能够及时进行巩固练习,复习归纳。另一方面,学生中涌现的新点子、新材料,产出的优秀作品,教师可以及时收入素材库,作为今后教学的辅助材料。

3结语

近几年来,我们不断摸索尝试以小组为单位的任务驱动下的案例/项目教学新模式,在合适的环节开展情境教学,吸收翻转课堂的优点做法,以实际案例和项目为主题,以实现任务为模块学习目标,学生课外自学、开展小组活动、探索解决问题的方案、团队合作与竞争等,完全改变了传统的以教师为主体的讲授方式,使抽象的概念和工程原理经过学生的主动学习和实践而变得实际起来,取得了很好的教学效果,主要表现在:充分调动了学生的主动性和积极性,课程由原来干瘪无味变得鲜活生动,学生们戏称“软工课堂热,发言抢答忙”,学习观念得以改变,学生的自学能力、查阅文献的能力、分析软件系统和设计系统的能力、编程和测试的实战能力都得到了较大提高。学生通过大量案例和项目的实践学习,感受到了软件工程课程的指导意义和实用价值,提高了运用软件工程先进思想和方法设计开发软件项目的信心和愿望。对于教师来说,开发具有新技术、新思想的教学案例,才可能教好学生,因此,新的教学模式既给予了教师适度的压力,又提高了教师学习运用软件工程思想方法和技术的动力。运用新教学模式时我们也看到了存在的一些问题:随着软件工程技术和思想的发展,学习内容越来越庞大,如何在保留经典和引入新潮之间做好平衡,如何有效地过滤相对过时的内容,尚未有一个明确的原则和解决思路;软件类部分课程具有一定的重叠性,相关的课程是否可以合并,减少重复环节?我们将不断学习,不断实践,改进和完善软件工程教学模式,切实培养学生的思考能力、动手能力,为社会培养更多合格的软件工程人才。

参考文献:

[1]全面解析我国2015年IT行业发展与就业前景.

[2]毛燕琴.软件工程专业案例启发式教学实践框架研究[J].计算机教育,2015(7):22-24.

[3]吴建斌,陈中育,叶荣华,等.软件工程类课程教学模式改革探索[J].中国信息技术教育,2013(5):119-121.

[4]熊祥光.项目驱动的校企合作及做中学教改实践[J].计算机教育,2015(14):49-51.