软件项目总结范例

软件项目总结

软件项目总结范文1

关键词:软件工程;案例教学;不足反思;项目开发驱动教学

引言

软件工程是计算机相关专业的一门核心课程,具有综合性、实验性极强的特点,其研究的范围非常广泛,包括软件开发的技术方法、工具和管理等许多方面,而且新的技术方法和工具源源不断涌现[1]。该课程的学习目标旨在提升学生的分析与设计能力、编码能力、工程素养及团队协作精神,为学生成为一名合格的软件工程师打下良好的理论、技术及工程基础。为了实现这一培养目标,很多院校对软件工程课程教学进行了改革,其中最为重要的改革应属于引入案例教学[2]。案例教学法是指教师以一个实际项目的运作为主线,讲授软件开发的全过程,讲解时贯彻理论与实践相结合的原则,从工具、方法、技巧各个角度,对学生进行实用性培养,同时重点培养管理和设计能力,在理论上有的放矢,强调理论的适用和适度[3]。案例教学法的引入改变了传统教学中知识内容枯燥、理论性强、学生难以理解运用的状况,在一定程度上激发了学生的学习兴趣,活跃了课堂氛围,提高了教学的质量。但是,在软件工程实际教学过程中,我们发现了很多问题,教学常常达不到预期效果。

1、软件工程案例教学过程中存在的问题

1.1以“老师教,学生听”为主

软件工程课程教学虽然引入了案例教学,但是,学生在教学过程中仍然处于被动接受状态。从案例的选择到案例的开发过程讲解仍然以“教师教,学生听”为主,学生仅仅是项目开发的“旁观者”而不是“参与者”。因此,学生很难真正体会相关理论的重要性,更不用说转化为自身的能力素质。学生学完课程后,往往“什么都知道,却什么都不会”。

1.2案例选择不合理

在案例教学中,教师通过把知识点与案例相结合,使学生从个案的分析、比较中,更深入地了解软件系统开发与管理过程,软件工程案例教学的不足反思与对策研究文/田怀凤最终达到技术和知识点的掌握,因此案例项目的选择至关重要[4]。项目太大涵盖的内容太多,学生很难在有限的课堂教学中把握。项目太小又很难全面包含把软件工程的相关理论。有的项目算法相对密集,性能要求高,而功能需求简单,也很难用工程化的方法和手段对其开发过程加以促进。甚至有的教材或者教师仍然以C/S模式的软件为开发案例,不符合目前对软件B/S结构或者安卓开发的需求,使得学生学完软件工程课程之后,感觉课程的理论与现实需要脱节,影响学生学习课程的兴趣。

1.3不能满足学生对课程的不同期望

软件工程课程一般开设在大三下半学期,这时学生们的动手能力和专业技能差别很大。有些学生经过C++,JAVA等课程的学习以及参加大学生创新项目等方式,已经积累了一定的软件开发的经验,他们往往希望能深层次、系统的参与软件开发,培养管理能力,团队合作能力等。还有些学生由于自身主动性及能力的原因,动手能力还很弱,案例教学对他们而言更像“纸上谈兵”,往往只能记住一些理论、方法,不能通过课程的学习提高专业技能。

1.4实践课时不足

为了配合案例教学,软件工程课程一般会设置实践课时,供学生进行项目开发实训。但是,由于实践课时较少,(一般8课时左右),在这么短的时间内,往往只能完成项目的分析和设计的文档,其他工作要由学生课后完成,因为缺乏监督,难以确保每位学生都能保质保量的完成。

1.5对最新的项目实训工具介绍不足

随着软件工程理论的发展,软件项目实训的工具也在不断涌现,比如CASE工具、自动化测试工具、项目管理工具、配置管理工具等。在以往的案例教学中,教师往往注重讲解案例项目的开发过程理论,很少涉及这些工具的使用介绍,而实际情况是很多学生不知道用什么工具来表示分析设计的结果,也不清楚数据库设计、软件测试、项目管理等相关工具有哪些,如何使用。

1.6考核方式不能有效地激发学生的课后学习兴趣

采用平时30%+考试70%的考核方式,考核的重点还在理论知识的“纸上谈兵”,不能全面反映学生课后的努力,不能有效激发学生的学习兴趣。

2、改进措施

为了切实提升教学质量,培养学生的专业技术能力,我们以解决问题为目标,以教学模式的改变促进教学内容和考核方式等多方面有针对性地改进。

2.1以学生为中心的课堂教学模式

彻底改变以“教师讲,学生听”为主的教学模式,改变教师的角色,让教师的“教”变为项目的“引导”,学生的“听”变为项目的“开发”。把案例教学,变为项目驱动教学[5]。在整个教学过程中,由教师引导学生进行项目开发,让学生在开发过程中感受软件工程的理论,变“要我学”为“我要学”,再由教师对相应理论进行指导总结。具体实施方案如下:(1)有选择性的分组分工,满足不同学生对课程的不同期望在课程学习之初,教师对全班学生的专业技能和课程学习期望进行调研,选择专业技能较强或者有一定的软件开发经验的的几名同学担任组长,再由组长以自愿的结合的方式招募组员,将全班同学分成5人左右一组的几个项目小组。组长担任项目经理,小组中的其他成员根据能力分别担任编码、测试、数据库、美工等角色。这种分组方式,既防止了随机组合时的各组学生专业能力不均衡,又满足了不同学生的不同角色期望,自愿组合又利于团队融洽和交流。(2)从学生的实际需求产生项目案例在案例项目的选择方面,也完全以学生为中心,让每个开发小组自行选题。一般来说,功能需求较多,流程复杂而实现技术难度较小又为大家所熟悉的题目最适合。为了确保每组都能选到适合的题目,教师进行了引导,引导学生们从自己的日常生活需要出发,选择各类信息管理系统作为项目案例。比如“大学生社团管理系统”,“校园二手图书交易系统”等。(3)教师走下讲台,引导学生进行项目开发课堂教学不再是结合案例的理论讲授,而是根据软件开发的生命周期,由教师引导学生小组进行项目开发,并在开发的过程中,总结软件工程的理论。比如在需求分析阶段,教师首先让学生在课后以小组为单位,讨论自己项目的需求,再由教师在课堂上组织他们进行交流汇报,每一组汇报时,其他小组的成员都成为用户角色,提出新问题,直到确认项目的需求。然后由教师总结需求分析的方法,引导学生使用MicrosoftVisio和RationalRose进行需求规格说明书的撰写。软件生命周期的其他阶段按照同样的方式进行,先由学生小组自行主动学习开发,再由教师组织交流讨论,总结方法,引导学生使用相关项目开发的工具,一步一步完成项目开发。在这个过程中,由各小组的组长分配任务,协调安排人员,因为组长们有一定的项目开发经验和开发技能,保证了项目能顺利进行。小组内每个成员的团队协作能力和组长的组织管理能力都得到了锻炼。(4)成果汇报,总结经验在实践课时,安排所有学生进实验室,集中完成项目开发。由于各小组学生的能力有差异,项目进度各不相同,集中开发,有利于各小组的交流学习,教师也能随时指导。等所有小组的项目开发任务完成后,由小组组长进行成果汇报展示,教师和其他同学充当评委,指出得失成败,总结经验。教师从项目实践中让学生感受文档、规范编码、团队合作、项目管理等重要概念。这种“学生自学找出不足-交流汇报找出解决办法-教师总结理论经验”的项目驱动教学方法,极大地提升了学生的学习兴趣和主动性,取得了较好的学习效果。教师从知识传授者变成了项目开发的引导者、组织者和评价总结者。

