基于逐层分解方法的软件可靠性指标分配方法及装置制造方法及图纸

技术编号:27840112 阅读:11 留言:0更新日期:2021-03-30 12:22
本发明专利技术提供了一种基于逐层分解方法的软件可靠性指标分配方法及装置。该方法包括:逐层分解软件或模块,直到本阶段能够分解到的最小节点,绘制一棵树;采集分解结果的最底层节点的可靠性影响因素,计算特征值;采集技术层次分解入口节点的可靠性影响因素,计算特征值;逆向计算最底层节点及以上层次节点的分配比例;按照分配模型逐层逐节点进行指标分配。本发明专利技术提供的基于逐层分解方法的软件可靠性指标分配方法及装置能够解决目前软件可靠性指标分配难以实施落地的问题。指标分配难以实施落地的问题。指标分配难以实施落地的问题。

【技术实现步骤摘要】
基于逐层分解方法的软件可靠性指标分配方法及装置


[0001]本专利技术涉及软件工程
,特别是涉及一种基于逐层分解方法的软件可靠性指标分配方法及装置。

技术介绍

[0002]目前已有不少公认的软件可靠性指标分配方法,例如快速分配法,采用相似程序和相似模块来均值分配指标;例如等值分配法,采用顺序和并行软件模块等值分配指标;例如基于操作剖面分配法,是按照操作剖面集合并按照概率来分配指标。总体上,目前的软件可靠性指标分配方法都是借鉴硬件的分配方法,在适应软件的过程中有以下不足之处:
[0003]·
分配方法的前提条件难以获取,且很难应用在软件所有阶段
[0004]例如快速分配法,需要有历史的相似的系统,如果没有相似系统则无法使用,例如基于复杂度分配方法,需要采集“数据通信”、“分布式功能”、“性能”、“频繁使用的配置”、“事务率”、“联机数据项”等14个项,而这些项在软件初期阶段是无法获取的,基本不能应用在需求分析阶段。
[0005]·
分配依据片面
[0006]已有软件可靠性指标分配照搬硬件可靠性指标分配方法,例如基于复杂度的分配方法,需要事先获取运行的关键度和复杂度数据,应用在功能串联的系统中,而实际中软件可靠性不会只受到关键度和复杂度因素的影响,这种分配方法依据较为片面,只适用于功能模块之间无影响的系统中。
[0007]·
分配方法的效果较差
[0008]分配效果差是目前可靠性分配方法的一个显著特点,即分配不均,实际计算结果误差较大,例如基于操作剖面的方法,由于时间、操作频率的影响,很难将概率计算准确,故而分配率本身就不够正确,分配后设计和实现时几乎没有参考价值,效果差。

技术实现思路

