当前位置: 首页 > 范文大全 > 公文范文 >

改革“软件工程”课程,促进工程型应用人才培养

时间:2022-05-05 15:50:04  浏览次数:

文章编号:1672-5913(2008)10-0128-02

摘要:本文从“软件工程”课程的特点和目标出发,从调整课程结构、加强工程实践、规范文档三个方面进行了详细的阐述,并对课程改革中的重要问题及细节作了分析与解决。

关键词:软件工程;课程改革;分阶段课程;工程实践训练

中图分类号:G642

文献标识码:B

1引言

目前,在国内1900多所普通高校中有500多所开设了计算机科学与技术专业,有40所左右的院校开设了软件工程专业。“软件工程”是软件工程专业的专业核心课程,是一门综合性很强的课程,几乎包含了SWEBOK的全部领域。在教学中为了教学课时的安排和突出重点,通常是以软件需求、软件设计、软件工程工具和方法为主,再加上各种条件的限制,较多地强调理论学习,所讲授知识相对当前的新技术来讲有些滞后,虽然也有一定的实践相配合,但实践与当前软件工程技术的发展还有较大差距。

再加上由于软件工程的优势在训练学生的小型项目上体现不充分,学生普遍认为软件工程就是画画图,学与没学差别不大,导致学习效果不好,使得软件方向的学生只重视编码,面向对象的开发方法重视不够,建模方法使用混乱,文档不规范,影响了对学生工程素质的培养和能力的提高,与社会对毕业生需求的能力相差较大。这些暴露出的问题说明“软件工程”课程的教学结果不令人满意,教与学的付出和收获没有成正比,没有得到社会的认可。此外,随着软件工程技术的发展,软件工程领域的教学内容不断更新、丰富,软件企业对软件工程能力的要求越来越高。为改变这一现状,适应技术的发展,对现行的“软件工程”课程进行改革势在必行。

2以培养工程型应用人才为课程目标

开设软件工程专业的大部分院校通常会把培养目标定位于应用型人才。但是,对于软件工程专业来说,仅局限于应用型人才是不够的,这是由软件工程专业的特点(即它是计算机科学为基础的新兴交叉学科,具有鲜明的工程特色,与应用领域结合紧密)决定的。软件工程专业的培养目标应当是培养信息化社会需要的工程型应用人才。学生通过理论和实践的学习,应具备软件工程师从事软件工程实践所需要的素质、知识和能力。

对软件工程专业核心课程的“软件工程”来说,课程目标应同专业的培养目标一致,也就是培养学生的软件工程素质,提高学生的软件工程能力,促进工程型应用人才的培养。

3调整课程结构,不断强化工程能力

现行软件工程课通常是以软件生命周期为主线进行教学,在内容上,以需求分析、软件设计、编码为主,辅以软件测试、软件维护、软件项目管理的一般知识;在方法上,面向过程和面向对象均有;课程安排,通常集中在一学期内完成,课时通常较其他专业课程多,配套的实践课通常是与理论在同一学期完成,课时较理论课时少,题目一般较简单。在保留现行课程教学优点的基础上,主要从调整课程结构、加强工程实践、规范文档三个方面进行“软件工程”课程的教学改革。

3.1调整课程结构,延长教学的时间和空间

这里对课程结构的调整不是要打乱软件生命周期,而是增大课程的时空跨度,将原来在一学期内开设的课程扩展为两个学期的课程,增加案例教学与实践训练题目的综合度,进一步充实课程内容,通过连续性教学的刺激,使工程的意识和方法得到正强化。从而在较长时期的潜移默化中培养学生的工程素质,在不断的实践中提高学生的工程能力。具体措施是:将现行课程分为基础和提高两个阶段,基础阶段理论和实践相结合,以理论为主,高级阶段以实践为主,适当补充理论,两个阶段之间是螺旋上升的关系。

课程基础阶段的内容是软件工程的基础知识,以软件生命周期为主线,目的是让学生对软件工程课程的内容、结构有一个较全面的了解,掌握基本知识,熟悉基本方法,为后续的学习打好基础,课时数可以在50~60学时之间。理论讲授以需求分析、软件设计、编码为主,注意小案例的运用,配套实践以训练基本技能为主,包括对Visio或者Rose等工具的使用。课程基础阶段应尽量早地开始,可以在第四或第五学期,这个时候程序设计课、数据结构等重要前驱课程都已经开过了;更重要的是,在其后的其他课程学习中,特别是实践环节,很多时候都要用到软件工程的知识和方法,这样可以让学生在不断的练习中强化基础知识,加强知识之间的联系,培养工程意识。

课程的提高阶段主要是以项目小组为单位的实践训练,仍然是以软件生命周期为主线,以较综合的贴近实际的软件项目进行训练,包括完整的软件过程,目的是让学生在强化训练中,把软件工程课的基础知识与包括软件程序设计技术、项目管理、数据库、软件测试等各相关课程的知识联系起来,以文档和程序系统为手段,提高工程能力,形成一定的工程素质。提高阶段课程应稍后一些,可以在第七学期,以学生课外完成为主,课堂上主要是答疑性指导,课时数可以在40左右,在实验室进行。同时,教师应根据学生的掌握情况,查漏补缺,并适当补充一些知识,比如较新软件过程模型、软件开发方法和CMM的实施等。

