一种基于度量和预测技术的软件架构评估方法

文档序号:6549961阅读:463来源:国知局
一种基于度量和预测技术的软件架构评估方法
【专利摘要】本发明提出了一种基于度量和预测技术的软件架构评估方法,其基本思想是将传统的度量和预测技术应用在软件架构层次,在开发早期对软件的风险概率进行预测,并帮助相关人员在设计阶段识别出关键模块。由于软件架构的度量是对软件中间产品的度量,可以更加精确地描述软件架构的各种特征,并通过预测去发现软件设计中存在的问题。系统的可靠性为系统中每个用户成功均能执行的概率;而在一次用户的执行中,只有所有构件和连接件均正常执行,才能保证该场景执行成功。该方法基于贝叶斯公式,综合用例图,顺序图与部署图中各环节成功执行概率,实现对软件架构可靠新的度量以及其潜在风险的预测。
【专利说明】一种基于度量和预测技术的软件架构评估方法
【技术领域】
[0001]本发明属于软件架构评估领域,涉及一种基于度量和预测技术的软件架构评估方法。
【背景技术】
[0002]随着软件规模的扩大和软件复杂性的提高,软件危机不断出现,为了更好地提升软件开发效率、保障软件质量、提高软件和构件的复用率,且在设计阶段对软件系统进行抽象,获取系统蓝图以支持系统开发中的决策,软件体系结构(Software Architecture,又称软件架构)就应运而生了。与软件不同,软件架构可以在高级层次上对软件进行描述,便于软件开发过程中各个视角(例如用户、业务和系统)的统一,能够及早发现开发中的问题并支持各种解决方案的评估和预测。鉴于此,基于软件架构的度量和预测技术应运而生。目前已经出现很多基于程序和源代码的软件度量方法,并且已成功应用于实际开发中。然而从架构的角度对系统进行度量,该方面的研究尚未成熟,且能够覆盖的相关质量属性并不全面。
[0003]对于可靠性(Reliability)来说,它用来评估在指定条件下使用时,信息系统维持规定的性能级别的能力的指标。该指标是指在给定时间内,特定环境下信息系统无错运行的概率。通常,对于软件架构的可靠性评估主要有以下三种方法:基于操作剖面的模型、基于状态的模型和基于路径的模型。
[0004]基于操作剖面的方法是基于用户使用软件的操作习惯及其频率等信息定义操作剖面,通过统计不同构件在系统运行过程中的使用概率,概况构件的使用情况和构件迁移概率,计算不同剖面出现概率等得到系统的可靠性。例如Vittorio Cortellessa等人基于UML图对架构进行可靠性度量。该方法定义仅当系统中的每个场景可成功执行时,该系统是可靠的。然而该方法对于用户输入有较多约束,在实际工程中难以应用。
[0005]基于状态的模型通常假设各个构件间的控制转移具有Markov性质,例如Ghokale等人提出一种基于状态的模型,利用控制流图描述软件架构,其中控制流图一般从代码中提取而来。然而在实际软件系统中很难满足Markov模型的构件独立性假设。
[0006]基于路径的模型通常假设组成系统的构件运行是独立的,在系统架构完毕后,针对测试用例所遵循的路径,通过计算各个路径上其构件间的迁移概率来计算各个路径的可靠性进而计算系统的可靠性。典型的有Krishnamurthy等提出的基于路径的模型,该模型考虑所有程序可执行路径的概率以及执行可靠程度,其中路径可以从构件执行路径提取或从现有设计制品中提取。

【发明内容】

