一种基于uml架构的软件系统的性能预测方法

文档序号:6373716阅读:245来源:国知局
专利名称:一种基于uml架构的软件系统的性能预测方法
技术领域
本发明属于计算机及通信领域,具体涉及一种基于UML架构的软件系统的性能预测方法。
背景技术
上个世纪八十年代以来,大规模、高复杂度的软件逐渐增多,软件设计产品除了满足基本功能需求之外,还需满足一些质量需求,由此,作为软件质量重要组成部分的软件性能,得到了越来越多的关注。传统的软件开发方法通常只关注软件的功能性要求,一般在软件生命周期的后期阶段才引入性能问题,这种开发模型通常被称为“fix-it-later”方法,它往往是经过系统测试之后,才真正确定该设计是否能真正满足系统功能、性能和可靠性方面的需求,若不满足系统的性能需求,则重新设计软件系统将会导致整个项目的成本急 剧增加。如今,研究者已经提出了许多应用于软件开发早期阶段的性能分析方法,如基于模型的方法和基于分析的方法。性能分析可以成功应用于早期的关键是自动化技术,这意味着在软件生命周期中性能预测可以支持自动化。虽然还没有针对软件开发和性能预测的完整的集成方法,但有些方法提供部分自动化功能,从性能模型评估的软件规格说明来看,方法和工具已经被提出应该部分地使得集成过程自动化。排队网络模型是目前性能预测中应用较为广泛的一种分析模型,它抓住了实际系统最重要的特征,即系统工作负荷与系统资源之间的相互作用,分析采用符合实际情况的假设。排队网络模型广泛用来分析资源共享系统,如计算机系统、通信系统等。分析排队网络模型即可获得系统经典的面向资源的性能参数,如资源利用率、吞吐率、平均响应时间等,性能参数的计算准确度比较高,并且计算复杂度不高,这也是排队网络模型应用较为广泛的一个原因。统一建模语言(Unified Modeling Language, UML)是一种定义良好、富于表达、功能强大且普遍适用的建模语言,是目前常用的体系结构描述方式,并侧重于描述系统的功能性行为,尤其在面向对象的系统分析、设计和实现中的应用极为广泛,可以说,UML已成为了一种面向对象系统开发的标准规范。为使UML模型能够描述系统性能需求,一种叫做 SPT 性能文档(UMLprofile for schedulability, performance and time, UML SPT)错误!未找到引用源。的扩展语言已经被OMG组织采纳并定为规范。SPT性能文档通过构造型(stereotype)和标记值(tagged value)扩展了 UML语言,以反映系统的性能需求,为设计时评估系统性能提供了方便。从UML生成排队网络是基于SPE提出的,第一个基于SPE的方法是Williams和Smith在中提出的。他们应用SPE方法来评估使用UML图表征的软件架构的性能特征,即使用具有丰富消息图(Message Sequence Chart, MSC)特征的类图和部署图以及顺序图来表征软件架构。该方法的重点在于软件执行模型的构建和分析,它被认为是该软件系统SA的目标模型,从顺序图中获得,而类图和部署图主要用于对SA的描述上,并不参与转换过程。Cortellessa和Mirandola对上述方法进行了扩展。他们提出的方法被称为PRIMA-UML,利用不同的UML图中的信息逐渐产生一个性能模型来代表指定的系统,SA用部署图、顺序图和用例图描述,软件执行模型来源于用例图和顺序图,而系统模型来源于部署图。出于自动化的考虑,人们又设计出很多性能自动化分析的工具,这些工具适用于不同的情况。1999年人们研究了关于3类排队网络(多服务器、无限队列、多类顾客;多服务器、无限队列、单类顾客;多服务器、有限队列、单类顾客)的自动化性能分析工具。HenkTijms对单个服务中心的排队系统,如M/G/1、M/M/c、M/D/c和G/M/c的性能进行自动化分析,只要输入相关参数就能得出性能参数如响应时间、平均队长等。Moreno Marzolla开发的qnetwork是GNU Octave下计算性能参数的工具;B. Van Houdt开发matlab下的QMAM工具是针对电信系统的自动化性能分析工具。这些工具都是从排队网络中获取相关信息作为性能分析的输入参数来计算性能参数
发明内容

