中国电子商会信息工程测试专业委员会主办
今天是
中国电子商会信息工程测试专业委员会
产教融合共同体
人才托举 您的位置: 主页 > 产教融合共同体 > 人才托举
持续改进软件工程人才培养体系
2026-01-28 返回列表

张  莉

北京航空航天大学 软件工程研究所,北京 100084



摘 要:系统总结笔者担任北京航空航天大学主管教学副院长 20 余年,尤其是担任软件学院副院长近 10 年所积累的思考与经验。通过不断构建软件工程人才培养体系的核心思想与实践方法,明确软件工程专业与计算机专业差异化培养的思路,提出基于复杂软件工程问题仿真模型的三级递进课程体系,介绍示范性软件学院在构建符合国家战略需求的特色化软件学院人才培养方案方面的探索与实践,最后探讨人工智能时代软件工程人才培养所面临的挑战与机遇。

关键词:软件工程;人才培养体系;能力培训体系



0

引 言

笔者有幸担任了北航计算机学院和软件学院的教学副院长,参与并负责了两个专业人才培养方案的制订,在学习中成长,也在成长中学习。

我于 2002 年评上正教授后,马殿富院长找我谈话,希望我担任计算机学院的本科教学副院长,由此我开启了教学管理和教学研究之路,同时也从一名普通老师关注如何建好一门课,扩展到对计算机专业人才培养体系的思考。计算机学院担任教学副院长的 10 年,是我学习、成长的 10 年,在李未校长挂帅,马殿富院长指导下,我有幸参加了北航研究型学院人才培养模式与体系的研究及实践,以及计算机系统能力人才培养体系从无到有的构建过程,相关工作分别获得了国家级教学成果一等奖和二等奖(排名第四和第三)。同时,作为教学副院长,我参与了 2006 年全国第一批工程教育专业认证工作(北航计算机专业成为首批 8 个被认证专业之一),成为专业认证的第一批实践者。计算机学院的教学工作也得到了学校和国内同行的高度认可。

2012 年,学校安排我担任软件学院教学副院长,我很开心,因为我的研究方向正是软件工程,研究其人才培养正是我的兴趣所在,然而,第一次在学校汇报,一个问题就把我难住了:“软件工程人才培养方案和计算机专业人才培养方案的区别是什么”,这个问题成为我此后 10 多年持续探索的核心,我们的答案和实践也两次获得了北京市教学成果奖。

1

构建软件工程人才培养体系:核心思考和实践

要构建软件工程人才培养体系,首先要明确其人才培养目标。在计算机学院的实践以及对工程教育认证核心理念逐渐深入的理解,让我认识到“面向产出的人才培养理念”首要任务是明确“产出”的内涵:软件工程专业毕业生与计算机专业毕业生有何不同?培养定位的区别在哪里?

诚然,两个专业的培养方案存在同名课程和重叠知识点,但软件工程能作为独立专业存在,必然有其独特的培养目标。这让我深感责任重大。当时的核心思考聚焦于两点。

1)软件工程专业的系统能力是什么?

在计算机专业,我们构建的是“计算机系统”这类复杂系统(从 CPU 到组成原理、操作系统、编译器等),培养的是构建此类复杂系统的能力。那么,软件工程专业的复杂系统是什么?答案就是“软件”本身。软件系统(如操作系统)就是典型的复杂系统。图灵奖得主布鲁克斯在总结 IBM OS360 开发失败教训时曾指出:“过去几十年的大型系统开发犹如这样一个‘焦油坑’,很多大型和强壮的动物在其中剧烈地挣扎......只有极少数的项目满足了目标、进度和预算要求”。软件工程的核心使命,正是解决复杂软件系统的构造问题,并满足进度、预算等约束要求。

2)“工程”的内涵是什么?

参与工程教育专业认证多年,我深刻感受到国内工科教育在“工程”属性上的欠缺。虽然国内软件工程专业大多授予“工学”学位(极个别授予“理学”学位),但是培养方案普遍偏“理”轻“工”。这在认证中表现为学生工程能力,特别是解决复杂工程问题能力薄弱。我们常将复杂的工程问题过度简化,变成实验室里的技术问题,导致能开发众多“原型系统”,却难以产出真正的“产品”。

