录稿查询
联系我们
在线投稿
刊文精选

国际视野下多维立体化实践教学体系的研究与探索

来源:教育教学论坛     2019-2-21 20:22:00      点击:


宫法明 崔学荣

摘要:软件工程学科的基本理论来自于工程实践,学生不可能靠“听”就完全掌握软件工程的基本理论、方法和工具,而是要通过实际的“动手做”和“真正练”,才能真正体会和掌握软件工程的理念。传统的教学体系存在重理论而轻实践,与企业需求脱离、与实际应用脱节等问题,所以学生常常感到内容抽象、枯燥、似懂非懂。同时国内IT企业发展相对落后,先进技术都掌握在国际大型IT行业协会或国际知名IT企业中,因此构建“国际化”的实践教学体系尤为重要。

关键词:实践教学体系;国际视野;软件工程;多维立体化

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2018)52-0142-03

软件工程学科的基本理论是来自于软件科学家、工程师的工程实践,对于没有经过实践训练过的学生来说,理解起来是很困难的[1]。然而,国内高校传统做法是以教师课堂授课为主[2],教学内容重理论而轻实践,与企业脱离、与应用脱节,学生常常感到内容抽象、枯燥、似懂非懂。

目前软件工程教学存在的主要问题有:

1.软件工程不是一门快速的科学,它自身的特点决定了它不是完全从书本和课堂上学习、理解和实践的。学生不可能靠“听”“讲”软件工程的基本原理,开发出实用的软件,而需要在实际的“做”和“实践”中去体验和掌握软件工程的思想。

2.许多教师缺乏使用软件工程方法开发完整系统的经验。他们只是根据教科书介绍一些基本原则。他们不能将当前软件企业的实际案例整合到基本原则的解释中。

3.当前的软件工程教学内容普遍强调理论,忽视实践。所谓的课程实验是在缺乏软件工程支持的开发环境中进行的。缺乏适合本科生教学使用的实验环境和材料,使学生无法得到真正的锻炼。实践内容简单,缺少“案例化”的示范、没有统一的主线贯穿软件工程全过程。

4.多门课程之间缺乏协调。教学内容不规范、不完整,课程之间衔接不好,内容上存在重复和缺失现象。采用的工具以及实验训练环境也五花八门,使学生无所适从。

5.很多高校软件工程专业的毕业生却面临着就业困难、找不到理想工作的尴尬局面。这种人才供需错位现象反映了目前高校对于高素质软件人才的培养存在明显的不足,主要表现在学生的工程实践能力不高,无法满足企业需要。

近年来,针对上述问题,国内的部分高校或软件工程学院进行了相关的教学改革尝试。例如:2014年国家教学成果奖云南大学软件学院的“软件工程人才培养CDIO改革实践与创新”提出了SE-CDIO工程教育模式并应用于教育改革中,在明确人才培养目标、人才培养大纲、课程体系、教学方法改革的实施、保障与评价改进体系的建立等方面进行了創新与实践。国家级教学成果奖重庆大学软件学院的“构建渐进性阶梯式工程实践教学体系,造就实用型软件工程创新人才”借鉴国际软件工程标准规范,探索了“三阶八环”的软件工程实践模型,并构建了渐进性、阶梯式软件工程人才培养的实践教学体系。

另外,北京交通大学的卢苇教授致力于国际化软件工程人才培养模式的探索与改革,针对国际化人才培养理念、人才培养目标、人才培养制度、人才培养模式等诸多方面进行了大胆地探索与实践[1]。华中科技大学IBM技术中心的黄晓涛教授将企业和高校作为人才培养的主体,从培养理念、培养体系、课程体系、质量评价、教学队伍等方面对卓越工程师的素质与能力培养过程进行了有效控制,取得了一定效果。

但是上述研究成果和参考文献均未充分介绍国际化、企业化、立体化“三化合一”的实践教学体系,因此本文面向国际上权威的软件工程标准规范和企业实际需求,进一步明确了软件工程各知识点之间的关系,构建了点、线、面、体“立体化”的实践教学体系。实践证明,该“立体化”、“国际化”的实践教学体系实现了对学生工程实践能力的前后连贯、逐层递进、持续有效地培养。

一、知识域(点)——以SWEBOK的知识域作为学生应该掌握的核心知识点

