计算机教育 | 基于企业工作模式的软件开发专业实践课程建设:软件开发

摘 要:针对专业实践课程与企业实际开发接轨较为困难的现状,分析深层原因,提出建立专业实践课程与企业工作有机融合的教学框架,并提出基于企业工作模式的评审机制,以实现过程性评价企业化,通过近3年的教学实践分析,说明框架及评价机制的效果,为专业实践课程企业化建设提供参考软件开发

关键词:校企合作;实践教学;企业工作模式;软件开发;企业评审

引 言

软件开发课程强调实践,但高校实践课程常与企业需求脱节,导致招聘与就业两难软件开发 。近年,校企合作成为改革重点,文献[1]阐述采用校企合作的模式进行实验实践教学的改革方法。针对高校软件测试的实践教学,文献[2]给出了与企业合作的具体方法。在文献[3]中,阐述了基于产教融合的物联网专业实践教学创新模式探索。文献[4]面向多层次应用型的智能科学与技术专业,探索实践教学体系的改进。然而,如何深度对接企业需求,培养学生实践能力,仍待进一步研究。

1

目前存在的困难和问题

软件开发课程致力于培养学生的软件工程能力,通过综合运用知识解决实际问题,涵盖软件工程规划、需求分析、设计、开发及项目管理等内容软件开发 。学生通过团队合作完成复杂项目,培养工程能力与素养。然而,教学实践中存在与企业实际工作脱节的问题,需解决“毕业即能上岗”的能力培养和工程能力提升的难题。尽管已实施项目驱动的教学[5],但项目内容、小组组织及质量控制评审机制与企业实际仍有差距:①课程项目内容与企业需求不符,缺乏对市场趋势的敏感度;②能力培养未全面覆盖企业需求,如团队合作、沟通等非技术能力;③项目交付过程与质量与企业标准存在显著差异,缺乏有效评审机制,导致训练效果不佳。

2

基于企业工作模式专业实践课程建设

本课题以软件开发专业实践课程为基础,探索改进方法软件开发 。首先,建立校企合作机制,确保项目内容与企业需求同步。通过与企业讨论,根据企业需求和学生能力,订制适合的项目供学生选择。其次,注重技术与非技术能力培养,仿真企业研发团队架构,缩小与企业工作模式的差距,明确团队成员职责,促进团队协作与沟通。此外,将企业评审机制融入课程,在文档、代码等环节设置评审,邀请企业工程师参与,帮助学生熟悉评审流程并提高项目质量。通过以上思路,推进专业实践课程建设研究。

(1)建立一个以学生为中心的理论与实践相结合的教学框架,指导教师教学和学生实践,将专业实践的教与学和企业工作模式有机融合软件开发

(2)构建基于企业工作模式的文档和代码评审机制软件开发 。采用基于企业评审机制的过程性评价方法,与企业工程师协同工作,帮助学生熟悉企业工作流程,提高软件开发质量,体验工程师的责任与团队合作。

(3)开展案例库建设,开发和形成一大批基于真实情境、符合实践教学要求的高质量案例,为课程的持续性建设奠定坚实基础软件开发

2.1基于企业工作模式的软件开发专业实践课程总体架构

基于企业工作模式的软件开发专业实践课程总体架构设计如图 1 所示,星号标注与企业的具体合作过程,实线框中的内容为项目的最终产出代码和用户使用手册软件开发

基于企业工作模式的专业实践的课程总体架构可分为 3 个阶段软件开发

1)获取企业需求阶段软件开发

在课程开始前期,遵循“需求来自企业”的原则,与企业充分讨论,裁剪、分解出企业需要且适合学生团队开发的项目,并按照企业研发团队角色设置,组成仿研发团队角色的项目小组,每组由 6~7 名学生组成软件开发 。在各小组中设置需求分析、开发、测试、项目管理角色。对于每个角色,定义明确的输入、职责和产出,并定义好每个角色之间需要交互的具体工作内容,确定好每个角色的输入和输出(见表 1)。

2)项目开发阶段软件开发

项目开发阶段分为 4 个模块:理论、实践项目、过程及最终产出和企业评审软件开发 。在理论学习中,按照知识的内在逻辑关系分为规划与分析、设计、开发、测试及维护(如图 1“理论”部分所示)。实践项目以学生为中心,依照理论的逻辑结构进行划分,并参考企业及行业标准的通用流程设计实践过程(如图 1“实践项目”部分所示)。在项目实践过程中,学生运用理论所学,解决各自项目中的实际问题,并按工作阶段提交相应的过程性及最终产出(如图 1 中“过程性及最终产出”部分所示)。所有文档及代码产出与企业的工作模式保持一致,通过企业评审机制,与企业工程师深层交互,确保文档和软件的质量(如图 1 中“企业评审”部分所示)。

