首页 > 文章中心 > 软件工程课程设计总结

软件工程课程设计总结

开篇:润墨网以专业的文秘视角,为您筛选了八篇软件工程课程设计总结范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

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

采用案例教学模式理论联系实际,能将课程的主要内容贯穿起来,成为一个有机的整体,使学生更易接受。过去,经常才采用以教师为主的案例教学方式,即在教学活动中,教师将软件工程的原理、方法通过引入案例讲解,虽然较以往的重理论轻实践的教学有一定的提高,但实际操作中效果并不理想,部分学生感觉上课能听懂,知道软件工程的内容是什么,而面对一个实际项目时仍然不会运用软件工程知识进行分析、设计和实现。采用多层次的案例教学模式符合CDIO工程教育理念“做中学”,在实际教学中。多层次的案例教学模式将教学中案例分为,教师课堂案例、小组项目案例、课程设计(实验)案例等,用于解决学生只听不练的状况。选择案例应该注意,首先案例具有可操作性(即学生熟悉的、易理解的和容易接受的),其次案例具有仿真性(即选择企业实际案例或学生能接触到的),再者案例具有兴趣性(即案例的界面、内容易使学生产生兴趣),最后案例具有连续性(案例能够贯穿教学大纲的全部内容)。

课堂案例,用于教师理论授课使用,软件工程课程通常讲授两种软件开发方法:面向对象的软件开发方法和面向过程的软件开发方法,教学中采用一至两个案例(如:学生学籍管理系统、校园信息服务平台系统等)贯穿软件需求到软件实现每个阶段。讲面向过程软件设计方法时,采用Visio、ER-WIN、PowerDesigner等工具,使学生在案例中明白数据流图、数据字典、E-R图、软件模块图如何正确、规范的绘制以及它们所起的作用。当讲面向对象软件开发方法时,使用当前工业界公认的最佳软件开发方法,即UML建模语言与RUP统一过程,采用RationalRose、Star-UML、Eclipse等CASE工具,绘制用例图、活动图、分析阶段类图、时序图(协作图)、设计阶段的类图、数据库的逻辑结构图、构件图和部署图。通过一个案例的两种实现方法,不仅使学生知道它们间的区别和联系,而且学生更清楚在软件的生命周期的各个阶段建立哪种模型,为何要建立,而不是将所有的图堆积起来就是为系统分析建模、不是为了画图而画图,即不仅要知其然,更要知其所以然。

小组项目案例,是在课程的第一节课要求学生以4-5人的规模按照自愿或兴趣进行分组,每个小组按照教师布置或自选身边的、有实际应用价值、可调研的项目,进行分析、设计和实现。小组项目案例是与课堂案例穿行的,即学生在课堂每学完一种软件开发方法后,课后利用所学的知识(特别强调CASE工具的使用)对本课题小组的项目进行实践,例如:在课堂上学习了面向对象方法学对“学生学籍管理系统”案例进行规范的需求分析、设计的建模后,要求学生同步完成自己项目相应的内容,即利用CASE工具画用例图、类图等完成系统的需求、设计文档,其他内容均依此方法开展教学。为了更好激发学生的学习积极性和主动性,同时为了避免学生抄袭现象,利用我们自己开发的随机选组软件,让学生以小组的形式在课堂上进行现场答辩,组长作为该项目的经理,组员作为开发人员,教师和其余学生作为用户,首先组长介绍项目的开发背景、意义,项目的分工,需求调研的单位、调研对象,与客户的交流并记录情况,然后小组成员依次介绍自己的工作,最后由组长总结,并回答用户提出的问题。通过上述的“实战”,让学生加入到评价的行列中来,不仅活跃了课堂气氛,调动了他们的积极性,强化学生间的竞争意识,而且通过了解其他同学项目完成情况,并与自己做的进行比对,找出差距和不足,同时也挖掘学生的创新能力,提高了教学效果。正像学生事后的总结中这样写道:“在小组项目开发期间,我们对软件工程有了新的理解,软件开发不仅仅是单一的编程过程,它包括了需求分析,概要设计,详细设计,编码,测试,维护,编程只是其中的一小部分……;使我们深深地体会到,理论源于实践,实践见真知……;只有真正明白用户的需求,才能开发出能用,有价值的产品,如果开发出来的产品不能满足用户的需求,那么这个产品也就失去了存在的价值……;软件开发,重在团队合作,单独一个人是完成不了任务的,我们真正体会到什么是团队协作,真正的了解到团队合作的有利之处,真正感受到团队成员为了共同的目标联合在一起时的强大的力量,只有互相之间默契融洽的配合才能换来最终完美的结果”。CDIO所倡导的团队协作能力、交流能力,创新能力,在小组项目案例实施中得到了很好的锻炼。

CDIO模式下课程设计的实施

作为宏观、全局性的教育策略CDIO工程教育理念,强调知识的关联性,着重培养学生实际问题的解决能力和个人工程素质。软件工程专业人才培养要求之一就是工程型专业人才培养,教育部的“质量工程”也提出改革与创新实践教学与人才培养模式。为期2周的软件工程课程设计是软件工程课程的延续,是强化实践环节、培养学生工程素质以及加强学生所学知识的前后关联的重要举措。软件工程课程设计,需要学生能将所学的面向对象的软件开发方法、开发过程RUP、CASE工具、软件项目管理CMM、面向对象编程语言和数据库管理系统SQLServer/Oracle结合起来进行软件开发,为学生毕业后从事软件开发和管理工作打下坚实的基础。

1.课程设计的内容软件工程课程设计的实施方案见表1-1所示。2.基于CDIO的考核方式CDIO教育模式主要培养学生的八种能力:工程能力、职业道德、学术知识和运用知识解决问题能力、终生学习能力、团队协作能力、交流能力和大系统掌控能力。

软件工程课程设计为检测学生的上述能力搭建了平台,教师在软件开发的各阶段提出目标和任务,促使学生独立分析思考、相互交流讨论,敢于实践创新和探索解决问题的途径,提高了学生工程应用能力,在实践中理解软件工程师应该具有的职业道德,较好避免传统的考试只能单一测试学生对知识的记忆程度。软件工程课程设计的最终成绩评定是:平时成绩20%(重点考察学生的职业素养、交流、独立分析思考能力),设计成绩30%(重点考察学生的工程能力、运用知识解决问题能力),答辩成绩50%(重点考查学生的团队协作能力、表达能力、创新能力)。

结语

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

关键词:软件工程;教学改革;案例教学

“软件工程”是计算机及相关专业的一门专业课,是培养学生的软件开发能力和项目管理能力的一门重要课程,反映计算机专业人员综合应用的素质和能力。它要求学生在学习过程中不仅要注重概念、原理、方法和技术的掌握,还要注重方法、技术的实际应用。然而,在实际教学中,很多学生认为这是一门理论课,内容繁琐,感到枯燥,学习兴趣不大,待到用时又不知如何运用这些知识。同时,软件工程是计算机科学与技术领域的一个重要的学科,如面向对象的开发方法、CASE工具与环境、软件重用技术、网络环境下的软件开发技术等有了长足的发展,而目前的教材内容、实践环节等方面存在严重的缺陷,制约了软件工程课程的教学效果。

本文结合作者多年来的软件工程课程教学和科研的实践经验,就软件工程教学内容、教学方法和手段、实践环节安排、教学环境乃至考核方式等方面进行了一些探索和研究。

一、结合行业发展,不断更新教学内容

教学内容是连接教师与学生的纽带,是教学改革的重要内容,具有开放性、综合性,应体现学科之间的相互联系、体现现代性,反映科学发展、知识更新规律。

《软件工程》课程是一综合性学科,涉及计算机科学、管理学、数学、心理学等相关学科的知识。随着计算机科学的迅猛发展,与相关学科的联系更加密切。为适应21世纪学科发展的需要,要适当压缩传统的面向过程方法学内容,力求反映20世纪90年代以来面向对象方法学的最新进展。在教学过程中以软件开发过程为主线,重点讲解软件开发的分析和设计方法,内容涉及软件工程方法、工具、过程三要素,使学生从工程的角度认识软件开发,对软件开发有比较完整和深入的认识,了解国内外软件工程学发展的现状和趋势,并且在更广阔和更高层次上加深对软件工程学的认识,为后续课程及相关工作的开展打下坚实的基础。

在教材选择方面,宜采用中英文教材结合的方式。对于基本理论和基本方法部分使用中文教材,对于新方法、新技术以及国际标准等内容则直接使用相关的英文资料,并鼓励和推荐学生课外阅读英文资料,更好地了解其最新发展。

二、采用立体化教学手段

在软件工程的教学过程中,采用多种立体化教学手段,拓宽学生的知识面,以及更强的独立思考、团队协作和解决问题的能力。

1.多媒体课件。采用多媒体教学手段,制作内容丰富、形象生动的课件。这些课件不仅能形象地讲授软件工程基本原理,而且使得课堂信息量更大,教师还可以演示和讲授软件工程工具。还有部分课件被制作成自学模式,以便于学生课外扩展知识。

2.双语教学。对软件工程可进行双语教学,采用国外优秀的原版教材,课堂板书和作业都采用英语作为工作语言,并鼓励学生使用英语解答;同时给学生提供英文的课外阅读资料,让他们及时了解国际上学科的最新发展。

