论文部分内容阅读
近年来,对软件非功能性需求的研究越来越得到需求工程界的关注,人们普遍认为,软件非功能性需求是否能被满足,或者在多大程度上得到满足,在很大程度上决定了软件项目的成败。也就是说,非功能性需求的满足程度成为人们认可软件系统的一个决定性因素。在非功能性需求建模方面,人们一般采用面向目标的方法,对非功能性需求的可满足性分析方面,一般是在目标模型的图形化表示基础上,采用交互式的评判过程,自底向上进行目标节点的可满足状态的分析,最终推断出顶层目标节点的可满足状态。但是,随着软件系统越来越复杂,其非功能性需求也越来越多,非功能性需求之间的依赖和冲突关系也错综复杂。传统的目标模型的图形化表示暴露出其局限性,而且手动交互式目标节点可满足状态的评估也变得既繁琐又耗时。非功能性需求模型的逻辑表示,及其可满足性的自动评估方法成为一个值得研究的问题。
本文首先提出了非功能需求目标的形式化表示语言∑。它用表达式的方式表示非功能需求模型的树状分解结构。树状分解结构拥有严格的语法和良定的语义。与图模型相比,树状分解结构也可以提供清晰的可读性和可跟踪性。使用∑对非功能需求目标模型进行建模可以清晰地展示目标模型的层次结构,其公式化的语句又支持形式的推理。其次,在传统目标模型推理算法的基础上,本文同时使用封闭世界假设和开放世界假设来避免未被建模的领域知识对推理带来的不利影响,给出了定量和定性的推理算法,实现目标模型的自动推理。第三,本文把上述推理算法作用到∑目标模型上,给出了满足完整性和正确性的推理规则。这些推理规则的作用在于,根据公式表示中的原子类型和分解结构,调用相应的推理算法,进行目标可满足性评估。在这些推理规则的支持下,∑目标模型的自动推理就可以实现。只要给定目标模型叶节点的初始满足状态,目标模型根节点的满足状态就可以自动的得出。在∑目标模型及其目标模型评估推理规则的基础上,本文进一步提出了基于质量目标模型的实现策略选取过程。该选取过程既支持定量的决策因素,也支持定性的决策因素,同时也鼓励的更多的多目标决策技术的使用。最后本文设计和实现了非功能需求目标模型的形式化建模和推理工具r∑。r∑支持非功能需求目标模型的图形化建模,公式化建模,实现策略的评估,实现策略的决策和模型间知识的共享。