2.2以项目开发为驱动设置教学内容

在以项目开发为驱动的案例教学中,对教师的能力提出了更高的要求,教师要能对项目开发的全过程精准的把握。在教学过程中,把教学内容巧妙地和项目开发任务结合起来,在学生最困惑最需要帮助的时候给与实践和理论的指导。每个阶段开始之前,提前将以往容易被忽略的项目实训工具进行介绍,比如软件分析与设计的工具MicrosoftVisio,面向对象设计工具RationalRose,数据模型建模工具PowerDesigner,软件集成编码开发工具VisualStudio等,让学生们掌握最先进的工具,更方便他们进行项目的开发。

2.3项目开发为主的考核评价方式,激发学生的学习兴趣

以项目开发为驱动的案例教学法,需要学生花费大量的课余时间,所以我们采用“项目发过程50%+项目文档20%+开卷考试30%”的方式进行考核。项目开发过程成绩=团队对软件工程的执行情况+团队的分工与协调情况+软件的复杂程度和最终实现情况。这种考核方式既要求学生小组不折不扣地完成项目过程开发,又充分强调了项目文档的重要性,再通过开卷考试强化软件工程重要的理论概念,将理论和实践充分集合,激发了学生的学习兴趣,取得了很好的效果。

3、结束语

以“学生为中心,项目开发为驱动”的软件工程课程教学方法,能更好地激发学生的学习兴趣,将学习的角色从受众变成主动者,让学生从枯燥的理论学习环境中解脱出来,全面深入体验软件工程分析、设计、编码、测试的开发过程,更好地培养了学生的理论应用能力,团队合作能力,问题解决能力,提高了工程实践能力。接下来,有条件的学校可以开设软件工程课程设计课程,或者与企业合作,选择最新的、为企业生产应用所需要的项目作为开发案例,让学生真正的做到学有所用。还可以将好的项目案例形成案例库[6],供后面的学生参考选择开发。培养具有高素质专业技术人才是一项需要长期坚持的系统化工程,需要持之以恒的不懈努力以及教学实践的不断尝试和反馈。

参考文献

[1]张海藩.《软件工程导论》(第6版)[M].清华大学出版社,2013

[2]王辰尹.面向应用型IT人才培养的软件工程教该关键问题研究[J].计算机教育.2014

[3]李峰.计算机软件工程专业卓越计划实践教学.计算机教育.2013

[4]吕云翔.《软件工程实用教程》[M],清华大学出版社,2015

[5]谭貌.软件工程专业多课程协作项目驱动教学模式研究[J],计算机教育,2011

软件项目总结范文2

关键词:项目教学法;高职院校;计算机软件教学

项目教学法的先进理念

项目教学法,主要是学生能够独立思考通过理论与实践的结合解决相关的实际问题,具体内容有采集项目信息、具体思路方案、实践过程以及点评等[1]。学生在了解项目教学法时,首先要搞懂书本上的具体理论,并能熟悉项目教学法的具体内容思路,就是以项目为引子、师为导、学为体[2]。项目教学法的实施发展过程既能发挥学生学习的主动性和积极性,也能使学生进行自我反思,学习效果有显著明显,层次性和合作性的效果很突出。经过实践总结,可发现项目教学法高校课堂教学中的应用是相当重要的,这是相当有发展前景的。由师生共同学习参与过程解决完成的,并共同总结经验吸收知识,大大的提高了学生和老师间合作互动。可见,项目教学法在高职院校的计算机软件应用,它和当今所推行的素质教育都是倡导师为主导学为主体的理念是相吻合的。总之,在计算机软件教学当中引入项目教学法,提高了学生学习的兴趣性,激发了学生的大脑运转。在合作学习中也增强了师生间的合作互动,有效提高师生的积极性,从而提高了教学质量和效率,符合当今新课程改革标准的要求。所以,在计算机软件教学过程中引入项目教学法是相当重要的且必要的。

一、项目教学法的具体应用

(一)确定项目

在计算机教学上我们先把个人简历的各个要点罗列出来,后针对个人的特点进行一一填写制作。其过程应用性较强,学会制作个人简历将为大学生在今后的求职过程中带来方便,简历是一张代表你个人信息的名信片。以求职简历制作为目标,项目制作过程包括封面图文信息、文字输入、图片插入、及表格框架制作等。学生在学习个人求职简历的制作过程中,这便使得学生在练习中掌握项目教学法的基本操作。为学生今后的工作发展给予了很大的帮助。

(二)项目过程

为了让学生能够更好的了解并进行项目的探究过程,首先教师在指导学生制作之前把项目相关内容进行概括,其中包括简历制作的注意事项、具体相关步骤等。在开展项目前先成果展示激发学生大脑运转,使学生在脑海中进行知识构造。而后,师生共同合作对项目进行分析探究。使得学生能够充分掌握项目教学法的相关知识与运用。这样项目教学法的效果才能得以充分发挥。换句话来表达就是,项目教学法由学生自主学习理论知识并投入实践操作过程,而获得知识的捕捉和收集。

(三)项目实践

在项目实践过程中,教师需要转变教学思想观念,明确教学目标,学生是课堂的主体,教师只是辅导者,善于引导学生将进入项目的投入中。因为这样,才能转变传统的教学模式,引进新的学习方法,使学生能够真正的学到知识,这才是最终目标。同时教师在计算机软件教学过程中可将项目教学法作为指导思想,一步步引出项目教学法的核心,引导学生捉住关键点,从而提高学生学习的兴趣增强学生的欲望探究。使学生有自己的想法目标,有自己的探究项目,学生便能积极思考相关问题,不断探索新知识,从而使学生在学习的过程中掌握知识,使得学生在完成具体项目的过程中的实践运用操作能力也得到了显著的提高和进步。另外,学生在项目实施过程中,可能遇到的困难,就需要自身冷静思考,沉着应对,想出解决问题的方案。如遇到问题无法解决可向相关人员老师学生请教解决方法,这才能充分发挥项目教学法的作用。从中我们可以了解到项目教学法并不是一个人的项目,它还是一个合作学习的过程。便可知道,项目教学法对高校课堂的效率作用是非常大的,不仅提高了学生的认知,也让很多的人对项目教学法有了新认知。也更加的肯定了项目教学法先进优势所在。

(四)项目总结

在项目完成后,第一,学生要对自己的项目过程进行回顾分析,总结经验,在项目过程中遇到的问题,自己怎么解决的,这样,可积攒经验,以便下次的。第二,学生小组之间可相互点评,找出问题,反思思考如何解决,并找到更好的方法,这样更好的提高学生分析与解决问题的能力。最后,教师对学生项目过程加以点评,并适当的给出建设性的建议。教师并对学生的整个项目教学法的过程进行一个回顾,对过程写一个详细的项目教学法教研过程,便于下一批的学生更好的完成项目并总结经验。在项目的过程中教师可适当在难题上给学生小小的提示,提高学生的探究学习能力。这也为学生今后的学习奠定了坚实的基础。

