论文部分内容阅读
随着互联网技术的快速发展,软件的形态逐渐朝着网络化、服务化的方向转变,网络式软件就是在这种趋势下诞生的一种新型软件系统。网络式软件以网络为基础,开发、部署、运行于网络上;以服务为载体,通过网络资源聚合为用户提供随需而变的在线服务。互联网上的计算和信息资源日益丰富,资源聚合的方法与技术发展迅速,这使得发现和确定用户需求成为网络式软件中的重点。网络式软件以“用户为中心”的思想让用户对软件的体验质量成为软件成败的最终评判标准,而非功能需求分析则是影响体验质量的关键因素。因此,如何对非功能需求进行分析与设计是网络式软件需求工程中亟待解决的问题。非功能需求自身的抽象性与复杂性导致了其分析的困难,而网络环境的不确定性和多变性又让非功能需求分析在网络式软件中显得尤为重要。网络式软件需求分析采用了领域知识指导、人网交互式的方式,但是目前的研究中主要偏向于功能性需求,缺乏对非功能需求分析的系统研究。因此,需要开发一种既能够满足网络式软件需要,又能与现有需求分析方法能够有机融合的非功能需求分析方法。针对上述问题,本文拟解决的科学问题是“网络式软件环境下,融合非功能需求的交互式需求分析和设计问题”。围绕该科学问题,本文的主要贡献体现在以下几个方面:(1)建立了针对非功能需求的需求元模型。考虑到非功能需求特点,本文对网络式软件需求元模型框架RGPS中的目标层元模型进行了扩展。重新定义了非功能需求目标的元描述,统一了定量与定性非功能需求的描述,定义了五种非功能需求目标分解关联和两种非功能需求目标贡献关联,为非功能需求的自动(半自动)分析提供了依据。(2)建立了一种面向服务的非功能需求分类。非功能需求分类是非功能需求分析与设计的基础,本文针对网络式软件面向服务的特点,制定了一种面向服务的非功能需求分类,并列出了非功能需求类型之间的贡献和阻碍关系,为非功能需求冲突自动消解提供了基础。(3)提出了交互式的整合需求分析与设计框架。该框架继承网络式软件“用户为中心”的思想,以O-RGPS领域资产为指导,对功能需求与非功能需求进行同步分析与设计。框架包括目标分解、非功能需求冲突消解、过程链匹配三个步骤。需求目标使用本体描述,实现了自动化目标分解;在冲突消解中涉及需求变更的情况下,通过用户协商方式确定消解方式;过程匹配方法中,为业务过程的五种基本控制结构分别定义了抽取规则,为需求目标向业务过程链的自动转换提供了基础,并为服务自动组合提供了依据。(4)建立了情境感知的非功能需求分析框架。根据网络式软件环境复杂多变的性质,引入情境信息对非功能需求分析进行支持。针对非功能需求分析的需要,定义了情境模型,并在元模型级别定义了情境信息与非功能需求目标之间的关联,在此基础上建立了情境感知的非功能需求分析框架。通过情境信息抽取隐性非功能需求,为用户确定非功能需求目标提供了指引,为非功能需求早期评估提供参照。(5)开发了网络式软件需求获取与分析平台。对网络式软件中自动化需求处理的实现方式进行了研究,在此基础上开发了NSREA工具,讨论了工具实现的具体方法,并进行了城市交通领域的用例进行了实践研究。