这 4 个部分既相互独立又紧密联系,其中实践项目是工程实践能力培养的基本载体,作为桥梁贯穿始终,驱动理论教学软件开发 。学生在学习之初,就需要进入实践项目的生命周期,直接面对一系列软件开发问题,例如,如何将需求描述清楚,如何完成系统设计,如何按时交付代码等。在学生思考这些问题的解决途径时,教师适时讲授相关理论知识,能帮助学生更深入地理解理论、方法和工具,领会软件设计和实现的原则,并促使学生运用这些知识解决在项目开发中的实际问题,输出过程性产出和最终的软件及用户手册,加深对理论的理解。在评审过程中,所有发现的问题需要及时整改。软件开发结束以后,所有文档需要进行更新,以对齐最终的软件。

3)企业验收阶段软件开发

项目完成后,组织交付评审,由企业工程师对所有文档和软件进行验收软件开发

此教学框架设计的特点是与企业工作模式保持一致,从团队组织结构、工作阶段、任务产出等,全方位仿真企业工作模式;通过“需求来自企业,开发过程通过企业评审控制质量,交付由企业验收”,促进校企合作的深层融合软件开发 。通过这种实践教学框架,学生能够熟悉企业开发模式和流程,深入理解和掌握需求分析、设计、开发、测试、交付与维护的方法与原则,与企业工程师基于项目进行深入合作,非常有助于学生与企业工作接轨,提升解决复杂工程问题的能力。

2.2基于企业工作模式的文档和代码评审

基于以上总体教学框架,进一步构建基于企业工作模式的文档和代码评审机制,以实现“需求来自企业,开发过程通过企业评审控制质量,交付由企业验收”的校企合作实践教学模式(如图 2 所示)软件开发

评审机制是企业研发工作的重要环节,通过邀请相关的干系人,共同对项目的文档、软件进行评审,发现其中的问题,能用最小的成本来提高软件质量软件开发 。通过设置“企业评审”模块,邀请企业导师加入评审过程,让企业工程师参与学生项目实践,对学生各个阶段的产出进行评审,与企业工作模式的评审机制无缝对接。在评审会议中,学生团队展示阶段性进展,比如需求文档、设计文档、代码等,让团队成员和企业工程师进行评审,这样可以比较高效地让学生与企业工程师组建虚拟团队,得到企业工程师对项目过程性产出和最终产出的技术指导和质量把控。

大部分学生从未接触过评审机制,需要提前给学生讲授评审的目的、作用和主要流程,并制订评审意见模板(如图 3 所示),帮助学生掌握评审知识,以便与企业工程师有效合作软件开发

评审意见的类型包括错误和建议两类软件开发 。错误必须整改纠正,建议可以由责任人酌情考虑是否修改。参与评审的内容包括文档(《系统规划书》《用户使用手册》《需求说明书》《技术调研报告》《设计文档》《测试计划》以及《测试报告》)和代码。

2.3基于企业工作模式的案例库建设

基于企业工作模式,持续建设高质量案例库;基于每届学生完成的软件项目,构筑多维度的案例库,开展类似企业产品线的案例库建设软件开发

(1)按照软件的功能,构筑可升级、增量式的案例库软件开发 。比如,对于威胁情报分析软件,逐年构建基于机器学习、基于深度学习和基于大模型的威胁情报分析系统。这种案例库构筑方式,类似企业的产品线演进,有助于学生更好地理解大软件的持续和渐进式开发。

目前已从历届学生团队开发的项目中,遴选建成含 30 个软件项目的案例库软件开发 。后续研究还需要进一步规范化,以便持续建设高质量的案例库。

3

专业实践课程建设实施情况分析

3.1项目实践总体情况

2022—2024 年,共组建 33 个项目小组,完成 33 个软件项目,其中基于企业工作模式完成的校企合作项目见表 2软件开发 。同一个校企合作项目存在多个项目组选择的情况,完成校企合作项目 9 个,占 27.2%。

按照基于企业工作模式的专业实践课程教学框架,开展基于校企合作专业实践教学模式的探索软件开发 。学生分组实践项目,按照企业工作模式,分角色合作,提交过程性产出、最终的软件和用户手册。过程性及最终交付成果包括项目研发全流程的规范文档与软件,与企业工作模式一致:《系统规划书》《技术调研报告》《需求说明书》《设计文档》《测试计划》《测试报告》《用户使用手册》和软件。开发过程中,通过文档、代码企业评审的方式,进行过程性产出和最终产出的企业化评价。最终交付受到企业的肯定与表扬,数十位学生获得企业颁发的校企合作项目实践表现优秀证书。

