论文部分内容阅读
非功能需求在软件开发过程中起着重要的作用,甚至直接决定了软件项目的成败。很多非功能需求直接约束了系统的实现策略。如何根据非功能需求确定软件系统的最优的实现策略成为一个难点研究问题。本文提出了一种量化的非功能需求驱动的实现策略选择方法。该方法首先通过问题框架方法构建系统的行为模型。然后,将量化的非功能需求作为约束显式的作用到系统行为模型上。并且,针对将直接改变系统的非功能需求实现策略,通过定义非功能需求扩展模式,确定新的系统行为模型。针对改变系统行为度量值的实现策略,将系统行为的实现策略选择问题转化为0-1规划问题,从而实现非功能需求驱动的实现策略选择。本研究主要内容包括:
⑴提出了基于系统行为模型的量化的非功能需求关注点。依据问题框架方法的基本思想,定义了系统行为元模型。该元模型包括问题框架方法中系统行为的基本建模元素,包括概念、概念间的关联以及关联约束等。以这个系统行为元模型为基础,本文提出了一种系统行为的建模方法,该方法依据系统的功能需求,将表达功能需求的问题描述建模为命题逻辑公式,并借助定理证明器构建满足功能需求的系统行为序列。在此基础上,本文将量化的非功能需求作为约束,显式的作用到系统行为模型上。并根据量化的方法不同,将非功能需求分为三类。分别提出三种方法将系统行为中的软件操作和领域陈述的非功能属性度量值整合为系统行为的度量值。系统行为的非功能属性的度量值将用于判断系统行为对非功能需求的满足度。非功能需求关注点将非功能需求实现策略分为两类:行为策略和操作策略。
⑵定义了非功能需求行为策略模式。行为策略作用到系统上后,直接改变系统行为。本文提出了一种基于模式的方法来帮助分析者判断策略是否应该被选择。这种模式称为非功能需求行为策略模式。非功能需求行为策略模式利用问题扩展描述语言来描述行为策略对系统行为的影响,在此基础上讨论非功能属性的度量值变化,并最终判断是否选择该策略。
⑶提出了基于0-1规划的操作策略选择方法。操作策略作用到系统上后,没有改变系统行为,而是改变了系统行为中某些软件操作的非功能属性度量值。针对操作策略,本文提出了一种基于0-1规划的方法。将操作策略的选择问题转化为0-1规划问题,并利用Lingo来求解,最终得到操作策略的选择方案,使得非功能需求的满足程度达到最优。
⑷设计并实现了支持上述方法的支撑工具。设计并实现了上述方法的支撑工具。该工具是一个图形化工具,提供的功能包括:建模问题图,建模系统行为,描述非功能需求及其度量。并且该工具提供了编辑和应用行为策略模式的功能。利用该工具,系统分析人员还可以导出最优的非功能需求实现策略的选择方案。在该工具的支持下,本文用一个通知发布系统为例,展示了上述工作的有效性。