3.实践。在课外,采用大量的项目演练。项目以团队操练的方式进行,一个项目组由5~6名学生组成,分别担任项目经理、客户、上级经理、系统分析员、程序员和测试员等角色。由教师为其提供一个虚拟的项目情景和要求。项目组根据项目需求,制定项目计划,进行分析、设计、编码和测试,运用所学知识,分工协作、查资料、探寻问题的解决方案。应注意培养学生遵守职业道德、法律和纪律,尊重知识产权。必须发挥团队的作用,提高学生在团队中工作的能力,培养学生交流、沟通、协调及与用户合作的能力。进入课程设计阶段,学生就能够进行实际软件项目开发。

4.课程网站。建立软件工程网站,组织和帮助学生的探索性学习,促进学生的主动发现和主动探索,扩展课堂教学。在网站上课程安排、教学大纲、师资介绍、作业、多媒体课件、实践要求、常用软件工程模板、自测题等内容,同时提供大量有价值的参考书籍清单和电子文献,供学生随时查阅,学生还可以随时和教师在网上进行交流和答疑,变学时有限的教学为在读期间的全程教学。

5.探索校企合作。软件工程具有显著的实践特点,其教学内容必须与当前软件行业的发展和需求保持同步。因此学校应该与实力雄厚、管理规范的软件企业建立合作关系,及时了解行业发展动态,调整教学内容。聘请既有理论知识又有开发经验的软件工程师为学生做有关先进的工程技术和管理规范方面的专题报告,让学生了解企业开发软件项目的全过程、软件开发的实际问题、行业现状以及发展趋势,及时调整学习方向,增强学习的主动性和积极性。

三、进行案例教学

软件工程讲授的原理、技术、方法都很抽象,容易产生枯燥乏味的感觉。为了使学生能深刻领会和理解软件工程的思想和方法,在教学中引入实际案例,将复杂抽象的概念用具体生动的案例进行诠释,能够收到事半功倍的效果。具体可采用以下步骤:

1.设计一个典型的、完整的、易于理解的、实际的软件项目案例。在整个教学过程中结合该案例讲授每个知识点,将实际案例作为贯穿所有知识点的主线。该案例最好来源于授课教师直接参与的软件项目,授课教师对其全部细节能够准确掌握。

2.讨论案例。在讲授一个重要的知识点后,安排一到两节的案例课,针对知识点设计多个案例。教师用语言叙述案例,其中隐含着有待解决的问题及其所处的客观条件,学生通过认真阅读案例,查阅相关资料,理出头绪,明确给定条件,找出主要问题并做好记录。然后分析问题,制定针对性的措施,提出解决主要问题的可行方案,并对方案进行初步评价。

3.组织小组讨论。将学生分成五至六人的小组,每位学生运用所学知识对案例进行分析、说明,提出解决的措施,重点阐述分析、设计的理由。然后,大家集思广益,小组内展开讨论,并由专人记录,讨论的重点是对各个解决方案的相互对比和分析评价。最后,选出一个较为合理的解决方案,或者对所有方案进行整理和归纳,得到一个最佳方案。

4.小组代表发言,集体讨论。每组派一名代表上讲台,讲述本组对案例的理解、分析、判断、论证和决策过程,说明解决问题的方案和分析设计结果。对于同学发言老师要给予必要的引导,鼓励他们多角度、多因素地观察分析问题,培养学生的知识迁移和拓宽思维的能力,启发他们学以致用的意识。然后,组织全体同学进行分析、讨论、评价。对于非确定型的决策问题,同学问往往存在着意见分歧,结论很难统一。这一过程可以增加学生对软件开发项目的感性认识和兴趣,提高他们分析问题和解决问题的能力。

5.教师总结。在案例讨论结束时教师要进行总结,因为解决案例问题的决策方案不是唯一的,所以教师的总结应是就整个讨论情况做出评价。对正确的论点给予肯定和完善,指出一

些原则性的问题,特别是对某些问题可以更深一步思考,进行启发式诱导。

案例教学法通过案例贯穿软件工程各知识点的讲授,将枯燥的理论与实际紧密结合,变抽象为具体,帮助学生充分理解和掌握各知识点;通过组织学生参与案例讨论,让学生置身于模拟的真实环境中,扮演不同的角色,身临其境,真正从“工程师”的角度考虑问题,学习如何应用知识解决问题,是软件工程课程进行实践性教学改革的一个重要环节。

四、强调实践教学环节,合理安排课程实践

软件工程课的目的是使学生能够真正在大型软件开发活动中贯彻软件工程的思想,正确使用软件开发方法,提高软件质量。为加强实践环节,教学中可采用以下方法:

1.重要的基础概念和基本方法必须进行实践。例如,需求分析建模的重要工具数据流图、实体关系图和面向对象建模等,这些知识看似容易掌握,但做起来可能会漏洞百出。在讲述相关内容时,应及时安排实验,检验学生是否掌握基本工具的使用。

2.将CASE工具贯穿于所有的软件开发活动。例如,在介绍基于UML的面向对象软件开发方法时,学生即可通过RationalRose针对实际应用问题构造UML模型。

3.根据软件工程课程实践性强的特点,结合教学进度,开设综合性的设计型实验一《软件工程课程设计》。该课程设计与《软件工程》课程的理论教学内容紧密配合,同步进行,让学生通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养创造性的工程设计能力和综合分析、解决问题的能力。

课程设计的具体内容是:在教师指导下,按照软件工程的开发技术和管理规范,开发小组进行“应用软件项目开发”。课程设计过程中,开设1~2次“软件新技术讲座”,并提供丰富的“教学资源”,为学生提供帮助。其主要内容是按照“案例导向、项目驱动”的设计思想,模拟软件企业先进的软件项目管理和开发过程,进行“应用软件的开发实践”。以项目开发带动软件工程的理论学习,又以软件工程的理论来指导软件开发的实践。使学生得到较全面、系统和规范的软件工程实践的训练,培养创造性的软件设计能力和综合分析、解决问题的能力。

软件开发是智力活动,同样的软件项目,不同的软件开发组织和人员采用的方案,耗费的时间、资源、成本,软件产品的质量可能相差很多。一个重要的因素是软件开发组织和人员的创新能力和水平。因此,在教学和软件开发活动中应营造一个宽松、和谐的环境,努力培养学生的创新精神和创新能力。

五、重视教学和科研环境建设,建立软件工程实验室

有效地使用软件工具和软件开发环境,对提高软件开发质量、效率,保证按时交付具有十分重要的作用,应加大软件实验室的建设力度,重视流行软件工具和软件开发环境的有效使用,提高学生的软件开发能力。如面向对象的软件建模方法、数据建模方法、软件度量方法、软件测试方法、现代软件管理方法、开发工具Rational Rose、Power Designer等不仅教师要掌握,学生也要尽可能熟悉。要熟悉和掌握的软件工程工具包括:分析设计工具、程序设计工具、软件测试工具、配置管理工具等。将这些工具贯穿教学及其软件开发活动,既有利于教师提高自身的研发能力,也能够让学生接触和学习各种CASE技术,锻炼他们的软件开发能力。

软件工程实验室需要配备适用的软硬件设施和比较科学先进的软件开发工具,以便为软件工程的教学和研究创造『必要的环境与条件。通过实验室建设,不仅可以加强教学效果,还可以进一步提高教师的科研水平。

六、改革教学评价体系

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

理论知识的学习在学生以后软件项目开发过程中具有必要性和重要性,软件工程学习过程中要重视基础和基本技能的培养。学生要具有开发软件项目的能力,首先要熟悉掌握软件工程相关的理论知识,特别是对如何按照工程化的方法系统地设计、实现、测试和维护大型软件,内容包括:软件开发的基本理论、方法和技术;其次是了解目前已有系统、工具和技术。

(1)授课内容引入案例。教师在教学过程中引入与理论知识相匹配的实际案例,将比较抽象的软件工程原理、方法和技术转为具体生动的案例进行诠释,增强理论教学的艺术性、科学性、趣味性、形象性,使学生能够在课堂上深刻领会和理解软件工程的思想和方法,教学效果收到了事半功倍。

(2)适时更新教学内容。近几年,软件原理、方法和技术发展较快,许多适应时展的软件不断涌出,而目前的教材虽不断改版更新,但其更新的速度远远跟不上软件工程的发展。因此,教师在进行理论讲解时,除了要教授学生基本原理、技术和方法外,还要时刻关注新内容的出现。

(3)制作丰富多彩的课件。采用多媒体教学手段,在课件中插入图片、动画、声音、视频等多媒体元素,使教学内容更加充实和生动。

(4)课堂小组讨论。从小问题到大问题,让学生参与教学过程,有机会发表自己的看法。课堂讨论和分析试验,使理论有实践作支撑,抽象的知识变得看得见,用得着,大大激发学生学习的兴趣和自信。

二、实践教学内容多样化

软件工程理论的讲解是课程学习和技能培养的基础,而软件工程中许多理论内容如果只是教师讲解不加以实践,内容本身就会变得空洞和不可理解,例如:软件复杂性计算、软件可靠性与安全性的测量标准、结构化的实现方法等都需要学生动手实践才能更好地理解知识本身的内涵。掌握概念、原理、方法和技术,熟练应用软件开发实践中的方法和技术是“软件工程”课程对学生的培养目标。