在1999年5月,ISO和IEC的第一个联合技术委员会推出了软件工程机构指南。(Guide to the Software Engineering Body of Knowledge,SWEBOK)项目。电气与电子工程师协会(IEEE)和美国设计计算机协会(ACM)是一个主要的组织,有来自几十个国家和地区的数百名软件工程专家参加。Switbk草案的最新版本是2014版。

SWEBOK指南的目标是:①促进软件工程知识,实现世界规范;②明确软件工程等相关学科,确定软件工程学科的范围;③反映软件工程学科内容的特点;④确定软件。工程本体知识的各个主题为编写相应的课程和专业资格认证材料奠定了基础。SWEBOK的10个知识域包括:

(1)软件需求,包括:软件需求基础、过程、获取、分析、规格说明、确认、实践考虑等。

(2)软件设计,包括:软件设计基础、软件设计关键问题、软件结构与体系结构、软件设计质量的分析与评价、软件设计符号、软件设计的策略与方法等。

(3)软件构造,包括:软件构造基础、管理构造、实际考虑等。

(4)软件测试,包括:软件测试基础、级别、技术、与测试相关的度量、过程等。

(5)软件维护,包括:软件维护基础、软件维护的关键问题、维护过程、维护技术等。

(6)软件配置管理,包括:软件配置管理过程的管理、软件配置项、软件配置控制、软件配置状态统计、软件配置审计、软件发布管理和交付等。

(7)软件工程管理,包括:启动和范围定义、软件项目计划、软件项目实施、评审与评价、关闭、软件工程度量等。

(8)软件工程过程,包括:过程实施与变更、过程定义、过程评估、过程和产品度量等。

(9)软件工程工具和方法,包括:软件工程工具、软件工程方法等。

(10)软件质量,包括:软件质量基础、软件质量管理过程、实践考虑等。

将SWEBOK的知识域作为学生应该掌握的核心知识点,进一步细化各知识点的教学大纲、教学标准和教学要求,解决了之前教学内容不规范、不完整,课程之间无衔接、内容重复等问题,达到了对软件工程卓越工程师教育培养的标准和要求。

二、教学案例(线)——以CDIO的实际工程案例为主线

软件工程理论是软件大师们在工程实践中总结、提炼而成的,需要在工程实践环境下进行教学和实践,原有的教程均以理论传授为主,缺少“案例化”的示范,没有统一的主线贯穿软件工程全过程,学生无法将软件工程各环节进行有效地关联。

以国际工程教育界公认的MIT(麻省理工学院)的CDIO(Conceive Design Implement Operate)工程教育理念为指导,以贯穿软件工程生命周期五个阶段、融合CDIO四个方面的“软件需求构思(C)→软件架构设计(D)→过程实现测试(I)→软件运行管理(O)”的统一的实际工程案例为主线,与IBM工程师合作编写《软件需求》→《软件架构设计》→《软件工程过程》→《软件测试》→《软件项目管理》等五本“案例化”系列教程。

在系列教程中,由以实际项目为背景的“统一的教学案例”将软件工程的实践方法、实践结果检验、实践考核评价等融会贯通,让学生从“可实践”软件工程的角度学习和运用软件工程的思想以及现代技术解决软件工程实际问题。

三、开发过程(面)——以IBM RUP为软件开发过程为框架

1.IBM软件敏捷化开发过程RUP。IBM公司是世界计算机领域的蓝色巨人,特别在软件工程领域的影响力是世界领先的,掌握着软件工程领域的各种先进技术和工具。

IBM的RUP(Rational Unified Process,统一软件开发过程)是一套敏捷化的软件开发过程框架,RUP吸收了多种开发模型的优点,具有很好的可操作性和实用性,学校或企业可根据自身的实际情况,以及项目规模对RUP进行裁剪和修改,以制定出合乎需要的软件工程过程。

RUP凭借与统一建模语言(Unified Model Language,UML)的良好集成,以及多种CASE(Computer AidedSoftware Engineering,计算机辅助软件工程)工具的支持,不断升级与维护,迅速得到业界广泛地认同,越来越多公司(如IBM、微软、Sun)将它作为软件开发模型框架,RUP已经成为一种事实上的工业标准。