[0009]本专利技术要解决的技术问题是提供一种基于逐层分解方法的软件可靠性指标分配方法及装置,能够解决目前软件可靠性指标分配难以实施落地的问题。
[0010]为解决上述技术问题,本专利技术提供了一种基于逐层分解方法的软件可靠性指标分配方法,所述方法包括:逐层分解软件或模块,直到本阶段能够分解到的最小节点,绘制一棵树;采集分解结果的最底层节点的可靠性影响因素,计算特征值;采集技术层次分解入口节点的可靠性影响因素,计算特征值;逆向计算最底层节点及以上层次节点的分配比例;按照分配模型逐层逐节点进行指标分配。
[0011]在一些实施方式中,逐层分解软件或模块包括:业务层次分解,以及技术层次分解。
[0012]在一些实施方式中,业务层次分解包括:确定有可靠性要求的软件模块M;确定M模块的子模块集合C;迭代模块集合C,确定所有的子集合C
ij
,一直到最底层P;确定M模块的相
关模块集合R;迭代模块集合R,确定所有的自己和R
ij
,一直到最底层;形成层级关系图。
[0013]在一些实施方式中,技术层次分解包括:确定软件技术架构图;针对业务层次分解的层次关系图,确定技术层分解入口;针对技术分层结果重复确定新的技术层分解入口,直到能够分解的最小单元。
[0014]在一些实施方式中,采集技术层次分解入口节点的可靠性影响因素,计算特征值,包括:对于技术层次分解入口节点,采集影响节点业务的可靠性影响因素以及影响技术架构可靠性的因素的值,按照特征值计算模型计算每个节点的特征值,分配比例为特征值占比。
[0015]在一些实施方式中,特征值计算模型如下:
[0016]λ=(α/∑α
i
)
±
∑0.5α
j
[0017]其中,λ为特征值占比,α为本节点特征值,∑α
i
为本层次节点特征值和,α
j
为相关节点特征值。
[0018]在一些实施方式中,还包括:对于业务层的子模块,采集其子节点的特征值和为本节点特征值,分配比例为特征值占比。
[0019]此外,本专利技术还提供了一种基于逐层分解方法的软件可靠性指标分配装置,所述装置包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的基于逐层分解方法的软件可靠性指标分配方法。
[0020]采用这样的设计后,本专利技术至少具有以下优点:
[0021]本专利技术提供的方法从2017年提出并应用,在软件项目中,通过正向的执行该方法,然后针对分配比例进行可靠性设计和实现,然后进行逆向推理验证,结果基本是成正比的,即假如以可靠度进行分配,分配结果和实际计算结果的趋势一致,且误差均值要明显小于其他典型的可靠性指标分配方法。
附图说明
[0022]上述仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,以下结合附图与具体实施方式对本专利技术作进一步的详细说明。
[0023]图1是本专利技术实施例提供的软件业务逐层分析示意图;
[0024]图2是本专利技术实施例提供的软件技术架构图;
[0025]图3是本专利技术实施例提供的指标分配模型示意图。
具体实施方式
[0026]以下结合附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。
[0027]目前软件可靠性指标分配不止上述三个缺点,另外还有无法落地实施、没有可靠性指标分配后如何实现的理论指导等,究其原因最主要的是这些可靠性分配方法来自硬件,而不是从软件自身角度出发而提出的,故而本专利提出一个基于软件自身特点分析结果的可靠性指标分配方法,方法集前提收集、落地实施、评估验证为一体,补充软件可靠性分配理论的不足。
[0028]由于目前的软件可靠性分配方法不是根据软件的特点提出的,而是直接将硬件级和系统级的分配方法拿来所用,因此应用在软件可靠性指标分配时具有先天的缺陷,诸如前提不好满足,不好用,分配后应用结果不准确等。所以本专利技术旨在结合软件固有的特性来提出可靠性指标分配方法,以解决目前软件可靠性指标分配难以实施落地的问题。
[0029]2.1逐层分解方法
[0030]软件是否可靠表现在软件或模块或操作上,软件是以层次展示的,其可靠性也应以层次去分配。软件有一个固定的架构来体现和实现层次,架构上各层次的每一个元素都会影响软件可靠性量值,因此对软件可靠性进行分配的时候,需要先得出这个架构以及架构上的元素集合,然后给这些元素分配可靠性值。
[0031]在软件设计时,一般会有两种架构图,一种是业务架构图,一种是技术架构图。逐层分解的主要步骤如下:
[0032]a.首先基于业务架构图确定有可靠性要求的节点;
[0033]b.其次按照业务进行深层分解到最小单元,例如操作;
[0034]c.分析操作的技术实现步骤,并对应到技术架构层次或节点中;
[0035]确定操作后,以技术架构为分析点,分析操作的程序入口,并深入分析其代码结构关系,一般以文件为单位,并分析代码逻辑的切点,直到操作结束,所有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于逐层分解方法的软件可靠性指标分配方法,其特征在于,包括:逐层分解软件或模块,直到本阶段能够分解到的最小节点,绘制一棵树;采集分解结果的最底层节点的可靠性影响因素,计算特征值;采集技术层次分解入口节点的可靠性影响因素,计算特征值;逆向计算最底层节点及以上层次节点的分配比例;按照分配模型逐层逐节点进行指标分配。2.根据权利要求1所述的基于逐层分解方法的软件可靠性指标分配方法,其特征在于,逐层分解软件或模块包括:业务层次分解,以及技术层次分解。3.根据权利要求2所述的基于逐层分解方法的软件可靠性指标分配方法,其特征在于,业务层次分解包括:确定有可靠性要求的软件模块M;确定M模块的子模块集合C;迭代模块集合C,确定所有的子集合C
ij
,一直到最底层P;确定M模块的相关模块集合R;迭代模块集合R,确定所有的自己和R
ij
,一直到最底层;形成层级关系图。4.根据权利要求2所述的基于逐层分解方法的软件可靠性指标分配方法,其特征在于,技术层次分解包括:确定软件技术架构图;针对业务层次分解的层次关系图,确定技术层分解入口;针对技术分层结果重复确定新的技术层分解入口,直到能够分解的最小单元。5.根据权利要求1所述的基...

【专利技术属性】
技术研发人员:马由关昕李思雨陈理国贾琪周文睿汤艳商伟
申请(专利权)人:中国电子科技集团公司第十五研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1