非功能需求实现策略的量化选择方法

文档序号:8445401阅读:456来源:国知局
非功能需求实现策略的量化选择方法
【技术领域】
[0001] 本发明属于软件技术领域,特别涉及一种非功能需求实现策略的量化选择方法。
【背景技术】
[0002] 在软件开发过程中,非功能性需求是指依一些条件判断系统运作情形或其特性, 而不是针对系统特定行为的需求,是对待构建的软件系统的约束。其包括安全性、可靠性、 互操作性、健壮性、易使用性、可维护性、可移植性、可重用性、可扩充性等。
[0003] 非功能需求在软件开发过程中起着重要的作用,甚至直接决定了软件项目的成 败。很多非功能需求直接约束了系统的实现策略。如何根据非功能需求确定软件系统的最 优的实现策略成为一个难点研宄问题。
[0004]NFRFramework提出了一种基于软目标依赖图的自底向上的推理机制,在底层叶 节点的满足状态被确认后,可以通过推理算法,逐层得到节点的满足状态,最后获得用户更 为关心的目标节点的满足状态。叶节点的状态指认,可以作为系统的设计决策,也叫做实现 策略。通过该推理机制,系统的每组实现策略都对应着一种目标节点的满足状态,以此来选 取系统最佳的实现策略。
[0005] 该推理机制的核心算法是"标签传递"(LabelPropagation)。其基本思想是将软 目标的满足状态看作是每个节点的标签,并根据不同的贡献关系,将子节点的标签转化为 其他标签传递给父节点。在标签传递过程中,根据子节点在不同的贡献关系下对父节点满 足状态的影响,节点的满足状态只能处于完全满足、完全拒绝、冲突和未知四种状态,推理 过程中产生的部分满足和部分拒绝状态需要通过开发人员和客户的进一步协商沟通,合并 为上述允许的四种状态。
[0006] 标签传递过程本质上是描述了一个自底上向的推理过程,也叫做前向推理机制。 该过程根据叶节点的满足状态指认(系统的实现策略)来评估目标节点的满足状态。而在 实际应用中,通常情况下是系统分析人员根据客户对于高层目标节点的满足状态期望来指 派底层叶节点的满足状态(选择系统的实现策略)。可以看出,实际应用中的场景是和评估 相反的过程。如果要用基于标签传递的评估过程来选择系统的实现策略,就必须枚举所有 叶节点可能的满足状态组合,并一一进行评估,最终选取最优的叶节点满足状态组合。当软 目标模型规模较大时,上述方法显然不具有可行性。

【发明内容】

[0007] 本发明的目的在于提供一种非功能需求实现策略的量化选择方法,以解决现有技 术存在的当软目标模型规模较大时,其不具有可行性的问题。
[0008] 为了解决上述问题,本发明提供的技术方案如下:
[0009] -种非功能需求实现策略的量化选择方法,其包括以下步骤:
[0010] 建立一量化选择平台,该平台的支撑工具分为四层:界面层、数据层、功能层和接 口层;其中,界面层提供支撑工具与使用者之间的接口,接受用户的输入;数据层用于存储 模式库、方法执行过程中的一些中间结果和最终结果;功能层包括三个模块:系统行为构 建模块、模式应用模块和策略选择模块;系统行为构建模块是根据一个建模好的问题图来 导出其系统行为模型;模式应用模块根据非功能需求行为策略模式中的问题扩展描述语言 来扩展一个问题;策略选择模块是根据建模好的系统行为模型,以及用户输入的非功能需 求和实现策略,通过调用0-1规划求解器选择最优的实现策略选择方案;接口层的作用是 为支撑工具和外部应用之间搭建桥梁,使得支撑工具可以成功调用外部应用;
[0011] 问题图建模,通过鼠标点击平台的工具绘图区域,选取相应的建模元素,然后点击 画布生成相应建模元素,在画布上进行问题框架方法中问题图的建模;
[0012] 在建模得到问题图的基础上,实现系统行为模型的建模,包含三个步骤:形式化描 述,利用Prover9证明功能需求的满足,构建现象依赖图;
[0013] 非功能需求驱动的系统行为扩展,采用基于模式的方法来在非功能需求的驱动下 进行系统行为扩展:识别并定义四种非功能需求行为策略模式一一索引模式、加密模式、缓 冲模式、命令过滤模式,并为每一种行为模式定义其对应的非功能需求;
[0014] 操作策略的量化选择,根据非功能需求,针对操作策略进行选择,在进行操作策略 选择之前,输入数据,输入的数据包括:系统行为模型中领域陈述的非功能属性、机器操作 的实现策略、实现策略的非功能属性度量值、非功能需求对于系统行为非功能属性度量取 值范围的约束,将操作策略的选择问题建模为一个0-1规划问题,根据输入的数据,构建一 个0-1规划来求解最优的实现策略集合,求解的过程是使用Lingo工具。
[0015] 分析可知,本发明可以根据多种量化的因素,在非功能需求的指导下,从众多备选 的实现策略中选取一组实现策略,使得非功能需求的满足程度达到最优。
【附图说明】
[0016] 图1示出了本发明的系统行为构建过程;
[0017] 图2为本发明的平台部件图;
[0018] 图3为手机通知发布系统问题图;
[0019] 图4为扩展后的手机通知发布系统问题图;
[0020] 图5示出了手机通知发布系统行为模型;
[0021] 图6示出了领域陈述的非功能属性度量值;
[0022] 图7示出了实现策略的非功能属性度量值;
[0023] 图8为求解最优的实现策略的0-1规划界面;
[0024] 图9示出了最优的操作策略集合。
【具体实施方式】
[0025] 下面结合附图和【具体实施方式】对本发明做进一步详细说明。
[0026] 本发明提供了一种非功能需求实现策略的量化选择方法,用于根据多种量化的因 素,在非功能需求的指导下,从众多备选的实现策略中选取一组实现策略,使得非功能需求 的满足程度达到最优。
[0027] 在描述本发明之前,首先着重强调几个相关概念:
[0028] 非功能需求,其是对待构建的软件系统的约束。一些非功能需求可以被量化,在此 称之为非功能需求的度量。非功能需求就是对待构建软件系统所展示出的非功能属性度量 取值范围的约束。根据约束的程度不同,非功能需求可以分为刚性需求和弹性需求。
[0029] 刚性需求是必须满足的非功能需求,它会严格约束系统行为的非功能属性度量的 取值范围。
[0030] 弹性需求是指那些尽量满足的非功能需求,它会期望系统行为的非功能属性达到 最优、最大(Maximized)或者最小(Minimized)。
[0031] 非功能需求须和功能需求结合起来讨论,非功能需求实现策略的选择问题也必须 依赖于某种特定的功能需求模型。功能需求指的是待构建软件系统所具有的特定的行为, 而问题框架方法提供一种很好的途径来建模系统行为。因此,在本发明中采用问题框架方 法来构建系统行为模型。
[0032] 问题框架方法将软件开发看做是一个问题,在给定的问题领域描述下,构建软件 系统(机器)来实现需求。问题框架方法中最基本的建模元素是现象。问题领域中的领域 陈述、机器中的机器操作和需求都可以被建模为现象依赖关系。
[0033] 问题领域和机器通过交互完成需求,该交互过程可以看做是系统行为模型。在此 用现象依赖图来表述。现象依赖图中的点是现象的发生,而边则是现象发生的原因,即领域 陈述或机器操作。
[0034] 一条非功能需求可以对应多种实现策略。非功能需求的实现策略
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1