二、项目教学法总结

总而言之,时代的飞速改革创新下,当今社会对人才提出了更高的要求,也越来越重视计算机软件的教学,不断地改变单一模式是很有必要的。向多功能的模式发展。这就对人才提出了很高的要求。这就需要人要跟上时代步伐,逐渐走向创新发展之路,才能适应社会发展需求。项目教学法注重实践运用这与当今素质教育创新教育相吻合。传统的教学方法已经无法适应当前需求,我们需要去其糟粕,取其精华。所以高职院校必须更新观念,探索一条适合学生学习发展的渠道,改变教学模式,注重项目教学法在计算机软件教学过程中的实践应用,使得学生在个人操作能力上有一定的提高,从而提高学生各方面的综合实践能力。为今后的工作学习奠定坚实的基础。在教学方法改革创新下,项目教学法在实施过程中,也要不断积累经验,摸索探究,这样才有助于高校课堂有一定的教学水平的提高。可见,项目教学法在高职院校计算机软件的应用多么重要而不可忽视。

参考文献

软件项目总结范文3

一、软件工程的验收

软件工程是信息化建设工程的一个重要组成部分,工程的验收周期和耗费的人力也是最长的。所以,提高软件工程验收的效率和验收质量是保证信息化工程建设验收成功的重要途径。软件工程和其他工程一样,包括设计、施工、材料供应、安全检查、项目验收等工程建设流程。软件工程又是一个不断建设,不断完善的过程,与常规工程验收的区别就在于并不是一次验收就能得出结论,验收周期相对较长,需要在工程开始阶段就介入验收工作,不断总结,跟踪验收,不断修改,才能促使软件工程向面向用户的可操作性和可维护性方面更好的发展和完善。软件工程的建设是在计算机硬件基础上进行的,同时还包括系统间的网络通信条件,异地建设的系统工程还必须要有传输系统的支持,在此基础上又增加了安全系统的建设,所以软件工程的验收,并不是单个模块、单个系统的简单验收,还要综合考虑其他系统的影响和支持。

二、验收方法

2.1验收条件

由系统承建方确认项目工作是否已按合同及相关要求完成,需要交接的项目技术资料准备充分。然后提出验收申请,联系监理及建设单位组织验收。

2.2验收依据

软件工程项目一般应具有以下相关验收依据:(1)符合国家现行有关法律、法规、规章和技术标准。(2)建设方有关部门的规定;软件工程要面对用户需求,符合用户实际工作的需求,而软件工程是一项系统工程,需要满足相关不同部门,部门与部门之间的需求。(3)经批准的项目招投标文件;招标文件中一般规定了软件工程中各个项目的内容和功能,是开发软件工程的工作依据,也是验收软件工程的基本依据。(4)项目合同、补充合同及合同附件;项目合同规定了软件工程项目建设方和承建方的权力和义务,无论是工程的施工阶段还是验收阶段,为双方提供了工作依据和法律保障。(5)经批准的设计方案、实施方案及相应的工程变更文件;项目的招标和设计只是规定项目的最初规划,按照实施方案和变更文件验收软件工程的各项功能才能把系统真正验收完全。就像一栋大楼建成了,不能只靠图纸上的验收,不同房屋的质量都需要检验。

2.3验收对象及范围

验收对象:根据建设单位要求和用户需求完成的软件开发项目。验收范围:按照合同并结合设计方案、实施方案及变更文件验收软件工程项目的各项功能,同时验收各数据模块间的接口软件,终端应用软件,数据交互软件,数据库软件。不包含软件系统应用后,改变系统架构的新需求,由于其他既有系统改变而影响现有系统应用的需另行讨论处理。

2.4验收程序

(1)验收准备。①由建设方组织召开验收准备会议,明确各方验收工作的任务及验收流程。建设部门应组织相关维护部门和最终用户参与到项目验收过程,维护部门协同监理方应审查验收申请和验收资料,最终用户提出系统上线试运行后的各项功能是否满足需求,提供用户使用报告或使用意见。②承建方提交项目验收申请和资料,验收材料包括项目合同规定的各种文档及实施过程中产生的文档资料及开发总结报告,同时提供有监理方审核通过的各个系统测试报告,并按照规范装订成册。③监理方负责审查项目文档的完整性和规范性,对不满足要求的资料提出监理意见,并要求承建方在规定时间内整改完善。整理监理过程文档,对项目监理过程出具监理工作总结报告。(2)验收申请及审查完成验收准备工作后,由承建方提出验收申请,经建设方及监理方审查通过,同意验收后,组织正式验收。(3)正式验收。①确定验收时间,验收会议议程,准备相关验收资料。②由建设方抽取或邀请专家,组成专家小组,由专家小组组织验收。项目三方(甲方技术维护部门及业务部门、承建方项目组负责人及商务、监理方主要负责人)、相关部门参加验收。(4)召开验收会议。①专家小组会听取项目各方的工作汇报,甲方介绍项目建设背景、建设情况及用户使用情况。承建方介绍项目建设情况,项目完成情况,项目成果等。监理方汇报项目实施过程中,监理工作的情况。②查阅相关文档资料,对资料完整性和正确性做出评估。③对系统测试和试运行期间用户和技术维护部门的质询进行答疑。④由专家小组出具项目验收意见。⑤遗留问题限定整改时间,由监理纳入会议纪要。

三、软件工程生命周期下的验收工作

软件工程普遍使用原型化方法进行开发,但是由于专业性的差距,软件开发工作者不可能完全了解用户需求,尤其是专业性比较强的用户需求,这就需要不断的进行“开发-试用-总结-再开发”,循环往复,但是却是个螺旋上升,向着软件工程的成功不断前进的过程。那么工程验收就不可能一蹴而就,需要建设方组织技术维护人员和用户从软件开发开始就参与进来,共同开发,共同验收,相互合作,每个人都是这螺旋上升阶梯的一块基石,缺一不可。

3.1工程开始前的验收

(1)计算机硬件到场安装前,承建方与建设方共同验收,是否符合软件工程建设基础要求,验收时发现短缺、破损,承建方应立即要求采购方补发和负责更换。(2)操作系统和基础应用系统安装完成后,需要软件工程承建方进行验收,测试应用是否符合工程建设标准,验收合格后方准进行应用软件开发工作。

3.2工程进行中的测试(初验)

项目调试后基本达到招标书规定的指标后,可进行验收测试(初验)。验收规范(包括项目、指标、方式和测试仪器等)应由承建方提前提交给建设方。建设方可根据合同、招标书、验收方案以及建设方的有关规定进行修改和补充,经双方确认后形成验收文件作为验收依据。验收测试合格后,双方签署初验合格协议,设备进入试运行期。

3.3试运行后的系统完善工程经过一定时间连续的试运行期后,设备维护方和用户对系统会提出部分问题和修改建议,承建方跟踪应用系统运行也会发现一些问题。需要监理方组织各方进行中期运行总结

