Page 287 - 《软件学报》2025年第10期
P. 287
4684 软件学报 2025 年第 36 卷第 10 期
场景所需的所有具体且必要的约束条件.
(4) 需求关系识别. 基于需求可操作化的结果, 我们进行了关系识别并基于需求生成了数据流. 我们首先使用
算法检索需求中包括“事件”和“状态”等关于时间序列的实体类型, 识别相应需求的前置或后置条件, 从而将语义
上隐式依赖的需求进行关联. 随后, 我们提取需求中的“操作”“操作部分”等实体类型, 并利用交易操作序列知识库
中的债券交易状态机将操作序列上存在依赖关系的需求进行关联. 通过这些步骤, 案例文档最终抽取和识别出
2 562 条需求以及 326 对关系. 具体而言, 我们识别出了 14 对基于语义的隐式关系, 其中包括 10 个前置条件和 4
个后置条件. 另外, 我们利用债券交易状态机识别出了 312 对基于操作序列的隐式关系, 这些关系涉及状态机中
的 12 个不同的状态迁移.
4.2 实验评估
为了评估所提出的方法的有效性, 我们研究了以下 4 个问题.
● RQ1: 与大语言模型、领域专家和非领域专家相比, 本文方法从不受控的自然语言业务规则文档自动规约
出的软件需求的质量和效率如何?
● RQ2: 在业务规则过滤和需求信息抽取阶段, 上下文学习和微调策略对大模型性能的影响如何? 哪种策略更
有效?
● RQ3: 在需求可操作化和关系识别阶段, 外部领域知识库的引入对需求规约质量的影响如何?
● RQ4: 本文方法在不同制度体系下的证券交易市场中的通用性如何?
在评估中, 我们使用功能点识别率评估生成需求规约的质量, 使用时间消耗评估生成规约的效率. 其中, 功能
点是指从输入到交易系统的一个数据实体, 经过系统处理后输出执行结果的数据流中的一条约束. 功能点识别率
(FPI) 是指在一个数据集所有实际存在的功能点中, 人类参与者或工具生成的规约中正确的功能点所占的比例, 可
FPI = F t /F a , 其中, F t 是人类参与者或工具生成规约中正确的功能点的数目, F a 是总功能数. 较高的 FPI
表示为
表示生成的规约质量较高, 包含更多正确的功能点.
基于提出的方法, 我们设计并实现了证券领域业务规则自动规约工具 LLSec. 我们将它部署在以下配置的服
务器上: AMD Ryzen Threadripper PRO 5975WX CPU, 256 GB RAM, 一块 NVIDIA RTX 3090Ti GPU, 操作系统为
Ubuntu 22.04. 所有的实验都在该服务器上开展.
4.2.1 RQ1: 业务规则规约的质量和效率
● 数据集和对比对象. 由于缺乏相关公开的基准测试数据集, 需要建立专门的评估数据集. 在构建过程中, 我
们考虑了上海和深圳证券交易所的常用与关键交易领域, 涉及债券、股票、基金和创业板等不同交易品种, 以及
竞价交易、大宗交易和盘后定价交易等多种交易方式. 我们从上述交易领域中随机选择了具体业务, 并收集相关
规则文档中关于这些业务的所有规则构成数据集. 最终我们得到了 5 个评估数据集, 分别为《深圳证券交易所创
业板盘后定价交易业务规则》《上海证券交易所竞价交易申报业务规则》《深圳证券交易所股票大宗交易业务
规则》《深圳证券交易所基金交易业务规则》和《上海证券交易所债券交易申报业务规则》. 这些数据集的特征
如表 2 所示.
表 2 数据集特征
序号 文献 规则数 交易所 具体业务 交易品种 交易方式
1 [22] 10 深圳证券交易所 创业板盘后定价业务 股票 盘后定价
2 [2] 12 上海证券交易所 竞价交易业务 股票、基金、权证、存托凭证 竞价交易
3 [23] 12 深圳证券交易所 股票大宗交易业务 股票 大宗交易
4 [24] 12 深圳证券交易所 基金交易业务 基金 竞价交易、大宗交易
匹配成交、点击成交、询价成
5 [25] 11 上海证券交易所 债券交易申报业务 债券
交、协商成交、竞买成交
为了评估我们所提出的方法的有效性, 我们为每个数据集编写了相应的需求规约, 并统计了每个数据集的规
则数、需要补全的规则数、依赖关系数以及功能点数等特征信息. 在这个过程中, 我们与领域专家紧密合作. 首