在进行课程结构调整时,必须注意两个阶段的连续性,否则容易造成理论与实践脱节的后果。注意到在两个阶段课程之间的长达两三个学期的时段,因此必须有相应的课程安排与之配合,这就是知识与能力不断线原则。课程安排可以是在其他课程的实验里面规定使用基础阶段所讲授的内容,也可以是单独的课外实践,一定要保证正强化。

3.2加强工程实践,切实提高学生的工程能力

理论结合实际的能力是当前毕业生的一个软肋,满足不了社会的需要,造成当前计算机相关专业特别是软件工程专业学生毕业后的就业“低潮”。只有从低年级开始大力加强以“软件工程”课程实践为代表的实践环节,提高能力,才能使学生具备一定的工程素质和工程能力。这里以课程提高阶段的实践进行说明。

课程提高阶段的实践训练是整个课程的总结,课程的成败很大程度上依赖于综合实践,因此,在进行实践训练安排时,训练形式、内容、要求等都很重要,用于训练的项目要有一定的规模和综合度。

实践训练在一学期之内完成,以项目小组的形式进行,每个组按照项目管理的方式进行组织和管理,充分发挥学生的主动性。按软件生命周期分为需求分析、软件设计(也可再分为总体设计、详细设计)、编码、软件测试与改进四个阶段,每一阶段都要进行验收,验收时尽量推行学生论讲,最后阶段完成后要进行答辩,对每一阶段都要严格要求。

实践训练的内容实际上就是需求分析、总体设计、详细设计、编码、软件测试与改进,其中,可以需求分析与详细设计为重点。方法上应以面向对象的分析与设计为主。除编码外,每一内容都应有相应的文档训练,而且对文档应严格要求,在小组完成项目后,应该有一个总结报告。根据专业的特色和条件,训练的项目最好与某些应用领域相结合,这样能使训练更接近实际。在训练过程中,不仅要考虑系统的性能,还要考虑建造系统的代价以及可能带来的副作用,逐步培养学生的工程素质。此外,可以适当引入一些中小IT企业的方法和管理,可以建议学生在详细设计和编码阶段写程序员日志(或叫开发日志),提前让学生感受到企业的工作氛围。

软件测试对软件环境和师资条件要求较高,有条件时可以使用WinRunner、QTP等软件进行训练,条件不具备时,可以使用JUnit等进行单元测试训练。

在学生负担不重而且有相应的条件时,可以按照CMM2实施,从中抽取初五个关键过程:需求管理、软件项目计划、软件项目跟踪与监控、软件质量保证、软件配置管理,对其加以改造或者适当降低要求进行训练。

3.3文档的规范化引导

软件工程的文档编写一直是学生的难点,好多学生都认为太麻烦,这是因为他们对文档的重要性认识不够。因此,在整个“软件工程”课程中都要强调并加强引导,在各个验收阶段要严格要求。

软件文档的标准本身对师生来说就是一个较困难的事情,因为学校跟IT业界是有距离的。很多主流的文档格式或者说模版,比如CMM标准的文档,如果没有跟企业合作的话,是很难了解或拿到的。在这种情况下,可以按照国标GB-85系列来进行。

实际上,对学生的文档规范性引导,并不是一定要有了最新的业界标准文档格式才能进行,因为格式这个东西很容易学会,关键是要训练学生常规的编写经验,培养文档意识,把文档作为验收的内容和阶段结束的标志。因此,在训练过程中一定要详细地给学生讲解怎么写文档,需要注意些什么,在验收后一定要对学生的文档进行点评,对典型问题要注重回头看,教师要用自己的严谨、负责的态度感染学生,突出文档规范的重要性。

4结束语

“软件工程”课程自身的综合性以及在软件工程专业中的重要地位决定了课程必须跟上时代的发展,符合社会的需求,因此对“软件工程”课程必须以培养工程型应用人才为目标,不断向前推进改革。只有在教学过程中注重理论与实践的结合,不单纯地以“软件工程”课程的基本知识为内容,而是综合软件工程专业的多个相关课程,对学生进行综合训练,加强文档训练,把握好课程改革的度,稳步推进,才能有效改进目前的课程教学。

参考文献

[1] 中国计算机科学与技术学科教程2002研究组. 中国计算机科学与技术学科教程2002[M]. 北京:清华大学出版社,2002:7-52.

[2] 汪斌,汤文亮. 软件工程教学改革初论[J]. 华东交通大学学报,2006,(10):152-153.

[3] 潘娅. 软件工程教学方法探索[J]. 西南科技大学学报(哲社版),2006,(6):28-30.

推荐访问: 软件工程 人才培养 改革 课程 工程
[改革“软件工程”课程,促进工程型应用人才培养]相关文章