张莉 谭火彬
摘要:工程硕士教育更多地关注学生的工程实践能力,其培养过程有一定的目的性。文章结合软件工程硕士培养的特点,提出一种目标驱动的培养模式,结合北京航空航天大学软件学院软件工程与管理专业的实际情况,阐述该培养模式的设计、实施和改进过程。
关键词:目标驱动;软件工程;工程硕士;培养模式
0.引言
工程硕士专业学位是与工程领域任职资格相联系的专业性学位,其目标是为工矿企业和工程建设部门,特别是国有大中型企业培养和输送应用型、复合型高层次工程技术和工程管理人才。增强企业实力与市场竞争能力,同时满足现有工程技术与管理人员在新形势下对知识更新和提高业务能力与素质的需要。
软件工程硕士是随着软件产业的发展而出现的新的工程领域硕士学位,自2002年起,全国35所高校的软件学院成为国家教育部批准成立的首批全国示范性软件学院,授权培养软件工程硕士,即培养以系统化、规范化、可定量的过程化方法来开发和维护软件系统的工程技术人才,以满足我国软件行业迅猛发展对高层次人才的需求。北京航空航天大学软件学院(以下简称北航软件学院)经过多年的探索和总结,最终建立了一套目标驱动的软件工程硕士培养模式。
1.目标驱动的培养模式
目标驱动的培养模式如图1所示。模式围绕专业建设和人才培养目标,建立课程培养方案和体系,并对实施过程进行质量监控和持续改进。该培养模式的核心价值体现在以下兀,个方面:
(1)目标导向的教育取向。即整个教育过程都是为了达到特定目标,将学生培养成特定领域的专业技术人才。
(2)以学生为中心的教育理念。学生是培养过程的核心,从学生入学、就业和市场需求各层面保障学生的利益。
(3)持续改进的质量文化。市场不断变化、对人才的需求也在不断发展,通过多种反馈机制持续改进培养目标和方案,从而保障其时效性。
从图1中可以看出,培养模式的核心是明确培养目标,并以此为基础驱动后续培养方案的制订和实施。为了保障建立合理、适用的培养目标,要从市场需求和学生需要两个角度展开深入分析。工程人才的培养目标是造就满足市场需要的人才。为此,市场的特点、技能的要求,特别是实践技能的要求会直接影响培养目标的制订。培养目标的另一个输入是学生,培养对象是学生,培养效果也通过学生体现,因此以学生为中心、面向学生需要确定培养目标是很有必要的。同时,具体培养方案也应根据对学生的期望设计。针对学生,需要从入口和出口两个方面考虑,人口是生源,出口是毕业生。要制订合理的培养目标,必须分析生源的特点,明确企业对毕业生的能力需求。
培养目标是培养方案的核心,以目标驱动后续的活动。依据市场和学生的情况建立专业的核心培养目标,并在此基础上针对不同的学生建立各自适合的人才培养目标,围绕不同的目标建立具体可实施的培养方案。培养方案应列出完整的课程体系,细化每门课程的教学大纲,保证通过课程教学能够达到培养目标。教学督导组审核课程大纲对培养目标的符合性。
随着市场不断发展,学生人口和出口会随之变化,为保证培养方案的时效性和适用性,必须在培养方案的实施过程中进行严格的质量监控,及时发现问题并持续改进。
2.目标驱动的软件工程与管理专业硕士的培养
北航软件学院软件工程与管理专业是2002年学院成立之初建立的首个专业,是学院的基础和核心专业。经过10多年的发展和改进,专业培养方案不断完善,最终形成了目标驱动的培养模式。
2.1需求分析
学院从市场和学生两个角度明确本专业人才培养的需求。目前市场对软件人才的要求已经从单纯的软件编码人员转向具有需求分析、设计和管理维护能力的综合性人才发展。因此,硕士人才培养的定位也应该是系统分析师、体系结构设计师和项目管理人员等高层次人才。
就生源而言,软件工程与管理专业的生源有两类。一类为应届本科毕业生,这类学生本科大部分为计算机及相关专业,理论基础比较扎实,实践能力相对不足;另一类为在职技术人员,这类学生大部分在软件企业工作,具有一定的软件编码经验,但系统化理论知识比较薄弱,希望通过读研提升自己理论和实践能力,在企业有更好的提升空间。
就毕业去向而言,本专业毕业生绝大部分都会继续从事软件行业工作。我们对近几年毕业生跟踪统计发现就业的公司主要包括以下几类:
(1)在IBM、微软、惠普、NEC等知名外企就业的约占12%;
(2)在百度、腾讯、搜狐、网易、华为、联想、中软等知名软件国企就业的约占27%;
(3)在航空、航天、银行、电信、金融等机构软件研发中心或信息中心就业的约占18%;
(4)在科研院所、党政机关和政府部门等就业的约占15%;
(5)在其他各类创新型软件企业就业的约占28%。
2.2制订培养目标
通过对专业培养需求的分析,我们明确了软件工程与管理专业培养目标着重关注的3个层面:
(1)教学紧跟学科前沿,参考SWEBOK,系统讲授软件工程理论。
(2)训练学生开发软件产品所需要的各种实际应用技能,建立质量、成本和时间的观念。
(3)让学生系统掌握分析设计方法、过程、管理和工具,提高实际项目开发和过程管理能力。
从上述3个层面出发,我们明确了本专业知识领域需覆盖从软件项目需求分析到软件产品提交和维护的软件全生命周期相关知识要素和技术基础,提出从以下两方面培养学生能力:
(1)从设计角度着力培养学生的软件系统分析设计能力和软件构架能力。
(2)从管理角度着力培养学生的软件项目统筹规划能力和项目管理控制能力。
据此,我们细化的具体人才培养目标是培养大型IT企业所需要的系统分析师、体系架构师、高级软件开发工程师、高级软件测试工程师和软件项目经理。这5个人才培养目标有效地覆盖了软件开发过程的各个阶段,如图2所示。
图2给出不同方向的专业人才不同的关注点,系统分析师主要关注软件需求;体系架构师负责软件设计;高级系统开发工程师负责系统核心代码的编写;高级软件测试工程师负责软件测试工作;而软件项目经理则管理整个软件项目开发过程。
2.3制订培养方案
专业培养方案在综合考虑研究生生源(应届本科毕业生和有多年软件从业经验的往届生)、培养机制(在职生和脱产生)、人才培养目标(毕业生规格)等多方面需求的基础上制订,遵循“小核心+大外围”的原则。针对各类人才都需要的基础技能,我们定义了本专业必修课程,同时面向不同的专业方向开设各类特色选修课程。培养方案组成结构如图3所示。
基础核心课程是面向全体学生的必修课程,侧重于培养学生的基本素质和能力、专业基础知识和实践动手能力。课程设置采用4+3+4模式,即4门基础能力课程,3门专业基础课程和4门实践能力课程(环节)。
外围课程主要针对不同专业方向学生各自的专业需求。课程设置采用3+N+M模式,即每类人才必修的3门专业技能课程、Ⅳ门职业发展课程和M门延伸课程。专业技能必修课程为本专业方向的基础核心课程,着重培养学生的核心专业素质和能力,学生应根据自己的职业规划选择相应课程。职业发展课程是面向目标职业开设的特定专业技术课程,着重培养学生在特定领域的专业技术和能力,学生可根据自身情况选择若干门(Ⅳ)此类课程。延伸模块是面向所有学生更广泛的兴趣开设的相关课程,目的是开阔学生视野,拓展知识面,学生可根据自身兴趣选择若干门(M)此类课程。
针对图2给出的不同人才培养目标,可以实例化不同的课程。以体系架构师为例,强调需求分析和解决方案设计的能力,因此专业技术模块必修的3门课程为软件体系结构、高级系统分析与设计、先进数据库技术课程。职业发展模块侧重于不同的专业技术领域进行选择,包括诸如领域软件设计、SOA原理与实践、云计算技术、经验软件工程、软件质量管理和软件需求工程等不同的课程。延伸模块包括学术前沿讲座、国际化软件外包等课程。
2.4支撑条件的建设和培养方案的实施
为了保障培养方案的有效实施,需要建立一套必备的支撑条件,这些支撑条件包括师资队伍建设、实验室建设和实习基地建设等。
基于本专业的课程特点,师资来源有学院和企业。学院导师占60%左右,主要承担专业基础课程教学,保证基础课程体系的系统性和完整性。企业导师约占40%,主要承担实践性较强的课程以及相应专业特色课程,使得人才培养更加有效地贴近企业实际需求。
实验室是确保实践课程顺利开展的基础条件。为此,学院分别建立了计算机综合实验室、程序设计与算法实验室等各类实验室。同时,通过与企业共建的方式,学院共设立了20多个面向各个行业领域的实验室。
实习基地建设是为了保障学生在课程学习完成后实习阶段的需求。为此,学院与各类企业签署实习基地建设协议,建立长期的合作关系。结束课程学习的学生可以通过双向选择进入实习基地,参与不少于1年的实习工作,并结合实习工作完成毕业设计,进而完成整个研究生阶段的学习。
2.5质量监控和持续改进
为保障培养目标能够在实施过程中得到有效的满足,通过建立两个闭环控制过程分阶段进行质量控制。针对课程质量的控制方案如图4所示。
图4中的小闭环主要用于课程教学阶段的质量控制。在课程大纲制订阶段,课程督导组审核课程大纲与培养目标的符合性。在授课阶段,通过专家听课、学生评价等手段保证课程教学的质量。同时,各责任教师针对发现的问题及时给予相关的反馈,并对课程内容、甚至培养目标进行调整和改进。
大闭环关注学生的实习和就业阶段。由实习办公室负责对学生在企业实习、就业的情况进行调研,通过联系企业、反馈实习效果或毕业生情况、组织毕业生座谈等手段,了解学生实习目标达成情况,根据反馈调整培养目标和方案。
3.结语
作为新兴的工程专业,全国的示范性软件学院都在不断探索软件工程硕士的培养模式。北航软件学院结合学院的特点,探索并建立了目标驱动的软件工程硕士培养模式。目前该专业每年招收100多名学生,毕业生就业率为100%,说明目标驱动的培养模式达到了预期。
(编辑:彭远红)