(1)课程角色扮演。教师预先选择若干小项目,班内学生根据自己对项目熟悉情况选择项目名称,划分项目小组,每组人数不超过6人,每个项目小组成员根据自身特长选择不同软件工程角色,例如项目负责人、需求分析负责人、设计负责人、编码负责人、测试负责人和用户代表,进行项目分工。项目组成员按时完成自己负责任务,撰写相应文档。教师帮助学生分析和解决所遇到问题。在整个开发过程可以体现“学以致用”的思想,实现理论与实践相结合。

(2)课程设计。课程设计主要是针对高年级学生在学习软件工程课程时开展的专项训练。课程设计采取在学校内模拟IT企业环境下完成来自企业案例或开发一些具有应用价值项目或学校教师承担的开发项目的部分开发工作,也可以是学生自选项目,整个课程设计阶段严格按照工程实施的基本思想来实施。(3)加强校企合作。一方面经常邀请软件公司长期从事软件设计、开发和项目管理的工程师和项目经理,给学生讲解自己在软件设计、开发和管理中的经验,高质量软件产品需要经过怎样的开发过程,软件生命周期中标准文档如何撰写等相关内容;另一方面,利用寒暑假时间,让学生走出去,到软件产品的研发单位实地实习。

三、考试方式多样化

传统的考核方式已经不能反映学生实际软件开发的水平,也与多样化的教学模式不相匹配,为此多样化的考核方式才符合现实需求,主要包括:笔试、课后角色扮演、课程设计和项目总结。

(1)笔试占总成绩的35%,主要考查学生理论知识的掌握情况和学习效果。

(2)课后角色扮演占总成绩的15%。由教师根据每位学生在课后角色扮演中的具体表现进行打分,主要由3部分取平均值组成:1/3*(整个项目的成绩+自己负责完成的文档成绩+组内其他成员负责完成的文档的平均成绩)。

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

四、结束语

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

关键词:项目导向;软件工程;实战方案

中图分类号:G642 文献标识码:B 文章编号:1672-5913(2009)04-0052-02

1 教改背景

为了满足当前社会对具有丰富的实际软件项目开发经验人才的需求,许多院校适时地增加软件工程专业或软件工程方向的人才培养。即使对于原有的其他专业本、专科学生也需要增强实战项目训练的深度和广度,以增强学生对专业知识的学习兴趣和能力。目前,国内高校对于该类课程的传统做法是以教师课堂授课为主,学生被动地听课,教学内容一般是重理论而轻实践。即使设立实践课程,学生也只是编写一些规定的文档,其开发方式和手段基本上与软件工程的要求脱节。我们所采用的课程设计、毕业实训、毕业设计等实践类教学环节远远达不到我们的预期效果。究其原因主要有以下两个方面:

第一、软件工程是一门综合应用的学科,其本身的特点决定了它不是完全可以从书本和课堂上学会,理解和实践是非常重要的。学生不可能靠听讲软件工程的基本原理学会开发一个实际的软件,而是在实际的“动手做”和“真正练”中体会和掌握软件工程的思想许多教师本身缺少使用软件工程方法开发一个完整系统的经验,仅限于照本宣科地介绍上些基本原理,不能将当前软件企业的实际案例融入在基本原理的讲解之中,与实际的软件工程实践有明显的差距。

第二、我们在这些实践教学中主要以教师为主体,由指导教师来负责整个实践教学过程的管理和控制。学生只能机械地按照教师的安排完成自己的任务,使得学生认为就是在应付检查或者是为了简单的拿到学分。学生完全不能发挥自己的主观能动性,树立正确的学习目标。在课程设计、实训、毕业设计中学生很难完全自己动起来,更谈不上去从中获取实践经验和提高实践技能为将来的工作打基础。

第三、在实践环节的设计方面,我们完全按照课程来制定实践的活动安排。比如,一般根据当前的理论课程的教学进度,在学期期末或者在中间来设置一周或两周的时间进行课程设计等实践教学。这种制定策略完全脱离的实际工作技能需求,在软件开发中往往更需要整体项目开发能力的运用。而且只有整体项目的展示才能够把独立教学的理论课程揉捏到一起,形成一个实践项目的知识链条。

第四、我们教师往往使用虚拟课题作为课程设计、实训和毕业设计的题目,这样的题目本身就脱离了社会实际。这样的题目基本上不能提供软件开发中所需要的重要技能训练平台。从需求分析开始就让学生无所适从,根本不能把所学的理论知识运用到实践中,更谈不上锻炼系统的分析及设计能力。

2 构建先进的课程实践体系

方案一:软件工程工作室模式

以项目研发为主体、项目管理为主线,建立一支软件工程研发小组。由学生对该研发小组进行自我组织和管理,开展实际项目的研发。并且逐步形成一个软件工程领域知识的研究团体,与课堂理论知识形成互补。教师对项目的管理和技术方向及日常知识学习进行指导,为项目的成功完成提供必要的支撑。对于规模较大或实用性较强的项目,教师也同时参与到项目的研发,从协作的角度带动研发小组建立软件工程的开发理念和方法。

执行步骤:

(1)组建团队。公开招聘学习成绩优秀,有兴趣进行软件开发的专业学生进入研发团队。

(2)搭建软硬件环境。合理规划工作室空间,组建小型研发软硬件系统。

(3)制度化建设。建立合理的管理条例,初步形成一套行之有效的团队文化。以软件工程国家标准为基础,结合团队的自身情况建立项目研发标准和规范。

(4)确立项目及开发。虚拟一个软件项目,深入开展调研。组织研发小组进行以工程化为原则进行软件开发,在工作中不断学习和完善。

(5)规模扩大,为方案二的执行做准备。

方案二:公司化项目实战管理模式

校内建立虚拟软件公司,教师进入公司担任高级管理职务(CEO、技术总监、资深顾问、部门经理)。学生组建项目开发团队、培训中心、测试中心、质量控制中心、项目管理中心。

执行步骤:

(1)制定公司人员招聘、录用方案。根据不同的职位制定招聘条件,激励学生对理论课程的学习兴趣。指导学生根据自己的兴趣、个人条件、就业方向等方面有目的的培养自身的专业素养。使学生由被动的、教师灌输式的学习变为根据职业需求主动的、吸取式的学习。

(2)建立运行及奖惩制度。以实践学分和实践课程成绩作为员工的工资报酬,对每名员工由上级主管、团队成员、工作业绩考核(参与项目考核)进行评价。从企业的评价角度来考核,让学生认识到什么才是企业所需要和看重的。从评价中塑造学生的学习观、职业观、价值观。

(3)承接实际项目。定位中小企业,建立合作关系。在公司成立初期,甚至可以免费为小型公司、企业单位开发软件系统、办公系统、网站。客户负责提供调研条件、业务需求、评价、二次开发等方面的支持。学生从中可以得到职业素养的锻炼和提高,特别是在实际调研时与客户的沟通能力。收集业务数据资料,对客户业务流进行深入认识和提炼形成业务需求。根据调研记录进行整理形成报告。

(4)项目启动及实施。高级管理人员、项目经理、部门负责人进行项目论证,进行项目开发任务拆分。完全按照企业模式,由学生担任项目经理、软件工程师、测试工程师、项目管理人员。为了确保项目的成功运行,由教师担任技术总监、资深顾问随时监控、指导项目的运行和管、理。在此完全形成了以学生主导、教师引导的项目开发模式。学生在这种模式中不是按照教师的要求去完成自己作业式的任务,而是完全要按照软件工程的原则来工作。培养学生认识企业化的工作需求、管理模式和任务提交规格,利用课堂上所学的理论知识融合项目所需的实际技术能力进行自主的知识到生产的转化。

(5)实践教学与实际项目的有机结合。采用部分带动整体的实践教学模式,引导部分学生的实践教学环节有效的进入实际项目的任务活动中。对于某一门课程的实践教学不是僵硬的规定固定的时间,而是融合在项目开发过程中的某一环节。也就是说在某一项目开发过程中可能结合若干门课程的实践教学活动。这种新的模式能增强知识的有效性和扩展性,让课堂所学的理论知识在实践中真正的流动起来。

3 项目教学和实践探索式学习

软件工程的理论和方法是从众多软件开发实践中总结出来的,但是对于缺乏软件开发实际经验的学生来说,单纯地讲授理论知识往往使学生感到枯燥无味且难以理解。因此,我们收集和总结了一套完整的项目研发体系,将整个项目贯穿于理论知识的讲解中,使学生真正理解这 些理论知识,建立软件开发的系统化与工程化观念和质量意识。

(1)从分析项目开发中的挫折入手,例如需求分析失误、软件设计缺陷、客户沟通问题等,深入剖析导致软件失败的根本原因,从而引出软件开发的工程化发展方向,即以软件工程的原理和方法为指导,严格遵循软件过程规范和步骤。通过这些实例的分析,学生们逐渐改变软件开发等于编写程序代码的错误观念,开始认识到软件工程的重要性,有利于培养工程化的意识和观念。

(2)软件过程是软件工程课程中的一个重要内容,但是对于开发经验有限的学生来说,很难在头脑中将软件过程的抽象模型与实际开发联系起来,容易产生枯燥乏味的感觉。在教学过程中,我们从软件开发的实际案例中的软件系统,结合这些系统的特点和开发策略,讲解开发过程模型,学生在思考、分析和讨论过程中更好地理解和体会软件过程的基本概念,有利于在实际开发中运用这些过程模型组织开发过程。

(3)在软件项目管理方面,我们总结一些企业的最佳实践案例,诸如东软公司的人员组织与项目管理,使学生了解软件项目管理中人员、产品、过程和项目之间的关系,认识到项目管理在成本、人员、进度、质量、风险等方面活动的重要性,有利于学生在实际项目中开展团队协作和项目沟通活动。

(4)在软件工程技术方面,我们结合企业信息系统、教学管理系统、电力负荷预测系统等实际项目,论述需求工程、软件体系结构设计、用户界面设计、详细设计、软件测试和软件演化等内容,重点引入项目开发流程的开发思想及各个环节的技术手段。

在整个教学过程中,也应注重引入探索式学习策略,引导学生通过文献查阅以及与软件企业人员的接触交流,真正体会当前软件工程业界的真实案例和最佳实践。在常规的课堂教学之外,初期首先选择“方案一”建立软件工程工作室,利用有限的教学资源快速组建软件项目开发团队。教师利用“虚拟实战项目”引导学生进入项目研境,形成规范的项目研发标准。结合理论课程教学,针对实战项目进行需求性学习,构建一种“工作式”的学习模式。该方案实施后,学生对理论课的学习兴趣增强,提高了理论联系实际的能力。执行“方案二”后,彻底改变原有的实践教学模式。以“真实项目”为核心,从管理到技术方面广泛模拟公司化运作模式,让学生尽早转变角色。这种“真刀真枪”的实战模式极大的刺激学生的学习主动性,提高了学生的职业素养,丰富了学生的工作经验。

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

软件工程作为一门计算机专业的主干课程,除了传授书本的知识以外,还需要把一些思考问题、处理问题的思维方式传授给学生。计算机是一个发展速度非常快的学科,许多技术从出现到大规模应用往往只需几个月,教学可能远远滞后于企业的应用技术。在这样的大背景下,要求老师在讲授软件工程课程中,重点传授思想和思维方法。教师在通过案例教学等方式让学生在学到知识的同时,了解软件的开发方法,掌握软件工程的专业知识,还需要学生掌握软件工程所蕴含的哲学思想,使学生在以后的工程实践中能够运用哲学思想来解决未来软件开发的实际问题。(1)学生掌握软件工程中的哲学思想后,能够进一步加深对软件工程专业知识的理解。由于哲学是一切学科的基础和源头,我们完全可以相信,如果能够很好地理解软件工程所包含的哲学思想,将更容易使学生的软件工程知识融会贯通,比如分层分解和模块化组装的思想能有利于学生掌握数据流图模型的构建,有利于学生理解流程图为什么用一组图去代替一张图的方式,让学生很好地体会分层和组合的概念。(2)学生掌握软件工程中的哲学思想后,能学会灵活地处理问题,知道利用矛盾论等方法实事求是地解决实际问题。学好软件工程中的工程哲学理论,有利于学生在面临矛盾问题时明白“过犹不及”的道理,在实践中把握度,通过掌握软件工程的工具和方法,利用模型方式构建现实世界的逻辑模型,并利用抽象和分层的思想去简化现实世界模型化的难度,最终实现软件的设计。(3)学生掌握软件工程中的哲学思想后,能激发学生的想象力和创造力,促使学生主动探索新知识。软件工程是一门发展中的学科,只有不断地创新才能跟上IT行业的发展。软件工程是许多工程经验的总结,随着计算机新技术的大量运用和移动互联网的飞速发展,知识的更新速度不断加快,我们要通过开展工程哲学在软件工程课程教学中应用探索促使学生知道自己的不足,努力学习新知识,应用实践软件工程的理论,同时总结自己的经验来提升软件工程学科的内涵,为促进软件工程学科的发展贡献自己的力量。

2工程哲学理论在软件工程教学中的应用案例

2.1系统工程思想在教学中的应用在讲解系统的设计部分时,我们首先必须均衡各个模块之间的关系,综合考虑系统的各类影响因素,并根据划分阶段,按照一定的顺序组织开发,在实际操作中可能存在部分迭代的过程,但是总体会按照模型规定步骤逐步推进。在软件工程的教学中,我们要注意合理运用系统工程的实现,让学生掌握从宏观着手去思考软件的开发过程,合理运用软件开发模型,综合考虑软件开发的各种因素。比如学生在课程设计中容易犯直接编码的错误,如果没有设计而直接编码,当开发过程中引入新的需求的时候,就需要重新返工,这种重复工作在课程设计中比比皆是。

2.2矛盾论思想在教学中的应用在软件需求分析阶段,我们讲解传统的需求数据模型,提到E-R图的五范式。在数据库设计中,第五范式从设计的角度来讲是最好的设计,但是它也有弊病,范式级别越高,存储同样数据就需要分解成更多张表,“存储自身”的过程也就越复杂。随着范式级别的提高,数据的存储结构与基于问题域的结构间的匹配程度也随之下降,因此,当需求产生变化时,数据的稳定性较差。范式级别提高则需要访问的表增多,因此性能(速度)将下降。从实用角度来看,在大多数场合选用第三范式比较恰当,这个就是典型矛盾论的选择。在讲解到模块化时,我们指出模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能从而满足用户的需求,这样的设计并不是模块化越小越好,当模块小到一定程度时,单个模块的成本会降低,但是模块间接口成本会上升,因此要求设计者能够在矛盾论的指导下,选择最合理的平衡点,根据不同的情况、不同的项目具体问题具体分析。

2.3抽象模型思想在教学中的应用在讲解软件需求时,我们通过构建数据模型来分析系统的静态数据,通过数据流图来完成系统的功能模型的设计,通过状态图来完成系统行为模型的构建,善于利用模型能够大大节约我们的需求获取时间,提升软件设计的效率。在传统的模型基础上,软件开发过程进化到面向对象的时代,在这个时代,通过类模型的构建,进一步接近人类的思维,更加有利于软件需求分析师触及系统的本质模型。在软件的设计阶段,统一建模语言(UML)的出现,使得系统的模型搭建更加容易,这种图形化的建模语言,非常便于系统分析员和目标用户的需求交流,通过图形化的方式能够实现无障碍沟通,大大提升了需求分析的效能。同时,由于面向对象开发方法的持续性和无间隙,进一步提升了软件开发的效率。

2.4先整体,后局部的思想在教学中的应用讲解软件设计时,需要设计者能够从宏观上把握系统,只有这样才能很好地解决系统的构架问题。一个好的构架能够起到事半功倍的作用,通过滞后解决问题的方式,降低系统的开发难度,把大问题分解成小问题,然后各个击破,这样能降低系统的开发难度,减少系统开发失败的几率。在传统软件设计方法中,经常将软件的设计阶段划分为总体设计和详细设计,既关注宏观也关注微观,通过分步处理的方式来解决大问题。总体设计主要考虑系统各个模块之间的结构,不去考虑模块中算法的具体实施。在详细设计阶段,设计者主要考虑模块内部的实现机制,当模块设计完成的时候,整个系统的设计也就完成了。

2.5分层分解和模块化组装的思想在教学中的应用在软件流程图模型的构建中,我们通过一张高层次的系统流程图总体描述软件系统的概况和软件将提供的关键功能,然后分步骤逐步细化功能,最后画在单独的一页纸上。流程图模型通过分层次、分步骤的方法描述目标系统,这样的方式有利于阅读者逐步深入地了解一个复杂的系统。在软件工程开发模型中,可以将软件划分成一个个可重用的软件成分,通过提升构件的可复用性来降低软件开发的成本,IBM公司就是通过构建软件构件库的方式来完成对全球客户的定制化服务。这种组装的思想其实借鉴了其他行业的知识,把软件设计变成了和硬件生产一样的流水线式生产模式,这种思想归根到底就是分层分解和模块化组装思想的体现。

3软件工程教学的建议

(1)在软件工程课程的教学中,不能只局限于课本知识。软件工程课程是实践的理论,需要通过案例的方式将工程哲学的理论融入课堂,在传授专业知识的同时,传授哲学的知识,通过案例讲解让学生明白哪些地方是工程哲学在软件工程中的应用,让学生知其然,知其所以然。在讲解一些具有代表性的哲学理论的时候,老师要讲透。(2)由于工程哲学在软件工程教学的应用属于研究范畴,目前教材配套的习题基本没有涉及这个领域,要求老师能够设计一些开放型思维的题目,让学生完成作业的时候开动脑筋去思索,通过习题的方式巩固所学知识,加深对知识的理解。(3)教师带领学生参与工程实践,通过课程设计,上岗实习等方式让学生去参与实际项目,提升学生的动手能力,让学生在实践中学习。在软件开发的实践中,学生会提高独立处理问题的能力,也将有机会在实践过程中面对文中提到的哲学思想,这样更能加深学生对课程的理解,锻炼学生运用所学的哲学思想解决问题。(4)通过邀请哲学老师来有针对性地给学生讲解一些基本的哲学思想,让学生通过课外讲座的方式了解其他学科情况,弥补老师在教学中可能存在的对于哲学领域本身的不理解造成的误读,进一步扩宽学生的知识面。