本发明针对现有技术的不足,提供了一种基于UML架构的软件系统的性能预测方法。一种基于UML架构的软件系统的性能预测方法,包含以下步骤步骤一用UML模型描述软件系统架构,生成软件系统的UML模型;选取UML模型的用例图来描述软件系统的外部输入,用活动图来描述软件系统的执行路径,用构件图来描述软件系统的资源。步骤二 在UML模型的基础上,结合UML扩展机制,加入构造型和标记值,建立软件系统的UML SPT模型;对用例图的扩展加入了构造型《PAopenuser》和《PAcloseduser》来描述操作者,加入了标记值PAarrival来描述操作者到达系统的规律,((PAopenuser))表不使用系统功能后尚开系统的t呆作者,((PAcloseduser))表不使用系统功能后不尚开系统的操作者,PAarrival是一个随机变量,包含两个元素PDFstring和value,其中,PDFstring代表它所服从的分布,value代表所服从分布的参数,对构件图的扩展加入了构造型《PAresource》来描述每一个资源节点,加入了标记值PArate描述资源节点的平均处理速率,加入了标记值PAschedpolicy描述资源节点的处理方式,加入了标记值PAbfork描述资源节点被分支节点衍生出来的活动状态请求的信息,对活动图的扩展加入构造型《PAjoin》来描述汇合节点,用标记值PAjname描述该汇合节点的名称;加入了构造型《PAfork》来描述分支节点,同时用标记值PAfname描述该分支节点的名称;加入构造型《PAaction》来描述活动状态,同时用标记值PAresource描述活动所请求的节点资源,用标记值PAdemand描述请求节点资源的规律。步骤三根据软件开发时的性能要求,给定步骤二中生成的标记值的具体值。步骤四UML软件架构性能自动化工具将给定标记值的UML SPT模型转化为计算机可以识别的XML格式文件;步骤五UML软件架构性能自动化工具解析步骤四中生成的XML格式文件,利用UML SPT模型生成排队网络模型算法转化为排队网络;步骤六UML软件架构性能自动化工具分析步骤五中获得的排队网络,利用UMLSPT模型中的标记值作为内部函数参数求解,得到排队网络的性能参数值。
步骤七将步骤六中求得的性能参数值与软件设计时的性能指标进行比较,如果符合要求,结束性能预测过程;反之,软件开发者要改进软件设计整体架构,重新进行性能预测,直到满足性能需求。本发明的有益效果I、本发明为基于UML架构的软件系统的性能预测方法的实现提供了一种可行、可靠的方法。2、本发明所设计的软件性能预测方法用户只需建立软件系统的UML模型,并加入构造型和标记值使之成为UML SPT模型,利用UML软件架构性能自动化工具即可得到系统的性能参数值,评定是否满足用户的系统性能需求。因此大大降低了软件性能预测的复杂性,提高了软件开发的效率。3、本发明的软件性能预测方法是基于UML架构的,因此可以满足各种用户的需求,涉及面广,应用前景良好。·