会,分析系统问题,解答操作问题,协调各系统开发人员查找数据交换问题。按照会议决议组织人员进行系统完善,再次进行测试。在试运行期间,由于设备质量等造成某些指标达不到要求,将责成有关单位更换或进行修复,试运行期顺延。

3.4整体验收(终验)

初验内容主要是对建设项目的功能、性能、适用性、稳定性等方面进行验收。平台试运行后,无质量问题,由建设方按照整体验收方案的要求组织验收。整体验收内容主要以双方签署的合同,包括合同附件、招投标文件,以及国家法律和有关规定等为依据。对平台各项功能和数据配置要求、性能指标、应用和运行情况等,进行全面的整体核查验收,验收后签署“验收合格单”。在工程实施各阶段所提供的变更资料,与合同正本具有同等的法律约束力。

四、验收后项目移交

软件项目总结范文4

在软件工程教学中主要存在三方面的问题:

1、软件开发技术飞速发展,新方法、新技术、新工具、新平台不断出现,给软件工程教学带来了诸多问题:课时不变,教学内容偏多,教材的更新跟不上技术的发展。

2、教学过程仍然以教师“教”为中心,在教师的指导下完成课程的相关实验及课程设计的学习。软件工程课程可操作性差、理论多、内容抽象、难理解,很难充分调动学生学习的积极性和自主性,导致理论与实践脱节。

3、学习软件工程的学生几乎都没有软件开发的经验,对于管理学的知识更是不知所然,加上有的教师也没有完整项目软件开发的经验,要让学生做到“学中做,做中学”,真的是难上加难。

二、三元整合的教学思维

软件工程课程主要介绍了软件问题定义、项目计划、需求分析、设计、维护等软件开发过程中的各种问题。通过市场调查、观摩学习、讲座、校企合作,发现软件行业在软件设计、软件维护、软件测试三方面就业岗位多,人才缺口大。结合学生学习的特点,参照国家相关职业标准,确定软件工程,培养人才方向岗位定位在软件设计、软件测试、软件维护三个岗位,因此教学中将重点放在软件设计、软件维护、软件测试上。文中以“学生信息管理系统”项目为载体,将项目开发过程中用到的各项工作技能按照工作过程分解任务,项目分解成一个个的子案例,以任务分解的方式完成技能的案例教学,体现工作过程的完整性。三个岗位的工作任务、职业能力、知识结构之间的关系。整个教学过程是一个循序渐进的过程,每个岗位有明确的工作任务,每个工作任务对应不同的职业能力,知识的表现形式也就不同。为了与岗位工作任务相适应,在项目教学中培养学生的职业能力,使学生做到“学中做,做中学”;在设计教学项目案例上做到项目难度适中、易理解、易操作、易掌握、有针对性和代表性,并且包含上述三个工作岗位的工作任务与职业能力相关知识,最终达到项目驱动,任务分解的教学目的,同时学生也能进一步理解工作过程中需要掌握的技能。

三、三元整合在教学中的应用

案例教学、项目驱动、任务分解的教学方法有各自特点,如何将这些教学方法整合在一个具体的项目中,并发挥其优点是教学中要重点解决的问题。将“学生信息管理系统”项目进行分解,每一个子项目对应一个具体的工作任务。对每个子项目按以下的教学步骤进行教学:

1、项目分解,确定每一个子项目的工作任务根据项目完成的时间限制、要求,将项目分解成子项目,不同的子项目对应不同的工作任务。如“学生信息管理系统”可分解为“学生管理、课程管理、成绩管理、信息查询”四个子项目,且每个子项目对应不同的工作任务。把工作任务独立、花费时间少的称为小任务;反之,工作任务需要多个教学单元经过综合实践才能完成的,称为大任务。在教学中又可将大任务分解为小任务,通过分析总结,最终使学生能掌握自上而下逐步求精分析问题解决问题的能力。

2、理论讲解,案例演示教师结合案例演示,讲解子项目中对应的工作任务,让学生真实理解工作过程中这个子项目到底要做些什么,怎么做,哪些知识是已知的,哪些知识是未知的,提出问题,充分调动学生的好奇心与求知欲。

3、学生分组讨论,协同合作根据学生兴趣、成绩、实践动手能力将学生分成4到5个人为一个小组。小组成员共同讨论完成项目的开发。工作任务完成过程中,让学生轮换担当不同的角色,使其能体验不同角色在不同阶段的职责与任务,既培养学生团队协作能力,又发挥了各自特长,调动了学生的积极性,从而提高了学习兴趣。

4、学生各自完成工作任务通过项目分工,团队中的每个成员都有明确的任务,结合教师的案例演示进行工作任务的模拟练习,让学生对工作任务的完成有了真正的认识,从而培养学生的职业能力。

5、总结工作任务成果,评审验收首先,学生对自己完成的子项目进行展示、总结,哪些完成,哪些没有完成,原因在什么地方;其次,教师对每个团队项目完成的情况进行比较,并将各团队工作成果与案例演示中的工作成果进行比较,总结规律和技巧,使团队中的每个学生知道自己在做什么,做得如何,哪些地方需要改进,哪些知识需要完善,自己发挥了什么作用,将实践上升到理论高度,进而培养学生的职业能力。

6、拓展第二课堂,培养学生的研究、创新性学习能力在案例教学与学生实践的基础上,学生对工作过程中所要完成的工作任务有了基本的了解和认识。对于学习兴趣高、实践能力强的同学,选择自己感兴趣的方面跟老师一起参加项目研发,在教师的指导下,了解跟踪软件开发新技术发展趋势,更加深入了解软件工程精髓,进而培养自己创新性学习能力。

四、总结

软件项目总结范文5

1.实践教学缺乏系统性和针对性目前许多高校“软件工程”课程除了理论讲解外,也加入了实践教学部分。往往受学时所限,实践分为软件项目若干设计文档的编写和软件工程工具的实验练习。前者受缺乏相应的开发环境、教师虚拟客户不能很好地反应现实需求、理工科学生的文字表达能力不足等因素的影响,设计文档的编写不能很好提高学生能力;后者在一定程度起到了一定的作用,但对于培养学生分析问题、解决问题、管理和团体协作能力方面仍显不足。

2.评分模式单一软件工程采用了传统的闭卷考试方式,平时成绩占总成绩的30%,期末考试占70%。平时成绩=上课出勤情况(10%)+实验完成情况(10%)+作业完成情况(10%)。任课教师通过对不同的考核内容赋予不同权重来评价学生对软件工程课程的掌握情况,主要考核学生对课程基本知识的理解。此方法不足以提高学生实际动手的能力,更不利于激发学生实际软件设计开发的兴趣。

二、现有的教学方法的分析

针对上述问题,从事软件工程的相关教师从不同角度,对软件工程课程进行了改革。归纳起来主要有如下几种教学方法改革:

1.自底向上教学法在“软件工程”课程中应用授课方式主要是用倒叙的方式贯穿完整案例(包含警戒案例),以启发、讨论、辩论的形式讲授软件工程的原理、方法及过程,使学生不觉生疏,易接受,又符合IT从业人员的工作进程。[2]

