软件工程课程总结范文

时间:2023-03-15 19:35:50

软件工程课程总结

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

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

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

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

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.

[5] 周苏,王文,张泳等编著.软件工程学实验.北京:科学出版社,2005.

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

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

引言

软件工程是计算机相关专业的一门核心课程,具有综合性、实验性极强的特点,其研究的范围非常广泛,包括软件开发的技术方法、工具和管理等许多方面,而且新的技术方法和工具源源不断涌现[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

[6]彭焕峰.面向卓越工程师培养的软件工程教学改革与实践[J].软件导刊(教育技术),2015

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

关键词:软件工程;教学研究;学生为主体

软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及工程概论、项目管理、程序设计语言、面向对象的需求、数据库、软件开发工具、系统平台、标准、设计模式等,是一门综合性很强的软件课程,在计算机教学体系中占有十分重要的地位[1]。上世纪90年代以来,计算机科学蓬勃发展的同时,我国计算机软件行业也进入了快速发展时期。软件行业呼唤计算机教学方面的改革,希望走出校门时,新一代软件人才能在更好掌握软件工程理论知识的同时拥有一定的实践经验。这就对软件工程这门计算机专业核心课程提出了更高的要求。目前,软件工程课程的教学改革已经在各高校开展多年,其中引入案例教学,解决理论与实际应用衔接的问题[2];以及引入项目式实践教学,提高学生动手能力和感性认识等[3],都是比较有效的教学方式。但对于如何以学生为主体,提高学生自主学习软件工程的教学方式,目前还没有系统的经验总结。本文从软件工程教学存在的问题开始,介绍在五邑大学计算机学院开展的以学生为主体的软件工程教学,讨论提高软件工程课程教学质量的途径和方法。

1软件工程教学的困难

要提高软件工程课程的教学质量,还存在一定困难。

从软件工程的学科发展上看,软件工程的学术研究和教学过程本身有着不同的动作机制,学术界的最新成果和正在进行的软件设计很难直接相互渗透。另外一方面,从学生的认识结构看,在软件工程的教材中添加大篇幅的工程经验,虽然可以一定程度地解决学生缺乏实践经验的问题,但这些内容并不能完全构成学生对软件工程的认知结构。教材和课程大纲中的学术成果和经验理论,是知识的结果,不是知识的形成过程。经典理论不能代替学生从动手实践中获得自我认知的能力。软件工程教学不能离开实际的体验,否则就容易造成类似人文学科中学术成果和经典阅读脱节的情况[4]。

因此,在传统的软件工程课程中,由于课堂教学方式具有局限性,学生学会了软件工程的原理和方法,但不会在实践中运用所学知识解决实际问题。引入项目式教学后,课本当中的例子多数是为概念和原理而设立的,无法在规模和复杂程度上与真正的软件开发项目相提并论。这就导致学生缺乏对软件工程实践过程的感性认识,学完课程后仍不知道应如何着手一个软件项目的开发[5]。而实践又是掌握工程科学的最佳方式。对于不断发展的软件理论,其中的知识与经验只能通过实践者自己亲身执行后,才能被理解和掌握。

为了提高软件工程课程的教学质量,从根本上提高学生的学习兴趣,五邑大学计算机学院在近年的软件工程教学中,强调以学生为主体,实施学生自主体验的教学改革。目的就是提高学生对软件工程经典理论的感性认识,不让项目式的实践教学流于形式,使学生在完成软件工程的学习后,能适应软件行业的工程化需求。

2以学生为主体的自主体验式教学设计

为了体现学生自主体验的过程,我们在软件工程的课程教学大纲中提出了以学生为主体的教学方案,其目的是使学生能主动投入到软件工程的学习中,使教学内容能与学习体验更紧密地结合。同时,在实践教学中,软件工程的教学设有学生自选项目的实践环节。新的教学设计,关键就在于引导学生自主参与项目式教学。

为了强调学生自主体验,该课内实践的选题范围要求来源于五邑大学校内的具体软件需求,并将软件开发的工作量控制在一定的范围之内,使项目实践内容能覆盖整个软件生命周期。最后,参考国家软件开发的标准文档要求,要求学生在各阶段完成后提交阶段性书面总结。具体地,以学生为主体的教学改革主要包括以下5个方面。

2.1提出注重互动的理论教学

互动式的理论教学首先要求教师要少讲,把学习的机会留给学生。理论的学习和掌握依然是项目式教学的基础,这些经典公式和行业标准通常是学生最不容易用心学习的部分,而引入互动式的课堂理论教学可以较好地解决这一问题。传统的软件工程教学大纲存在项目实践方面内容的缺失,而补充了项目式教学后的软件工程,往往更像是一种“基于项目活动的研究性学习”,这就使教师更注重项目经验的传授。其实,“最好的教学是对话式的教学”,教师应该从自身开始改变观念,不再一成不变地重复教学。学生通过与教师的对话式交流,可以在互动中解决项目中的实际问题,完成教学大纲中要求的理论学习部分。

2.2要求学生完成真实可见的软件项目

在课内实践中,教师要求学生完成一个来自校内的实际软件需求,这个软件的需求通常是学生可以在日常生活中直接感受到的,这样可以提高软件开发中需求调研的真实性,更有利于增强学生的自主体验。在以往的教学中,我们没有提出这样的选题范围要求,而学生一开始对软件开发的理解又有限,因此选题往往是教师熟悉的领域,或是学生从网络上找到的参考题目。结果是部分学生在实践中积极性不高,还出现有学生照搬参考书和网络上已有案例的情况。新的实践选题范围要求必须来源于校内实际需求,这可以更方便教师控制实践项目选题与某些参考书中案例之间的重复度,也加强了学生调研工作的真实性。

2.3在理论与实践教学中开展深入的专题讨论

专题讨论的前提是学生的课外学习和总结,讨论时的主体应该是学生而不是教师。长期以来,在软件工程的理论与实践教学中,基本是教师单向传授,教师讲学生听,教师布置课题学生完成,学生离开了教师就不知道干什么,不利于提高学生的综合素质。因此,在软件工程教学时,教师必须要少讲,目的是要把实践过程留给学生去体验。软件的开发过程并不是一成不变的,每次软件开发都是对软件工程系统框架进行的一次创造性实践,真实的开发过程往往不都能完全遵循教科书中建议的软件开发流程。因此,在学生的课内实践中,教师首先让学生通读教材和讲义,然后鼓励学生根据课程学习的要求去寻找来自生活中的实践项目,也就是自己找到想解决什么问题,并进一步阅读课本和参考资料,在教师、学生之间开展专题讨论,用问答和辩论的方式完成理论学习和项目体验。另外,专题讨论的题目并不需要预先定好,而是应该在项目实践的进程中挖掘出有讨论必要的题目,同时鼓励学生在讨论前进行充分准备,查阅相关的期刊和论文,并在讨论后进行总结。

2.4注重项目实践中对软件项目管理的体验

软件工程是一门锻炼学生综合能力的课程,工程实践性非常强,而工程总离不开项目管理。学生一开始知道课程中包含项目实践后,往往最先关心应该在软件开发中使用什么技术和工具。但软件工程的实践教学并不应把实践侧重于软件开发技术的应用,更不应指定实践项目使用的开发技术。指定开发语言和开发工具容易使学生混淆软件工程课内项目的实践方式和其他专业课,如数据结构、数据库、操作系统和Web体系结构的课内项目实践。软件工程教学的目标应是在讲授软件工程经典理论和工程经验的同时,让学生体验软件项目的开发过程,提高对软件项目的整体把握能力,增强软件项目管理理念。因此,教师应当引导学生把注意力集中在软件工程的知识框架和对软件过程的实践上,并在实践环节适当增加如成本控制、进度管理、风险分析以及人员管理等有关软件项目管理的体验。

2.5灵活的成绩评价方式

学生完成软件项目的分析、设计、编程和测试后,可以在课程答辩中展示已掌握的知识和在项目中实现的能力锻炼。在课程答辩中,学生可以发现其他项目小组的优缺点,教师也可以在答辩过程中提出项目实践中的不足之处,帮忙学生找出差距,弥补不足[6]。

3教学效果

五邑大学计算机学院在施行新的旨在激发学生自主体验的教学方法后,学生普遍反映在学习软件工程更有兴趣的同时获得了更多的实践经验。新的选题范围使学生不出校园即可以做软件项目的需求调研,大大提高了学生参与实践的积极性,也激发了学生软件开发创作的热情。选题范围的缩小反而使课内项目选题的多样性得以实现,涌现出一批来自学生视角的新课题,如AP07064班的选题《宿舍网上自主充电系统》,以及AP07102班的选题《学生饮水管理系统》,都有一定的实际应用价值,也获得了校内有关部门的关注。客观上,学生在软件工程课程中的成绩稳步提升的同时,对教学的评价也不断提高,2009-2010学年软件工程的课程评价超过了9.2分,满分为10分。

4结语

目前,软件行业正在飞速的发展过程中,软件工程教育的理念、教学形式也处于发展阶段。学生为主体的教学形式作为一种尝试,运用于软件工程的课内实践环节中,取得了一定的教学效果。如何立足于我国软件行业的现状、特点,采取相应的教学手法,提高软件工程的学生学习体验,提高教学质量,值得我们不断探讨和研究。

参考文献:

[1] 姜湘岗,章晓莉. 软件工程课程教学研究与研讨[J]. 计算机教育,2010(5):112-114.

[2] 潘娅. 软件工程教学方法探索[J]. 高教研究,2006(2):28-30.

[3] 温颖,周昕. 项目教学法在软件工程教学中的应用[J]. 科技信息,2010(24):206-207.

[4] 李翠叶. 重建人文学科的文化实践机制[J]. 文教资料,2008(15):162-164.

[5] 黄芳. 基于项目实践的软件工程本科课程教学模式探讨[J]. 湖南社会科学,2009(5):174-176.

[6] 胡洋,苏琳. Web软件时代的《软件工程》课程改革与建设[J]. 中国成人教育,2010(5):111-112.

Student-oriented Course Design in Software Engineering

LIN Zihui, HE Guohui

(College of Computer Science, Wuyi University, Guangzhou 529020, China)

Abstract: As Software Industry needs more practical skill on software developer, Software Engineering needs to be improved relatively. By applying student-oriented teaching methods on Software Engineering, there is a bump up on students’ initiative to learn and a rise on students’ overall skill in practice, and an enhancement on students’ ability to use techniques of Software Engineering.

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

关键词: 软件工程课程教学 问题 对策

一、引言

软件工程是建立在计算机科学基础上、指导计算机软件开发和维护的工程学科。本课程已成为计算机及信息学科相关专业最重要的专业基础课之一,在计算机科学专业和软件工程专业的人才培养上发挥着非常重要的作用。

软件工程是一门研究研究软件开发与维护的普遍原理和技术的工程学科,其研究的范围非常广泛,包括技术方法、工具和管理的等多个方面,软件项目的过程、组织和管理涉及面广,理论性、技术性、工程性都很强。软件工程自身的抽象性与应用性都很强,在目前教与学的双向过程中存在不少问题,致使教学效果很不理想。如何提高“软件工程”的教学水平和学生的学习效果,是国内外学者广泛探讨的话题。我从软件工程教学中存在的问题出发,在更新教学内容、激发学生的学习兴趣、改进教学方法与手段、加强实践环节、改革考试方式等方面提出了一些具体的建议。

二、目前教学中存在的问题

1.教学内容陈旧。

近年来,软件工程中的WEB应用开发技术、软件重用技术、原型开发方法、软件构件、集成化CASE工具与环境等领域取得了显著的进展,而国内各高校使用的教材,因编写时间的限制,在先进技术的跟进、知识结构、内容取材及实践环节等方面或多或少存在缺陷,有的甚至还停留在对面向过程的结构化方法上,却忽略了目前更适用更流行的面向对象方法,有的教材连项目组织、软件成熟度、软件构架、项目风险等十分重要的内容都未给予足够的论述。同时,软件工程作为一门正在飞速发展的学科,目前大部分教材难以及时、全面、准确地反映当前一些新方法新技术和新工具。

2.教学方法不当。

目前有些高校仍然把软件工程列为纯理论课程,教学的工具就是一张嘴、一支粉笔和几乎是教课书内容翻版的教学课件,使得学生往往是被动地接受知识,非常地枯燥乏味,很难激发学习兴趣。另外软件工程课程的教学内容是针对较大规模的软件项目开发而设计的,十分庞杂,涉及面非常广,很多知识建立在实践经验基础之上,这种“填鸭式”的教学方法,对于尚未踏入社会、没有项目经验的学生而言,很难理解该课程的精髓,很容易对该课程产生虚无缥缈的感觉,使整个教学过程流于形式,该课程变成需要死记硬背的课程,学生在学习完课程后将一无所获。

3.学生学习中存在的问题。

在传统的教学过程中,软件工程往往是一门独立的理论性课,学生对软件工程的抽象理论容易感到枯燥乏味。这门课不涉及具体软件项目,不怎么涉及软件算法,没什么逻辑推理,不像程序设计课程那样能带给学生智力上的,激发学生的学习兴趣和热情。不少学生认为软件工程就是一些条条框框,由于缺乏实践经验,缺乏合作开发软件的感性体会,他们在学习过程中难以理解软件工程的精髓,很难在头脑中将软件工程的抽象理论和实际联系起来,因此较难对这门课程产生学习兴趣。

4.教学实践环节薄弱。

软件工程的理论并不是空洞的理论,它的许多理论及规范均来自于实际需要和前人的经验总结,它的目标是实实在在地做出一个满足用户要求的系统出来,这是一个很具体的实践过程。通过学习,学生应该具备从事工程实践的技能,包括软件项目的系统分析、编写文档、源码设计与控制、使用工具等基本技能。因此,教师需要将基本概念、原理和实现技术与具体的软件项目相结合,以实例增进学生理解,以实践锻炼学生的工程能力。然而,在当前的教学中,普遍存在理论教学与具体实践脱节的现象,有时甚至缺乏进行教学实践的场所与环境,这样势必造成学生无法真正理解软件工程的精髓,更难以做到学以致用。

三、软件工程教学改革建议

以上分析了当前软件工程课程在教学中存在的一些问题。随着教学改革的不断深入,软件工程的教学改革在迫在眉睫。下面我就软件工程课程的教学改革谈一些建议。

1.更新教学内容。

在教学实践中,应该结合软件工程的发展和国内外软件企业的人才需求现状,不断更新教学内容,更要注重一些新方法新技术的讲授。例如,关于软件工程方法学,重点讲授面向对象方法学,略讲传统的结构化方法,注重面向对象方法在内的一些新方法新技术,让学生尽快熟悉和掌握软件重用、快速原型、集成化CASE环境等,同时要保持教学内容对先进技术的跟进,介绍一些目前已经推出或比较成熟的新方法,如:基于组件的方法、面向Agent方法、敏捷软件方法等。而对一些没有长久生命力的,并且在今后的项目实践中又很少用到的知识,尽量少讲,这样既有助于开拓学生的视野和培养创新意识与开发能力,又能使他们步入工作岗位的时候而不落伍。

2.提高学生的学习兴趣。

“兴趣是最好的老师”,是学生求知欲的源泉,是思维发展的动力。教师应从教材实际出发,讲究教学方法,激发出学生对本课程的学习兴趣,这对于教学效果的保障具有重要的意义。“软件工程”包含了较多的理论内容,且大多数学生都是第一次接触,是一门理论联系实际的综合性很强的课程。所以教师应通过多媒体动画等教学手段生动地剖析基本概念和基本原理,并以基本概念和基本原理贯穿软件工程知识体系的方式组织教学内容,让学生深入理解基本概念和基本原理背后的深刻内涵,并让学生系统地掌握各知识点之间的逻辑关系。要鼓励学生主动地提出问题、分析问题、解决问题,激发学生的主动学习兴趣。

课堂讨论也是一个提高学生学习兴趣的有效途径。教师在每堂课讲完之后应该给学生留出5分钟时间,要求学生通过讨论对所学知识进行总结归纳,然后进行评价。评价方式可以是学生相互交换自己总结的内容并进行讨论,最后由教师补充、纠正和提炼知识点。这种方法不仅能提高学生总结归纳能力,而且能激发出学生的学习兴趣,使学生主动地参与到教学当中。

3.加强实践和工程训练,提高学生的实践能力。

软件工程是一门实践性很强的课程,实践环节能使学生对整门课程中的方法、技术、工具等有亲身的体验和系统理论知识的梳理,对整个教学质量的检验具有举足轻重的作用。抓好实践环节,对培养新型的合格的软件人才具有十分重要的意义。因此在努力提高课程教学质量的同时,还应该加强实践环节的管理。

软件工程的实践以课程设计为主,教师可根据学生的能力,设计一套完整的课程设计方案。课程设计的目标是通过在课程实践的一系列环节中,如需求分析、设计、编码和测试,让学生提高其综合运用软件工程的方法、技术、工具、过程进行软件开发和软件项目管理的能力,并培养其团队协作的精神。

课程设计要求完成的项目必须具有一定的规模和复杂性,教师可将学生划分为6―8人的项目小组,项目组成员相互合作共同来完成一个项目。各项目小组应严格按软件工程各阶段的要求来完成该项目,在项目开发的各关键阶段(可行性研究、需求分析、总体设计、详细设计、测试和项目开发总结),各小组都要进行报告,由老师和其他小组现场提问,最后教师给出点评,这种阶段评审有利于各小组开发进度和质量的保障。

在课程设计结束时,每个项目组应提交软件产品和规范的软件开发文档(项目开发计划、需求说明书、总体设计说明书、详细设计说明书、测试分析报告和项目开发总结报告等)。课程设计完成后必须进行现场答辩,在答辩过程中,不仅对学生进行评分,而且指出学生的不足,提出改进的意见和建议。通过现场答辩的方式可以让学生进一步明确今后需要改进的方向,使自身在分析问题、解决问题、交流沟通、团队协作、谈判沟通、适应发展等方面的能力获得较大的提高。

4.教学方式与教学手段的改革。

软件工程的原理、方法、技术若不与实际项目结合,学生往往难以有深刻的体会。因此,为增强授课效果,提高学生学习的积极性,课堂讲授应引入项目式教学法。教师可设计一个完整的、规模适中、难易适度的软件项目,在讲授软件工程基本知识点时结合该项目进行重点讲解,即以该项目作为贯穿整个软件工程授课的主线。

为了提高课程教学质量,激发学生的学习兴趣,不仅可以采用多媒体教学方式,而且可以建立软件工程课程的教学网站。软件工程课程网站中不仅有该课程的介绍,而且有大量的教学资源(多媒体课件、实验指导、自测题、试卷库、常用软件工程新技术介绍、新工具介绍和演示、有价值的参考书籍和网址等),学生还可在网站上提出自己在学习过程中遇到问题或者对本课程的教学好的建议,教师或其他学生则可进行回答或共同探讨,为广大师生学习、交流、提高提供很好的途径。

5.考核方式的改革

很多高校软件工程课程传统的考核方式以期末书面理论考试为主,但软件工程是一门实践性非常强的课程,原有的考核方式使学生不注重实践能力的提高,倾向于被动地接受理论知识,学习缺乏兴趣和主动性,只是在考试前突击复习来应付考试。理论考试成绩不是重点,主要是看学生能否在软件开发过程中贯彻软件工程学的思想和方法。因此,要加大实践考核的比重,如课堂出勤占10%;课堂表现占10%,为力避学生考前突击现象,本课程在平时课堂教学中采取课堂提问方式或者进行一些基础理论的测验,帮助学生循序渐进地巩固基础知识点;课程设计占40%;期末考试占40%。采用以上考评方法,学生们将非常重视课堂上的发言,以及知识的运用和创新,主动学习的积极性将会大大地提高。

总而言之,要改进软件工程的课程教学,除了要遵循教育学的普遍规律、合理安排好课程内容外,还要培养学生的学习兴趣,重视理论与实践的结合。

参考文献:

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

[2]曹薇.高职院校软件工程课程改革探析[J].高教论坛,2008,(02).

[3]陈丽萍,张芳.软件工程教学方法探讨[J].教学园地,2009.3.

[4]郝水侠.《软件工程》的教学模式及方法的探索[J].科技创新导报,2009,(01).

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

关键词 软件工程;教学改进;实践

一、引言

提起软件,在当今社会人们并不陌生,正是由于软件的发展,使计算机应用逐步渗透到社会生活的各个角落,使各行各业都发生很大的变化。这同时也促进人们对软件的品种、数量、功能和质量等提出了越来越高的要求。然而,软件的规模越大、越复杂,人们的软件开发能力越显得力不从心。于是,人们开始重视软件开发过程、方法、工具和环境的研究,软件工程应运而生。

软件工程是计算机软件专业一门综合管理课程。它涉及计算机科学、工程学、管理学以及经济学等多门学科,是一门根据人们的软件开发经验总结出来的理论课程。本课程的教学目的和任务是通过学习使学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术,了解软件工程各领域的发展动向,掌握如何用工程化的方法开发软件项目,知道在开发过程中应遵循的流程、准则、标准和规范。作为一门实践性和综合性很强的课程,对培养学生的软件素质,提高学生的软件开发能力具有重要的意义。

二、课程特点

1.课程综合性强

软件工程与其他计算机课程,如程序设计语言、数据结构、编译原理、数据库以及操作系统等课程都是相互作用和影响的。在一定程度上说,软件工程讨论的是在实际开发当中综合运用这些课程中讲过的理论和方法,将这些课程的理论和方法放在一个统一的目标下,这个目标就是在有限的时间及预算条件下,开发出高质量的令用户满意的软件。

2.课程内容不断更新

软件工程课程的教学培养目标应该以市场需求为导向,使课程培养的学生真正能够在软件行业中发挥作用。因此,在授课时,我们不能拘泥于教材内容的限制。在讲解基本原理、基本概念和基本方法的同时,介绍一些新方法、新技术。这样,有助于开拓学生的视野和培养创新意识与开发能力,使他们走向社会后不至落伍。

3.课程的实践性强

软件工程是一门实践性很强的课程,它是各种开发经验的总结与提炼。在学习过程中不但应注重概念、原理、方法和技术的掌握,更应注重方法、技术的实际应用。学习软件工程必须投身于软件开发的实践,才能真正领悟软件工程的精髓。

三、软件工程教学中存在的问题

软件工程是一门理论性较强的课程,在日常教学过程中存在以下问题:

(1)学生对软件工程的抽象理论容易感到枯燥乏味软件工程涉及众多专业领域,它是一门多学科交叉学科,课程内容具有抽象化、系统化、理论性强等特点。不像程序设计课程能随时动手设计实现程序,激发学生学习的兴趣和热情。学生在接受抽象理论的时候,容易感到内容空洞、枯燥乏味,学习时就缺少主动性,难对这门课程产生兴趣。

(2)实践环节不理想。目前可供该课程选用的合适的实验项目少,实验效果与教学要求差距较大,学生不能把理论知识有效地运用到实践活动中。

(3)不能较好地因人施教。学生的基础水平参差不齐,个体差异较大,现行的教学模式很难满足全体学生的要求。

由于学生没有真正掌握基础理论及运用理论的技能和方法,学习过程中又没有参加实际软件项目的机会,不能将软件工程的理论充分运用到设计实践中去,给毕业设计,以及毕业后参加工作带来很多麻烦。

实际教学当中,这门课的教学效果往往不是很理想,教师觉得这门课教起来较困难,学生学习中多数也觉得枯燥无味,很难达到较好的教学效果或获得较强的实践能力等预期目的。如何改善?结合软件工程的课程特点,可以从以下几个方面来改进《软件工程》的教学质量。

四、软件工程教学改进的内容和方法

1.教学过程引入实际案例

软件工程课程涉及面很广,如果不结合实际工程项目进行教学,很难把教学内容教授给学生。因此,在教学过程中引入案例,将复杂抽象的概念用具体生动的实例进行诠释,能够收到事半功倍的效果。例如,在授课时、可结合一个“学生信息管理系统”实例,给学生介绍具体的开发过程和方法。

2.组织课堂讨论,形成教学互动

我国有句名言:“授人以鱼,不如授人以渔”。学生是教学活动的核心,教师要利用合适的方法调动学生的积极心理和参与意识,改变传统的教师高高在上的教学方式,让学生参与教学过程,有机会发表自己的看法。

比如在讲授需求分析这章内容时,可结合“学生信息管理系统”这个案例,要求学生按照软件工程教学的思想和方法认真做好需求分析。在实施过程中,首先由学生独立思考,给出解决方案。然后在课堂上,组织学生进行讨论,分析各自解决方案的优劣,并进行综合。最后由老师进行总结和评价,指出该案例所涉及的理论知识及其应用方法,就学生提出的问题进行解答。这样通过组织学生讨论,可使学生进一步理解和掌握课程内容的方法和步骤,使抽象的知识变得看得见,用得着,大大激发了学生学习的兴趣和自信。

3.加强实践环节

从本质上看,软件工程的实践性和综合性是其他相关课程难以比拟的。因此,必须结合设计项目和实际应用加以施教,才能取得良好的教学效果。那么,在把握教学进度的同时,必须及早安排好课程设计,让学生同步开展课程设计。这样,理论课讲完了,课程设计也基本结束,学生们能从理论和实践的结合上,加深对软件工程知识难点、重点的理解,进一步深刻理解软件过程和系统消化理论知识,训练项目设计的思路,锻炼实际开发能力,培养严格规范的项目开发方法和步骤,体验文档编写整理、阶段性评审总结以及软件测试等各个方面的工作流程,直接培养了学生从事实际开发的能力。

4.以“项目小组”形式完成软件开发过程管理

为了培养学生的团队精神和求知欲,我们采用“项目小组”的开发形式,每个小组5-6人自由组合,分工合作,学生们不再是旁观者,而是分别担任客户、项目经理、系统分析员、程序员、测试员和评审人员的角色,要求运用软件工程中面向对象技术、方法和按照软件过程规范分阶段实施,学生所做课题贯穿整个学期的学习过程,每个课题都来自实际需求,每个小组课题不允许重复,这种方法在提高学生的兴趣和和学习主动性,以及发挥学生的专长和创造力等方面,收到了很大的成效。

五、总结

通过一轮的教学改革,软件工程课程的教学效果有了比较明显的改善,学生对软件工程的原理及概念都有了比较深刻的理解。同时学生的实践动手能力、团队协作的能力、解决问题的能力以及文档的编写的水平都有了比较明显的提高。目前看来,新的教学模式取得了比较好的效果,但是其实施过程还需要在实际的教学过程中不断的修正和完善。

参考文献:

[1]张海藩.软件工程导论第四版,清华大学出版社.

[2]陈明.软件工程学教程,科学出版社.

[3]尹锋.软件工程课程教学改革初探.长沙大学学报,2004(12):79.

[4]宋玮软件工程教学的思考.广东工业大学学报(社会科学版),2005(9):109.

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

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

《软件工程》是计算机科学与技术及其相关专业的一门重要的专业必修课程,是将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护 ,其重点在于软件的分析与评价、规格说明、设计和演化,同时还涉及管理、质量、创新、标准、个人技能、团队协作和专业实践等。其先修课是《程序设计语言》、《数据结构》、《操作系统》、《数据库原理与应用》等,这些课程着重培养学生从局部问题入手,解决问题的能力,而《软件工程》则着眼于从全局角度出发分析和解决问题,理论要求高,同时也是本专业中实践性非常强的一门课程。

一、软件工程的发展

软件工程的发展速度是惊人的。自1968年提出“软件工程”这个词以来,已经历了40多年的时间70年代在取得大量研究成果的基础上,形成了软件工程的概念、框架、方法和手段,称为软件工程的“第一代”,我们称之为传统的软件工程,是目前软件工程教学中的主要内容。

20世纪80年代以来,面向对象的方法与技术受到广泛的重视80年代中期到90年代,研究的重点转移到面向对象的分析与设计,并演化成一种完整的软件开发方法和系统的技术体系,成为软件工程的“第二代”,即对象工程技术。在以往的软件工程教学中,这一部分内容没有太多的讲解,且没有相应的完整实验要求和方法。

到了80年代中期,人们在研究和实践中发现,为了提高软件生产率和保证软件的质量,关键在于软件开发和维护中的管理和支持能力,并认识到最关键的是“软件过程”,从而逐步形成软件过程工程,并成为软件工程的“第三代”。项目软件过程改进与质量提高也是软件工程学研究的重要内容,其中以软件能力成熟度模型(CMM)为代表,目前的软件工程教学因为课时关系很少讲授这方面的内容。

二、存在的问题

由于软件工程是一门综合性的课程,包含的内容非常多:从软件工程概述、软件计划、需求分析、概要设计、详细设计、编码、测试、软件维护、面程、软件重用技术、软件配置管理、软件工程向对象方法学引论、面向对象分析、面向对象设计、UML建模语言、系统工标准化和软件文档、软件工程质量、软件工程项目管理等等内容,并且随着信息技术的不断发展,软件工程中也出现了不少新的技术和方法。但安排的教学学时一般都是48~64学时之间,在有限的学时中要教授这么多的内容, 导致目前国内高校对于该类课程的普遍做法是以教师课堂授课为主,学生被动地听课,教学内容一般是重理论而轻实践,即使配备课程实验,学生也只是编写一些规定的文档,其开发方法和手段基本上与软件工程的要求脱节。

三、解决方法

精心选择教材,注重理论教学教材的选择要密切关注社会的需求,教学活动应该以社会即需求为主导进行。巨大的社会需求也推动了计算机教材的繁荣,各大出版社或引进或组织教师编写,各种计算机教材陆续走进了课堂因此,要选择一本适合本院学生学习的深入浅出的教材至关重要,通过大量认真细致的比较,我们决定选用由张海藩编著,清华大学出版社出版的《软件工程导论》(第五版)为教材,分别讲述了用面向对象方法和结构化方法开分别讲述了用面向对象方法和结构化方法开学很有帮助,也是上机实践的好材料。在教学过程中,要注意引导学生重视系统地掌握软件工程的基本概念、基本原理、基本方法,在向学生介绍概念的内涵时,既要注重科学性和严谨性,也要注重通俗性,通过生动的举例帮助学生理解理论知识,利用课堂提问、课后布置作业和批改作业发现问题,及时纠正错误概念,逐渐强化理论知识,在时间上也互相协调、合理衔接,使学生从了解、理解到系统地掌握软件工程的基本理论,为今后的实践打下良好的理论基础。

四、合理安排实验,注重案例教学

根据软件工程课程的特点,在安排实验的环节上,要注意以软件项目作为实践环节的主线,随着课程进展布置任务,从项目开发的准备工作、系统分析过程、系统设计过程、软件测试到系统实施,结合所学习的理论知识,完成项目的开发。首先,应设置一些综合实验项目,通过问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试、维护及技术文档的编写,结合所学习的理论知识,完成设计。软件工程的理论和方法是从众多软件开发实践中总结出来的,在整个教学过程中结合该案例,讲授了每个知识点以及软件开发各个阶段的任务是如果完成的。此外,我们还收集和总结一些软件开发案例,在讲授完每个知识点后,将这些案例结合起来,贯穿于理论知识的讲解中,使学生真正理解这些理论知识,建立软件开发的系统化与工程化观念和质量意识。

五、组织兴趣小组,培养团队精神

在软件工程实践的过程中,要求学生以开发团队的方式协作开发一个具有一定规模的软件系统,建立支持小组开发的软件开发支持环境,一般每个小组5~6人,分别担任项目经理、客户、系统分析员、程序员和测试人员等角色,根据所选项目的需求,制定项目计划,分工合作,在研究问题分析系统的过程中创造性地学到知识。最后,由组长讲解所开发的项目。在这个过程中 ,让每个成员都得到实际的锻炼,并初步体会到一个软件开发项目的全过程。

六、结语

《软件工程》课程教学中的问题是客观存在的,软件工程的课程改革本身就是一项复杂的工程,要做的事情还有很多,将来会更好的利用网络资源,设计出更符合教学的案例,同时建立自己的软件工程网络系统,提高教学能力。

参考文献

[1]孙家广,刘强,等.中国软件工程学科教程[M].北京:清华大学出版社,2005.

[2]朱三元 ,钱乐秋,宿为民.软件工程技术概论[M].北京:科学出版社,2002.

[3]郑人杰,殷人昆,陶永雷.使用软件工程[M].北京:清华大学出版社,1996.

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

面对高等教育发展战略和要求,在未来一段时间内,全国将有600多所普通本科高校向应用技术型大学转型发展。大多地方高校已进入全面深化改革时期,对于要不要转,如何转这些问题把握不准,一些学校没有对自己的办学层次明确定位或者是定位不准,长期处于一种摸索状态,在专业课程设置方面是年年改,年年变,没有固定的模式。专业规划设置如此,必然会影响课程的教学安排,一门课程什么时候开设,课程教学要达到什么目标是模糊的。这种情况下,任课教师如何科学地规划教学内容成为一个难题。软件工程专业是一个实践性、应用性极强的专业学科。专业性质的要求对相应课程的总体规范与安排要求极高。特别是软件工程基础这门课程的设置以及教学内容的安排对软件工程及相关专业的学生培养起着重要作用。在这种环境下,如何构建一套适合地方高校软件工程教育改革的标准模式和培育体系是值得研究的课题。基于此,笔者以近几年从事软件工程基础课程的教学实践为出发点,以铜仁学院软件工程专业为落脚点,从软件工程课程的教学内容着手,提出以项目驱动为主线的教学融合模式和两段两维的综合评价机制。

2.软件工程基础课程改革的必要性

2.1.学校寻求发展战略的要求

应用型本科人才培养主要任务是培养具有突出工程技术应用能力的人才。培养方向以社会需求为依据,以学生就业为目的,围绕实际岗位应用能力要求而确定的。培养实践能力为主的高等技术应用型人才是应用型本科教育的根本目标,实践教学体系则是实现这个最终目标的保障。以铜仁学院为例,其是2006年教育部批准新办的地方本科院校,经过几年的发展,目前已进入全面深化改革的整改提高阶段。在铜仁学院深化改革的方案中,明确提出将实施以推进“立德树人”为根本,以促进“质量提升,为核心,以实现“转型发展”为目标的教育教学领域综合改革,把提升人才质量作为当前和今后一段时间内的重要任务来抓。

2.2.软件工程专业发展及社会需求的要求

软件工程专业是培养适应计算机应用学科的发展,特别是软件产业的发展,具备计算机软件的基础理论、基本知识和基本技能,具有用软件工程的思想、方法和技术来分析、设计和实现计算机软件系统的能力,毕业后能在IT行业、科研机构、企事业中从事计算机应用软件系统的开发和研制的高级软件工程技术人才。当前,大多高校软件类学生实践能力和企业需求存在严重脱节的现象,理论知识的讲解较多,很多实际操作实践课程以理论知识的讲解为主,这就导致了对软件类专业学生的软件开发实践和创造能力培养的忽略。这些问题已引起学校的高度重视,在这种情况下于软件人才培养中将项目实训纳入到高校软件工程专业人才培养体系中,通过软件工程理论学习与软件项目实训实践相结合,把软件项目实训引入到教学中,能使学生在学习过程中就不断接受企业化项目开发的实践和锻炼。目前,虽然高校改革已引起了各方的高度重视,就软件工程课程来讲,尽管软件类专业的教学大纲都增设了软件实训课程,但是在师资、硬件和课时等方面没有配套,软件项目实训教学体系还处于较低层面,没有明确的实训目标、规范的实训大纲以及科学的实训体系,故而课程改革势在必行。

3.软件工程基础课程的改革措施

3.1.总体规范、项目推进的课堂教学

软件工程基础课程的教学形式,总体来讲是采用项目推进模式,基于此,论文提出教学内容体系改革引入项目管理模式。根据近几年来教学经验,结合学生实际,制定6个项目分别实施,具体介绍如下:

3.1.1.教学内容改革及学时分配方案教学内容、学时分配、实践要求及考核内容。

3.1.2.教学形式的具体体现教学过程中,首先是打破定制唯一教材的做法,选择多本教材进行授课。通过对多部教材各专业知识点的有效融合,把知识点统筹为相应的专题项目,初步按照软件——软件工程——软件开发的前导知识——软件开发(可行性分析、需求工程、设计工程、测试工程、软件开发管理工程)思路进行教学[4]。在介绍理论知识的同时,要求学生结合知识结构并且以小组为单位进行小系统开发。

3.2.两段两维的考核评价方式

3.2.1.考试成绩认定办法整个教学评价中注重两点:一是注重两段两维的管理形式,两段是指平时学习阶段与期末总结阶段,两维是指平时阶段性的总结与考评;二是注重期末综合实践评价。具体的做法:打破传统以期末成绩定成效的模式,注重过程管理,明确阶段性总结,分阶段进行验收,平时加强课堂练习的检查力度,确保课程达到效果;阶段性成果评价分值记入本人成绩核算,最后进行综合评估项目,得出本人成绩。总评成绩组成:总评成绩=平时成绩+期末大作业完成情况+期末理论评价情况。具体来讲,考核体系从平时综合及期末综合两个方面来进行。平时综合的组成:考勤+课堂表现+小组阶段性成果评审+练习作业;期末综合的组成:大作业以及综合答辩。

3.2.2.期末综合考核内容及达标标准学期结束后,对学生的综合能力进行评价。

4.总结

地方高校转型是一个大工程,事关高校发展全局,将会引起各高校顶层管理人员的高度重视;应用型人才培养也是一个复杂且庞大的工程,不是一蹴而就的问题。在现代计算机技术迅速发展的今天,如何提高软件工程专业人才培养质量,真正落实课程教学改革不是短时间能完成的事情,需要时间的推进和教师队伍的优化等。通过教师带领学生在实践活动中项目开发的实训,使学生体验了职位角色、明确岗位的技术能力要求,同时也提高了学生的应用能力、团队协作能力及工程系统掌控能力,并且为培养实用性软件人才提供了保障。这种教学模式的推进,真正培养了学生理论与实践相结合的综合应用能力,提高了学生分析问题与解决问题的能力,真正把高校提出全面提高学生综合职业素养的问题落到实处,最终成功转型,实现地方高校跨越发展。

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

关键词:知识体系;技能标准;教学模式;课程体系

课程建设是专业建设的核心内涵,课程设置及其教学质量反映了一个专业的教育理念、办学特色和人才培养质量。我国软件工程专业教育可以追溯到2001年底国家推出的示范性软件学院计划,该计划中的专业定位是面向软件产业培养高素质的工程型软件实用人才。2011年2月,国务院学位委员会正式公布修订的学科目录,把软件工程新增为一级学科,这充分说明了软件工程学科在国家战略层面上已经提升到一个新的高度。虽然,我国1900多所高校中有近200所院校开设了软件工程专业,但是,软件工程的专业教育现状与软件工程的技术发展差距较大,市场对人才的需求仍存在较大缺口,适应产业市场不断发展的软件工程专业建设工作依然任重道远。

1 职业技能结构分析

软件工程专业教育同样面临着两个问题:一是培养什么样的人(即市场需要什么样的人才),二是怎样培养人(即高校的教育内容和培养模式)。在软件产业迅猛发展过程中,虽然高校招生规模不断扩大,但是制约企业发展的人才问题并没有得到有效缓解,尤其是中高端人才的矛盾还很尖锐。究其原因,一方面,大型软件企业对中高级技术和管理岗位人才需求量很大、要求也很高,这类人才通常需要3-5年的工作经验,有两个以上的项目经历;另一方面,高校教育和市场需求脱节,每年大量进入就业市场的计算机类毕业生很难直接符合企业要求,有些毕业生需要经过社会培训机构或者软件企业培训,有些毕业生甚至放弃了本专业工作。

在软件企业中,合理的软件人才结构应该是金字塔型的,塔的顶部是高级开发和管理人员,中间是相当规模的系统分析和设计人员,底部则是大量的基础程序员(也称软件蓝领)。这样一种合理的人才结构是软件企业的期待,更是对教育部门提出了人才培养的具体要求和明确目标,毕竟大量的软件人才是需要经过高等学校的学历教育。一个软件专业毕业生走出学校之后,其成长过程基本上遵循学习实践再学习再实践的模式。进入软件企业,在初始的工作岗位上,首先通过短期培训,从事初级的技术开发工作;经过一段时间的技术实践,逐步提高其职业技术水平,成为中高级工程师;通过更高级别的培训,使其承担更为重要的技术和管理工作。可见,大学生在校期间除了专业知识学习外,从事职业的技术能力和适应工作的职业素养培养十分重要。

软件工程是指导软件开发和维护的一门工程学科,换言之,采用工程的方法、技术、工具和管理手段,以期开发出低成本高质量的软件产品。从这个定义可以看出,软件人才大致可以划分为技术型和管理型两类。从产品的技术角度看,不仅有产业标准和行业规范,而且项目的施工和管理有一套技术文档,这就是软件工程规范。从项目的管理角度看,分工协作是软件产业市场的总趋势,项目团队的分工合作是现代软件工程的一个重要职业特点,因此,软件工程专业的人才培养不仅要求具有专业知识,还需要有职业技能和职业素养。

软件工程专业的专业知识可分为基础知识、专业知识和专业理论,职业技能可分为基本技能、专业技能和综合技能,职业素养可分为基本素养、职业素养和综合素养。在专业教学中,强调专业知识中的核心基础知识,不求全面知识,知识教学内容必须与技术发展同步更新。把职业技能分为特定技能、通用技能、核心技能3个层次,其中核心技能具有普遍适用性,在职业生涯中受益终生。在职业技能训练中,按照软件的阶段划分,制定不同阶段所要求的职业技能。如编码阶段,要求有规范代码书写、单元测试能力,教师或项目经理要善于观察、发掘、培养新人;根据学生的各自特点,通过固化训练或交叉培养其设计、编码、测试、文档书写等能力。在学生的职业能力成长过程中,关注哪些学生是技术型的,哪些是项目管理型的,哪些是技能操作型的。由于高校不是企业,企业也无法承担高校的职能,通过校企合作的项目实训,围绕学生职业能力训练,明确企业和高校的职责分工边界。在职业素养训练方面,着重训练学生的交流表达、文档写作、分工合作、敬业奉献等能力和精神。在教学过程中,明确软件工程专业的职业素养边界,坚持“任何人都有用”的原则,关键是用到何处。比如刁钻苛刻的人用到测试上,勤奋好胜的人用到技术攻关上,豁达人缘好的人用到项目协调上,条理规矩的人用到设计上去。

2 专业知识体系裁剪

软件工程学科是从计算机学科发展而来的,经历了从软件、软件开发技术、软件工程到软件工程教育的一个发展历程。国内许多高校参照了IEEE-CS的软件工程知识体系指南SWEBOK2004,该指南给出了软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量等10个关键知识域,指出每个知识域的教学内容。此外,SWEBOK分析了软件工程职业特征,认为软件工程学科与计算机科学、管理科学、数学、项目管理、质量管理和系统工程等学科相关。这说明该专业需要开设一些相关学科的基础课程,但是要确定软件工程与相关学科之间的知识公共边界,要对相关课程进行内容裁剪。

浙江师范大学软件工程专业教学计划的规定如下:专业毕业最低总学分为170学分,其中通识课程50学分,学科平台课程1分,专业核心课程31学分,专业方向课程30学分,基础性实践课程5学分,提高性实践课程31学分,创新性实践课程4学分。围绕人才培养目标,构建了“通识课+学科平台课程+专业核心课程+专业方向课程+实践课程(基础性、提高性、创新性)”体系,其中“学科平台课程+专业核心课程+专业方向课程”构成了专业知识体系。该计划是在调研其他兄弟院校,如浙江大学、浙江工业大学等的基础上,紧扣人才培养目标,结合本校专业课程的进度安排,设置了4个层次的专业主干课程,如表1所示。

3 专业课程体系构建

实现人才培养目标,关键在于如何构建专业课程体系。面向社会需求,以课程为载体,合理设置课程。课程设置的原则是打好专业基础以保障学生就业能力、掌握主流技术以提高学生的基本技能、训练职业素养以成就学生的职业能力。注重加强数学基础,使本专业的学生具备较强的数学功底,引入国际公认的CMM5级能力成熟度模型,旨在提高学生规范化开发和团队分工协作能力,强化程序设计基础,使学生掌握软件开发所必需的知识与技能,熟练运用开发环境和工具。

软件工程专业课程建设的基本理念是遵循软件工程思想,强调以项目驱动的教学方法,如图1所示。课程开发要求项目真实、文档齐全规范,在教学过程中,教师采取项目实例教学,通过实例体验让学生掌握知识点。通过项目式教学改革,在掌握最基本、最必要的专业基础知识的前提下,在较浅的程度内掌握一两种计算机程序设计语言,然后学习目前流行且高效率的软件开发工具(如果企业需要,还可以学习一些更加专用的软件开发工具),学习实用的软件编程、数据管理、系统维护等技术,构建以技能训练为中心的知识结构和课程体系。

在软件工程教学过程中,通过教学实践总结,我们提出了“以职业技能为根本、工作体验为主题、知识点恰到好处”的教学方法;遵循软件工程规范,把职业技能划分为特定技能、通用技能、核心技能;提出“遵循软件工程规范、研究职业技能结构”的课程建设思想,构建了以核心技能为主的3个层次的专业课程体系。实践教学环节的项目分类及内容如表2所示。

专业课程的教学充分尊重软件工程专业的学科特点,在专业基础和核心课程教学的同时,通过教学的3个阶段划分来实现人才培养目标(见表3)。

4 结语

软件工程课程总结范文第9篇

关键词:软件工程;教学研究;教材;方法和手段;实践

1课程简介

软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及工程概论、项目管理、程序设计语言、面向对象的需求、分析、设计、测试、维护、数据库、软件开发工具、系统平台、标准、设计模式等,是一门综合性很强的软件课程,在计算机教学体系中占有十分重要的地位。

2国内外软件工程课程的现状

2009年9月,高等教育出版社正式出版、教育部高等学校计算机科学与技术教学指导委员会编制的《高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》(以下简称试行规范)中列出的“计算机科学与技术”专业方向之一就是软件工程。据信息查阅,目前有“软件工程”方向的教育部国家示范性软件学院有38所,全国高校开设“软件工程”专业方向授课的学校有两百多所。

以美国卡耐基•梅隆大学为代表的国外大学已经开发出非常实用的工程软件人才培养课程体系,它包括10个知识体系、58个知识领域[1]。2007年开始,国内的软件学院纷纷引进他们的课程体系,意在培养出中国的国际化工程型软件人才。各高校的软件工程方向本科教育也正在加快向工程型教育转变。以使课程教育紧密结合现代软件产业需求,课程内容结合一些实际工程项目[2]。

事实上,软件工程是一门教学难度比较大的课程,主要原因在于其以下4个特点。

(1) 软件工程作为指导计算机软件开发与维护的工程学科,研究范围广,包括技术方法、工具和管理等方面;

(2) 软件工程是一门边缘学科,内容丰富,涉及领域广,包括计算机科学、计算机技术、系统工程、管理学及经济学等。

(3) 软件工程还是一个相对比较年轻的学科,尚未形成成熟的教学模式,教材上例题零零散散,几乎没有较为成熟的实践内容。

(4) 软件工程是一项不断发展的技术,相关课程内容更替很快,如果继续偏重传统的成熟理沦,会造成与最新技术的严重脱节。但是完全讲解新技术,也不适合软件开发的实际需要,而且,课堂上也没有时间讲述全部新旧知识点。

国内高校的软件工程课程教学实践仍处在一种探索和发展阶段。在实施过程中,仍然以教师的思路为主,以此带领学生进行知识的学习。学生不可能独立面对一项完整的项目开发,仍然处于被动接受知识状态,缺少自主思考,很难体会到一个完整的项目开发过程。这种教学状态培养的学生在实际应用中不知道如何开展项目,也不懂如何推进项目。另外,课程的考试大多以笔试为主,一张试卷就决定学生课程学习成绩,这在很大程度上导致学生在软件工程课程学习中重理论轻实践。

为了弥补校园软件工程教育弱的现状,很多公司开设软件工程教育实习基地,把学生编入一个具体项目开发组,让他们在实际项目开发中建立工程概念,熟悉项目开发流程,参与项目具体代码和文档的书写,为胜任未来公司实际工作积累经验。为了适应外包软件人才的需要,2007、2008年市场上甚至出现了不少软件工程人才培育公司。

另外,大学为了培养学生职业技能也增设了专业实习,很多软件工程专业的学生被输送到相关的培训公司参加项目实习,而校园的实习也主要是引进公司的实训项目,以培养学生工程意识。

3电科院开设本课程的情况

软件工程课程包括的主要内容如下。

软件工程理论概述、软件开发过程、软件开发工具(建模技术)、项目管理、软件需求、面向对象、软件过程、软件建模、模式设计、极限编程、敏捷软件工程等。

作为一门独立课程,软件工程课程首先需要解决的问题是根据需要选择合适的授课内容;在具体教学过程中选用多本教材,它们的内容对比如表1所示。

北京电子科技学院开设本课程已有多年,经过对历届计算机科学与技术系学生的授课,课程教学处在不断摸索和进步之中。结合其他高校开设该课程的情况,并考虑到就业学生参与计算机项目开发的人不多这一情况,我们在课程内容上有所选择,主要是加大对软件工程项目的介绍和讲解,对软件合同中的甲方内容进行讲述,用政府电子政务项目做举例来说明软件工程的用处。从2008年开始,我们确定了软件工程课程的内容及基本要求,见表2。

通过本课程的学习,我们希望学生掌握软件工程的有关概念,了解各阶段的主要技术、方法与工具,具备协助和管理软件开发的基本能力。同时,强调文档,学习文档模板的学习。另外,在更加细化的内容上面,如分析方法之数据流图、分析工具之UML语言、测试方法之黑盒测试、白盒测试等方面,我们会根据实际的技术发展作适当的调整,以便跟上新技术发展和市场需求。

4教学方法和手段

软件工程课程的教学难度大,要讲好则需要下很大的功夫。

4.1软件工程第一堂课

课程定位:软件工程是计算机学科中一个年轻并且充满活力的研究领域。20世纪60年代末期以来,为克服“软件危机”,人们在这一领域做了大量工作,逐渐形成了系统的软件开发理论、技术和方法,它们在软件开发实践中发挥了重要作用。今天,现代科学技术将人类带入信息社会,计算机软件扮演着十分重要的角色,软件工程已成为信息社会高技术竞争的关键领域之一,而软件工程已成为高等学校计算机教育计划中的一门核心课程。

突出课程的核心地位,从“工程”角度去引导学生对本课程的认识;从“就业”角度去阐述本课程的重要性;从“大型软件”开发的兴趣来看本课程[3-4]。

4.2软件工程的实践

软件工程实践是很重要的环节,理论结合实际才能让学生真正体会课程的魅力。在数据库课程设计这个环节,我们要求学生应用软件工程的知识,尽量用工程化的思想来指导自己的设计。

4.3软件工程的案例

从实际出发,用软件开发的实际例子进行讲解,让学生体会大型软件开发的过程、方法、手段和控制。

从微软、IBM、用友等知名软件公司的软件开发看软件工程的开展。

从学生以前的计算机试验看软件的开发,并进行比较,从中看到弱点和不足。

4.4软件工程和项目管理

引进国外项目管理的概念,从别的项目管理到软件工程的项目管理。将两者进行比较,讲清不同点和相同点,让学生受到启发。突出项目管理的重要性,软件开发同样需要项目管理。从成本、风险、利益、控制角度看软件工程[5]。

4.5软件工程和毕业设计

从学生毕业前的毕业设计环节看软件工程的重要性。“毕业设计”不是一个小的计算机试验,而是一次对学生四年学习的全面考核,而软件工程正是可以利用的知识。

5实践安排与不足

为了培养学生工程概念,也是鉴于软件工程课程实践性强的特点。我们在2003年制定软件工程课程教学大纲时,特将该课程的实践环节与数据库课程设计相结合。本着在实践中体会、在实践中落实的原则,我们要求学生在多人合作开发数据库应用系统的课程设计中,运用软件工程学到的软件项目管理方法和软件设计与实现技术,并撰写必要的文档,以便使开发软件有较好的、完整的技术档案,并使其不断升级换代。另外,从各高校的情况看,实践环节非常重要,它需要实践环节的辅助教学。

6教学实施情况

开设课程实验是一个探索的过程,我们在反复摸索,以便增长学生的工程项目开发经验。我们曾要求1999级、2000级的学生将软件工程课程学习作为一个项目来管理,要求学生写课程学习日志,记录每周投入课程学习的具体时间、当时设计的目标、完成情况等。为了弥补学生缺乏项目开发经验的缺陷,我们也开展课后读书报告活动,即提供10~20个与毕业设计有关文档或指定若干软件工程发展的技术方向,让学生分组阅读文档或查阅并阅读有关文献,写出项目评价及专题读书报告(参见附录中当时读书报告分组评分记录)。但这也带来一些负面影响,即学生越来越依赖计算机,读书报告变成复制和粘贴文本,而不是认真阅读,预设的训练目的无法达成,因此,我们随后取消了这一做法。

99级教学中的软件工程实践时间设计为6小时,这主要是考虑学生在同一个学期中还有数据库课程设计30学时,不可能同时做两项大实验。因此,我们尝试从99级开始,在数据库课程设计中加入软件工程实践内容和要求,如需求报告完善、软件质量评估、软件测试具体检验等,并在课程设计答辩中设立软件工程相关问题的回答。到2003年,教学大纲正式提出两课实验合并。

在此,我们还有两个希望:(1)加大软件工程课程的课时(目前是30课时的教学,没有试验课时),同时开设试验环节,针对软件工程开设一个类似数据库课程设计的环节,加强学生动手能力的培养。(2)让学生走出去(政府或企业),撰写调查单位的软件实施方案。

7结语

软件工程蓬勃发展,学院的教学目标是培养服务于党政机关机要事业的计算机应用型专业人才。在课程教学中不断紧跟技术发展,紧紧抓住学院培养目标而设立课程教学目标,选好教学内容是个艰巨的任务,任重道远,它需要我们长期的努力。

参考文献:

[1] 孙家广,刘强. 软件工程理论、方法与实践[M]. 北京:高等教育出版社,2006.

[2] 钟珞. 软件工程[M]. 北京:清华大学出版社,2005.

[3] 胡飞,武君胜,杜承烈,等. 软件工程基础[M]. 北京:高等教育出版社,2008.

[4] 钱乐秋,赵文耘,牛军钰.软件工程[M]. 北京:清华大学出版社,2007.

[5] Carlo Ghezzi. 软件工程基础[M]. 施平安,译. 2版. 北京:清华大学出版社,2002.

Reflection on Software Engineering Course in BESTI

JIANG Xiang-gang, ZHANG Xiao-li

(Beijing Electronic and Scientific Institute Applied Software Team, Beijing 100070, China)

Abstract: This paper has a general analysis of the course of software engineering in BESTI. It presents the various parts including the curriculum planning, classroom teaching approches, problems to be solved and the goals to be attained. As a result of this reflection followed by related practice, a more improved software engineering is expected in BESTI.

软件工程课程总结范文第10篇

关键词:软件工程;案例教学法;实施

中图分类号:TP311.5-4 文献标识码:A 文章编号:1007-9599 (2012) 09-0000-02

一、引言

《软件工程》是计算机软件专业的一门核心课程,在软件开发实践中发挥了重要作用。《软件工程》中的方法与技巧不仅能用于软件开发过程,还能促进组织管理协作能力的发展,对培养学生的软件素质,提高学生的软件开发能力具有重要的意义,为将来从事软件开发及项目管理工作打下良好的基础。

《软件工程》是一门比较难学的课程,内容抽象,理论性、逻辑性比较强。对于学生来讲,一些知识点很难学懂学透;对于老师来说,如果仅仅是照本宣科,纯理论的讲解,那么学生听不懂,会失去学习的兴趣,教学效果差。

采用什么样的教学方法能提高学生学习本门课程的兴趣,提高他们的教学效果,促进本课程的教学?是我们每位教师值得思考的问题。通过多年软件工程的教学,总结经验得出案例教学法可以促进软件工程的教学。

二、案例教学法

案例教学,就是在教师的指导下,根据教学目的要求,组织学生对案例的调查、阅读、思考、分析、讨论和交流等活动,教给他们分析问题和解决问题的方法或道理,进而提高分析问题和解决问题的能力,加深学生对基本原理和概念的理解的一种特定的教学方法。

案例教学方法有一个基本的假设前提,即学员能够通过对这些过程的研究与发现来进行学习,在必要的时候回忆并应用这些知识与技能。案例教学法非常适合于开发分析、综合及评估能力等高级智力技能。为使案例教学更有效。学习环境必须能为受训者提供案例准备及讨论案例分析结果的机会,必须安排受训者面对面地讨论或通过电子通讯设施进行沟通。但是,学习者必须愿意并且能够分析案例,然后进行沟通并坚持自己的立场。

案例教学的具有自身的特色:1.鼓励学员独立思考。案例教学没人会告诉你应该怎么办,而是要自己去思考、去创造,使得枯燥乏味变得生动活泼,而且案例教学的稍后阶段。每位学员都要就自己和他人的方案发表见解。通过这种经验的交流。一是可取长补短、促进人际交流能力的提高,二也是起到一种激励的效果。2.引导学员变注重知识为注重能力。学员一味的通过学习书本的死知识而忽视实际能力的培养,对自身的发展有着巨大的障碍。3.重视双向交流。在案例教学中,学员拿到案例后,先要进行消化,然后查阅各种他认为必要的理论知识.这无形中加深了对知识的理解,而且是主动进行的。捕捉这些理论知识后,他还要经过缜密地思考,提出解决问题的方案,这应视为能力上的升华。同时他的答案随时要求教师给以引导,这也促使教师加深思考,根据不同学员的不同理解补充新的教学内容。

三、在软件工程教学中采用案例教学法的意义

传统的软件工程教学是给学生讲解许多的理论知识,并没有说明如何将理论知识与实践相结合,以理论指导实践,通过实践加强对理论知识的理解,采用的是填鸭式的教学方法,学生上课积极性、主动性不高,感觉学习枯燥乏味,产生厌学心理,学生的情绪会同时影响老师的积极性,使课堂气氛非常的沉闷。

要有好的教学效果,除了要求老师对本门课程的知识非常熟悉,教学经验丰富以外,还要求老师在上课时,采用比较好、先进的教学手段和教学方法。通过本人对软件工程课程的研究,认为在软件工程教学中以“案例导向、项目驱动”的教学方法,引导学生理论与应用相结合,理论指导实践,通过实践反过来加深对理论知识的理解,学生利用软件工程的原理、方法、工程技术在实践中学会发现问题、分析问题、研究问题、解决问题,更好地进行软件开发。

四、案例教学法在软件工程教学中如何实施

案例教学法在软件工程教学中组织实施的总原则:先从小的案例教学入手,学生适应后再进行大的案例教学,把学生分成若干个组,在规定的时间让学生阅读材料,之后让学生互相提讨论并解答,让学生对案例进行展示,老师对学生的案例进行评价和总结。以下分别讲解案例教法在软件工程教学的理论、实验、课程设计中的实施。

(一)案例教学法在软件工程理论教学中的实施

本课程主要介绍了软件危机的产生、消除软件危机的途径、软件工程的定义和基本原理;软件生命周期的基本任务、软件模型;传统方法学:结构化分析、结构化设计、结构化实现;面向对象方法学:面向对象分析、面向对象设计、面向对象实现;统一建模语言;软件计划、组织、控制、国际标准。重点和难点的内容是:软件工程的定义和基本原理;软件生命周期的基本任务、软件模型;结构化分析、结构化设计、结构化实现;面向对象分析、面向对象设计、面向对象实现。

这门课程涉及的理论知识比较多,内容比较抽象,教师在讲解课程内容时,如何使这门课程上得有声有色,学生听得津津是道,除了优化课程教学内容,有较强的表达能力以外,还要采用好的教学方法。

在本课程的理论教学中,我们都是以案例为导向,对软件生命周期的基本任务、软件模型的教学,举出三个案例,结合我们的理论知识,要求学生分析与计论出三个案例分别适合采用哪种软件模型,以及采用这种模型的原因。通过仓库管理系统、教师工资支付系统等案例讲解如何采用传统方法学对软件进行分析、设计、实现,面向对象分析、面向对象设计、面向对象实现知识的讲解,贯穿的案例是ATM自动取款机系统、电梯系统。

(二)案例教学法在软件工程实验教学中的实施

软件工程知识的掌握,不仅需要掌握理论知识,也需要大量的实际动手的训练。在实验课中,以案例为主线设计实验内容。本课程安排的实验如下:

1.系统分析----数据流图。2.系统分析----状态图及数据字典。3.软件总体设计---软件的系统结构。4.软件详细设计---程序流程图及判定表。5.白盒测试-----逻辑覆盖。6.白盒测试-----基本路径测试。7.黑盒测试---等价划分及边界值分析。8.自动售货机系统对象模型的创建。9.自动售货机系统动态模型的分析。10.自动售货机系统功能模型的创建。配套与教学内容相对应的上机实验,使理论与实践想结合,使学生得以融会贯通所学知识,学生能对所学的理论知识有更深的理解,加强实践运用的能力。

(三)案例教学法在软件工程课程设计中的实施

精心设计和实施综合性的课程设计,以循序渐进的任务驱动方式,指导学生完成综合性的实验任务。本课程安排了56节课的课程设计,课程设计案例的题目:1.教师工资支付系统的研究与设计;2.仓库管理系统的研究与设计;3.ATM模拟系统的研究与设计;4.图书管理系统的研究与设计;5.无纸化考试系统的研究与设计;6.校友录系统的研究与设计;7.餐饮系统的研究与设计;学生也可以自拟题目。可以三个人一组或单人完成一个项目,在完成项目期间,学生可以互相探讨,也可以与老师探计。项目成果最终以论文+系统的形式上交,论文要求如下:第一章是引言,第二章是系统分析,第三章是系统设计,第四章是系统实现,第五章是系统测试,第六章是总结,然后附录是主要的代码。这些项目可以使用传统方法学的方法,也可以采用面向对象的方法进行分析、设计、编码和测试。

通过案例项目开发过程中发现的问题,有针对性地学习软件工程理论。使学生在实践中学会发现问题、研究问题、分析问题、解决问题。使得学生能对所学的知识建立完整的知识体系。

五、总结

在软件工程的教学过程中,采用案例教学法,打破了传统的填鸭式的教学方式,实现以”案例教学法”促进”软件工程”教学,激发了学生学习的兴趣,使得枯燥乏味的课堂学习变得生动活泼,提高了学生学习的主动性,达到了较好的教学效果,学生通过软件工程课程的学习,掌握软件工程的原理和方法,根据软件规模,用传统方法学或面向对象方法学对软件系统进行分析、设计、编码、测试、运行维护。提高学生的软件开发能力,为将来从事软件开发及项目管理工作打下坚实的基础。

参考文献:

[1]张海藩著.软件工程(第3版).人民邮电出版社,2010,3

[2]宋雨著.软件工程实践教程.清华大学出版社,2011,3

[3]刘光洁著软件工程与项目案例教程.清华大学出版社,2012,1

[4]张凯著.软件工程与开发技术.清华大学出版社,2012,1

上一篇:创新创业课程总结范文 下一篇:网页设计课程总结范文