[论文阅读] 软件工程 | 需求工程中领域知识研究:系统映射与创新突破

需求工程中领域知识研究:系统映射与创新突破

论文信息

Domain Knowledge in Requirements Engineering:A Systematic Mapping Study

arXiv:2506.20754
Domain Knowledge in Requirements Engineering: A Systematic Mapping Study
Marina Araújo, Júlia Araújo, Romeu Oliveira, Lucas Romao, Marcos Kalinowski
Comments: Accepted for publication at the 51st Euromicro Conference Series on Software Engineering and Advanced Applications (SEAA) 2025
Subjects: Software Engineering (cs.SE)

研究背景:领域知识在需求工程中的"缺失拼图"

在软件开发的世界里,需求工程就像建造房子的蓝图设计。设想一个场景:建筑师不了解当地建筑规范和居民生活习惯,就设计出一栋高楼,结果可能窗户朝向不符合采光需求,管道布局违反消防规定——这就是领域知识缺失的后果。在需求工程中,领域知识如同建筑规范和生活习惯,是理解用户需求、确保系统符合实际场景的关键。

过去,许多软件开发项目因领域知识整合不足栽了跟头。比如某医疗管理系统开发时,工程师不懂医疗术语和流程,把"病历归档周期"错误理解为"每日归档",导致系统上线后无法满足医院季度归档的实际需求,最终被迫推倒重来。这类问题暴露出一个关键矛盾:领域知识(如医疗、金融等专业领域的规则和经验)对需求工程至关重要,但学术界和 industry 一直缺乏系统的方法来整合这些知识。

就像拼图游戏中缺少关键板块,需求工程领域长期存在三大痛点:

  • 知识碎片化:领域知识散落在专家大脑和组织流程中,像散落的拼图块
  • 整合无章法:缺乏标准化方法将知识融入需求分析,如同随意拼接拼图
  • 维护难度大:领域规则更新时,需求文档无法同步进化,像拼图缺角未补

创新点:三大突破重塑研究范式

1. 首次系统绘制"领域知识-需求工程"地图

以前的研究像盲人摸象,只关注局部。本研究首次用系统映射方法,如同绘制完整的世界地图,整合75篇高质量论文的发现,让领域知识在需求工程中的应用全貌一目了然。

2. 独创"三维透视"分析框架

  • 横向维度:梳理方法、技术、工具三类贡献(如本体建模方法、NLP技术、语义可视化工具)
  • 纵向维度:剖析显式知识(文档规则)、隐性知识(专家经验)的处理现状
  • 深度维度:识别可靠性、安全性等质量属性的落地难点

3. 提出"动态进化"研究路径

突破静态研究模式,如同为领域知识管理装上"升级引擎",首次明确提出从知识获取、形式化到长期维护的全生命周期解决方案。

研究方法和思路:科学严谨的"学术侦探"工作法

1. 混合搜索策略:撒大网捞干货

  • 第一步:在Scopus数据库用"需求工程"和"领域知识"作为关键词,捞出289篇文献
  • 第二步:用"滚雪球法"顺藤摸瓜,通过已选文献的参考文献和被引文献,再找到1687篇相关研究
  • 第三步:严格筛选,只保留Top 20软件工程和Top 5需求工程 venue 的高质量论文,最终留下75篇

2. 八维研究问题设计:层层剥洋葱

设计8个关键问题,如同剥洋葱般深入分析:

  • 有哪些领域知识贡献支持需求工程?(方法/技术/工具)
  • 这些贡献处理的是哪种知识?(显式/隐性)
  • 更关注功能需求还是非功能需求?
  • 最常涉及哪些质量属性?(可靠性/安全性等)
  • 存在哪些技术/获取/管理挑战?
  • 未来研究该往哪走?-

3. 数据分类与分析:给文献"贴标签"

  • 为每篇文献标注贡献类型(方法/技术/工具)、知识类型、需求类型等维度
  • 用表格和统计方法量化分析,比如发现46篇文献同时涉及方法+技术+工具

主要贡献:给领域装上"导航系统"

1. 绘制领域知识应用"路线图"

  • 明确三大类贡献:3种纯方法、11种方法+技术、46种方法+技术+工具的综合方案
  • 例如发现"领域本体+机器学习"的组合方案,能有效提取隐性知识

2. 识别三大类关键挑战并给出解药

挑战类型 具体表现 研究给出的"解药"
技术挑战 模型可扩展性差、语义处理工具不足 建议开发基于知识图谱的可扩展框架
获取挑战 专家经验难转化、文档零散 推荐AI驱动的自动化提取技术
管理挑战 知识更新不同步、版本混乱 呼吁建立标准化知识管理流程

3. 指明七大未来研究方向

  • AI赋能:用大语言模型自动提取领域术语(如医疗需求中的专业词汇)
  • 工具升级:开发能自动验证需求一致性的智能工具
  • 跨领域适配:让金融领域的需求分析方法能复用至医疗领域-

思维导图

[论文阅读] 软件工程 | 需求工程中领域知识研究:系统映射与创新突破_第1张图片


