Page 285 - 《软件学报》2026年第3期
P. 285

1248                                                       软件学报  2026  年第  37  卷第  3  期


                 问题, 例如“双精度浮点数有效性判断           (FloatValid64)”.
                    (2) ID  编号是由英文字母    (包含大小写)、符号      (点、斜线、短横、下划线等) 和数字的字符串组成, 每个软件
                 IP  对应唯一的  ID, 并且可以从   ID  中解析出该   IP  的名称、版本、所属应用领域和类别等信息.
                    (3) 版本也是由英文字母       (例如  beta)、符号和数字组成的字符串, 并且遵循领域的命名规范.
                    (4) 版权归属是一个中文字符串, 指明版权归属单位.
                    (5) 作者指软件   IP  的创建者, 可以是多个人, 也可以是一个团队或者部门.
                    (6) 开发时间采用中国标准时间进行描述, 支持多种日期表示格式.
                    (7) 关键词是能够体现软件       IP  特征的词语, 并且要求关键词必须出自领域术语库               (术语词典).
                    (8) 所属应用领域描述该软件        IP  适合用于哪些应用领域, 应用领域的描述同样需要依据领域术语库.
                    (9) 类别表明该软件     IP  的分类信息, 遵循领域的分类标准.


                                    名称   ID  版本   作者
                                   版权归属    开发时间   领域
                                      关键词   分类
                                                                                   需求
                                                        基本知识        软件开发           设计
                                                                    过程知识
                                                                                   实现
                                                                                   测试
                                                                                   维护
                                                            领域专家知识
                                       标准   使用条件
                                       规范   使用场景
                                       领域数据字典

                                                  图 9 软件   IP  的知识模型

                  3.2.2    领域专家知识
                                                                                              −2
                    软件  IP  的领域专家知识包括该       IP  所遵循的开发标准和规范、IP        的使用条件     (例如偏心率为    10 量级) 和典
                 型使用场景    (例如低轨、高轨)、领域数据字典等. 软件             IP  遵循的开发标准和规范通常以文档的形式存在, 因此在
                 知识模型中只需要说明这些文档的名称, 例如《航天器软件编程规范                      (C  语言部分)》.
                  3.2.3    软件开发过程知识
                    该部分知识覆盖了软件         IP  开发的整个生命周期, 包括需求、设计、实现、测试和维护, 如后文图                   10  所示.
                  3.2.3.1    需 求
                    需求部分包括软件       IP  的功能描述, 体现软件     IP  特征, 该部分可以采用自然语言或者半结构化自然语言                (伪自
                 然语言) 描述. 需求的描述要尽量简洁, 而且必须基于领域术语库                   (术语词典), 即不能使用自创的或者语义不明确
                 的名词. 从需求规格说明文档中提取描述需求的半结构化自然语言描述相对容易, 然而这种方式难以确认提取的
                 需求描述的一致性和完备性. 因此, 可以考虑使用               UML、AADL、Simulink/Stateflow  等为软件  IP  的需求描述建
                 立图形模型, 继而可以采用仿真等方式对需求的一致性和完备性进行确认. 需求的图形模型可以从文档中直接提
                 取  (如果有), 或者根据需求的自然语言描述自动生成相应的图形模型. 然而后者的实现难度较大, 因为涉及自然语
                 言理解等比较困难的工作.
                  3.2.3.2    设 计
                    设计部分包括接口、参数、流程图和异常处理这                  4  部分.
   280   281   282   283   284   285   286   287   288   289   290