4结语

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

关键词:应用型人才培养;软件工程;教学改革

作者简介:李秀芳(1979-),女,山东莒南人,鲁东大学信息与电气工程学院,讲师;宋丽华(1965-),女,山东济宁人,鲁东大学信息与电气工程学院,副教授。(山东 烟台 264025)

中图分类号:G642.0     文献标识码:A     文章编号:1007-0079(2012)05-0037-02

随着我国经济的快速增长,产业结构的不断调整以及高等教育向大众化教育的转变,对应用型人才的需求大量增加。同时,我国信息产业的快速发展对计算机类应用型人才培养提出了更高的要求。进行应用型人才培养的关键在于培养学生的实践动手能力,为此,在计算机专业课程教学中应该不断更新教学内容、教学环节、教学方法和教学手段,不断增强学生的社会适应能力和竞争能力。[1]因为计算机类毕业生就业方向的特殊性――主要从事计算机应用系统的开发、管理和应用,所以能够应用软件工程思想解决实际问题是计算机专业学生必备的技能之一。通过对“软件工程”课程的学习,可以提高学生综合运用知识解决实际问题的能力,对学生科研能力、工程能力以及创新能力的培养以及更高层次的发展都具有重要作用。因此,在当前应用型人才培养模式下,进行“软件工程”课程教学模式的探讨具有重要意义。

“软件工程”是高等院校计算机及相关专业的一门专业课,主要讲述了软件工程的基本原理、开发方法、开发工具以及软件项目管理。[2]20世纪80年代以来,国内各高校都陆续开设了“软件工程”课程,但在课程设置、教材内容、讲授重点、教学方法等方面都存在不少问题。在实际教学过程中,“软件工程”课程教学效果并不令人满意,也很难达到“软件工程”课程目的和预期教学效果。笔者结合多年“软件工程”课程教学经验,不断进行课程教学方法的改革,调整教学内容、教学方法和教学模式,加大实践教学力度,提高“软件工程”课程教学质量,逐步满足计算机专业应用型人才的培养要求。

一、准确把握课程教学内容

纵览软件工程发展的40年,软件工程学科经历了四个发展阶段。第一阶段称为传统的软件工程阶段,主要以结构化开发方法、Jackson方法为代表,系统开发分为问题定义、可行性研究、需求分析、概要设计、详细设计、编码和测试以及运行维护七个部分。[3]第二阶段是面向对象的软件工程阶段,主要是以Booch、OOSE等为代表的面向对象的软件开发方法;以对象为核心,进行对象模型、动态模型和功能模型的设计以及面向对象的实现。第三阶段是软件过程工程阶段,着重进行软件过程的控制和管理,如:项目计划、成本估算、质量保证以及软件配置管理等。第四阶段是构件工程阶段,着重于软件重用和基于构件的软件开发方法。随着CPU计算能力的快速提升以及并行运算技术和多核多线程技术的应用,使得软件开发模式也将发生相应的变化。在未来的软件工程领域,需求工程的研究与实施、领域工程、敏捷过程、持续集成以及配置管理等方面都将成为研究和应用的热点。

在“软件工程”课程教学中,教学内容应该与时俱进。首先,应该摒弃以传统软件工程作为教学重点的老式教育,重点讲述面向对象的软件开发方法以及基于构件的开发方法,不断调整教学内容,适时增加UML建模语言、RUP、极限编程、SOA等当前流行技术以及其他新技术,在保证学生掌握核心思想的同时,不断拓宽他们的知识面,完善知识结构,增强学生的竞争能力。其次,随着新技术的不断引入,教学内容将更加繁多。所以,对教学内容进行提炼是非常必要的。通过分析各个内容之间的关联关系,凝练成各个知识点;然后按照计算机应用型人才培养目标选择知识点进行重点讲解。另外,国内的大多数教材在内容取材、案例的选择和图示符号的描述等方面存在一定的问题,涉及先进技术的介绍较为缺乏或者介绍很肤浅。在实际的教学中,不能单纯地依赖某本教材,可以通过综合多本教材尤其是国外的优秀软件工程教材,取长补短,及时调整教学内容。否则,教学内容将严重滞后于技术的发展。

二、灵活运用多种教学方法

在“软件工程”的教学过程中,如果只是采用单一的教学方法,时间一长,学生很容易产生厌倦的情绪,从而影响教学效果。考虑到“软件工程”课程的理论性、实践性和工程性的特点,可以综合运用案例教学法、项目驱动式教学法和启发式教学法等多种教学方法,充分发挥各种教学方法的优势,以更好地提高教学质量。

1.案例教学法

案例教学法是在教师的指导下,根据教学目的、教学内容的需要,通过对典型案例的剖析,引导学生分析问题和解决问题的一种启发式的教学方法。它是一种亲验性的教学方法,以学生为主体,让学生主动观察、分析和解决案例中存在的问题。与传统的灌输式教学法相比,案例教学法的目的在于培养学生分析问题、解决问题的能力以及创造性思维能力。

在软件开发的各个阶段都可以借助案例说明如何开展各种活动。在案例的选取上要下功夫,尽可能地选取学生容易理解又能够涵盖教学内容的案例。不管是讲传统的软件开发方法还是面向对象的软件开发方法,选取的案例应该是一致的和连续的。通过学习,学生可以掌握一个具体的系统从定义、开发到实现的整个过程。

在讲解结构化软件开发方法时,选取了学校正在使用的图书馆管理系统,分析该系统的数据需求和功能需求,然后采用面向数据流的设计方法设计其体系结构。在讲解面向对象的软件开发方法时,选取学生熟悉的ATM自动取款机系统,通过详细的需求分析去确定系统的对象模型、功能模型和动态模型,然后进行类、对象、关联以及服务的设计。在整个教学过程中,案例教学法起到了很大的作用,它使教师的讲授更加清晰,学生的理解更加深刻。

2.项目驱动式教学法

项目教学法是以实际项目为实践教学对象,将知识点融入项目中,教师以一个典型项目为依托,将项目分解成一个个任务案例进行剖析。在教师的指导下,围绕教师所下达的项目要求,学生完成相关任务模块,并最终将一个个任务模块“组装”成一个完整的项目。任务驱动教学法是一种建立在建构主义学习理论基础上的一种教学方法。它将教学场景设计成学生感兴趣的任务模块,以完成具体任务模块为主线,把知识点贯穿于任务模块中;学生在一定的场景下借助教师的引导和同学的帮助,利用必要的学习资料,完成所布置的任务模块,通过意义建构方式获得知识。

在“软件工程”的实践教学中,可以采用项目驱动式教学方法,即综合项目教学法和任务驱动教学法。[4]学生自由划分成若干个小组,不同的小组选择选择不同的项目。以“项目”为“主线”,将课程知识点贯穿于项目的每个任务模块中,在教师的引导下“驱动”学生完成任务。通过模仿课堂教学中所讲的案例,完成每个任务模块,再将每个任务模块“组装”成一个完整的项目。在这个过程中,学生的学习活动是在项目开发的各项过程和活动的驱动下完成的。通过这种方式使学习过程成为每个学生都参与的创造性实践活动,使学生在实践过程中理解和把握知识技能。“项目驱动”实践教学法激发了学生的成就感,培养了学生的团队协作精神,能充分调动学生的自主学习积极性,可显著提高实践教学质量。

3.启发式教学法

在“软件工程”的课堂教学中,应该经常采用启发式教学方法,给学生独立思考的机会,尽可能地避免满堂灌。软件工程中的很多理论都可以采用启发式教学方法。如:在讲授软件过程开发模型时,讲完每种开发模型的基本原理之后,不直接给出模型的优缺点,而把问题留给学生。在学生思考的过程中不断地给以引导,总结出每种模型的优缺点。之后再引导学生根据每种模型的原理特点分析该模型适合哪种类型的软件项目开发,从而对各个模型进行比较学习。在整个过程中,教师需要针对学生的反应进行正确的引导,对学生的回答进行总结和完善。学生参与其中,可以很好地调动学生的学习积极性和主动性,加深对知识的理解和掌握。

三、强化实践教学环节

“软件工程”课程的实践性特点决定了在教学中应该重视实践环节。目前,大多数高校“软件工程”课程的实践环节主要由两部分组成:平时实验和课程设计。而平时实验学时普遍较少,所以对于实验内容需要精心设计。而且实验课一般一次只有2学时,如果实验任务过大往往完成不了,这时往往需要多次实验才能完成,也就是需要跨越多个星期,失去了实验过程的连续性。对于不少学校在平时实验中安排应用系统的开发,笔者认为这种实验设计不够合理。平时实验的目的应该是通过实验加深对理论知识的理解、消化和应用,同时为课程设计奠定一定的基础。为此,我们在平时实验中设计了各种工具的使用,如:数据库建模工具Power designer、UML建模工具、软件项目管理工具Project以及软件测试工具等等,同时结合具体的案例,加深学生对相关理论知识的理解和应用。