论文速读

一、研究背景与目标

  1. 领域知识的重要性:领域知识是需求工程成功的关键组成部分,提供理解系统上下文、确保与利益相关者需求一致以及减少需求规范歧义的概念支持。
  2. 研究空白:尽管领域知识具有相关性,但科学文献中仍缺乏关于如何在需求工程中有效使用和操作化领域知识的系统整合。
  3. 研究目标:通过提供现有贡献的全面概述,包括将领域知识纳入需求工程实践的方法、技术和工具,填补这一空白。

二、研究方法

  1. 研究设计:进行系统映射研究,严格遵循Wohlin等人推荐的搜索策略。
  2. 搜索策略:采用混合搜索策略,将数据库搜索(Scopus)与迭代前后向滚雪球法(Google Scholar)相结合。
  3. 研究问题:定义8个研究问题,涵盖领域知识贡献、类型、需求类型、质量属性、挑战、研究方向、研究类型和经验评估等方面。
  4. 筛选标准:包括纳入标准(与领域知识支持需求工程相关)和排除标准(非高质量 venue、不含相关术语、灰色文献等)。

三、研究结果

  1. 文献筛选结果:共识别出75篇符合条件的论文,其中11篇来自Scopus搜索,64篇来自滚雪球过程。
  2. 领域知识贡献分类
    类别 数量 示例
    方法 3 结构化方法,如将文本需求转换为产生式规则
    方法和技术 11 形式化建模与语义技术结合,如模型与领域术语对齐
    方法和工具 4 具有工具支持的方法,如语义可视化
    技术和工具 7 聚类和NLP等技术与工具结合,如协作建模
    方法、技术和工具 46 最常见类别,如结合本体和工具的领域理论
    其他 4 理论反思、方法论和框架
  3. 领域知识类型:68篇关注显式知识,2篇探索隐性知识,5篇提出混合方法。
  4. 需求类型:34篇关注功能需求,24篇关注非功能需求,17篇同时考虑两者。
  5. 质量属性:可靠性(28)、合规性(23)、可用性(23)、安全性(20)是最常涉及的。
  6. 研究挑战
    • 技术挑战:集成复杂性、可扩展性限制、工具支持不足、可追溯性维护困难。
    • 获取挑战:缺乏可访问文档、专家可用性不足、隐性知识转化障碍。
    • 管理挑战:知识一致性维护、版本控制策略缺乏、长期管理框架不足。
  7. 未来研究方向:增强技术和方法(如AI、NLP)、通用性和可扩展性、自动化和工具支持、用户关注和协作、集成和互操作性、验证和经验评估、知识管理和演化。

四、讨论与结论

  1. 主要发现:领域知识应用研究主要集中在方法、技术和工具的整合,显式知识占主导,功能需求关注度高于非功能需求,技术挑战最为突出。
  2. 研究贡献:首次系统映射研究,提供领域知识在需求工程中应用的结构化地图,识别研究差距和未来机会。

关键问题

  1. 在需求工程中,领域知识的主要贡献类型有哪些?
    • 答案:领域知识的贡献主要分为方法、技术和工具及其组合。具体包括3篇纯方法研究、11篇方法和技术结合、4篇方法和工具结合、7篇技术和工具结合、46篇方法、技术和工具综合以及4篇其他类型(如理论反思)。
  2. 领域知识相关研究中最常涉及的质量属性有哪些?
    • 答案:根据分析,可靠性(28次)、合规性(23次)、可用性(23次)和安全性(20次)是领域知识相关研究中最常涉及的质量属性,这些属性基于ISO 25010标准分类。
  3. 领域知识与需求工程交叉领域的主要研究挑战有哪些?
    • 答案:主要挑战包括技术挑战(如集成复杂性、可扩展性限制)、获取挑战(如文档缺乏、专家不足)和管理挑战(如知识一致性维护、版本控制缺失)。技术挑战是最常报告的类别。

总结:填补空白的里程碑研究

这篇论文就像一把钥匙,打开了需求工程中领域知识整合的大门。通过系统梳理75篇高质量研究,它首次揭示了领域知识应用的全貌:多数研究关注显式知识和功能需求,可靠性和安全性是最受关注的质量属性,但技术整合、知识获取和长期管理仍是突出难题。

更重要的是,研究为学术界和 industry 提供了清晰的前进方向:未来需要更多结合AI技术的自动化工具,需要能适应不同领域的可扩展方法,更需要建立领域知识的全生命周期管理机制。这就好比为需求工程领域安装了导航系统,让后续研究和实践有了明确的坐标。

解决的主要问题或主要成果

  • 填补研究空白:首次系统整合领域知识在需求工程中的应用研究,结束了"碎片化"研究状态
  • 建立分类体系:将贡献分为方法/技术/工具三类,为后续研究提供统一语言
  • 识别关键痛点:明确技术、获取、管理三大类挑战,为问题解决指明方向
  • 规划未来路径:提出七大研究方向,如AI增强、跨领域适配等,推动领域发展

你可能感兴趣的:(前沿技术,论文阅读,软件工程)