2.“软件敏捷化开发”课程群构建“软件开发过程”框架。“打破课程界限”,融合IBM的RUP形成了《软件开发过程》、《软件需求开发与工程》、《软件项目管理》、《软件测试与质量工程》、《软件架构设计》等五门课的以软件“开发”过程为核心的“软件敏捷化开发”课程群。在课程群建设过程中,以RUP为核心,结合企业的实际工作流程、最佳实践和实际案例,覆盖了一系列IEEE软件工程标准。以及RUP、Rational Rose、CVS、Junit等软件工程工具和环境,使学生掌握当前最先进的软件工程方法和技术。

四、生产过程(体)——以西门子的PLM为软件工业生产过程的体系规范

1.软件工业化生产与软件产品线。由于软件危机和软件竞争的存在,各大IT企业为了获得投资回报,必须尽最大可能地重复利用那些具有共同特性的软件组件,这就是软件的工业化生产或称“软件工厂”。软件产品线是软件密集型系统的集合,具有一组可管理的共同特征,这些共同特征满足特定的市场或任务需求,并以预定义的方式从共同的核心资产开发。软件工业化生产过程是“组装”组件而不是重新“开发”软件,主要活动是“集成”而不是“编程”。

2.西门子工业4.0与产品生命周期管理PLM。在德国工程院、西门子公司等德国学术界和产业界的推动下,“工业4.0”项目于2013年4月在德国被正式推出。“工业4.0”的呼声在中国也越来越高,中国政府正在推进“中国制造2025”和“德国工业4.0”的战略对接。工业4.0中的智能制造与软件技术有关。工业4.0的本质是以“信息物理系统”为基础实现“智能工厂”。该系统包括PDM(生产数据管理)、SCM(产业链管理)、PLM(产品生命周期管理)、CAD(计算机辅助设计)和数据处理系统,能够对各种分散的信息进行汇总和分析,解决生产问题:产品生命周期的不断缩短,交货周期的加速和客户定制需求的多样化。

西門子的PLM(Product Lifecycle Management,产品生命周期)是一种支持产品全生命周期信息的创建、管理、重用、分发和应用的一系列解决方案,它能够集成与产品相关的人力资源、流程、应用系统和信息,与日益受到重视的“工业4.0”深度集成。

3.“软件产业化生产”课程群构建“软件工业生产过程”系统规范。以西门子PLM为软件工业生产过程的系统规范,以软件“重用”过程为中心,开设“软件重用与构件开发课程设计”、“软件工程实践”、“软件工程师国际认证”、“软件工程经济学”、“企业实践”等5门实践课程的软件产业化“课程群”。

课程组依托西门子PLM生产过程组织教学内容和实践环节,合理安排活动、工件、项目案例、评价标准、关键知识点、时间安排、里程碑等涉及各种角色的内容。在教学过程中,如教师、学生、评价团队等,形成了可操作的教学,过程系统规范。通过课程组在统一的项目案例中引入相关的知识点,使知识点之间的联系一目了然,有助于学生真正理解软件工业生产过程的知识体系。

五、结束语

为了克服软件工程实践教学过程中的困难,以校企深度融合为核心,以卓越工程师教育培养标准为导向,构建了“点-线-面-体”四级“立体化”的实践教学新体系。其中,“点”——以国际IT行业著名的IEEE和ACM协会的SWEBOK知识域作为学生应该掌握的核心知识点;“线”——以国际工程教育界公认的麻省理工学院的CDIO的实际工程案例为主线;“面”——以国际上软件工程最著名的企业IBM的RUP为软件开发过程框架;“体”——以国际上“工业4.0”倡导的企业西门子的PLM为软件工业生产过程的体系规范。

在国际视野下,构建的“立体化”的实践教学新体系,实现了理论教学与实践训练的有效融合,可以让学生经历从理论到技术、从技术到生产、从生产到运营的全过程,使“软件工程理论来源于实践并服务于实践”的理念得到贯彻。

参考文献:

[1]卢苇,胡海青.战略性选择超常规发展——中国示范性软件学院十年巡礼之一[J].高等工程教育研究,2011,(04):35-45.

[2]刘强,陈越,骆斌,等.“软件工程”课程教学实施方案[J].中国大学教学,2011,(02):41-44.


本文版权归教育教学论坛杂志社及本文作者所有,未经同意,不得转载! ——《教育教学论坛》查稿电话:0311-85178286