3.2基于企业工作模式的文档和代码评审实践分析

在软件项目开发的全过程中,开展基于企业工作模式的评审软件开发 。在系统规划、需求分析、设计、实现和测试多个阶段,对过程性产出《系统规划书》《需求说明书》《技术调研报告》《设计文档》《测试计划》以及《测试报告》进行了评审,对最终的交付成果代码和《用户使用手册》也进行了评审。评审过程遵循企业流程,有企业工程师参加,进行充分的讨论,纠正错误,优化文档,设计和实现,提高软件和文档的质量,降低发现错误的成本。通过实践文档和代码的评审,学生熟悉了评审流程,深刻地意识到评审是成本低、效率高的纠错方法,与企业工程师协同工作,提高了实战能力。校企合作评审意见示例见表 3。

3.3学生课程反馈情况

1)知识掌握及能力提升方面软件开发

通过基于企业工作模式的专业实践,学生普遍反馈,在知识和技能方面,校企合作的项目与当前需求和技术潮流比较同步,用到了当前热门的技术和框架,非常有助于提升专业知识和技能;同时,学会了团队合作,通过与企业工程师、同组团队成员的合作,浸入式地感受到了团队协作的重要性,并在实践中学习到如何在项目中进行有效的沟通和协作;此外,在解决问题和创新能力方面,基于企业工作模式的项目实践中经常会遇到各种挑战和问题,提供了创新思维和问题解决的机会;最后,学生普遍深切感受到基于企业工作模式的项目实践,与学校课设或者独立实践有一个显著的不同,即实际的需求或计划常常会发生变化,需要项目团队具备适应变化、拥抱变化、引领变化的能力,有助于培养灵活适应项目变化的能力软件开发 。学生还反馈,通过校企合作专业实践,看到项目从概念到完成的全过程,尤其是当项目成功交付时,有很强的成就感,极大地增强了技术自信。

我们对 2022 级 33 名和 2023 级 36 名在读研究生进行了知识掌握及能力提升的反馈调查,结果见表 4软件开发

可以看到,绝大部分同学对于企业的实际开发过程,特别是对评审机制有了清晰的认识软件开发 。对企业工作中软件项目开发的实际问题,也有了更为深入的理解,较好地实现了与企业的深度接轨。

2)职业角色认知方面软件开发

表 4 中 100% 的同学反馈能理解企业软件开发团队中各个角色的职责、输入和输出软件开发 。通过基于企业工作模式的专业实践,学生对于实际的工作职位和角色有了较为深刻的认识,对于每种职位的核心职业要求有了较为深刻的认识,对照自身的特点和优势,部分同学对于未来的职业有了更明确的规划。根据对 2022 级和 2023 级两届研究生的调查,学生对未来职业的技术职位规划如图 4 所示。

4

结 语

在当前软件技术迅速发展的背景下,基于企业工作模式的软件开发专业实践课程建设具有重要意义软件开发 。这对于学生与企业接轨,与企业工程师并肩工作,熟悉企业开发模式,提升软件工程能力方面有显著效果,更为重要的是,帮助学生了解了企业中技术职位的核心素养要求,方便学生对标自己的职业目标,有针对性地培养和提升自己的能力和职业素养,对未来软件行业人才的培养具有积极影响。

参考文献:

[1] 于延, 王建华. 校企合作在计算机专业实践教学改革中的思考[J]. 计算机教育, 2009(15): 47-49.

[2] 穆海伦, 李万清. 面向企业的高校软件测试教学改革探索[J]. 计算机教育, 2013(10): 36-40.

[3] 王琳, 刘军利, 尚虹宇, 等. 基于产教融合的物联网专业实践教学创新模式探索[J]. 计算机教育, 2022(2): 67-72, 78.

[4] 曹子建, 胡秀华, 司利鹏. 多层次应用型智能科学与技术专业实践教学体系探索[J]. 计算机教育, 2024(1): 170-173.

[5] 向尕, 康海燕, 孙璇. 面向解决复杂工程问题能力培养的软件工程实践教学探索[J]. 计算机教育, 2021(10): 161-165.

[6] 温涛. 基于TOPCARES-CDIO的一体化人才培养模式探索与实践[J]. 计算机教育, 2010(11): 23-29.

第一作者简介:向尕,女,副教授,研究方向为面向产出的教学改革、信息安全、自然语言处理,xiangga@bistu.edu.cn软件开发

本站内容来自用户投稿,如果侵犯了您的权利,请与我们联系删除。联系邮箱:835971066@qq.com

本文链接:http://www.madaojianli.com/post/112.html