基于软件工程教育的综合性学习(IL)框架集成

时间:2026年2月23日
来源:ACM Transactions on Computing Education

编辑推荐:

这篇研究针对软件工程(SE)教育中知识整合能力培养不足的现状,提出了一种新颖的教学框架(SE-IL)。它挑战了“学生在项目实践中会自然掌握整合技能”的传统假设,通过明确的整合目标(SE-skills)、量化实践(SE-practices)以及精心设计的问题驱动学习(PBL)回合,旨在系统性、有计划地教授学生连接、应用和综合不同知识的能力。该框架还融合了形成性与总结性相结合的综合评估方法,为提升SE教育质量、培养符合行业需求的复合型人才提供了可操作的路径。

广告
   X   

引言:软件工程教育的固有矛盾
本科软件工程(SE)教学面临着固有的矛盾。现实中的SE面向需要稳定性、互操作性、可靠性等特性的复杂、大规模系统,而教学却不可避免地局限于小型、短期、相对简单的项目,其中真正整合多种SE能力并非必需。此外,SE方法通常会给软件开发活动带来“非建设性”和延迟性的负担,而“直接编程”方法则直接、建设性强且快速见效。学生们在掌握初步编程技能后,热衷于开发具有可见性能的软件,而对那些确保稳定性、可靠性、灵活性和健壮性的SE要素(如分析、设计建模、测试)常常报以一声叹息。这些“内置悖论”总结如文档中表1所示。
为了应对这些挑战,问题驱动学习(PBL)作为一种促进综合性学习(IL)的方法在包括SE在内的多个领域兴起。PBL的特点是围绕解决一个复杂、可能结构不明确的问题来组织学生学习。然而,作者们多年的教学和指导经验表明,大多数学生倾向于实现功能性、可量化的目标,而质量特性往往被忽视。这印证了IL学派的观点:整合和迁移技能需要通过有意的练习来教授,而不是自动获得的。
2. 背景与相关工作:综合性学习与软件工程教育
综合性学习(IL)是连接、应用和综合来自不同背景和视角的信息与过程,并在各种情境中利用这些新见解的能力。研究指出,整合不同知识元素的能力需要被明确地教授。在医学和工程学等高等教育领域,IL都强调理论知识与实践技能的有效结合。
在软件工程高等教育中,整合知识通常表现为三种形式:多维度总结性课程、包含应用总结性课程的包容性SE项目,以及最终的毕业项目课程。尽管许多课程采用PBL,旨在促进学习整合,但它们通常未能遵循有效实践IL的既定教育原则,例如,未能将特定SE技能和整合任务隔离出来,也没有提供一个专门为教授这些技能而设计的教学环境。
本文提出的SE-IL框架正是为了解决这些问题而设计的。它建立在Essence-SEMAT倡议的基础上,专注于在SE高等教育中实践IL技能。其核心是设计一个受PBL启发的模块,围绕明确声明的目标技能、精心挑选的挑战性问题、推荐的整合实践、结合了定性与定量的绩效评估(形成性与总结性评估的结合),并依赖于推荐的教育原则。
3. 一个用于软件工程教育中实践整合技能的框架
SE-IL框架旨在让学生在创建高水平SE解决方案的过程中,掌握整合SE能力所需的技能。该框架分为三个部分:目标、应用和评估。
3.1 SE-IL框架方案
  • 目标:目标是定性的、抽象的、非具体的目标技能,这些技能是掌握专家级SE能力所必需的。这些目标技能通过多个量化的、具体的SE实践来实现。
  • 框架应用方案:SE-IL框架的应用是强制执行SE实践整合的实际手段,其设计受到第2.2节所述教育原则的启发。
    • 背景与问题:技能不能脱离背景。因此,框架应用依赖于在具体背景中选择一个广泛且要求高的问题,以保证对目标技能整合的需求。
    • PBL回合:应用由一系列PBL回合组成,旨在逐步学习技能整合。每个回合的计划包括选择SE实践,并声明预期的技能整合。实践中被分解为具体的细小任务,其学习和表现可以反映对实践相关方面的掌握。任务的调度反映了应用设计者对目标技能和实践的偏好,建议从最初就安排困难的实践,以避免学生将活动局限于更直接和快速见效的实践。一个回合的本质在于将任务组织成一种有意的并置,以强制整合技能。
    • 教学环境:推荐的教学环境支持增量的、互动的学习,并结合建设性的个人参与。PBL鼓励协作式小组实践,这需要有针对性的、有意义的练习,并与个人反馈相关联。因此,教学环境应支持针对个人表现的反馈,例如小组辅导
  • 绩效评估:评估始于为任务分配具体的绩效描述符。评估方法论结合了任务的形成性总结性评估。形成性评估是互动的、持续的,旨在鼓励学生根据反馈进行改进。总结性评估则是信息性的,旨在根据预期的绩效描述符衡量学生的表现。一个回合的最终总结性评估——回合绩效评估,结合了两个因素:1)回合中任务的总结性评估(由绩效描述符的总结性评估给出);2)回合整合方案,它为回合中的任务分配相对权重。回合整合方案反映了设计者在教授SE技能整合方面的理想。