图IUML SPT模型映射为排队网络模型示意图;图2软件性能预测步骤示意图。
具体实施例方式一种基于UML架构的软件系统的性能预测方法,包括如下步骤如图2所示,步骤一用UML模型描述软件系统架构,生成软件系统的UML模型。选取UML模型的用例图来描述软件系统的外部输入,用活动图来描述软件系统的执行路径,用构件图来描述软件系统的资源。步骤二 在UML模型的基础上,结合UML扩展机制,加入构造型和标记值,建立软件系统的UML SPT模型;如图I所示,UML模型生成UML SPT模型时,对用例图的扩展加入了构造型《PAopenuser》和《PAcloseduser》来描述操作者,加入了标记值PAarrival来描述操作者到达系统的规律。《PAopenuser》表示使用系统功能后离开系统的操作者,((PAcloseduser))表示使用系统功能后不离开系统的操作者。PAarrival是一个随机变量,包含两个元素PDFstring和value,其中,PDFstring代表它所服从的分布,如指数分布,value代表所服从分布的参数,如指数分布的参数入。对构件图的扩展加入了构造型《PAresource》来描述每一个资源节点,加入了标记值PArate描述资源节点的平均处理速率,加入了标记值PAschedpolicy描述资源节点的处理方式,如先进先出方式,加入了标记值PAbfork描述资源节点被分支节点衍生出来的活动状态请求的信息,若没有被分支节点衍生出来的活动状态所请求,则该标记值为O。对活动图的扩展加入构造型《PAjoin》来描述汇合节点,用标记值PAjname描述该汇合节点的名称;加入了构造型《PAfork》来描述分支节点,同时用标记值PAfname描述该分支节点的名称;加入构造型《PAaction》来描述活动状态,同时用标记值PAresource描述活动所请求的节点资源,用标记值PAdemand描述以怎样的规律来请求节点资源,如指数分布。
步骤三根据软件性能要求,给定步骤二中生成的标记值的具体值。步骤四UML软件架构性能自动化工具将给定标记值的UML SPT模型转化为计算机可以识别的XML格式文件;步骤五UML软件架构性能自动化工具解析步骤四中生成的XML格式文件,利用UML SPT模型生成排队网络模型算法转化为排队网络;步骤六UML软件架构性能自动化工具分析步骤五中获得的排队网络,利用UML模型中的标记值作为内部函数参数求解,得到排队网络的性能参数值。步骤七将步骤六中求得的性能参数值与软件设计时的性能指标进行比较,如果符合要求,结束性能预测过程;反之,软件开发者要改进软件设计整体架构,重新进行性能预测,直到满足性能需求。从图2中可以进一步发现步骤四、五、六都是由UML软件架构性能自动化工具完成的,只需建立软件系统的UML模型,并加入构造型和标记值使之成为UML SPT模型,利用UML软件架构性能自动化工具即可得到系统的性能参数值,评定是否满足用户的系统性能需求。为方便用户利用UML软件架构性能自动化工具对软件系统进行性能评价,本发明为用户提供了一个操作界面,根据UML软件架构性能自动化工具界面设计的要求对工具的界面进行设计,整个性能评价的过程以向导的形式进行。虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1. 一种基于UML架构的软件系统的性能预测方法,其特征在于,该方法包含以下步骤 步骤一用UML模型描述软件系统架构,生成软件系统的UML模型;选取UML模型的用例图来描述软件系统的外部输入,用活动图来描述软件系统的执行路径,用构件图来描述软件系统的资源; 步骤二 在UML模型的基础上,结合UML扩展机制,加入构造型和标记值,建立软件系统的UML SPT模型;对用例图的扩展加入了构造型《PAopenuser》和《PAcloseduser》来描述操作者,加入了标记值PAarrival来描述操作者到达系统的规律,((PAopenuser))表示使用系统功能后离开系统的操作者,((PAcloseduser))表示使用系统功能后不离开系统的操作者,PAarrival是一个随机变量,包含两个元素PDFstring和value,其中,PDFstring代表它所服从的分布,value代表所服从分布的参数,对构件图的扩展加入了构造型《PAresource》来描述每一个资源节点,加入了标记值PArate描述资源节点的平均处理速率,加入了标记值PAschedpolicy描述资源节点的处理方式,加入了标记值PAbfork描述资源节点被分支节点衍生出来的活动状态请求的信息,对活动图的扩展加入构造型《PAjoin》来描述汇合节点,用标记值PAjname描述该汇合节点的名称;加入了构造型《PAfork》来描述分支节点,同时用标记值PAfname描述该分支节点的名称;加入构造型《PAaction》来描述活动状态,同时用标记值PAresource描述活动所请求的节点资源,用标记值PAdemand描述请求节点资源的规律; 步骤三根据软件开发时的性能要求,给定步骤二中生成的标记值的具体值; 步骤四UML软件架构性能自动化工具将给定标记值的UML SPT模型转化为计算机可以识别的XML格式文件; 步骤五UML软件架构性能自动化工具解析步骤四中生成的XML格式文件,利用UMLSPT模型生成排队网络模型算法转化为排队网络; 步骤六UML软件架构性能自动化工具分析步骤五中获得的排队网络,利用UML SPT模型中的标记值作为内部函数参数求解,得到排队网络的性能参数值; 步骤七将步骤六中求得的性能参数值与软件设计时的性能指标进行比较,如果符合要求,结束性能预测过程;反之,软件开发者要改进软件设计整体架构,重新进行性能预测,直到满足性能需求。
全文摘要
本发明公开了一种基于UML架构的软件系统的性能预测方法。本发明首先建立软件系统的UML模型,然后在UML图上加入构造型和标记值使之转化为带标注的UML图,生成UMLSPT模型,接着利用UML模型生成排队网络模型算法生成排队网络模型,最后根据排队网络模型性能参数的求解方法计算得出软件性能参数值,实现软件性能预测。本发明所设计的软件性能预测方法用户只需建立软件系统的UML模型,并加入构造型和标记值使之成为UMLSPT模型,就能求得软件的性能指标。因此本发明大大降低了软件性能预测的复杂性,提高了软件开发的效率。
文档编号G06F11/36GK102799530SQ20121025693
公开日2012年11月28日 申请日期2012年7月24日 优先权日2012年7月24日
发明者李传煌, 王伟明, 盛权 申请人:浙江工商大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1