课程设计环节则是依托学生比较熟悉的图书馆管理系统、学籍管理系统等应用系统,3~5人一组,自由组合,合作完成。所有小组针对同一个系统进行竞争性开发(如果学生人数过多,可以分成几个大组,每个大组一个题目)。根据每个小组的需求分析和设计结果从中选择最优方案,将模块实现任务分配到各个小组,各个小组负责编码实现和测试相应模块。在模块开发完成后,小组之间开始进行模块双向选择,并将所选择的模块与自己开发的模块整合成为一个完整的系统;最终将各自集成的完整系统进行包装和演示。具体实施时,需求分析、软件设计部分可以随课堂教学内容同步开设,而编码测试阶段可以集中完成,在每个阶段学生都要提交阶段性成果(需求规格说明书、总体设计和详细设计说明书、测试说明书等)。由于在课程设计过程中,采取小组答辩、汇报以及相互打分的形式,可以在一定程度上激发学生的学习和实践热情,同时对学生自主学习能力、应变能力、团队协作能力、动手实践能力的培养都起到了重要作用。通过课程设计,使“软件工程”教学达到理论与实践相结合、知识与能力相结合,既培养个体的程序设计与实现能力,又强化了学生对团队协作的工程规范和专业知识的综合运用。

除了传统的实践教学环节,还可以利用讲座、培训、校企合作等方式不断充实实践教学环节。通过邀请IT企业的技术人员来校举办讲座和培训,让学生从中了解软件开发人员的职责,体验软件开发的实践过程,有利于调动学生的学习兴趣,明确未来的职业目标。目前,学校已经建立了多家校外实习基地,针对计算机相关专业,主要涉及程序设计语言以及应用系统的开发。通过实习和培训,学生强化了学习内容,深入理解了软件工程中的各个环节,充分领悟了软件工程知识在软件开发中的作用以及团队协作精神的重要性。

四、综合运用系统演示、多媒体、黑板等多种教学手段

案例教学法几乎适用于“软件工程”课程所有内容的教学。从需求分析到编码测试阶段讲解案例时,如果能够适时地进行系统演示,对于学生的理解会有很大帮助。如果在需求分析阶段只是针对某个应用系统的需求陈述进行分析,学生很难将其和未来的可运行的应用系统关联起来。此时,采用原型开发模型是一个很好的选择。可以先演示一个包含基本功能的系统,让学生分析和体验该系统的基本功能,然后在此基础上再引导学生分析还需要补充哪些功能,哪些功能还需要优化,最终确定所开发系统的功能。在这个过程中,系统演示起到了重要作用。

多媒体呈现的信息量大、丰富多彩,尤其是可以借助于动画、音频和视频等多媒体信息展示课程内容,受到了很多教师的青睐。同时,在课程中涉及到大量的图例,如果采用板书也会占用大量的课堂时间,所以在讲解这些内容时采用多媒体教学是比较合适的。正因为多媒体的诸多特点,对多媒体课件的制作、课件的利用以及讲解过程都提出了较高的要求。教师应该精心制作课件,讲解时不能照“片”宣科,讲解速度不能太快,否则学生容易疲劳,失去学习的兴趣,从而影响了教学效果。而对于教学中的细节问题还需要借助于黑板,黑板的使用使得学生能够紧跟教师的思路,而且讲解内容会更加清晰。

总之,在实际教学中应该综合运用多种教学手段,充分发挥各种教学手段的优势,丰富课堂教学过程。

五、课程考核多样化

“软件工程”是一门实践性很强的课程,所以课程考核的重点不是理论考试成绩,而是学生能否在软件开发的过程中贯彻软件工程学的思想和方法。因此,应该加大实践考核(实验和课程设计)的比重,对于在实践中积极参与和思考、表现良好的学生,教师给予充分的肯定和加分奖励。在这种情况下,可以充分调动学生上课的积极性和主动参与性,从而提高了学生运用知识分析问题和解决问题的能力,培养了他们的创新意识。在笔试题目中综合性和设计性题目应占主要部分,同时可以增加阐述个人观点、现象分析等让学生自由发挥的题目,考查学生对所学知识的理解和运用能力。

六、不断提高教师自身素质

教师自身素质的高低在一定程度上影响着课程的教学效果。如果教师的知识面过窄、知识更新不及时,在教学过程中很难进行扩展,学生也很难通过教师讲解了解到软件工程学科的前沿知识。在日常教学中,教师应该阅读大量相关书籍,综合多种教材,取长补短,精心备课,及时更新自身的知识储备,紧跟学科发展的前沿。同时,可以通过申请进修或参加企业或公司培训,提高自身的业务水平;参与课题研究或项目开发,提高自身的科研水平。知识丰富了,水平提高了,上课自然会游刃有余。

七、结束语

经过近几年的“软件工程”课程教学改革和实践,本课程的教学取得了较好的效果。从学生反馈的信息来看,普遍认为:课堂教学内容丰富,能够理论联系实际;通过典型案例将抽象的软件工程方法具体化、实例化,易于接受和理解,教学效果良好;在实践教学中通过项目开发的实训,体验了就业职位角色,明确了工作岗位的技术能力要求,为未来就业提供了一次项目演练的机会。通过本课程的学习,学生的学习主动性和实践动手能力有了很大的提高,在后续的毕业设计中很多学生都能够较好地运用软件工程的思想和方法完成系统的开发。

虽然教学改革取得了一定的成果,但在课程案例的选择和建设、软件工程实验平台的搭建、软件工程教材的编写等方面仍然需要进一步改革和探讨。在今后的教学工作中,在保证教学内容的实用性和先进性的同时,力争通过加大校企合作力度、开发大型项目模拟环境等途径为学生创造更好的学习和实践环境,进一步提高学生的实践动手能力,以满足计算机应用型人才培养的要求。

参考文献:

[1]杜娟,衣治安,刘志刚.计算机类专业应用型人才培养一体化教学模式的研究[J].中国电力教育,2011,(8):38-39.

[2]张海藩.软件工程导论(第五版)[M].北京:清华大学出版社,2008.

软件工程课程设计总结范文第7篇

关键词:学科竞赛;课程设计;计算机学科;创新实践

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)12-0043-03

大学生创新实践能力培养是高校人才培养中的重要工作之一[1],各高校师资和学生水平不同,培养目标也不完全相同,所采取的方法也各有千秋。西南交通大学曾采取制订创新人才培养计划、建设创新人才培养基地、培养造就教学创新团队等措施[2];武汉大学提出计算机学科拔尖创新人才小班制培养方法[3]。课程设计能够培养训练学生综合运用知识解决复杂问题的能力,学科竞赛可为优秀人才脱颖而出创造条件,沈阳工业大学计算机科学与技术专业采取了二者相结合的方法提高学生创新实践能力,取得了一定的效果。

一、计算机学科竞赛简介

近年来各个学科都陆续出现了不同类型的学科竞赛,和计算机学科相关的竞赛分为3类,分别是算法类、软件应用开发类和硬件开发类。其中算法类竞赛的典型代表是ACM国际大学生程序设计竞赛,可以提高学生的计算思维能力[4,5];软件应用开发类包括中国大学生计算机设计大赛、普通高等学校本科大学生移动应用开发大赛、全国大学生信息安全竞赛[6,7]、中国软件杯大学生软件设计大赛等;硬件开发类代表是全国大学生电子设计竞赛[8,9]。上述竞赛由国家教育部门、地方政府和相关公司多方主办,竞赛项目涉及本学科的研究热点和前沿技术,对提高学生实践能力并激发创新精神有很大的帮助。但由于多数学生缺少参赛经验,缺乏自信,导致学生积极性不高,参赛学生人数并不多,失去了提高自身能力的非常好的机会。如何将学科竞赛引入到日常教学中,让更多的学生受益,而不是仅局限于极少一部分学生,培养学生创新实践能力是值得探索的课题。

二、计算机专业的课程设计现状

课程设计是实践教学中的重要组成部分,是对理论教学的一个有益补充,是对学生进行的比较全面、系统的综合性工程设计训练,是培养学生实践动手能力、创新能力和综合素质的一个主要环节,不同的课程设计有不同的方法,例如中山大学提出计算机信息类综合实验课程设计方法[10],湖南大学提出基于ISP技术的嵌入式系统课程设计实施方法[11]。教育部高等学校计算机科学与技术专业教学指导分委员将计算机科学与技术一级学科本科专业分成四个方向,分别是计算机科学、计算机工程、软件工程和信息技术,对各个方向分别给出了6个课程设计范例[12],见表1。

不同学校计算机科学与技术专业特点不一样,开设的课程设计也不完全相同,我校根据教学目标和学生特点从第2学期至第7学期各有一门作为单独课程开设的综合性课程设计,分别是计算机程序设计实践、计算机组成原理课程设计、操作系统课程设计、数据库与软件工程课程设计、算法课程设计及专业课程设计。传统的课程设计存在题目比较陈旧、学生合作意识差、成绩评定主要由教师决定等问题。

三、学科竞赛和课程设计融合方法

课程设计是学科竞赛的基础,学生只有掌握了相应课程知识,才能有机会参加学科竞赛,竞赛能够使学生进一步巩固所学知识,具有更多的创新思想。例如数据结构和算法课程设计与ACM国际大学生程序设计竞赛相互促进。

下面以我校《数据库与软件工程课程设计》为例,说明学科竞赛与课程设计相融合提高学生实践创新能力的实施过程。该课程设计是学习完《数据库原理》和《软件工程》课程后实践性和综合性比较强的实践教学环节,要求学生能在3周时间内将理论知识加以综合运用,开发一个小型信息系统。

1.团队成员取长补短的优化组队原则。计算机学科的竞赛通常以团队的方式组织,如果团队成员能充分发挥各自的优势,整体的力量将会更加强大。组长要负责总体协调,需要有良好的组织协调能力;技术人员要负责解决关键技术问题;文档编写人员要具有较好的文字表达能力;答辩人员要具有较好的语言表达能力。这样的组合方式可以使学生互相学习别人的长处,弥补自己的不足。所以在课程设计中我们也采取这种优化组队方式,学生根据自身情况自愿组合,教师考查各组学生情况后,再进行适当调整。

2.精选历届竞赛题目或自选创新题目。题目确定有两种方式:一是从以往的计算机学科竞赛中挑选出符合课程培养目标和学生水平的竞赛题目;二是鼓励学生根据兴趣爱好自己确定题目,教师把关确认题目的合理性、实现的可行性和工作量等问题。要求每队一题,题目不能相同。

3.项目组给出切实可行的设计方案。学生根据所选题目通过网络和书籍查找相关资料,结合所学理论知识对课题进行仔细分析,同时需要了解软件用户实际需求,可以把同学或教师当作用户,进行需求调研,在此基础上提出切实可行的实施方案,并进行方案论证,包括需求分析、总体设计、详细设计、测试方案等几个方面。

4.组间互评,论证设计方案的合理性与可行性。每个小组以答辩的方式进行方案汇报,教师和其他小组成员一起对方案进行分析、评价和指导。组间的互评目的是调动学生的积极性,让其有主人的感觉,他们既是参赛者又是评委,这样大家可以取长补短,意见也更加全面。

5.以团队为单位的项目研发与测试。即设计方案的具体实施阶段,根据设计方案进行编程和系统测试。教师定期为学生提供技术支持,和组内学生一起讨论,对学生出现的普遍问题,进行讲解,为学生提供解决问题的新思路。

6.以团队为单位的项目展示与组间评价。学生完成整个项目后,各个小组将撰写项目报告,提交最终作品并进行答辩,接受包含指导教师在内的验收教师组和学生组间互评。这个环节主要考查学生对基础知识的掌握程度、项目研发水平、总结表达等能力,观察团对成员实践过程中在设计、编码、测试等方面的亮点。此过程主要强调以团队为单位的评价,按照科技竞赛比赛规则,通过比较各组作品以及答辩过程评出小组等级。

7.以个人为单位的组内成员互评、自评。每个学生在小组内发挥的作用和大小不同,贡献也不同,课程设计最后的成绩也不同。小组成员要根据每个人的实际情况公正地给出每个成员(包括自己)在小组中的位置,清晰地意识到自己及他人在组中发挥的作用,互相了解优势和劣势。

8.选拔优秀学生团队和作品。评选出优秀作品,在教师指导下进一步进行完善,准备参加计算机学科相关科技竞赛。

四、学科竞赛和课程设计融合成果

学科竞赛和课程设计的融合,可以使双方都受益,二者的关系如图1所示。

采取上述方法进行的学生培养,既可以使优秀团队脱颖而出,为参加上一级比赛做好准备,使其能在激烈的竞争中取得好成绩,提高学校参与竞赛的人数,提高获奖数量和等级,也可以使绝大多数普通学生在各个方面得以锻炼,提升专业能力,如方案设计能力、系统开发能力和集成调试能力等,提升非专业能力,如表达能力、文档撰写能力、PPT制作能力和组织能力等,并让其感觉到只要通过努力并做好充分的准备,竞赛的难度是没有那么大的,提高参赛的积极性和自信心。

中国大学生计算机设计大赛由教育部高等学校计算机类专业教学指导委员会、软件工程专业教学指导委员会等联合主办,包括软件应用与开发类、软件服务外包类等小类,我校在2012年只报名参加了一项省赛,2013―2014年,我们将课程设计和中国大学生计算机设计大赛相结合,取得了如下成绩,如表2所示。可见学科竞赛和课程设计的融合,促进了参赛数量和获奖等级的提高。

五、结语

计算机学科竞赛和课程设计相融合的方法不仅改变了传统课程设计模式,而且改变了传统科技竞赛校内推荐方法。传统的推荐模式是学生接到竞赛通知后,自行组队参加比赛,存在的问题是竞赛准备时间短、作品不完善,另外没有经过训练的学生直接参加竞赛,对比赛的规则和要求没有经验,获奖的概率小,获奖的等级低。通过课程设计系统地创新性培养,提前选拔优秀团队并进一步重点培养代表学校参加校外竞赛,可增强学生的核心竞争力,提高学校的竞争力。在课程设计成绩评定时综合了组间评价、组内成员互评和自评,改变了传统的以教师为主导的评价方式,提高了学生学习的积极性,同时促进了组内和组间学生的交流合作。

参考文献:

[1]孙莉,朱国进,石秀金.计算机学科创新人才培养模式的研究与实践[J].计算机教育,2010,(7):15-18.

[2]杨燕,张翠芳,曾华.国家创新体系下计算机学科创新人才的培养[J].计算机教育,2009,(19):21-23.

[3]余P,王丽娜,代永平.计算机学科拔尖创新人才小班制培养[J].计算机教育,2014,(15):31-33.

[4]杨松涛,李晶.ACM/ICPC程序设计竞赛中的计算思维培养[J].黑龙江高教研究,2014,(10):174-176.

[5]琚生根,廖勇,周刚,等.ACM竞赛与实验教学创新[J].实验技术与管理,2009,26(5):125-126,131.

[6]崔杰,仲红,石润华.依托信息安全竞赛培养大学生创新实践能力[J].计算机教育,2013,(7):92-94.

[7]李雪梅,曹晟,周世杰,等.以信息安全竞赛为平台培养学生创新能力[J].实验科学与技术,2012,10(6):320-322.

[8]刁鸣,王松武,李海波.大学生电子设计竞赛的实施与思考[J].实验技术与管理,2010,27(9):127-129.

[9]蒋力立,彭端,杜宇上.电子设计竞赛培训的探索与实践[J].实验科学与技术,2015,13(1):156-159.

[10]王变琴,刘树郁,许海州,等.计算机信息类综合实验课程设计与实践[J].实验技术与管理,2015,32(4):213-215.

软件工程课程设计总结范文第8篇

关键词:软件工程;项目教学法;改革与实践

中图分类号:G642 文献标识码:B

软件工程是计算机科学与技术及相关专业教学计划中一门重要的专业必修课,是指导计算机软件开发与维护的一门综合性课程,是一门实践性很强的课程,各高校的计算机专业均开设这门课程。通过本课程的学习,使学生了解和掌握软件工程开发的技术和方法,具备作为软件工程师所需的专业能力,为从事计算机软件开发和维护提供方法上的指导。同时,软件工程的研究除计算机软件本身外,还涉及众多其他的领域,如管理科学、心理学、经济学、人机工程学等,因此,它也是一门综合性学科。进入新世纪,软件工程已经由最初的一个学科方向发展成为以计算机科学技术为基础的多学科交叉学科,在当今的信息社会中占有重要地位。如何组织好软件工程实验性教学,对于培养创新型合格的软件人才具有十分重要的意义。

1软件工程教学存在的问题

长期以来,我们培养的计算机专业的学生存在着“什么都学过,却什么都不会”的尴尬局面,专业教育、教材与应用需求严重脱节。事实上,学生就业难并不是就业市场不需要计算机人才,其根源还是计算机教学的现状所致。传统的“软件工程”课程虽然有实验教学的要求,但一般只是停留在组织学生编写软件项目若干设计文档这个单一环节上。然而,由于教育过早和长期的文理分家,导致理工科学生的文档编写是个“软肋”,他们也不感兴趣。此外,由于教学时间有限,要真正完成软件工程各阶段文档的编写,事实上也没有可能。今天,软件工程教学还面临着计算机学科发展规范所提出的更高的质量要求,同时也面临着大众化高等教育背景下所带来的客观问题。

因此,迫切需要对软件工程课程的教学体系进行工程化改造,逐步建立工程化实践教学体系,着力培养学生的工程化开发能力和职业素质,进而形成一个融基础理论、实验教学、工程实践为一体的整体化培养机制,让学生的基础知识、科学素养、专业知识、创新能力、工程能力和职业素质都得到全面均衡的发展。

2软件工程项目教学法的改革与实践

软件工程强调采用工程化的方式开发和设计软件,要求培养学生能胜任研究、分析、开发、设计、生产、测试、管理、咨询、培训等多种角色,使学生熟练掌握软件工程知识与技能,具备作为软件工程师从事工程专业所需的专业能力。随着高校扩招,教学规模迅速发展,传统的计算机教学模式在实践环节上的缺乏与不足,直接影响了计算机课程的教育教学质量,特别是对于像软件工程这种综合性、实践性很强的课程,如果没有一整套科学、合理的实验教学方法,就不可能培养出具有创新能力的合格人才。因此,切实加强软件工程课程的创新与改革至关重要。