[0007]技术问题:本发明提供一种成本低、适合于早期设计开发阶段,具有良好可应用性的用以评估软件架构可靠性的基于度量和预测技术的软件架构评估方法。
[0008]技术方案:本发明的基于度量和预测技术的软件架构评估方法,包括如下步骤:[0009]I)将待度量的系统的用例图、顺序图和部署图导出为XMI文件,并将每个XMI文件解析成UML图类;
[0010]2)从用例图对应的UML图类中计算得到每个参与者执行每个用例的概率EP (Ci I Bj),同时从知识库中调取所有参与者的执行概率EP (Bj),其中Ci表示第i个用例,a」表示第j个参与者,i和j分别为用例和参与者的编号;
[0011]3)从顺序图对应的UML图类中,得到顺序图的名称以及每个顺序图中构件的使用次数和构件间连接件的使用次数,按照“构件名称-构件使用次数”和“连接件名称-连接件使用次数”的格式进行存储,并按照顺序图的名称将顺序图与用例图中的用例相关联,计算每个用例对应的场景个数,得到每个场景的执行概率,即每个顺序图的执行概率EP (k),其中k表顺序图编号;
[0012]同时从部署图对应的UML图类中,得到所有构件和所有连接件的可靠概率,并按照“构件名称-构件可靠概率”和“连接件名称-连接件可靠概率”的格式进行存储;
[0013]4)首先根据下式计算每个顺序图成功执行的概率Pk:
[0014]
【权利要求】
1.一种基于度量和预测的软件架构评估方法,其特征在于,该方法包括如下步骤: 1)将待度量的系统的用例图、顺序图和部署图导出为XMI文件,并将每个XMI文件解析成UML图类; 2)从用例图对应的UML图类中计算得到每个参与者执行每个用例的概率EP(Ci|ap,同时从知识库中调取所有参与者的执行概率EP(ap,其中Ci表示第i个用例,Bj示第j个参与者,i为用例的编号,j分别参与者的编号; 3)从顺序图对应的UML图类中,得到顺序图的名称以及每个顺序图中构件的使用次数和构件间连接件的使用次数,按照“构件名称-构件使用次数”和“连接件名称-连接件使用次数”的格式进行存储,并按照顺序图的名称将顺序图与用例图中的用例相关联,计算每个用例对应的场景个数,得到每个场景的执行概率,即每个顺序图的执行概率EP(k),其中k表顺序图编号; 同时从部署图对应的UML图类中,得到所有构件和所有连接件的可靠概率,并按照“构件名称-构件可靠概率”和“连接件名称-连接件可靠概率”的格式进行存储; 4)首先根据下式计算每个顺序图成功执行的概率Pk:
2.根据权利要求1所述的基于度量和预测技术的软件架构评估方法,其特征在于,所述的步骤2)中,计算参与者\_执行用例Ci的概率EP (Ci |ap的方法如下:若知识库中已存储该概率,则直接从知识库中获取;否则按照如下方式计算:针对每一个参与者,从用例图中统计其所有执行用例个数11。,则3」执行每个用例的概率EP(CiIaj)为= ^
3.根据权利要求1所述的基于度量和预测技术的软件架构评估方法,其特征在于,所述的步骤3)中,按照顺序图的名称将顺序图与用例图中的用例相关联的方法如下:若知识库中已有明确的顺序图与用例图中用例的对应关系,则直接从知识库中获取;否则: 若用例的名称为顺序图名称前缀,则认为该顺序图表示用例图的一个执行场景并将该顺序图与该用例相关联,否则该顺序图不是这个用例的一个执行场景,不能关联。
4.根据权利要求1、2或3所述的基于度量和预测技术的软件架构评估方法,其特征在于,所述的步骤3)中,每个顺序图的执行概率的计算方法如下:统计与用例相关联的所有顺序图的数量η,即为每个用例对应的场景个数,则每个顺序图k的执行概率为EP(k) = K
5.根据权利要求1、2或3所述的基于度量和预测技术的软件架构评估方法,其特征在于,所述的步骤3)中,构件的使用次数和构件间连接件的使用次数统计方法如下:当构件接收其它构件发来的消息时被激活,此时构件处于繁忙状态,执行次数加I ;当位于不同节点的构件间有消息交互时,连接件负责消息传送,其使用次数加I。
【文档编号】G06F11/36GK104008059SQ201410271263
【公开日】2014年8月27日 申请日期:2014年6月17日 优先权日:2014年6月17日
【发明者】李必信, 司静文, 俞析蒙, 孔祥龙, 姜雨晴 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1