2.模块化教学法在“软件工程”课程中的应用在尊重教学规律和学生个性发展的原则上,根据课程体系和内容之间的关系,将教学部分划分为若干独立的模块,确定模块之间的关联,针对不同的教学计划要求,采用不同的模块组合有选择地进行讲授和学习。[3]

3.案例教学法在“软件工程”课程中的应用软件工程案例教学是根据“软件工程”课程的教学目的和学生培养目标要求,教师选用相应的案例作为基本素材,引导学生对案例进行调查、思考、分析、讨论、设计、开发和交流等相关活动,在活动中教授学生软件工程的原理、方法及过程,进而提高学生分析和解决问题的能力,加深学生对基本理论知识的理解和掌握。[4]

4.项目驱动教学法在“软件工程”课程中的应用项目驱动教学法是案例教学法的基础上采用“案例导向、项目驱动”的教学方法。首先,教师根据要讲授的理论知识预先准备一个或者多个小的软件开发项目;然后,将学生作为主体,以软件开发项目的研发过程为引导,采用学生小组团队合作和学生个人独立完成相结合的教学形式,组织学生开展集体讨论并完成相应的实践性活动,在研发过程中同学和老师要对每位学生所完成的每个阶段任务加以点评、督促改进、分享经验等;最后,学生将成功的软件给予演示。

5.三位一体式教学法在“软件工程”课程中的应用根据学生的认识特点和该课程自身的特点以及对“软件工程”课程在计算机科学专业的定位、教材的选取、课程培养目标的分析下,采取以综合能力培养为中心、项目实践为标准,模板、案例、指导说明为辅助的三位一体式的教学思路。[6]对目前在“软件工程”课程改革中应用的五种方法针对改革侧重点进行汇总发现(见表1),单一的教学方法只是在理论教学、实践教学和考核方式某一方面发挥了很好的作用,而不能从全面发挥效果,而对于“软件工程”课程来说三者同样重要。

三、基于多元教学法的课程改革新模式

某一种教学模式改革已经不能满足现代“软件工程”课程教学的要求,只有将多元教学模式组合在一起,充分考虑各自对课程教学的优势,避其缺点,找到一种既能使学生具有良好的理论基础,又能充分培养学生实践能力,还能准确地考核学生的教学模式。本次课程改革就是本着这样一种思想,从理论教学、实践教学和考核方式三个方面进行多样化改革。

1.理论教学内容多样化

理论知识的学习在学生以后软件项目开发过程中具有必要性和重要性,软件工程学习过程中要重视基础和基本技能的培养。学生要具有开发软件项目的能力,首先要熟悉掌握软件工程相关的理论知识,特别是对如何按照工程化的方法系统地设计、实现、测试和维护大型软件,内容包括:软件开发的基本理论、方法和技术;其次是了解目前已有系统、工具和技术。(1)授课内容引入案例。教师在教学过程中引入与理论知识相匹配的实际案例,将比较抽象的软件工程原理、方法和技术转为具体生动的案例进行诠释,增强理论教学的艺术性、科学性、趣味性、形象性,使学生能够在课堂上深刻领会和理解软件工程的思想和方法,教学效果收到了事半功倍。(2)适时更新教学内容。近几年,软件原理、方法和技术发展较快,许多适应时展的软件不断涌出,而目前的教材虽不断改版更新,但其更新的速度远远跟不上软件工程的发展。因此,教师在进行理论讲解时,除了要教授学生基本原理、技术和方法外,还要时刻关注新内容的出现。(3)制作丰富多彩的课件。采用多媒体教学手段,在课件中插入图片、动画、声音、视频等多媒体元素,使教学内容更加充实和生动。(4)课堂小组讨论。从小问题到大问题,让学生参与教学过程,有机会发表自己的看法。课堂讨论和分析试验,使理论有实践作支撑,抽象的知识变得看得见,用得着,大大激发学生学习的兴趣和自信。

2.实践教学内容多样化

软件工程理论的讲解是课程学习和技能培养的基础,而软件工程中许多理论内容如果只是教师讲解不加以实践,内容本身就会变得空洞和不可理解,例如:软件复杂性计算、软件可靠性与安全性的测量标准、结构化的实现方法等都需要学生动手实践才能更好地理解知识本身的内涵。掌握概念、原理、方法和技术,熟练应用软件开发实践中的方法和技术是“软件工程”课程对学生的培养目标。(1)课程角色扮演。教师预先选择若干小项目,班内学生根据自己对项目熟悉情况选择项目名称,划分项目小组,每组人数不超过6人,每个项目小组成员根据自身特长选择不同软件工程角色,例如项目负责人、需求分析负责人、设计负责人、编码负责人、测试负责人和用户代表,进行项目分工。项目组成员按时完成自己负责任务,撰写相应文档。教师帮助学生分析和解决所遇到问题。在整个开发过程可以体现“学以致用”的思想,实现理论与实践相结合。(2)课程设计。课程设计主要是针对高年级学生在学习软件工程课程时开展的专项训练。课程设计采取在学校内模拟IT企业环境下完成来自企业案例或开发一些具有应用价值项目或学校教师承担的开发项目的部分开发工作,也可以是学生自选项目,整个课程设计阶段严格按照工程实施的基本思想来实施。(3)加强校企合作。一方面经常邀请软件公司长期从事软件设计、开发和项目管理的工程师和项目经理,给学生讲解自己在软件设计、开发和管理中的经验,高质量软件产品需要经过怎样的开发过程,软件生命周期中标准文档如何撰写等相关内容;另一方面,利用寒暑假时间,让学生走出去,到软件产品的研发单位实地实习。

3.考试方式多样化

传统的考核方式已经不能反映学生实际软件开发的水平,也与多样化的教学模式不相匹配,为此多样化的考核方式才符合现实需求,主要包括:笔试、课后角色扮演、课程设计和项目总结。(1)笔试占总成绩的35%,主要考查学生理论知识的掌握情况和学习效果。(2)课后角色扮演占总成绩的15%。由教师根据每位学生在课后角色扮演中的具体表现进行打分,主要由3部分取平均值组成:1/3*(整个项目的成绩+自己负责完成的文档成绩+组内其他成员负责完成的文档的平均成绩)。(3)项目总结或心得体会占总成绩的15%。根据学生在软件开发过程中所撰写的经验和教训总结报告、每个小组成员建立的个人开发记录或日志的实际情况,相互打分。

四、基于多元教学模式课程改革方案