上图总结了SE-IL框架的组件及其相互关系。反向红色虚线描述了定量绩效评估和隐含的整合评估的计算过程。
3.2 SE-IL框架的具体SE内容
框架的SE具体内容定义了目标技能、实现这些技能的SE实践以及选定的背景问题。目标技能反映了对SE专业知识的普遍共识,而SE实践、背景和问题则由具体的框架应用来选择,以适应特定的教学需求。
SE目标技能:参与者应获得以下技能:软件中的抽象(管理不同粒度的制品、整体软件架构、过程和结构上的抽象;控制架构元素和制品之间以及内部的转换、协调和交互)以及软件开发专业知识(编程标准和大规模维护的专业知识;掌握软件技术和持续学习;掌握方法论、目标估计与优先级排序、评审与演进以及协作开发)。
SE实践:SE实践包括:需求工程(需求收集、分析与规范、管理)、软件模型设计(系统架构、类建模、接口建模)、软件构造技术(编程实践、软件质量实践、自我学习与使用关键技术、部署)、协调(兼容的交互、制品间的一致性)以及项目开发(开发过程、制品管理、协作开发)。
SE背景:为了不强制规定特定专业领域,SE-IL框架建议采用具有挑战性的商业软件开发范式。这是一个广泛且复杂的范式,以不断变化的需求、冲突情境、持续的专业决策需求以及对抽象和互操作性协调的无尽需求为特点。成功开发此类系统具有启发性,需要广泛的SE知识,并使知识整合变得不可避免。
具有挑战性的问题需求示例:本文提供了几个需要整合抽象、协调和软件专业知识的挑战性需求示例,例如:运行时创建的条件/动作状态敏感动作软件通知的可靠测试以及具有复杂架构的软件的服务水平要求。这些示例基于作者在应用SE-IL框架的教学经验。
4. SE-IL框架在[匿名大学]的应用
文章详细介绍了一个应用SE-IL框架的课程。该课程面向已学习过SE多维度科目(包括编程、数据库、软件建模、软件质量等)的三年级SE学生开设,作为毕业设计项目之前的预备课程。
  • SE技能与实践:课程采用了框架提出的SE技能和实践。由于管理限制,需求工程、方法论和演进控制相关的实践仅被轻度涉及。
  • 应用内容
    • 背景与问题:选择了开发一个强大的商务系统应用作为挑战性问题。需求规格说明由课程团队编写,旨在强制执行对目标技能(抽象、顺畅协调和广泛的SE专业知识掌握)的整合。
    • 需求设计原则:包括平台与技术无关的规范、服务水平要求(SLR)的区分、使用多种计算元素、使用最新的SE技术以及高水平的软件质量要求(可维护性、可靠性、健壮性和可用性、灵活性和可追溯性、概念抽象)。
    • 回合:项目开发分为四个回合。每个回合的任务都经过精心挑选,以挑战参与者应对他们所实施实践的整合。
    • 教学环境:学生被分成小型自组织小组,每个小组配备一名员工作为导师、教练和督导。
    • 绩效评估:除最后一个回合外,每个回合都有两个评估阶段:形成性和总结性。形成性评估阶段由小组教练在会议期间提供建设性反馈。总结性评估阶段在下一次会议中进行,小组成员根据形成性反馈展示改进或修订后的表现。回合的最终绩效评估基于回合整合方案以及相关的绩效描述符。课程最终绩效评估基于各回合的总结性评估以及个人表现(如简短技术报告和评估)的得分。
