Experience Report on the Adaptable Integration of Requirements Engineering Courses into Curricula for Professionals

本文报告了将需求工程课程系统融入面向专业人士的软件工程教育课程的经验,提出了整合原则并描述了一种基于课程内容映射的系统化方法。

Oleksandr Kosenkov, Konstantin Blaschke, Tony Gorschek, Michael Unterkalmsteiner, Oleksandr Adamov, Davide Fucci

发布于 Wed, 11 Ma
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文就像是一份**“给软件工程师的成人进修指南”**,讲述了一群教育者如何把一门叫做“需求工程”(Requirements Engineering, RE)的硬核课程,巧妙地塞进为在职专业人士设计的各种灵活课程包里。

为了让你更容易理解,我们可以把整个故事想象成**“开一家针对老饕的米其林定制餐厅”**。

1. 背景:为什么需要这顿“定制大餐”?

  • 现状:传统的大学教育就像**“学校食堂”**。菜单是固定的,大家按部就班地吃,讲究的是营养均衡(理论知识),但往往不够新鲜,也不够针对个人的口味(行业实战技能)。
  • 痛点:现在的软件行业变化太快了(就像流行菜式变来变去),在职的专业人士(老饕们)不想吃食堂的固定套餐,他们需要**“定制私房菜”**。他们希望学什么就学什么,怎么学就怎么学,而且必须马上能用在明天的工作上。
  • 挑战:其中有一道核心菜叫“需求工程”(也就是搞清楚客户到底想要什么)。在传统的食堂里,这道菜往往被放在最后,或者做得太理论化。但在“定制餐厅”里,怎么把这道菜做得既好吃又实用,还跟其他菜(如安全、质量保证)搭配得完美,是个大难题。

2. 三个“定制餐厅”案例(实验场)

作者们在三个不同的项目中尝试了他们的“烹饪方法”:

  1. PROMIS 项目(信息安全硕士)

    • 就像一家**“高端连锁私房菜”**。已经有 15 道现成的菜(课程),作者负责新加一道“安全与合规”的需求菜。
    • 做法:他得看看现有的菜里哪些跟他的新菜有关,然后调整自己的菜单,让食客觉得这道新菜是自然融入的,而不是硬塞进去的。
  2. Software4KMU 项目(中小企业软件工程师)

    • 就像一家**“新开的社区小馆”。作者和团队一起从头设计菜单,把“需求工程”和“质量保证”这两道菜放在同一个“套餐”**里。
    • 做法:因为是从零开始,他们可以决定这两道菜怎么搭配最顺手。
  3. TASTE 项目(德国汽车软件)

    • 就像一家**“跨国美食联盟”**。五个不同的研究所(就像五个不同的名厨)各自负责一部分。
    • 做法:作者要把“需求工程”、“模型系统”和“质量保证”这三样东西,拼成一个完整的**“汽车工程师专属套餐”**。难点在于大家互不相识,怎么让不同厨师做的菜味道统一、顺序合理?

3. 核心发现:定制餐厅的“四大铁律”

作者发现,给专业人士开课,跟给大学生开课完全不同,必须遵守以下规则:

  • 铁律一:模块化(像乐高积木)
    • 传统课程是“整块蛋糕”,切不开。定制课程必须是**“乐高积木”**。每块积木(课程模块)可以单独拿出来,也可以随时换掉。如果行业变了,就换一块新积木,不用把整个餐厅拆了重建。
  • 铁律二:实战导向(不看营养表,看好不好吃)
    • 专业人士不关心“这道菜符合什么教育标准”,只关心“能不能解决我明天的问题”。所以,课程的设计不能死板,要跟着实际需求跑。
  • 铁律三:厨师(讲师)说了算
    • 在定制餐厅里,不能由总部(行政)强行规定每道菜怎么做。必须给主厨(讲师)极大的自由度。只有主厨觉得这道菜好做、有用,他们才会愿意教。
  • 铁律四:不需要“完美对齐”,只要“局部连接”
    • 不需要把所有课程都强行绑在一起。只要把几门相关的课(比如需求、安全、测试)连成一条**“学习小径”**(Learning Path),让学员觉得顺畅就行。

4. 作者的“独家秘方”:内容积木法

为了解决“怎么把需求工程课塞进去”的问题,作者发明了一套**“内容积木法”**(Content Item-based Approach)。

想象一下,他们不再把课程看作“一本书”或“一个章节”,而是把它拆成了无数个 10-15 分钟的“小积木块”(Content Items)。

操作步骤如下:

  1. 找邻居:先看看需求工程课里有哪些“小积木”,再看看其他课(如安全课、测试课)里有哪些“小积木”。
  2. 拼积木
    • 把不同课程里的“小积木”拿出来,放在一张大桌子上。
    • 比如,需求课里有一个积木叫“识别风险”,安全课里也有一个积木叫“威胁建模”。
    • 老师们一起商量:这两个积木其实是一回事!把它们拼在一起,或者按顺序排好。
  3. 搭路线:把这些拼好的积木,串成一条**“寻宝路线”**(学习路径)。学员沿着这条路线走,就能从“需求”自然走到“安全”,再走到“测试”,最后学会怎么做一个完整的汽车软件工程师。
  4. 灵活调整:如果明天行业变了,只需要把路线上的某一块“积木”换掉,或者加一块新积木,整个路线依然通顺。

5. 总结与启示

这篇论文的核心思想就是:教专业人士,不能像教学生那样“填鸭式”地给大课,而要像“搭乐高”一样,把知识拆成小块,让老师们自由组合,拼出最适合当前行业需求的“学习路径”。

  • 对老师的好处:不用被死板的行政规定束缚,可以发挥特长,还能跟其他老师合作,让课更有趣。
  • 对学生的益处:学到的东西是连贯的、实用的,就像拿到了一张清晰的“寻宝地图”,而不是零散的“碎片信息”。

一句话总结
这就好比把原本死板的“教科书”,变成了一套**“可自由组装的乐高工具包”**,让在职的软件工程师们能根据自己的工作需要,随时搭建出最实用的技能大厦。