按该课程的特点,实验内容包括软件开发的两大方法学的专题训练,即结构化(生命周期学)的方法学和面向对象的方法学,以平时实验和课程设计相结合,设置一些实验项目,要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。以项目作为实验环节的主线,随着课程进展布置任务,从项目开发的准备工作、系统分析过程、系统设计过程、软件测试到系统实施,结合所学习的理论知识,完成项目的开发。同时,依据国家《计算机软件开发规范》,撰写规范的技术文档。因此,主要从以下几个方面对软件工程教学作了改革与创新的尝试:

(1) 树立工程化能力培养与基础理论教学、专业能力培养并重的教学理念。

把工程化教学作为人才培养的核心任务之一,通过全面改革软件工程专业的人才培养模式、调整课程体系、充实教学内容、改进教学方法,建立工程化实践教学体系,在教学过程中全面体现工程化能力和职业素质培养的思路,进而形成了一个融基础理论、实验教学、工程实践为一体的整体化培养机制,让学生各方面的能力都得到全面均衡的发展,以适应现代软件产业的需求。

(2) 设置工程化教学阶段和企业实习阶段。

把工程化素质培养作为学生全培养期中自始至终关注的主线。在工程化教学阶段,一方面独立设置了多门以培养学生工程能力和职业素质为主的学分课程;另一方面对操作系统、数据库系统、多媒体技术等十多门传统课程教学内容进行工程化改造,充实工程教学内容,引入实作业。在企业实习阶段,建立跨度为半年的全时制企业实习制度,在著名软件企业中设立实习基地,通过真实的企业氛围和开发环境,进一步培养学生的工程能力和职业素质。

(3) 实验课程以平时实验和课程设计相结合,设置一些综合实验项目。

随着课程进展布置任务,通过调查研究、可行性研究、需求分析、概要设计、详细设计、编码、测试、维护(版本升级)及技术文档的编写,结合所学习的理论知识,完成设计。实验内容应覆盖软件工程学科的各个主要环节,覆盖软件生存周期的各个阶段,使学生通过实验加深对学科理论知识的理解。但也要避免“喧宾夺主”,在积极发展实验教育的同时,要保证必要的理论教学水平。必须充分重视和精心设计实验内容,要有可操作性、趣味性和适当的难度。可操作性保证学生都能完成实验,从而促进学生学习信心的建立,在一定程度上能减少学生抄袭的理由,克服实验数据普遍抄袭的弊病;趣味性体现“寓教于乐”,以提高学生完成实验的积极性;而适当的难度有助于激发优秀学生进一步钻研的斗志。

项目来源为教师科研课题、实践基地课题、校内应用课题和自选课题。选题的原则为:新颖、实用和规模适中。新颖代表计算机发展的主流技术和应用范畴。实用代表所选题目一定是具体单位或用户要求开发的,而不是由学生随意杜撰和随意想象的,其目的就是保证学生在软件工程实践过程有实际的场景环境(主要包括用户、领域专家和工作环境),这对于高质量的软件工程实践过程具有质的保障。

(4) 软件工程实验要求学生采用“项目小组”的形式,结合具体的开发项目进行设计,班级按项目小组进行分组,每组不得超过4人。每个项目小组选出项目负责人或项目经理,由其召集项目组成员讨论、选定开发项目。

(5) 学生分工合作,学习软件开发小组的组织和管理,将项目开发各阶段的任务明确,熟悉软件开发环境,培养团队精神,共同完成该项目的设计任务。项目中的每项任务要落实到个人,实验在规定的时间内,由学生独立完成。学生在学校机房的机器应固定下来,并安装好相应的软件,没有特殊情况不应缺席。

(6) 配置开放的实验环境:实验环境是保证实验教学活动和质量的基本条件,对于软件工程课程显得尤为重要。

项目开发不是简单程序设计,而是软件工程全过程的综合性实践,应该建立和配置相应的软件工程实验环境或实验中心。实验环境或实验中心的建设重点要放在软件工程环境和自动化开发工具的配置上。应该清楚,高层次的实验环境应是高素质人才培养的物质基础。实验环境还应该是开放性的,这有利于在学生实践过程中建立一种项目开发、科学研究和创新思维的综合效应。

(7) 分组讨论,集体交流

分组讨论是项目教学中非常重要的环节,本质上是一种概念或想法的交流。围绕项目的重点,难点,疑点,进行讨论、辩论和争论。每个学生可以自由的抒发己见、相互启迪、互相借鉴,重点是想法的交流。要求每个学生简要介绍自己对软件开发所做的分析设计,并提出自己对该软件开发流程的看法,供大家讨论与切磋,可以按照项目中所提出的问题一个一个讨论。在教师的引导下,让学生进行课堂发言,进行全体学生的交流。本阶段讨论主要解决两个问题:①小组讨论没有达成共识的问题;②按照教学目标,有意引导学生掌握软件工程的生命周期法各阶段所做的具体工作以及进行相关工作的必要性。

为了使分组讨论有效地开展,教师要做好充分的课前准备。除了熟知项目陈述的事实、观点外,还要谙知项目反映或蕴涵的原理、规则等知识,以便引导学生概括出来。要认真学习研究项目后给出的教学指南,具体拟定出课堂教学计划,这要求教师认真思考回答以下问题:希望课堂上发生些什么?如何引导这些情况的发生?讨论如何开展?时间如何安排?自己扮演什么角色?是先得结论再分析,还是相反?并对课堂讨论中可能出现的情况做出预测。教师还要依据课程目标、项目目标及教学计划的具体安排重点分析以下方面的内容:项目中反映的那些重要论题、项目中反映的情况发生的根源、项目中所反映的而学生可能设想不到的情况等。在讨论掌握上,教师要力保讨论沿预期的轨道进行,把讨论引导到问题的解决上去,并引导出与论题相关的理论知识,力争班上每个学生都至少有一次发言的机会,切实做到有效参与。

(8) 总结归纳,消化提升

总结归纳是软件工程项目教学的最后阶段,要求学生针对每个项目写出学习报告。该报告中包含学生在阅读项目中所得到的具体收获;通过分析与设计软件,提出自己所解决的实际问题;对理论上软件工程概念和项目中的实际是否一一相对应;以及对软件工程仍然存在的困惑。通过反思进一步加深对项目的认识,真正作到理论和实践的相结合。

项目教学中,师生都要注意角色转换,如果学生仍然热衷于将自己置身于教学过程之外,只做一名旁观者,项目教学也就失去了它的价值。学生只有真正地深入项目、体验角色,才会有项目情境的“再现”,项目教学的价值才能被体现。而教师在教学过程中也要不断变换自己的角色,可充当监督员,激励启发学生,监督项目分析、讨论情况;可充当示范员,向学生演示、讲解、分析项目中的事实、图表、材料等;可充当主人翁,制定下一步的工作计划并在实施中起主导作用;可做仲裁,解决各种争端;可充当交警,使讨论回到预定的轨道上来,等等。

3项目教学法的效果

软件工程项目教学法已在我院计算机专业学生中进行了全面实施,效果显著,提高了学生按照软件工程的原理、方法、技术、标准和规范进行软件开发的综合能力和软件项目的管理能力,学生的综合素质明显增强。特别在基础技能、团队协作、资料收集、人际交流、项目规划几个方面明显具备较强的能力。

客观地说,作为第一次开发实际软件系统的学生,要在较短的时间里开发出各方面都达到真正实用要求的系统是难以完成的。实践的意义更主要是让学生经历完整的过程,体验各阶段方法和工具的应用,还有锻炼除技术以外的多方面能力(如需求分析时如何与用户交流、文档写作、成员间的协作与管理,等等),以提高其综合素质。

4结束语

今天,软件工程已经由最初的一个学科方向发展成为以计算机科学技术为基础的一个新兴交叉学科,软件工程的教学面临着计算机学科发展规范所提出的更高质量要求。计算机技术的迅速发展和高端软件人才的严重匮乏,让我们面临新的挑战。软件工程项目教学法改革还需要在以下几方面继续努力:

(1) 软件工程教学改革体系应在培养学生工具的使用与实验技能、工程设计与实现能力、评审与测试能力、团队协作与沟通能力、过程管理与控制能力等方面下更多的工夫,作更多的努力。

(2) 随着软件产业的发展和计算机应用的普及,系统测试、维护的重要性会更加突出,软件工程实践教学应在这方面有所准备,有所侧重。

(3) 软件工程教育应当给予学生“工程”的概念,以软件生命周期为主线,构建知识结构,将科学与工程有效结合,实施技术与管理的能力和素质培养。

参考文献:

[1] 张海藩. 软件工程导论[M]. 北京:清华大学出版社,2003.

[2] 郑红. 基于建构主义的软件工程教学方法探索[J]. 计算机教育,2008(10):10-14.

[3] 林松. 高校《软件工程》课程教学与实践探讨[J]. 福建电脑,2008(1):33-36.

[4] 林惠强,刘财兴,林丕源.“软件工程”课程启发式教学的研究与实践[J]. 实验室研究与探索,2008(5):8-11.

[5] 丁琼. 软件工程课程教学改革与思考[J]. 华东交通大学学报,2007(z1):76-80.