“工程”的本质是什么?它是通过系统化、规范化的方法,设计、构建和维护复杂系统或产品,以满足特定需求或解决实际问题的实践活动。其核心特征包括:①目标导向:解决现实问题(如开发满足用户需求的软件)。②系统性:覆盖需求分析、设计、实施、测试、优化等完整生命周期。③约束条件:必须在成本、时间、资源、安全、环保、伦理等多重限制下达成目标。因此,软件工程人才仅仅会写代码是远远不够的,必须能够综合考虑目标、资源、进度、成本等多维因素。

基于上述思考,我们构建了“三层递进式软件工程能力培养体系”。软件工程能力培养是软件工程人才区别于其他领域人才的核心。我们将该能力培养分为3个逐步提升的层级:程序级、系统级和项目级。每个层级应该具备的能力如图 1 所示。

1.png

本科阶段主要任务是构建专业基础架构,侧重于程序级课程,进而掌握基本的系统分析与设计方法,了解工程中的质量、成本、进度管理,建立风险意识。硕士阶段则重点提升系统级和项目级能力,强化设计类、管理类课程,学习软件工程研究方法,理解工程规律。在此基础上,我们构建了覆盖大二到大三两个学年的“三层递进式复杂软件工程问题模拟实践课程体系”,旨在通过模拟实践,覆盖软件研发全过程,逐步培养学生的基本工程能力、复杂软件设计能力和复杂系统工程管理能力,从而提升软件系统研发能力和人才培养质量。

基于复杂软件工程问题仿真模型的三层递进的课程体系如图 2 所示,软件工程研发能力的培养在学生具备程序设计能力的基础上,通过 3 个层次逐步提升。

2.png

(1)软件工程基础实践(程序级):安排在大二暑期。学生在掌握数据库管理知识和软件工程基础理论后,基于简单的模拟系统案例和瀑布模型,在固定的 2 周“时间盒”内完成一个简单软件系统的开发。目标是让学生首次体验完整的软件研发过程,培养基本工程能力。

(2)软件工程核心技能实践(系统级):配合大三上学期的软件系统分析与设计和软件测试与交付理论课,采用大作业+研讨式教学。要求学生在工程环境约束下进行指定的需求分析与系统设计实践,重点培养系统设计能力。

(3)软件工程综合实践(项目级):安排在学生完成软件过程与质量课程后的大三暑期。选用源于实际的综合系统案例,采用敏捷过程,要求学生在固定 2 周的“时间盒”内完整体验复杂软件系统的研发过程,重点培养复杂工程管理能力。

为了避免实践问题被简单化,我们定义了复杂软件工程问题模拟的核心要素模型(如图3所示),提出了一个复杂软件工程问题模拟的核心要素模型,通过校企合作,开发了 35×2 个实践教学案例。其中系统案例(35 个),解决开发什么的问题,重点考虑复杂性、多要素并预设开放问题(创新性),体现新方法、新技术;过程案例(两类):瀑布模型案例和敏捷过程案例,解决如何组织开发过程的问题。

3.png

最后,打通本硕,完成一体化的实践教学体系(如图 4 所示)。通过本科阶段的课程实践、暑期综合实践以及硕士阶段的两级实践,实现了从程序设计能力、系统设计能力到项目管理能力的贯通式提升。同时,打通科技竞赛、创业实践与课内实验,实行计算学分鼓励创新,实现校内学习与企业实习的无缝衔接,夯实学生复杂软件工程能力的培养。

4.png

2

面向国家战略需求的特色化软件学院人才培养方案

特色化示范性软件学院建设是中国高等教育为适应国家战略需求和产业发展趋势而推出的重要举措,旨在推动我国数字经济转型和产业升级,确保信息技术自主可控,培养在关键基础软件(如操作系统)、大型工业软件(如 CAD/CAE)、新兴领域(如 AI、区块链)具有核心竞争力的专项人才。

北航作为中国顶尖工科强校,长期致力于构建“空天信”融合的学科体系。以航空航天、信息科技为双核驱动,其计算机科学与技术、软件工程、控制科学与工程、机械工程等学科均属 A 类(教育部第四轮学科评估),形成了“工业知识+软件技术”的交叉底座。如何实现交叉融合与能力重构,培养复合型人才?这是我们持续思考的问题。

首先,我们走访了新迪数字、中望软件、索辰科技、航天慧海等典型工业软件企业(访谈成果发表于 2022 年《软件导刊》),深度了解工业软件复合型人才的知识和能力需求。在此基础上,我们提出了“软件+X”和“X+软件”并举的人才培养模式。