基于上述改革理念,按照软件工程开发原理、方法和技术,选用典型项目案例,将学生按照项目分成若干个小组,每组人数不超过6人。每个小组对应着一个具体的项目,每个人对应着一个具体工作过程,按照如下步骤进行多元教学。第一步,教师选用合适的教学内容,制作丰富多彩的课件,对学生进行基本理论和基本技能的讲解。在每一个软件生命周期结束后,教师进行案例场景描述。教师按照理论知识的内容,选择相应的案例进行描述,学生将所学内容运用到相关案例中。教师通过案例让学生明白理论知识如何应用,学生通过案例体会到小项目中所学的原理、方法和技术是如何实现的。第二步,课后角色扮演。学生通过分组讨论的方式,完成项目分工,明确自己在项目中所扮演的角色。所有的任务通过集体讨论的方式,决出所要完成的任务,并由相应的角色人实际操作完成。例如,需求分析一章内容,学生课后进行项目小组讨论,决定需求分析的内容,进行相应的需求分析,并由扮演需求分析人员的学生完成需求报告。软件开发过程需要整个团队的通力合作,根据学生的性格、表达能力、开发能力、理论基础掌握情况等方面进行人员分组,将具有不同特点的学生组成一个团队完成项目开发。这种团队合作的方式,既能发挥学生各自的特长,又能培养学生的团队合作精神。第三步,课程设计。当全部内容讲解完成,就可以开始长达2周的课程设计内容了。这段时间要求项目小组,彻底完成一个由教师虚拟的项目。此步骤中,主要培养学生良好的科研习惯,在开发过程中及时总结经验和教训,建立个人开发记录或日志,理论联系实际学着开发软件。第四步,学生总结,教师点评。学生经过多个教学环节后,每个团队在一定程度上完成了各自的项目任务,对各自团队的成果进行总结。教师听取每个团队的汇报后,从横向和纵向两个方面对项目成果之间进行比较,从而让每一位学生明白自己在团队中发挥了什么作用,自己哪些方面不足。第五步,请进来,走出去。通过学校和企业合作的方式,一方面经常邀请软件公司长期从事软件设计、开发和项目管理的工程师和项目经理,给学生讲解自己在软件设计、开发和管理中的经验,高质量软件产品需要经过怎样的开发过程,软件生命周期中标准文档如何撰写等相关内容;另一方面,利用寒暑假时间,让学生走出去,到软件产品的研发单位,实地实习。

五、结束语

软件项目总结范文6

生成合同的阶段中所拥有的相应工作为:签署、商定以及评估商务合同与技术合同,同时还需要明确和评估项目的具体方案。

2项目的立项

项目在立项的主要阶段中具体包含的任务是,对立项理由的确定,并将立项建议有效的提出,同时需要将适当的资源与资金有所提供,力求让立项中的相应建议能够成为正确的项目类型。

3合同的执行

在执行合同的过程中,承担着大型软件项目管理流程的重要部分,能够包含系统的维护、项目的验收、内部的验收、测试的执行以及软件的开发等五方面的工作流程。

4软件的开发

开发软件的阶段包含:单元测试、编码、系统设计、系统分析以及需求调研等流程,具体会在几个层面中开展必要的管理:a.项目计划的拟定在大型的软件项目当中,软件项目的规划方面是对其他相关的规划充分协调的必要条件,是能够控制和执行指导项目的可操作型文件。主要突出了对客户需要的掌握,是进行项目活动的主要条件,同时还是大型软件项目监控和跟踪的凭证。b.过程控制需加强过程控制方面具体包含:配置管理、变更控制以及过程管理。c.开发过程的确定按照项目组别以及大型软件项目的真实状况,创建出可控制、稳定性极高的软件开发模型,同时需要根据此流程开展软件的相应开发。

4.1内部的验收

大型软件项目在对系统测试以及集成测试完成之后,需要开展项目的内部验收流程,具体包含着几大步骤:a.准备文档在准备文档的过程中,大型软件的项目经济需要提交一部分报告,分别为:产品的清单、总结项目开发的报告以及内部的验收计划报告等。财务的主管需要将项目的财务预算报告正确提交。b.内部的评审内部评审主要针对的是所提交的测试结果,以此来将项目的开发总结报告完善达成。c.测试内部验收测试内部验收的方法与内容,和测试系统是完全一致的,可是需要以用户验收的角度开展测试,由于是试运行的必要条件,利用用户验收的角度能够奠定验收的坚实基础。

4.2执行和测试

测试项目的主要目的就是对系统进行充分的检查,检查的关键在于系统能否和任务书规定和项目合同规定的需求相符。项目测试方面包含:系统测试和集成测试,具体会开展安装与反安装测试、可靠性测试、压力测试、安全性测试、用户界面测试以及功能测试等。其中是在模拟的运行状态下进行的测试过程。

4.3项目的验收和试运行

用户的验收和试运行阶段当中具体应该完成的任务是,将全部的工作都被用户有所认可,具体涉及到的工作是:a.事前准备所谓事前的准备就是验收前的准备,大型软件项目经理对产品完整性方面负责检查,包含:中间产品、介质以及文档等方面,从而保证现场实行的效率最大化。同时对现场的软件安装调试也需要有所负责,将调试安装的总结报告相应强化。此外,还要对用户的验收计划负责拟订,同时要获得客户的认可。b.用户的确认用户需要开展系统的试运行以及验收测试流程,开展系统和文档的移交。大型软件的项目经理需要和客户有效的协调,以此来帮助用户能够开展项目的验收,从而让用户的验收报告能够成立。

4.4项目的维护

在维护软件系统方面包括两个方面,其一是纠错性质的维护,因为初期的测试过程不能够将软件系统当中潜在的一些错误暴漏出来,然而对哲学隐含错误的改正和诊断过程,就是纠错性的维护。其二是完善性的维护,在正常使用大型软件的阶段,用户会逐渐的将新型需求提出,想要对用户所提出的需求予以满足,就需要将软件功能的活动增加,这一流程称之为完善性的维护。

5总结

软件项目总结范文7

关键词:项目管理;软件工程;软件开发

软件工程开发传统流程,包括需求分析、概要设计、详细设计、编码、测试、交付、验收、维护等。实践证明,这一流程存在诸多问题,这些问题影响着项目开发的功能性、实用性、时效性、安全性和协调性,致使项目开发不能达到预期目标或满足客户需求。从软件工程的角度,分析软件开发的生命周期、软件过程模型和团队模型,讨论软件项目管理的科学性和必要性,讨论如何发挥项目管理的作用,加强软件开发的组织与管理。从项目管理的角度,让软件开发过程更加简洁、高效、目的明确,可大大提高效率。

一、软件工程开发中常见的问题

软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。包括:付出较低开发成本;达到要求的软件功能;取得较好的软件性能;软件易于移植;维护费用较低;能按时完成开发任务;软件可靠性高等。在软件工程开发中遇到的具体问题可以总结为如下几点:(1)软件模块开发过于独立,各模块没有统一的开发标准,造成系统功能重复,开发平台不统一,系统整合难度大;(2)系统开发往往针对某一特定功能,没有形成一个完整的系统结构;(3)总体设计不够细致,各个子系统功能模块风格不统一;(4)开发人员技术水平、开发能力和时间有限,开发手段相对原始,代码的可重用性低、可读性差;(5)缺乏有效的软件文档管理。这些问题集中体现在软件项目开发的每一模块中,导致整个项目开发过程中,开发费用超出原定计划,生产的软件系统不能满足用户需求,系统难以简易维护,系统无法高效运行等问题。这里既有技术层面的因素,即开发平台不统一;也有软件开发的组织与管理层面的因素,即程序员对系统功能的定义、规划和设计不明确,往往是开发人员摸着石头过河,仅仅从自己开发的这部分模块来考虑问题,另外开发人员和测试人员不能很好的协调,这些都说明了软件项目管理这一角色的欠缺。

二、项目管理针对软件工程开发的优势

