CN114860638A - 软件接口的识别方法、装置和计算机设备 - Google Patents
软件接口的识别方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN114860638A CN114860638A CN202110154944.4A CN202110154944A CN114860638A CN 114860638 A CN114860638 A CN 114860638A CN 202110154944 A CN202110154944 A CN 202110154944A CN 114860638 A CN114860638 A CN 114860638A
- Authority
- CN
- China
- Prior art keywords
- interface
- software
- marked
- analyzed
- subsystem
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 239000011159 matrix material Substances 0.000 claims abstract description 72
- 230000003993 interaction Effects 0.000 claims description 56
- 230000002093 peripheral effect Effects 0.000 claims description 44
- 238000004458 analytical method Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004573 interface analysis Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种软件接口的识别方法、装置和计算机设备。其中,软件接口的识别方法包括:获取被分析软件的接口类型;创建与所述接口类型对应的接口识别矩阵;基于所述接口识别矩阵对所述被分析软件的接口进行分析。本申请实施例的软件接口的识别方法、装置和计算机设备,通过获取被分析软件的接口类型,并创建与所述接口类型对应的接口识别矩阵,以及基于所述接口识别矩阵对所述被分析软件的接口进行分析,降低接口识别矩阵的规模,降低识别工作量,提高识别效率,并提高识别准确度,解决接口识别不全面的问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种软件接口的识别方法、装置和计算机设备。
背景技术
随着核电技术的发展,数字化产品进入核电领域日益广泛。在核电控制领域,也越来越多的引入软件技术。由于核电领域对安全性要求高,且有明确的标准,因此需要对核电领域的软件产品的可靠性和安全保密性进行验证与确认工作。其中,对软件产品执行准确且完备的接口分析是验证工作的必要步骤,首要任务就是要识别出软件产品必要的对外接口。
在接口识别过程中,常见的接口识别方式有两种。一是以被分析软件产品为中心,依据产品需求和过往经验识别与它打交道的可能的外部部件;二是利用N方图的形式,将被分析软件产品(作为一个部件)放入到一个应用环境的大系统中,针对大系统中的每个部件列出N方图,然后分析N方图中的每个节点的接口是否为必需。第一种方式虽然简单高效,但存在接口识别不全面的问题;第二种方式虽然完备性较好,但存在识别效率较低以及识别的接口粒度较粗的问题。
发明内容
本申请的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本申请的第一个目的在于提出一种软件接口的识别方法,能够降低接口识别矩阵的规模,降低识别工作量,提高识别效率,并提高识别准确度,解决接口识别不全面的问题。
本申请的第二个目的在于提出一种软件接口的识别装置。
本申请的第三个目的在于提出一种计算机设备。
本申请的第四个目的在于提出一种非临时性计算机可读存储介质。
为了实现上述目的,本申请第一方面实施例提出一种软件接口的识别方法,包括:
获取被分析软件的接口类型;
创建与所述接口类型对应的接口识别矩阵;
基于所述接口识别矩阵对所述被分析软件的接口进行分析。
可选的,所述接口类型包括人机接口、软件-软件接口、软件-硬件接口。
可选的,当所述接口类型为人机接口时,创建与所述接口类型对应的接口识别矩阵,包括:
将所述被分析软件分为多个子系统,并将所述多个子系统作为第一列元素;
将外部人员分为观察者和操控者,并将所述观察者和所述操控者作为第一行元素;
基于所述第一列元素和所述第一行元素创建人机接口识别矩阵。
可选的,基于所述接口识别矩阵对所述被分析软件的接口进行分析,包括:
从所述人机接口识别矩阵中,依次选择子系统进行分析;
如果所述子系统需要为所述观察者提供显示信息,则将所述子系统标记为显示接口,否则标记为非显示接口;
如果所述子系统需要接收操控者的指令,则将所述子系统标记为操控接口,否则标记为非操控接口;
如果所述子系统同时标记为显示接口和操控接口,则确定所述子系统为显示操控接口;
将标记后的子系统添加至人机接口列表中;
如果所述子系统同时标记为非显示接口和非操作接口,则无需将标记后的子系统添加至所述人机接口列表中。
可选的,当所述接口类型为软件-软件接口时,创建与所述接口类型对应的接口识别矩阵,包括:
将所述被分析软件直接作为第二列元素;
将外部软件模块作为第二行元素;
基于所述第二列元素和所述第二行元素创建软件-软件接口识别矩阵。
可选的,基于所述接口识别矩阵对所述被分析软件的接口进行分析,包括:
依次判断所述外部软件模块与所述被分析软件之间是否存在信息交互;
如果存在信息交互,则进一步判断所述外部软件模块与所述被分析软件之间的信息交互是直接交互还是通过中间件交互;
如果所述外部软件模块与所述被分析软件之间的信息交互是直接交互,则将所述外部软件模块标记为直连接口,如果是通过中间件进行信息交互,则将所述外部软件模块标记为中间件接口;
将标记为直连接口的外部软件模块依次添加至软件-软件接口列表中;
将标记为相同中间件接口的外部软件模块归一化为统一接口,并将所述统一接口添加至所述软件-软件接口列表中。
可选的,当所述接口类型为软件-硬件接口时,创建与所述接口类型对应的接口识别矩阵,包括:
将所述被分析软件直接作为第三列元素;
将外围硬件作为第三行元素;
基于所述第三列元素和所述第三行元素创建软件-硬件接口识别矩阵。
可选的,基于所述接口识别矩阵对所述被分析软件的接口进行分析,包括:
依次判断所述外围硬件是否被所述被分析软件需要;
如果所述外围硬件被所述分析软件需要,则将所述外围硬件标记为被需要的外围硬件,否则标记为非被需要的外围硬件;
将标记为被需要的外围硬件统一为硬件驱动接口,并将所述硬件驱动接口添加至软件-硬件接口列表中。
本申请实施例的软件接口的识别方法,通过获取被分析软件的接口类型,并创建与所述接口类型对应的接口识别矩阵,以及基于所述接口识别矩阵对所述被分析软件的接口进行分析,降低接口识别矩阵的规模,降低识别工作量,提高识别效率,并提高识别准确度,解决接口识别不全面的问题。
为了实现上述目的,本申请第二方面实施例提出了一种软件接口的识别装置,包括:
获取模块,用于获取被分析软件的接口类型;
创建模块,用于创建与所述接口类型对应的接口识别矩阵;
分析模块,用于基于所述接口识别矩阵对所述被分析软件的接口进行分析。
可选的,所述接口类型包括人机接口、软件-软件接口、软件-硬件接口。
可选的,所述创建模块,用于:
当所述接口类型为人机接口时,将所述被分析软件分为多个子系统,并将所述多个子系统作为第一列元素;
将外部人员分为观察者和操控者,并将所述观察者和所述操控者作为第一行元素;
基于所述第一列元素和所述第一行元素创建人机接口识别矩阵。
可选的,所述分析模块,用于:
从所述人机接口识别矩阵中,依次选择子系统进行分析;
如果所述子系统需要为所述观察者提供显示信息,则将所述子系统标记为显示接口,否则标记为非显示接口;
如果所述子系统需要接收操控者的指令,则将所述子系统标记为操控接口,否则标记为非操控接口;
如果所述子系统同时标记为显示接口和操控接口,则确定所述子系统为显示操控接口;
将标记后的子系统添加至人机接口列表中;
如果所述子系统同时标记为非显示接口和非操作接口,则无需将标记后的子系统添加至所述人机接口列表中。
可选的,所述创建模块,用于:
当所述接口类型为软件-软件接口时,将所述被分析软件直接作为第二列元素;
将外部软件模块作为第二行元素;
基于所述第二列元素和所述第二行元素创建软件-软件接口识别矩阵。
可选的,所述分析模块,用于:
依次判断所述外部软件模块与所述被分析软件之间是否存在信息交互;
如果存在信息交互,则进一步判断所述外部软件模块与所述被分析软件之间的信息交互是直接交互还是通过中间件交互;
如果所述外部软件模块与所述被分析软件之间的信息交互是直接交互,则将所述外部软件模块标记为直连接口,如果是通过中间件进行信息交互,则将所述外部软件模块标记为中间件接口;
将标记为直连接口的外部软件模块依次添加至软件-软件接口列表中;
将标记为相同中间件接口的外部软件模块归一化为统一接口,并将所述统一接口添加至所述软件-软件接口列表中。
可选的,所述创建模块,用于:
当所述接口类型为软件-硬件接口时,将所述被分析软件直接作为第三列元素;
将外围硬件作为第三行元素;
基于所述第三列元素和所述第三行元素创建软件-硬件接口识别矩阵。
可选的,所述分析模块,用于:
依次判断所述外围硬件是否被所述被分析软件需要;
如果所述外围硬件被所述分析软件需要,则将所述外围硬件标记为被需要的外围硬件,否则标记为非被需要的外围硬件;
将标记为被需要的外围硬件统一为硬件驱动接口,并将所述硬件驱动接口添加至软件-硬件接口列表中。
本申请实施例的软件接口的识别装置,通过获取被分析软件的接口类型,并创建与所述接口类型对应的接口识别矩阵,以及基于所述接口识别矩阵对所述被分析软件的接口进行分析,降低接口识别矩阵的规模,降低识别工作量,提高识别效率,并提高识别准确度,解决接口识别不全面的问题。
为了实现上述目的,本申请第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面实施例所述的软件接口的识别方法。
为了实现上述目的,本申请第四方面实施例还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第一方面实施例所述的软件接口的识别方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请一个实施例的软件接口的识别方法的流程图;
图2是本申请一个实施例的软件接口的识别装置的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
以下结合具体实施例对本申请作进一步详细描述,这些实施例不能理解为限制本申请所要求保护的范围。
下面参考附图描述本申请实施例的软件接口的识别方法、装置和计算机设备。
图1是本申请一个实施例的软件接口的识别方法的流程图,如图1所示,该方法包括以下步骤:
S1,获取被分析软件的接口类型。
其中,接口类型可包括人机接口、软件-软件接口、软件-硬件接口。
S2,创建与接口类型对应的接口识别矩阵。
在获取被分析软件的接口类型之后,便可以基于接口类型创建相应的接口识别矩阵。
(1)当接口类型为人机接口时,可将被分析软件分为多个子系统,并将多个子系统作为第一列元素,然后将外部人员分为观察者和操控者,并将观察者和操控者作为第一行元素,最后基于第一列元素和第一行元素创建人机接口识别矩阵。
(2)当接口类型为软件-软件接口时,可将被分析软件直接作为第二列元素,然后将外部软件模块作为第二行元素,最后基于第二列元素和第二行元素创建软件-软件接口识别矩阵。
(3)当接口类型为软件-硬件接口时,可将被分析软件直接作为第三列元素,然后将外围硬件作为第三行元素,最后基于第三列元素和第三行元素创建软件-硬件接口识别矩阵。
S3,基于接口识别矩阵对被分析软件的接口进行分析。
在创建接口识别矩阵之后,便可以基于接口识别矩阵对被分析软件的接口进行分析。
(1)人机接口
首先,从人机接口识别矩阵中,依次选择子系统进行分析。
如果子系统需要为观察者提供显示信息,则将子系统标记为显示接口,否则标记为非显示接口。如果子系统需要接收操控者的指令,则将子系统标记为操控接口,否则标记为非操控接口。
如果子系统既可以为观察者提供显示信息,又可以接收操控者的指令,则可同时标记为显示接口和操控接口,即子系统为显示操控接口。
最后,可将标记后的子系统添加至人机接口列表中,用于分析。
如果子系统同时标记为非显示接口和非操作接口,则无需将标记后的子系统添加至人机接口列表中。
(2)软件-软件接口
其中,软件-软件接口可分为直连接口和中间件接口。
首先,依次判断外部软件模块与被分析软件之间是否存在信息交互。
如果存在信息交互,则进一步判断外部软件模块与被分析软件之间的信息交互是直接交互还是通过中间件交互。
如果外部软件模块与被分析软件之间的信息交互是直接交互,则将外部软件模块标记为直连接口。如果是通过中间件进行信息交互,则将外部软件模块标记为中间件接口。
最后,可将标记为直连接口的外部软件模块依次添加至软件-软件接口列表中。
另外,将标记为相同中间件接口的外部软件模块归一化为统一接口,并将统一接口添加至软件-软件接口列表中。
(3)软件-硬件接口
首先,依次判断外围硬件是否被被分析软件需要。
如果外围硬件被分析软件需要,则将外围硬件标记为被需要的外围硬件,否则标记为非被需要的外围硬件。
最后,将标记为被需要的外围硬件统一为硬件驱动接口,并将硬件驱动接口添加至软件-硬件接口列表中。
本申请实施例的软件接口的识别方法,通过获取被分析软件的接口类型,并创建与接口类型对应的接口识别矩阵,以及基于接口识别矩阵对被分析软件的接口进行分析,降低接口识别矩阵的规模,降低识别工作量,提高识别效率,并提高识别准确度,解决接口识别不全面的问题。
下面以一个具体实施例进行详细描述。
接口分析是软件产品验证与确认常用的一种手段。接口分析主要是针对软件产品的接口执行安全保密性、可靠性等方面的分析。现有技术中的接口识别的方法主要存在以下问题:1、未识别出必要的接口;2、识别出不必要的多余接口。
针对上述问题,本实施例提出的软件接口的识别方法,能够准确地识别出软件产品必要的对外接口,识别准确率高。
具体的,先对软件接口进行分类。
软件接口可分为人机接口、软件-软件接口、软件-中间件-软件接口和软件-硬件接口。
人机接口是指产品与外部操作人员进行互动的接口。外部操作人员主要对是软件进行控制操作和观看两种使用操作,因此在分析人机接口时,主要从观察者和操控者角度进行识别。
软件-软件接口指被分析软件与外部其它软件之间通信的接口。此类接口通常提供某类功能服务或用于信息交互,因此软件-软件接口可分为功能服务类接口和通信类接口。功能服务类接口可进一步从功能服务提供者和功能服务申请者角度进行识别。通信接口则分为单向通信和双向通信。
此外,软件-软件接口除了直接连接的形式之外,还包括一种通过中间件连接的形式,即软件-中间件-软件接口。中间件可以提供一对一、一对多、多对多的连接方式。功能服务类接口和通信类接口均可以使用中间件形式连接。
软件-硬件接口是指软件和硬件之间互动的接口,常见的有硬件驱动接口。
下面针对各个不同类型的接口,分别介绍其对应的接口识别方法。
(1)人机接口识别方法
将外部操作人员分为观察者和操控者两类。软件产品(被分析对象)内部可能存在多个子系统与外部操作人员交互,因此可将软件产品内部按子系统(或子部件)形式展开。将观察者和操控者作为行元素,软件产品的子系统作为列元素,创建如表1所示的接口识别矩阵。
子系统列表 | 观察者 | 操控者 |
子系统1 | √ | √ |
子系统2 | X | X |
…… |
表1
具体识别过程如下:
第一步,创建接口识别矩阵。
第二步,依次选择一个子系统,识别该子系统是否需要为观察者提供显示信息。
如果需要为观察者提供显示信息,则标记为显示接口,否则不标记。
第三步,识别该子系统是否需要接受操控者的指令。
如果接受操控者的指令,则标记为操控接口,否则不标记。
第四步,重复第二步和第三步操作,直至所有子系统均识别完成。
第五步,获取人机接口列表。
针对每个子系统,判断其对应的观察者和操控者的节点。如果两个节点均未标记,则该子系统无需添加到人机接口列表中;如果两个节点中有一个或一个以上被标记,则将该子系统添加到人机接口列表中。接口标记可为显示接口、操控接口或显示操控接口。
(2)软件-软件接口识别方法
将软件产品视为一个整体作为列元素,并将外部所有软件模块视为行元素,创建如表2所示的接口识别矩阵。
表2
软件和软件之间的连接方式包括直接连接和通过中间件连接两种方式。
具体识别过程如下:
第一步,创建接口识别矩阵。
第二步,依次从行元素中选择一个外部软件模块,分析其与软件产品(被分析对象)间是否存在信息交互。
如果存在信息交互,则进一步识别两者之间是直接交互还是通过中间件进行交互。同时将该节点标记为直连接口或中间件接口。
第三步,重复第二步进行分析,直至行元素列表中的所有元素均分析完成。
第四步,对分析后形成的接口识别矩阵中所有标记为中间件的接口进行归一化操作。
将所有使用同一个中间件的节点归一化为一个统一的接口,并将该接口加入到接口列表中。直到所有标记为中间件接口的节点分析完成。
第五步,针对被标记为直连接口的元素,识别其与软件产品间存在多少个连接通道或连接方式,就将其泛化为对应数量的接口,并将这些接口逐一添加到接口列表中。
(3)软件-硬件接口识别方法
将软件产品视为一个整体作为列元素,并将所有外围硬件视为行元素,创建如表3所示的接口识别矩阵。
表3
具体识别过程如下:
第一步,创建接口识别矩阵。
第二步,依次从行元素列表中选择一个外围硬件,分析软件产品是否需要使用该外围硬件。
如果需要使用该外围硬件,则标记为是;如果不需要,则为未使用。其中,外围硬件看分为读硬件和写硬件。可根据各自类型具体标记为读硬件、写硬件,也可同时标记为读硬件和写硬件。
第三步,重复第二步进行分析,直至行元素列表中所有元素均分析完成。
第四步,将被标记的接口,作为硬件驱动接口添加到接口列表中。
本申请的软件接口的识别方法,通过对软件接口进行分类,有效识别软件接口涉及范围,降低接口识别矩阵的规模,降低识别工作量;通过针对不同类型的接口,进行精细粒度的识别,提高识别准确度,解决接口识别不全面的问题。
为了实现上述实施例,本申请还提出了一种软件接口的识别装置。
图2是本申请一个实施例的软件接口的识别装置的结构示意图。
如图2所示,该装置包括获取模块21、创建模块22和分析模块23。
获取模块21,用于获取被分析软件的接口类型。
其中,接口类型包括人机接口、软件-软件接口、软件-硬件接口。
创建模块22,用于创建与接口类型对应的接口识别矩阵。
创建模块22,具体用于当接口类型为人机接口时,将被分析软件分为多个子系统,并将多个子系统作为第一列元素;将外部人员分为观察者和操控者,并将观察者和操控者作为第一行元素;基于第一列元素和第一行元素创建人机接口识别矩阵。
创建模块22,具体用于当接口类型为软件-软件接口时,将被分析软件直接作为第二列元素;将外部软件模块作为第二行元素;基于第二列元素和第二行元素创建软件-软件接口识别矩阵。
分析模块22,具体用于依次判断外部软件模块与被分析软件之间是否存在信息交互;如果存在信息交互,则进一步判断外部软件模块与被分析软件之间的信息交互是直接交互还是通过中间件交互;如果外部软件模块与被分析软件之间的信息交互是直接交互,则将外部软件模块标记为直连接口,如果是通过中间件进行信息交互,则将外部软件模块标记为中间件接口;将标记为直连接口的外部软件模块依次添加至软件-软件接口列表中;将标记为相同中间件接口的外部软件模块归一化为统一接口,并将统一接口添加至软件-软件接口列表中。
分析模块23,用于基于接口识别矩阵对被分析软件的接口进行分析。
分析模块23,具体用于:从人机接口识别矩阵中,依次选择子系统进行分析;如果子系统需要为观察者提供显示信息,则将子系统标记为显示接口,否则标记为非显示接口;如果子系统需要接收操控者的指令,则将子系统标记为操控接口,否则标记为非操控接口;如果子系统同时标记为显示接口和操控接口,则确定子系统为显示操控接口;将标记后的子系统添加至人机接口列表中;如果子系统同时标记为非显示接口和非操作接口,则无需将标记后的子系统添加至人机接口列表中。
分析模块23,具体用于:依次判断外部软件模块与被分析软件之间是否存在信息交互;如果存在信息交互,则进一步判断外部软件模块与被分析软件之间的信息交互是直接交互还是通过中间件交互;如果外部软件模块与被分析软件之间的信息交互是直接交互,则将外部软件模块标记为直连接口,如果是通过中间件进行信息交互,则将外部软件模块标记为中间件接口;将标记为直连接口的外部软件模块依次添加至软件-软件接口列表中;将标记为相同中间件接口的外部软件模块归一化为统一接口,并将统一接口添加至软件-软件接口列表中。
分析模块23,具体用于:依次判断外围硬件是否被被分析软件需要;如果外围硬件被分析软件需要,则将外围硬件标记为被需要的外围硬件,否则标记为非被需要的外围硬件;将标记为被需要的外围硬件统一为硬件驱动接口,并将硬件驱动接口添加至软件-硬件接口列表中。
应当理解的是,本实施例的软件接口的识别装置与第一方面实施例的软件接口的识别方法的描述一致,此处不再赘述。
本申请实施例的软件接口的识别装置,通过获取被分析软件的接口类型,并创建与接口类型对应的接口识别矩阵,以及基于接口识别矩阵对被分析软件的接口进行分析,降低接口识别矩阵的规模,降低识别工作量,提高识别效率,并提高识别准确度,解决接口识别不全面的问题。
为了实现上述实施例,本申请还提出了一种计算机设备。
该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如第一方面实施例的软件接口的识别方法。
为了实现上述实施例,本申请还提出了一种非临时性计算机可读存储介质。
该非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如第一方面实施例的软件接口的识别方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
需要说明的是,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
Claims (11)
1.一种软件接口的识别方法,其特征在于,包括:
获取被分析软件的接口类型;
创建与所述接口类型对应的接口识别矩阵;
基于所述接口识别矩阵对所述被分析软件的接口进行分析。
2.如权利要求1所述的方法,其特征在于,所述接口类型包括人机接口、软件-软件接口、软件-硬件接口。
3.如权利要求2所述的方法,其特征在于,当所述接口类型为人机接口时,创建与所述接口类型对应的接口识别矩阵,包括:
将所述被分析软件分为多个子系统,并将所述多个子系统作为第一列元素;
将外部人员分为观察者和操控者,并将所述观察者和所述操控者作为第一行元素;
基于所述第一列元素和所述第一行元素创建人机接口识别矩阵。
4.如权利要求3所述的方法,其特征在于,基于所述接口识别矩阵对所述被分析软件的接口进行分析,包括:
从所述人机接口识别矩阵中,依次选择子系统进行分析;
如果所述子系统需要为所述观察者提供显示信息,则将所述子系统标记为显示接口,否则标记为非显示接口;
如果所述子系统需要接收操控者的指令,则将所述子系统标记为操控接口,否则标记为非操控接口;
如果所述子系统同时标记为显示接口和操控接口,则确定所述子系统为显示操控接口;
将标记后的子系统添加至人机接口列表中;
如果所述子系统同时标记为非显示接口和非操作接口,则无需将标记后的子系统添加至所述人机接口列表中。
5.如权利要求2所述的方法,其特征在于,当所述接口类型为软件-软件接口时,创建与所述接口类型对应的接口识别矩阵,包括:
将所述被分析软件直接作为第二列元素;
将外部软件模块作为第二行元素;
基于所述第二列元素和所述第二行元素创建软件-软件接口识别矩阵。
6.如权利要求5所述的方法,其特征在于,基于所述接口识别矩阵对所述被分析软件的接口进行分析,包括:
依次判断所述外部软件模块与所述被分析软件之间是否存在信息交互;
如果存在信息交互,则进一步判断所述外部软件模块与所述被分析软件之间的信息交互是直接交互还是通过中间件交互;
如果所述外部软件模块与所述被分析软件之间的信息交互是直接交互,则将所述外部软件模块标记为直连接口,如果是通过中间件进行信息交互,则将所述外部软件模块标记为中间件接口;
将标记为直连接口的外部软件模块依次添加至软件-软件接口列表中;
将标记为相同中间件接口的外部软件模块归一化为统一接口,并将所述统一接口添加至所述软件-软件接口列表中。
7.如权利要求2所述的方法,其特征在于,当所述接口类型为软件-硬件接口时,创建与所述接口类型对应的接口识别矩阵,包括:
将所述被分析软件直接作为第三列元素;
将外围硬件作为第三行元素;
基于所述第三列元素和所述第三行元素创建软件-硬件接口识别矩阵。
8.如权利要求7所述的方法,其特征在于,基于所述接口识别矩阵对所述被分析软件的接口进行分析,包括:
依次判断所述外围硬件是否被所述被分析软件需要;
如果所述外围硬件被所述分析软件需要,则将所述外围硬件标记为被需要的外围硬件,否则标记为非被需要的外围硬件;
将标记为被需要的外围硬件统一为硬件驱动接口,并将所述硬件驱动接口添加至软件-硬件接口列表中。
9.一种软件接口的识别装置,其特征在于,包括:
获取模块,用于获取被分析软件的接口类型;
创建模块,用于创建与所述接口类型对应的接口识别矩阵;
分析模块,用于基于所述接口识别矩阵对所述被分析软件的接口进行分析。
10.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时实现如权利要求1-8任一项所述的软件接口的识别方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时实现如权利要求1-8中任一项所述的软件接口的识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110154944.4A CN114860638A (zh) | 2021-02-04 | 2021-02-04 | 软件接口的识别方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110154944.4A CN114860638A (zh) | 2021-02-04 | 2021-02-04 | 软件接口的识别方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114860638A true CN114860638A (zh) | 2022-08-05 |
Family
ID=82622731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110154944.4A Pending CN114860638A (zh) | 2021-02-04 | 2021-02-04 | 软件接口的识别方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114860638A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140122160A1 (en) * | 2012-10-26 | 2014-05-01 | International Business Machines Corporation | Optimized License Procurement |
US9304835B1 (en) * | 2014-12-31 | 2016-04-05 | International Business Machines Corporation | Optimized system for analytics (graphs and sparse matrices) operations |
US9348615B1 (en) * | 2010-03-07 | 2016-05-24 | Brendan Edward Clark | Interface transitioning and/or transformation |
CN107977312A (zh) * | 2017-11-21 | 2018-05-01 | 北京临近空间飞行器系统工程研究所 | 一种基于复杂接口时序的软件系统测试验证方法 |
CN108255728A (zh) * | 2018-01-18 | 2018-07-06 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 软件的失效模式的识别方法及装置 |
CN111368425A (zh) * | 2020-03-03 | 2020-07-03 | 聪脉(上海)信息技术有限公司 | 一种利用框图工具进行接口关系分析的方法和装置 |
CN111580852A (zh) * | 2020-04-29 | 2020-08-25 | 北京广利核系统工程有限公司 | 一种软件变更影响范围的识别方法及系统 |
-
2021
- 2021-02-04 CN CN202110154944.4A patent/CN114860638A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9348615B1 (en) * | 2010-03-07 | 2016-05-24 | Brendan Edward Clark | Interface transitioning and/or transformation |
US20140122160A1 (en) * | 2012-10-26 | 2014-05-01 | International Business Machines Corporation | Optimized License Procurement |
US9304835B1 (en) * | 2014-12-31 | 2016-04-05 | International Business Machines Corporation | Optimized system for analytics (graphs and sparse matrices) operations |
CN107977312A (zh) * | 2017-11-21 | 2018-05-01 | 北京临近空间飞行器系统工程研究所 | 一种基于复杂接口时序的软件系统测试验证方法 |
CN108255728A (zh) * | 2018-01-18 | 2018-07-06 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 软件的失效模式的识别方法及装置 |
CN111368425A (zh) * | 2020-03-03 | 2020-07-03 | 聪脉(上海)信息技术有限公司 | 一种利用框图工具进行接口关系分析的方法和装置 |
CN111580852A (zh) * | 2020-04-29 | 2020-08-25 | 北京广利核系统工程有限公司 | 一种软件变更影响范围的识别方法及系统 |
Non-Patent Citations (1)
Title |
---|
曲萃萃等: "核电HMI软件验证和确认中的接口分析", 电脑知识与技术, 25 January 2020 (2020-01-25), pages 257 - 258 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844417B (zh) | 测试用例生成方法和装置 | |
CN103810099A (zh) | 代码跟踪方法及其系统 | |
CN114407812B (zh) | 诊断数据库确定方法、装置、电子设备以及存储介质 | |
CN111402068B (zh) | 基于大数据的保费数据分析方法、装置及存储介质 | |
CN114860638A (zh) | 软件接口的识别方法、装置和计算机设备 | |
CN112306040A (zh) | 车辆检测方法、装置、设备及服务器 | |
CN113031991A (zh) | 一种嵌入式系统的远程自适应升级方法及其装置 | |
CN114612919B (zh) | 一种票据信息处理系统及方法、装置 | |
CN115359203A (zh) | 一种三维高精度地图生成方法、系统及云平台 | |
CN109359683A (zh) | 目标检测方法、装置、终端和计算机可读存储介质 | |
CN110334430B (zh) | 图纸中电缆托架的自动标注方法、系统、设备和存储介质 | |
CN118013948B (zh) | 一种融合多模态交互的文本处理方法与系统 | |
CN111915183A (zh) | 基于产品模板的生产调度方法、系统、终端及存储介质 | |
CN114077538A (zh) | 程序调试方法、装置及可读存储介质 | |
CN114756440B (zh) | 智能卡的数据写入方法、装置、设备及存储介质 | |
CN111026307B (zh) | 一种用于快速关联图形组态工具中图元的方法及装置 | |
CN109543932A (zh) | 设备的借用方法、终端设备及服务器 | |
US20230165660A1 (en) | Instrument identification method and instrument identification system | |
CN114241503B (zh) | 一种错题原因采集方法、系统、可读存储介质及设备 | |
CN106557030A (zh) | 基于实体的操作指示方法及装置 | |
CN114942623B (zh) | 控制器的测试方法、装置、车辆及计算机可读存储介质 | |
US7737848B2 (en) | Method and middleware for standards agnostic transaction processing | |
CN114579795A (zh) | 一种图标识别方法、装置、存储介质及计算机系统 | |
CN109617599B (zh) | 光纤信号转换设备的检测方法、装置及计算机存储介质 | |
CN117573139A (zh) | 代码自动生成方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |