当前位置: 首页 > 专利查询>东南大学专利>正文

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

技术编号:10374412 阅读:179 留言:0更新日期:2014-08-28 16:51
本发明专利技术提出了一种基于度量和预测技术的软件架构评估方法,其基本思想是将传统的度量和预测技术应用在软件架构层次,在开发早期对软件的风险概率进行预测,并帮助相关人员在设计阶段识别出关键模块。由于软件架构的度量是对软件中间产品的度量,可以更加精确地描述软件架构的各种特征,并通过预测去发现软件设计中存在的问题。系统的可靠性为系统中每个用户成功均能执行的概率;而在一次用户的执行中,只有所有构件和连接件均正常执行,才能保证该场景执行成功。该方法基于贝叶斯公式,综合用例图,顺序图与部署图中各环节成功执行概率,实现对软件架构可靠新的度量以及其潜在风险的预测。

【技术实现步骤摘要】

本专利技术属于软件架构评估领域,涉及。
技术介绍
随着软件规模的扩大和软件复杂性的提高,软件危机不断出现,为了更好地提升软件开发效率、保障软件质量、提高软件和构件的复用率,且在设计阶段对软件系统进行抽象,获取系统蓝图以支持系统开发中的决策,软件体系结构(Software Architecture,又称软件架构)就应运而生了。与软件不同,软件架构可以在高级层次上对软件进行描述,便于软件开发过程中各个视角(例如用户、业务和系统)的统一,能够及早发现开发中的问题并支持各种解决方案的评估和预测。鉴于此,基于软件架构的度量和预测技术应运而生。目前已经出现很多基于程序和源代码的软件度量方法,并且已成功应用于实际开发中。然而从架构的角度对系统进行度量,该方面的研究尚未成熟,且能够覆盖的相关质量属性并不全面。对于可靠性(Reliability)来说,它用来评估在指定条件下使用时,信息系统维持规定的性能级别的能力的指标。该指标是指在给定时间内,特定环境下信息系统无错运行的概率。通常,对于软件架构的可靠性评估主要有以下三种方法:基于操作剖面的模型、基于状态的模型和基于路径的模型。基于操作剖面的方法是基于用户使用软件的操作习惯及其频率等信息定义操作剖面,通过统计不同构件在系统运行过程中的使用概率,概况构件的使用情况和构件迁移概率,计算不同剖面出现概率等得到系统的可靠性。例如Vittorio Cortellessa等人基于UML图对架构进行可靠性度量。该方法定义仅当系统中的每个场景可成功执行时,该系统是可靠的。然而该方法对于用户输入有较多约束,在实际工程中难以应用。基于状态的模型通常假设各个构件间的控制转移具有Markov性质,例如Ghokale等人提出一种基于状态的模型,利用控制流图描述软件架构,其中控制流图一般从代码中提取而来。然而在实际软件系统中很难满足Markov模型的构件独立性假设。基于路径的模型通常假设组成系统的构件运行是独立的,在系统架构完毕后,针对测试用例所遵循的路径,通过计算各个路径上其构件间的迁移概率来计算各个路径的可靠性进而计算系统的可靠性。典型的有Krishnamurthy等提出的基于路径的模型,该模型考虑所有程序可执行路径的概率以及执行可靠程度,其中路径可以从构件执行路径提取或从现有设计制品中提取。
技术实现思路
技术问题:本专利技术提供一种成本低、适合于早期设计开发阶段,具有良好可应用性的用以评估软件架构可靠性的基于度量和预测技术的软件架构评估方法。技术方案:本专利技术的基于度量和预测技术的软件架构评估方法,包括如下步骤:I)将待度量的系统的用例图、顺序图和部署图导出为XMI文件,并将每个XMI文件解析成UML图类;2)从用例图对应的UML图类中计算得到每个参与者执行每个用例的概率EP (Ci I Bj),同时从知识库中调取所有参与者的执行概率EP (Bj),其中Ci表示第i个用例,a」表示第j个参与者,i和j分别为用例和参与者的编号;3)从顺序图对应的UML图类中,得到顺序图的名称以及每个顺序图中构件的使用次数和构件间连接件的使用次数,按照“构件名称-构件使用次数”和“连接件名称-连接件使用次数”的格式进行存储,并按照顺序图的名称将顺序图与用例图中的用例相关联,计算每个用例对应的场景个数,得到每个场景的执行概率,即每个顺序图的执行概率EP (k),其中k表顺序图编号;同时从部署图对应的UML图类中,得到所有构件和所有连接件的可靠概率,并按照“构件名称-构件可靠概率”和“连接件名称-连接件可靠概率”的格式进行存储;4)首先根据下式计算每个顺序图成功执行的概率Pk:本文档来自技高网
...

【技术保护点】
一种基于度量和预测的软件架构评估方法,其特征在于,该方法包括如下步骤:1)将待度量的系统的用例图、顺序图和部署图导出为XMI文件,并将每个XMI文件解析成UML图类;2)从用例图对应的UML图类中计算得到每个参与者执行每个用例的概率EP(ci|aj),同时从知识库中调取所有参与者的执行概率EP(aj),其中ci表示第i个用例,aj示第j个参与者,i为用例的编号,j分别参与者的编号;3)从顺序图对应的UML图类中,得到顺序图的名称以及每个顺序图中构件的使用次数和构件间连接件的使用次数,按照“构件名称‑构件使用次数”和“连接件名称‑连接件使用次数”的格式进行存储,并按照顺序图的名称将顺序图与用例图中的用例相关联,计算每个用例对应的场景个数,得到每个场景的执行概率,即每个顺序图的执行概率EP(k),其中k表示顺序图编号;同时从部署图对应的UML图类中,得到所有构件和所有连接件的可靠概率,并按照“构件名称‑构件可靠概率”和“连接件名称‑连接件可靠概率”的格式进行存储;4)首先根据下式计算每个顺序图成功执行的概率pk:pk=Πi(1-componenti)xi*Πj(1-connectorj)yj]]>其中,componenti是构件i的失败概率,connectorj是连接件j的失败概率,xi是构件i的使用次数,yj是连接件j的使用次数;然后根据下式计算得到顺序图k执行失败的概率FP(k):FP(k)=1-pk=1-(Πi(1-componenti)xi*Πj(1-connectorj)yj)]]>并按照“顺序图名称‑顺序图失败概率”的格式将结果存储于顺序图执行失败概率表中;5)根据下式计算每个用例执行失败的概率FP(ci):FP(ci)=ΣkEP(k)*FP(k)]]>其中,EP(k)表示顺序图k的执行概率;将求得的结果以“用例名称‑用例执行失败概率”的格式存储于用例执行失败概率表中;6)根据下式计算参与者aj的失败概率:FP(aj)=1-Πi(1-EP(ci|aj)*FP(ci))]]>其中,EP(ci|aj)表示参与者aj执行用例ci的概率,FP(ci)表示用例ci的失败概率,1‑EP(ci|aj)*FP(ci)表示参与者aj未执行用例ci或成功执行用例ci的概率,∏i(1‑EP(ci|aj)*FP(ci))表示参与者aj成功执行的概率,1‑∏i(1‑EP(ci|aj)*FP(ci))即为参与者aj的失败概率;7)根据下式计算系统的可靠性p:P=Πj=1m(1-EP(aj)*FP(aj))]]>其中,EP(aj)表示参与者aj的执行概率,FP(aj)表示参与者aj的失败概率,1‑EP(aj)*FP(aj)即为参与者aj未执行或成功执行的概率,m表示系统参与者的个数,则表示系统中所有参与者均为执行失败的概率,即系统的可靠性。...

【技术特征摘要】
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的方法如下:...

【专利技术属性】
技术研发人员:李必信司静文俞析蒙孔祥龙姜雨晴
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

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

1