项目管理包括时间、质量、成本三大要素,三者相辅相成,相互制约。时间可等价于软件项目开发中的开发生命周期,即在最终达到开发目标前的各个阶段的总用时。质量可等价于最终开发软件系统的功能性,可用性与达到的客户满意度。成本相当于软件项目开发中的费用,包括人力、地点、工具、系统故障处理等方面的开销。统筹时间、质量、成本三要素,即统筹软件项目开发周期、软件使用客户满意度和开发费用之间的平衡关系,不因忽略某一项指标而导致项目开发目的实现不了或中途中断,也不会为了实现较高的效率,而忽略成本的牺牲,让所有项目开发过程中,所涉及到的因素都可有条不紊地进行。SPPT是项目管理另一层面上概括的四要素,分别为:战略(Strategy)、人(People)、次序和安排(Process)、工具(Tool)。战略对于软件项目来说,主要概括为模块开发的开发方式,配合方法等;人,毫无疑问,指的是项目开发中的参与者;次序则是项目如何划分模块,以及模块开发的先后次序;工具,即使用工具,包括:辅导设计程序系统、文档编写系统、资源管理系统等。对这四要素的稳定地统筹把握,能更好的协调好项目开发过程中涉及的多个方面,而又不造成某一方面的缺失,导致项目最终目的实现不了或效果不明显。

三、项目管理思想与软件工程开发的结合

根据上述项目管理要素与软件工程开发要素的结合,平衡项目开发过程中的开发要素,能更加简洁高效地完成项目开发目标。IT软件企业处于“项目”为主导的环境中,每天所面对的将是成百上千不断发生、进行的项目。在这种多项目并发、高技术、快速变化、资源有限的环境下,为了试图满足不断变化的市场需求及应对各种挑战,必须考虑改进“项目管理”。以“项目”为中心有效地将所有资源结合在一起的工作方式将是软件企业,特别是项目经理或企业主管必须面对的、认真思考的课题。一个成熟的软件项目,必须具有一位项目经理做到:了解软件开发项目完整流程;掌握如何制定完整精炼的软件项目计划书;掌握项目管理体系中的各个要素;学会进行项目的跟踪和总结等。除此之外,一个软件项目能否最终达到成功,最关键的是进度控制。对于进度控制而言,计划尤为重要,它影响到资源是否被合理使用,项目能否顺利进行,直接关系到项目的成败。有两个重要方法可以应用到该控制中,一个是里程碑设置,以周为一个小里程碑,以月为中里程碑,以项目初验为一个大里程碑,允许在一定范围内存在进度偏移度。另一个是项目定期汇报。提交工作项目周报,包括项目名称、项目负责人、项目开始时间、项目计划初验时间、项目计划偏移度等。最后,制定周例会制度、建立配置管理和监督体系,也尤为重要。

四、结语

项目管理在软件工程开发中的应用广泛,但正确地结合两者之间的思想结构却少之又少。软件项目开发是一个系统工程,在软件工程项目开发中,结合项目管理的管理方法,对企业信息化建设和信息化转型是必要的,也是必经之路。

参考文献:

[1]左美云,周彬.实用项目管理与图解.北京:清华大学出版社,2002.

[2]苏统华.项目管理精髓[J].程序员,2002,(4):35-36.

软件项目总结范文8

关键词:翻转课堂;软件工程;项目案例

1引言(Introduction)

翻转课堂作为一种新兴的教学模式,不断强调学生的主体地位,推动着国内外教学模式的改革创新,引起了学者的广泛关注[1]。传统的教学模式,不能因材施教,不能顺势引导学生发散思维,让学生自己去思考问题的谜底,反而让学生都去接受教学大纲的“标准答案”,这样会让学生疏于思考,缺乏自己的思维,不能开拓学生的创造性思维[2]。这样就达不到启发学生独立思考的目的,挫伤学生的创新性思考的能力;传统的教学模式是在课堂上进行知识的传授,而知识的内化则在课堂外完成。翻转课堂是学生在课外自主完成知识的学习,在课堂进行提问,完成知识的内化[3]。翻转课堂增加了师生之间的互动,使教师可以更好地“对症下药”,让学生能够及时掌握知识,从而加深学生对所学知识的理解及应用;在这种教学模式下,学生可以随时随地观看视频学习,掌握学习进度,不必像在传统的教学模式下进行紧张的填鸭式的学习,使学生掌握了大部分主动权。软件工程是一门理论抽象、工程性强、操作性强、重实践性的学科[4],这就使得学生难以及时掌握所学知识,采用翻转课堂的教学模式正好可以弥补传统课堂在软件工程课程中存在的缺陷,所以将翻转课堂应用于软件工程课程中就显得尤为重要。

2软件工程的特点及教学中存在的问题(Thecharacteristicsofsoftwareengineeringandtheproblemsinteaching)

《软件工程》是软件工程专业的一门重要的专业基础课。这门课程强调用工程的思想、概念、原理、技术和方法来设计开发和维护软件;要求学生了解结构化思想、掌握敏捷开发等软件开发技术,掌握面向对象的软件需求分析、设计及实现的一般方法,为今后更好地学习和从事软件工程领域的工作打下良好的基础[5,6]。该课程的特点及教学中存在主要问题:

(1)课程内容抽象实践性强,教学方法单一

软件工程这门课程的内容比较抽象,有较强的实践性。目前该课程大部分都是由教师讲授理论知识,学生填鸭式学习。但是这些理论知识并不是空洞的理论,它是从实践中总结出来的或是前人不断总结摸索出来的,内容比较抽象,不易理解,教师仅讲授理论知识点学生难以理解,而且内容比较枯燥,容易使学生产生厌学心理,打击学生学习的积极性,这对软件工程课程的教学内容及教学模式提出了新的要求。

(2)前序课程依赖程度高

软件工程的前序课程包括C++程序设计、算法与数据结构、数据库原理等,由于学生对前序课程知识的掌握程度不同,积累程度不同,学生的基础也参差不齐,这就给该课程的教学带来一定的难度。在课堂讲授的过程中,需要对用到的前序课程的知识点进行复习,否则可能导致本部分内容有一部分同学不能理解或理解不到位,甚至对后续内容的学习造成更大影响。

(3)项目案例缺乏完整性和实用性

有的教师在选取教学案例时偏离学生实际,即使花费大量的时间讲授了一些案例,由于学生平时缺少实际项目的开发经验,也很难理解软件开发的全过程。有的教师所选案例规模较小,如简单的学生成绩查询系统等,在学生看来,可能不需要完全遵循软件工程的设计过程,也能做得较好,软件的可用性也不差,这就导致学生不能更好地建立系统完整的软件工程概念体系,缺乏对所学知识的整体认识。

(4)学生项目开发经验不足,学习积极性不高

软件工程是一门理论性与实践性较强的综合性课程,如教师只注重理论课程的教学,忽视了学生自主学习能动性的发挥,学生缺乏对实际项目案例的设计开发,缺乏对所学知识的整体认识。对于刚刚讲过的知识,抽取其中一部分进行提问,学生常常回答不上来,这说明学生没有将知识内化,一学期下来,学生可能感觉只学会了几个概念原理,对于如何去使用这些原理根本不清楚,挫伤了学生的积极性。

