论文部分内容阅读
在软件开发的实践过程中,人们越来越清楚地认识到软件需求工程是软件开发的瓶颈。软件需求工程由一系列与软件需求相关的活动组成,其中一个重要过程是需求建模。需求建模的工作就是导出目标软件系统的需求模型。借助于需求模型,开发人员可以更精确地表达和理解需求,检验系统的一些功能和特性。无论使用什么样的需求建模方法和技术,以及其它的软件开发方法和技术,最终目的都是希望能开发出高质量和满足用户需求的软件。而软件是否能满足用户需求,这又是通过实际执行的软件行为所决定的。因此,软件行为的正确与否决定了软件能否满足用户需求。为此,开发出了面向软件行为的需求建模方法,采用视点和场景分解的方法,使用形式化的行为描述语言建立面向软件行为的需求模型(简称行为模型),用以在需求阶段获取和分析目标软件的行为。需求模型建立后,需要确定模型所描述的行为是用户所期望的目标软件系统的行为。然而要让用户通过阅读和理解模型的语法甚至语义规则来了解需求模型仍然是一件困难的事情。一种较好的方法是采用可视化的技术,将模型形象地表达出来,使用户能够直观地认识和理解需求模型。本文提出了一种基于行为模型的需求可视化方法,使用户能够直观地看到模型的动态执行过程,能够辅助各种背景知识的用户确切地理解需求模型中的行为过程,并且使得用户从主观上更加愿意加入需求校验过程,从而能够获取有效的用户反馈,提高需求分析的效率,减少软件开发后续阶段的需求变更,减少软件开发成本。对于大型软件系统,其软件行为往往比较复杂,表现在行为数量巨大,行为抽象层次不同,行为间关系复杂,因此直接使用行为描述语言完全地描述系统的行为往往是不可行的。同时,由于不同的项目利益相关者对需求关注的抽象层次往往是不同的,因此,需求的可视化也需要从不同抽象层次上进行实现。为了从多抽象层次描述系统,并且为解决多层次的需求可视化问题提供支持,一种有效的方法是先在较高的抽象层次上描述系统的粗粒度的行为,然后使用行为精化的技术对抽象行为进行层层的细化。行为模型形式化地描述了目标软件系统与问题域中实体之间的交互过程,以及目标软件系统内部模块之间的一些的行为,状态模型则关注系统中某个抽象层次个体的状态变化。当需要关注系统中某个单独的对象或者逻辑模块的状态变化时,需要将行为模型转换成描述状态变化的模型。为了建立行为模型的需求可视化模型,首先需要将行为模型转换成状态模型。本文使用状态机描述状态模型,为实现这两个模型的自动转换提供了理论基础。首先建立了状态机的形式模型,然后提出了从行为模型到状态机的转换算法。建立了这两种模型之间的等价关系,并基于此作了一系列的理论验证工作。本文最后以自动取款机系统为例,说明了面向软件行为的需求建模方法以及需求可视化方法的应用过程,其中示例了行为精化,模型转换和模型抽取等方法。