首页> 中国专利> 非功能需求实现策略的量化选择方法

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

摘要

本发明提供一种非功能需求实现策略的量化选择方法,其包括:建立一量化选择平台,该平台的支撑工具分为四层:界面层、数据层、功能层和接口层;问题图建模,通过鼠标点击平台的工具绘图区域,选取相应的建模元素,然后点击画布生成相应建模元素,在画布上进行问题框架方法中问题图的建模;在建模得到问题图的基础上,实现系统行为模型的建模;非功能需求驱动的系统行为扩展,采用基于模式的方法来在非功能需求的驱动下进行系统行为扩展;操作策略的量化选择,根据非功能需求,针对操作策略进行选择。本发明可以根据多种量化的因素,在非功能需求的指导下,从众多备选的实现策略中选取一组实现策略,使得非功能需求的满足程度达到最优。

著录项

  • 公开/公告号CN104765602A

    专利类型发明专利

  • 公开/公告日2015-07-08

    原文格式PDF

  • 申请/专利权人 北京大学;

    申请/专利号CN201510119570.7

  • 发明设计人 金芝;尹斌;张伟;赵海燕;

    申请日2015-03-18

  • 分类号G06F9/44(20060101);

  • 代理机构北京五洲洋和知识产权代理事务所(普通合伙);

  • 代理人刘春成;王阳明

  • 地址 100871 北京市海淀区颐和园路5号

  • 入库时间 2023-12-18 09:43:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-01-18

    授权

    授权

  • 2015-08-05

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20150318

    实质审查的生效

  • 2015-07-08

    公开

    公开

说明书

技术领域

本发明属于软件技术领域,特别涉及一种非功能需求实现策略的量化选 择方法。

背景技术

在软件开发过程中,非功能性需求是指依一些条件判断系统运作情形或 其特性,而不是针对系统特定行为的需求,是对待构建的软件系统的约束。 其包括安全性、可靠性、互操作性、健壮性、易使用性、可维护性、可移植 性、可重用性、可扩充性等。

非功能需求在软件开发过程中起着重要的作用,甚至直接决定了软件项 目的成败。很多非功能需求直接约束了系统的实现策略。如何根据非功能需 求确定软件系统的最优的实现策略成为一个难点研究问题。

NFR Framework提出了一种基于软目标依赖图的自底向上的推理机制, 在底层叶节点的满足状态被确认后,可以通过推理算法,逐层得到节点的满 足状态,最后获得用户更为关心的目标节点的满足状态。叶节点的状态指认, 可以作为系统的设计决策,也叫做实现策略。通过该推理机制,系统的每组 实现策略都对应着一种目标节点的满足状态,以此来选取系统最佳的实现策 略。

该推理机制的核心算法是“标签传递”(Label Propagation)。其基本思想 是将软目标的满足状态看作是每个节点的标签,并根据不同的贡献关系,将 子节点的标签转化为其他标签传递给父节点。在标签传递过程中,根据子节 点在不同的贡献关系下对父节点满足状态的影响,节点的满足状态只能处于 完全满足、完全拒绝、冲突和未知四种状态,推理过程中产生的部分满足和 部分拒绝状态需要通过开发人员和客户的进一步协商沟通,合并为上述允许 的四种状态。

标签传递过程本质上是描述了一个自底上向的推理过程,也叫做前向推 理机制。该过程根据叶节点的满足状态指认(系统的实现策略)来评估目标 节点的满足状态。而在实际应用中,通常情况下是系统分析人员根据客户对 于高层目标节点的满足状态期望来指派底层叶节点的满足状态(选择系统的 实现策略)。可以看出,实际应用中的场景是和评估相反的过程。如果要用基 于标签传递的评估过程来选择系统的实现策略,就必须枚举所有叶节点可能 的满足状态组合,并一一进行评估,最终选取最优的叶节点满足状态组合。 当软目标模型规模较大时,上述方法显然不具有可行性。

发明内容

本发明的目的在于提供一种非功能需求实现策略的量化选择方法,以解 决现有技术存在的当软目标模型规模较大时,其不具有可行性的问题。

为了解决上述问题,本发明提供的技术方案如下:

一种非功能需求实现策略的量化选择方法,其包括以下步骤:

建立一量化选择平台,该平台的支撑工具分为四层:界面层、数据层、 功能层和接口层;其中,界面层提供支撑工具与使用者之间的接口,接受用 户的输入;数据层用于存储模式库、方法执行过程中的一些中间结果和最终 结果;功能层包括三个模块:系统行为构建模块、模式应用模块和策略选择 模块;系统行为构建模块是根据一个建模好的问题图来导出其系统行为模型; 模式应用模块根据非功能需求行为策略模式中的问题扩展描述语言来扩展一 个问题;策略选择模块是根据建模好的系统行为模型,以及用户输入的非功 能需求和实现策略,通过调用0-1规划求解器选择最优的实现策略选择方案; 接口层的作用是为支撑工具和外部应用之间搭建桥梁,使得支撑工具可以成 功调用外部应用;

问题图建模,通过鼠标点击平台的工具绘图区域,选取相应的建模元素, 然后点击画布生成相应建模元素,在画布上进行问题框架方法中问题图的建 模;

在建模得到问题图的基础上,实现系统行为模型的建模,包含三个步骤: 形式化描述,利用Prover9证明功能需求的满足,构建现象依赖图;

非功能需求驱动的系统行为扩展,采用基于模式的方法来在非功能需求 的驱动下进行系统行为扩展:识别并定义四种非功能需求行为策略模式—— 索引模式、加密模式、缓冲模式、命令过滤模式,并为每一种行为模式定义 其对应的非功能需求;

操作策略的量化选择,根据非功能需求,针对操作策略进行选择,在进 行操作策略选择之前,输入数据,输入的数据包括:系统行为模型中领域陈 述的非功能属性、机器操作的实现策略、实现策略的非功能属性度量值、非 功能需求对于系统行为非功能属性度量取值范围的约束,将操作策略的选择 问题建模为一个0-1规划问题,根据输入的数据,构建一个0-1规划来求解 最优的实现策略集合,求解的过程是使用Lingo工具。

分析可知,本发明可以根据多种量化的因素,在非功能需求的指导下, 从众多备选的实现策略中选取一组实现策略,使得非功能需求的满足程度达 到最优。

附图说明

图1示出了本发明的系统行为构建过程;

图2为本发明的平台部件图;

图3为手机通知发布系统问题图;

图4为扩展后的手机通知发布系统问题图;

图5示出了手机通知发布系统行为模型;

图6示出了领域陈述的非功能属性度量值;

图7示出了实现策略的非功能属性度量值;

图8为求解最优的实现策略的0-1规划界面;

图9示出了最优的操作策略集合。

具体实施方式

下面结合附图和具体实施方式对本发明做进一步详细说明。

本发明提供了一种非功能需求实现策略的量化选择方法,用于根据多种 量化的因素,在非功能需求的指导下,从众多备选的实现策略中选取一组实 现策略,使得非功能需求的满足程度达到最优。

在描述本发明之前,首先着重强调几个相关概念:

非功能需求,其是对待构建的软件系统的约束。一些非功能需求可以被 量化,在此称之为非功能需求的度量。非功能需求就是对待构建软件系统所 展示出的非功能属性度量取值范围的约束。根据约束的程度不同,非功能需 求可以分为刚性需求和弹性需求。

刚性需求是必须满足的非功能需求,它会严格约束系统行为的非功能属 性度量的取值范围。

弹性需求是指那些尽量满足的非功能需求,它会期望系统行为的非功能 属性达到最优、最大(Maximized)或者最小(Minimized)。

非功能需求须和功能需求结合起来讨论,非功能需求实现策略的选择问 题也必须依赖于某种特定的功能需求模型。功能需求指的是待构建软件系统 所具有的特定的行为,而问题框架方法提供一种很好的途径来建模系统行为。 因此,在本发明中采用问题框架方法来构建系统行为模型。

问题框架方法将软件开发看做是一个问题,在给定的问题领域描述下, 构建软件系统(机器)来实现需求。问题框架方法中最基本的建模元素是现 象。问题领域中的领域陈述、机器中的机器操作和需求都可以被建模为现象 依赖关系。

问题领域和机器通过交互完成需求,该交互过程可以看做是系统行为模 型。在此用现象依赖图来表述。现象依赖图中的点是现象的发生,而边则是 现象发生的原因,即领域陈述或机器操作。