3软件工程翻转课堂教学模式(Flippedclassroomteachingmodelforsoftwareengineering)

3.1课堂教学模式

基于翻转课堂的软件工程课程教学采取以项目案例为主线的教学模式,整个教学过程由项目案例为导向,以一个具有一定规模完整的软件开发项目贯穿于整个课程教学过程的始终[7]。软件工程课程翻转课堂教学模型主要由课前在线理论学习、课堂讲授及训练、课后总结巩固三个相辅相成的过程所组成。(1)课前在线理论学习课前理论学习是课堂讲授及师生互动的基础,学生在这一阶段将学习基本的概念原理性的知识点,教师根据教学大纲、教学进度、章节特征安排教学活动,并录制视频上传到网络教学平台,要求学生提前观看并完成习题。学生按照老师布置的任务,根据自己的实际情况自主学习。教师可以在视频中间或末尾穿插一些习题,让学生可以在看视频的过程中完成习题,让他们了解自己的学习情况,增强互动性。如果习题完成效果不好,学生可以反复多次观看视频,在每个章节最后教师可以对本章知识进行汇总并给出一套有深度的课后习题让学生完成,当学生完成课后习题后,网络教学平台将学生的完成情况反映给学生,学生肯定会产生很多疑问,然后学生自己整理自己的问题,这些问题学生既可以在课堂上跟老师、同学讨论,也可以在平台上与教师交流沟通。(2)课堂讲授及训练翻转课堂的目的在于通过灵活多样化组织课堂活动把知识内化最大化[8]。对于软件工程这门课程,教师应该围绕项目案例软件定义、软件开发、软件维护三个时期八个阶段设计教学活动,在课堂上,根据每个章节内容的特点,教师可以选择演示项目进展、讨论案例、答疑等不同的教学形式[9],教师可以从以下三方面完成课堂讲授知识的内化。a.课前学习情况测试。教师根据学生课前观看视频情况、课后习题完成情况,以及学生提出的问题初步掌握学生的学习情况;然后教师选取一些具有代表性的问题,对学生进行提问,查看学生观看视频效果,或者教师可以根据平台反馈的学生学习情况及课程内容设计出一些新的习题问题,上课时检验学生掌握知识的情况;学生也可以提出自己目前的问题,由老师或学生进行答疑;最后教师根据课堂的反馈总结需要重点讲解的知识。b.知识讲解。教师根据课程教学大纲,简单的对所有内容进行串讲,然后根据课堂反馈对重难点知识进行详细讲解[10],对于一些操作性强的问题教师可以边演示边讲解。首先,导入案例,这要求教师将准备好的项目案例作为教学材料,通过展示一个具体的项目或一个现实生活中的例子将学生带入到课堂中[11]。例如,在图书管理系统中,可以通过学生自己平时在图案书馆的借、还书情况,让学生提前知道这个系统是干什么用的,有哪些主要的功能,开发这个系统需要什么工具等一系列问题,先让学生对这个系统有一个感性认识,然后再演示项目,理论联系实际,让学生更好地理解所学知识。c.项目练习。通过理论知识的学习,学生对所学知识有了基本了解,接下来最重要的就是实践。教师可以将学生按角色分组,每组3-4人,保证每个组既有学习能力强的也有学习能力一般的。然后让每个组完成一个小项目进行实战,进一步理解知识,在完成项目过程中老师可以适当给每组提示、指导,使学生能较熟练地把理论知识应用于实践中。(3)课后总结与巩固课后学生重新思考课堂中遇到的问题,对老师在课堂上提到的重要知识点进行总结,也可以回看视频加深对知识点的理解[12]。针对复杂问题,给出可行的开发方案和开发计划,具有设计满足特定需求的中小型软件系统和大型系统的独立子系统的能力;具有独立撰写软件项目实施过程所需的可行性研究、项目计划、需求分析、系统设计、系统测试等报告文档的能力。

3.2实验教学

由于软件工程是一门实践性很强的课程,所以我们在教学的过程中更加注重实践教学环节的安排与设计。为了使学生更好地掌握理论知识,同时又能较好的把理论应用到实践中,每个阶段我们都配备了相应的实验环节,实验教学与课堂教学保持同步进行,更好地激发了学生的学习兴趣,巩固了所学的理论知识,除此之外我们还安排了相应的课程设计。在实践教学环节,要求学生能严格按照软件工程的设计思想独立完成各自的任务,并坚持阶段评审的原则,最大限度的发现软件设计过程中的缺点、错误,保证软件的可用性、可靠性。教学方法上,以培养学生自主创新和独立思考为目标,以项目案例驱动为主题,组织学生以团队的形式参与到实际项目开发的整个过程中,将复杂抽象的理论知识融入实验环节中,使学生能熟练掌握软件工程的整个开发流程。根据项目案例的实际需要对学生进行分组,确定各自的角色,各组通过实地调研或查资料确定具有一定规模的开发项目,或参与教师的科研项目,然后选取各自熟练的开发方法按照软件工程的思想对其功能逐一进行设计、编码、测试等工作,要求每个阶段都有相应的文档资料直至提交最终软件产品。最后,我们采用小组的形式进行答辩。每组选派一名代表进行答辩,能够通过各种形式清晰表达和回应客户的要求,具备基本的软件工程项目管理学知识,其他成员可以进行补充说明。每组自述5分钟,教师提问10分钟,各位教师可以针对每个同学在其项目中所担任的角色进行提问,根据回答问题及项目演示情况进行评分,然后算出平均分,并将其成绩计入期末总成绩。通过几年的改革与实践,学生的实践能力得到了有效的提高。对于掌握较好的同学在学习的同时就能参与到一些公司的项目研发中。

4考核方法改革(Reformofassessmentmethods)

软件工程课程既要求学生掌握一些设计原理、设计方法等理论知识,又要求学生能够分析设计和开发软件,建立和使用合适的软件项目管理和质量保证体系,提升软件的质量。同时要求学生具有在多学科环境中组织并管理软件项目实践的计划和预算、协调组织任务、合理调配资源,提升项目组的工作质量和效率的能力。鉴于此,传统单一的卷面考核形式不能真正全面客观的反映学生实际学习效果,因此,我们采用多元化的考核机制[13,14]。在翻转课堂模式下,老师可以根据课堂情况、作业完成情况以及实践环节等多方面作为考核依据,最终客观地给出学生的期末成绩,在这种模式下可以很好地培养学生的创造性思维,激发学生的学习兴趣。翻转课堂软件工程课程考核分为两大部分:形成性考核和总结性考核。形成性考核分为课前在线预习、课堂讨论、课后作业三部分,总结性考核分为实验报告、项目答辩和期末考试。具体的考核形式如表1所示。表1课程考核形式Tab.1Courseassessmentforms考核类型考核项评分标准形成性考核(30%)课前在线预习在线观看视频、检测、提问等课堂讨论课堂回答问题及准确度课后作业完成课后作业的质量等情况总结性考核(70%)实验报告实验完成情况及报告质量项目答辩软件需求规格说明书、系统设计说明书、演示文稿等质量情况期末考试知识类、分析类、设计类考题

5结论(Conclusion)