4.1 第一回合
第一回合分为规划实现两个阶段,专注于在平台和技术无关的环境中开发,将最困难的技能(如软件抽象和软件开发专业知识)的整合实践从最初就纳入其中。
规划阶段:专注于概念特征、概念间关系到概念层次结构的区分,支持状态变化的稳定性概念抽象,以及概念配置(包括操作和行为规则)的抽象。主要整合了需求规范、软件模型设计和协调实践。具体任务包括构建“空白”类模型(关注实体和关系,避免属性和子类细节)、定义组件架构(域层与服务层分离、内部垂直组件、与外部服务的交互)、编写术语表以及编写功能需求规格(并与模型、架构协调)。表2总结了该阶段的实践、任务、绩效描述符和整合方案。
实现阶段:整合了软件模型设计(适应代码考虑)、软件构造技术(面向对象质量、安全组件交互、软件质量实践——高强度高质量测试、部署)以及协调(模型-代码协调、软件组件协调、软件与测试架构协调)和项目开发(开发过程、制品管理、协作开发)等实践。具体任务包括实现基于组件的架构、规划忠实实现、测试(包括验收测试、开发者测试、SLR测试)、部署以及项目管理(包括分支管理、任务分配、可追溯性)。表3总结了该阶段的实践、任务、绩效描述符和整合方案。
4.2 第二、三、四回合及最终评估
后续回合引入了更高层次的实践,深化了抽象水平并扩展了对SE专业知识的掌握。这些回合的核心SE实践是软件开发技术领域分析中的深度抽象面向对象开发组件协调协作能力技术自我学习
  • 第二回合:强制整合非平凡的商业逻辑抽象与先进的SE开发技术。包括安全、角色特定的用户界面、实时和延迟系统通知、运行时定义操作和完整性约束配置的灵活性等要求。
  • 第三回合:要求与先进的SE专业知识紧密结合的抽象能力。增加了持久性和健壮性的SLR、系统初始化、与变化的外部服务的顺畅交互以及对新的状态敏感过程的支持。
  • 第四回合:主要收尾项目。新增要求加强了抽象技能在SE专业知识中的整合,例如负载压力可用性)SLR,以及强化角色特定和状态敏感概念的建模。