一条非功能需求可以对应多种实现策略。非功能需求的实现策略可以分 为两类。第一类实现策略作用到系统上会改变系统的行为。这类实现策略通 常是将新的实体引入软件系统上下文中,并与软件系统发生交互,改变了系 统的行为,从而达到提高系统非功能属性的目的。本发明把这一类非功能需 求实现策略称为行为策略。比较典型的例子包括:增加缓冲器提高系统的响 应速度,增加防火墙提高系统的安全性。

第二类实现策略作用到系统上没有改变系统行为本身,而只是改变了系 统行为中某些软件系统操作的非功能属性的度量值。本发明把这一类非功能 需求实现策略称为操作策略。例如:采用轻量级的数据结构来减少数据传输 中的带宽占用,采用高效的排序算法来提高排序操作的速度。

在进一步介绍本发明之前,先描述一下本发明利用其实现的平台,如图 2所示,其为平台的部件图。可以看到,支撑工具分为四层:界面层、数据 层、功能层和接口层。具体如下:

界面层:提供支撑工具与使用者之间的接口,接受用户的输入。

数据层:用于存储模式库、方法执行过程中的一些中间结果(问题图、 现象依赖图、实现策略、非功能需求及其度量)和最终结果(非功能需求实 现策略的选择方案)。其中,模式库以文本形式存储,中间结果使用java中 的对象序列化技术以二进制形式存储成文件,而方法的最终结果则直接展示 在界面上。

功能层:支撑工具的核心,是本文所提出方法的具体实现,包括三个模 块:系统行为构建模块、模式应用模块和策略选择模块。系统行为构建模块 是根据一个建模好的问题图来导出其系统行为模型。模式应用模块根据非功 能需求行为策略模式中的问题扩展描述语言来扩展一个问题。策略选择模块 是根据建模好的系统行为模型,以及用户输入的非功能需求和实现策略,通 过调用0-1规划求解器(Lingo)选择最优的实现策略选择方案。

接口层:功能层中的系统行为构建模块和策略选择模块分别使用了 prover9和Lingo。接口层的作用是为支撑工具和外部应用之间搭建桥梁,使 得支撑工具可以成功调用外部应用。

在实施本发明时,首先,问题图建模。通过鼠标点击工具绘图区域,选 取相应的建模元素,然后点击画布生成相应建模元素。通过用户的点击,可 以在画布上进行问题框架方法中问题图的建模。问题图中包含四种元素:问 题领域、机器领域、接口和需求。其中,机器领域和问题领域之间通过接口 进行连接:每个接口包含了一组被问题领域和机器领域共享的现象。问题领 域和需求之间也通过接口互联:每个接口包含了一组问题领域中出现的且受 到需求引用或限制的现象。问题图中的每个元素都有各自不同的属性。平台 中还还可以进一步提供修改这些建模元素中属性的功能,具体操作方法可以 是双击各个建模元素,通过弹出的对话框进行修改。

其次,系统行为模型构建。在建模得到问题图的基础上,可以在该平台 的帮助下实现系统行为模型的建模。该功能包含三个步骤:形式化描述,利 用Prover9证明功能需求的满足,构建现象依赖图。现象依赖图包含一组现 象、现象之间的依赖关系以及附着在依赖关系上的关于非功能属性的定量描 述。如图1所示:首先,将问题图中的问题描述转化为形式化的描述(逻辑 公式),具体的操作方法可以是双击问题图中的问题领域,机器领域和需求, 弹出的对话框的下方是逻辑公式建模面板,可以通过双击上方的现象和右侧 的逻辑符号进行逻辑公式的建模。然后,将建模得到的逻辑公式输入到自动 定理证明器Prover9中,用于证明问题描述中的功能需求可以被满足,其输 出是功能需求满足的证明序列。该证明序列展示了功能需求满足过程。最后, 将功能需求的证明序列转化为现象依赖图。现象依赖图用于表示系统行为。 并将构建好的现象依赖图显示到画布上。现象依赖图的构建过程的算法如下:

接着,非功能需求驱动的系统行为扩展。非功能需求实现策略分为两类: 行为策略和操作策略。行为策略通过引入新的环境实体到软件上下文中,改 变了系统行为,并改变了系统行为的非功能属性的度量。本发明提出了一种 基于模式的方法来在非功能需求的驱动下进行系统行为扩展。目前,已经识 别并定义了四种非功能需求行为策略模式:索引模式、加密模式、缓冲模式、 命令过滤模式。并已经为每一种行为模式定义了其对应的非功能需求,对于 系统行为的影响,讨论模式对于非功能属性度量值的影响。平台中提供了根 据非功能需求行为策略模式进行系统行为扩展的功能,其操作方法是右键选 择平台左侧模式面板中的某一个行为策略模式,并点击“应用”,可自动的将 该行为策略模式应用到当前画布上的问题图模型中,生成一个新的问题图。

操作策略的量化选择。根据非功能需求,针对操作策略进行选择。在进 行操作策略选择之前,需要有一些数据输入的过程。需要输入的数据包括: 系统行为模型中领域陈述的非功能属性、机器操作的实现策略、实现策略的 非功能属性度量值,非功能需求对于系统行为非功能属性度量取值范围的约 束。操作策略的选择问题可以建模为一个0-1规划问题,根据输入的数据, 构建一个0-1规划来求解最优的实现策略集合。求解的过程可以使用Lingo 工具。

为了更进一步描述本发明,下面介绍一个实例:

本发明测试时,已经用于对手机通知发布系统进行建模、分析和实现策 略的选择。手机通知发布系统的描述如下:

某公司计划开发一个通知发布系统。该系统用于将公司的一些最新通知 发布出去,员工可以通过手机进行查看。公司的最新通知存放在一个数据库 (Data Base)中,系统从数据库中读取数据传送到员工手机端,并缓存到手 机的本地存储设备(Local Storage)上。系统中的手机客户端部分读取存储 设备上的数据,并显示到手机的屏幕(Display)上。

通过与需求提供者进行沟通和交流,发现通知发布系统必须关注一些非 功能需求,包括:

安全性(Security):通知发布系统中的数据库位于服务器端,数据库与 手机客户端的数据交互是通过网络进行传输的。数据传输过程中,数据可能 会被网络上未经授权的恶意用户窃听,从而导致系统的安全性降低。另一方 面,通知发布系统本身也有安全性需求。因为有些通知涉及公司的商业机密, 通知的内容不允许被非公司员工掌握。

时间消耗(Time):通知发布系统对时间消耗有较高的约束要求。因为 有些通知非常紧急,必须在短的时间段内送达员工手机。

能量消耗(Energy):通知发布系统最终将通知显示到员工的手机上。而 手机设备一个显著的特点是能量有限。需求提供者希望通知发布过程消耗较 少的手机能量。

首先在平台的支持下,用问题框架方法建模手机通知发布系统。建模得 到的问题图如图3所示。

在手机通知发布系统中,需要考虑系统的安全性,因此该问题图适合用 加密模式进行处理,在平台的支持下,利用加密模式对该问题图进行处理, 处理得到一个新的问题图,如图4所示。

然后,为扩展后的问题图构建系统行为模型。扩展后的问题图其问题描 述的逻辑公式表达如下表1:

表1通知发布系统形式化描述

在平台的支持下,得到系统行为模式,如图5所示。

最后,在平台支持下,选择非功能需求实现策略。在手机通知发布系统 中,实现策略和机器操作的对应关系如下表2:

表2通知发布系统中的实现策略

系统行为中的非功能属性度量值,以及实现策略的非功能属性度量值如 图6和图7所示。平台自动生成一个0-1规划来求解最优的实现策略,生成 的0-1规划如图8所示。最终调用Lingo进行求解,求解的结果如图9所示。

综上,本发明提供了一个图形化平台,提供的功能包括:建模问题图, 建模系统行为,描述非功能需求及其度量。并且该工具可以进一步提供编辑 和应用行为策略模式的功能。利用该工具,系统分析人员还可以导出最优的 非功能需求实现策略的选择方案。

由技术常识可知,本发明可以通过其它的不脱离其精神实质或必要特征 的实施方案来实现。因此,上述公开的实施方案,就各方面而言,都只是举 例说明,并不是仅有的。所有在本发明范围内或在等同于本发明的范围内的 改变均被本发明包含。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号