北航几乎所有工科专业开设了程序设计课程。在学校教务处和软件学院的大力支持下,工科类程序设计课程进行了大幅改革:强调编程能力培养,要求所有任课教师通过上机考试,所有编程作业(包括平时作业和期末考试)均须上机考核。此举显著提升了北航工科学生的编程能力。在与各工科学院探讨复合型人才培养方案的过程中,我们发现“X+软件”模式已有基础,他们需要软件学院的支持,软件学院同样需要各工程院系的协作,但这绝非简单的课程共享。

例如,智能制造专业开设的计算机辅助设计、工业物联网课程,软件工程专业能否直接采用?答案是否定的。计算机辅助设计的先修课包含工程基础和设计、力学和热力学,软件工程专业学生缺乏相应基础。智能制造专业的工业物联网侧重计算机网络知识(他们不缺工业知识),希望软件学院支持;而软件学院希望开设的工业物联网是在已有计算机网络基础上突出工业特色。因此,简单的“拿来主义”行不通。为此,我们成立了多个跨专业联合课程组/群,共同构建深度融合的“软件+X”和“X+软件”课程体系。

目前,北航获批的复杂关键软件环境全国重点实验室、关键软件国防重点学科研究中心等 6 个国家和省部级科研平台,以及与中国商飞、华为等 20 余家企业建立的高端联合实验室,为工业软件人才培养提供了强大的平台支撑。专业开设了工业软件导论、数值计算与算法、计算机辅助设计与制造、工业互联网与云制造、工业大数据等跨学科课程。

其次,基于北航扎实的计算机科学基础,强化基础软件和安全攸关软件的研发能力,也成为特色化软件学院的人才培养目标。为此,软件工程专业加强了计算机基础软件课程的建设,和计算机学院联合开设操作系统和编译课程,联合建设了“面向软件专业的计算机硬件基础”课程;强化软件质量意识;进一步夯实基础,构建关键软件拔尖人才的程序设计与算法能力、复杂软件设计能力和复杂工程管理能力;形成软件学院 2.0 课程体系(如图 5 所示)。

5.png

3

AI时代软件工程人才培养的思考

人工智能时代为软件工程人才培养带来了新的挑战与机遇,主要体现在两方面。

(1)人工智能软件(包括大模型本身)的研发方法与传统软件开发存在显著差异。其开发逻辑、生命周期管理、验证方式等都需要新的理论和方法支撑。已取得的研究成果和需要探讨的问题需要尽快进入课堂,通过研讨式教学,培养人工智能软件研发的高端人才。

(2)AI 辅助下的软件开发模式变革。AI 工具(如 Copilot)正在改变开发者的工作方式,如何有效利用AI提升效率和质量成为新课题。无论是追求“bug-free”的通用软件,还是要求“zero-bug”的安全攸关软件(如航空航天、自动驾驶领域),在 AI 时代其研发保障都面临新挑战。

作为教育者,如何引导学生正确认识并有效运用AI,是我们必须思考的首要问题。并非冠以“AI”就必然代表先进。我们既要紧跟学术前沿,也要倾听产业界的声音,在AI热潮中保持定力,着力培养学生运用 AI 工具解决实际工程问题的能力,并深刻理解其边界。这也是新时代对软件工程人才培养提出的新定位和核心需求。

核心挑战不变:软件工程之“难”根源于软件的复杂性——它本质上是一个“复杂巨系统”。认为 AI 将轻易取代编码工作的观点,恰恰是缺乏对软件复杂性的敬畏。在 AI 时代,软件工程教育更需要强化对复杂系统分析、设计、构建和管理能力的培养,以及对工程约束和伦理的深刻理解,使学生能够驾驭日益复杂的软件系统开发。 





作者简介:张莉,女,教授,研究方向为智能化软件工程、需求工程、模型驱动的方法等, lily@buaa.edu.cn。

END
图片




引用格式:张莉.持续改进软件工程人才培养体系[J].计算机教育,2025,(09):1-5.

信息来源:计算机教育  张莉


二维码
中国电子商会信息工程测试专业委员会 电话:010-87660482 传真:010-87660482 邮箱:ceietn@sina.com 地址:北京经济技术开发区博兴六路17号院1号楼3层(100176)
Copyright © 2021-2027 中国电子信息工程与测试网 版权所有 主办单位:中国电子商会信息工程测试专业委员会 技术支持:电设信科(北京)技术有限公司 备案号:京ICP备11002915号-001