最终回合的总结性评估依赖于一个详细的情景绩效描述符集合,代表了项目所有回合中各种整合实践。其整合方案包含了所有这些绩效描述符。表4汇总了所有回合的整合方案。可以看到,需求工程软件模型设计实践在第一回合(R1-规划)权重较高,在后续回合中影响较小。协调实践在前三个回合中权重相当大,重点是一致性。最显著的影响给予了软件构造技术,从第一个实现回合(R1-实现)到最终回合都占据了主要权重。
5. [匿名大学] SE-IL课程评估
5.1 观察到的整合评估
对学生在最终回合平均绩效的分析表明,各实践之间存在良好的整合。平均绩效良好,每个实践的平均分数在79%到97%之间。总平均分87%表明知识获取水平较高。四个主要实践中的标准偏差相对适中,在4%到13%之间,表明大多数小组的成就良好。软件构造技术实践(SCTs)拥有最大的权重(76.5分),其下的子实践SLR技术部署显示出明显的成绩波动,反映了这些挑战性技能掌握程度的差异。
5.2 形成性评估方案的影响
为了评估形成性-总结性评估的作用,文章分析了学生在各回合形成性评估阶段前后的平均小组绩效。数据显示,在所有回合中,形成性评估后平均绩效都有显著提高,分数增加,标准偏差减小。在第一个回合的规划阶段(R1-规划)和第二回合(R2),改进幅度小于第一个回合的实现阶段(R1-实现)和第三回合(R3)。这可能是因为R1-规划中的整体类建模和组件设计,以及R2中的配置操作符建模、通知抽象和完整架构设计等具有挑战性的抽象要求所致。
5.3 学生对课程的看法
标准的大学教学质量问卷调查显示,学生对SE-IL整合课程的评价很高。在“我对课程的投入程度”和“课程主题的相关性”两项陈述上(1-5分制),平均分均超过4.5分。学生的评论肯定了课程的重要性和相关性,例如“课程极大地加深了对已学SE主题之间联系的理解”。此外,课程结束后的反馈会议也显示,学生认为该课程为毕业设计项目做了很好的准备,使他们能够从错误中学习并避免在毕业项目中犯类似错误,并且将多个工程方面连接起来。
5.4 能力提升的证据
为了检验课程是否能提高学生的SE能力,研究设计了一份包含21个问题的前后测问卷,涉及各种SE实践。参与测试的是2021届的63名SE本科生。结果表明,课程对学生在各种实践中的能力产生了积极影响,平均绩效提高了13%,具有显著的统计学意义。两个没有显示出显著改善的领域是需求获取和编程实践,因为这两者并非课程的主要重点。
5.5 对框架应用的反思性分析
SE-IL框架应用的成功取决于其设计和实际执行。可能危及应用设计的障碍涉及背景的选择和回合的组织。所选背景必须能够提供一个具有挑战性的问题,即一个不积极应用抽象和SE专业技能就无法解决的问题。回合的组织和任务的选择必须考虑一般的教育经验,任务应是可行的,适当地覆盖所选实践,并自然地整合目标技能。选择可行的、全面的绩效描述符是另一个难点。SLR要求尤其具有挑战性。总之,选择能强制整合的实践和任务,找到匹配的绩效描述符,并将所有这些组织到连续的、教育上合理的回合中,是具有挑战性的。作者的经验表明,要达到一个促进计划性整合的稳定版本需要多次迭代。SE-IL框架的教学应用需要超出标准学术课程的教学资源。基于小组辅导的教学环境和多轮形成性与总结性评估周期,比传统的、反馈通常是单一和总结性的讲座式课程,无疑需要更多的资源。这种密集的、个性化的指导对于教授整合技能至关重要,但也构成了实际采用的障碍。解决这个“成本”问题是作者未来研究可扩展实施方案的主要动机。
6. 结论与未来研究
利用通过课程学到的SE知识来开发大型软件需要学习的整合。尽管教育研究的最新见解主张对IL进行明确的教学,但标准的SE课程并未明确教授这一技能。为了弥补这一差距,本文介绍了SE-IL框架,一种在SE中教授整合的新方法。其新颖之处在于将整合视为需要教授的一种明确的掌握能力,而非传统项目工作的假定结果。该框架由IL教育原则驱动,并以定性的SE目标技能为中心,这些技能通过具体的、量化的SE实践来实现。文章描述并评估了一个经过十年高强度迭代开发而演变的框架应用。
未来工作将聚焦于几个关键方向。首先,计划制定应用该框架的系统化设计指南,以支持教育者选择背景、构建回合、定义促进整合的任务和绩效描述符。其次,需要整合评估的定量方法,以超越粗略的相关性度量,支持对学习成果的更精细评估。第三,在具有不同课程的机构中进行更广泛的部署,将有助于比较整合成果,并为不同的教育背景优化框架。最后,计划探索可扩展的实施方式,以减少框架的教学开销。这包括开发半自动化工具来帮助评估代码质量、测试结构和制品一致性;引入同行反馈机制以鼓励主动反思并减轻指导负担;以及设计能够跟踪学生在SE实践中进展的整合感知分析工具。这些创新旨在保持学习体验深度的同时,使框架更适用于大规模学生群体和更广泛的采用。另一个有前景的研究方向是在SE-IL框架中嵌入个性化学习的元素,根据学生的能力和进展动态调整其练习内容、指导量和概念引入时机。

生物通微信公众号
微信
新浪微博


生物通 版权所有