论文关键词:轻量级迭代 软件体系结构 基于场景分析 层式系统
论文摘要:软件系统的体系结构是在对系统的需求分析后确定的,他决定了软件系统的质量,因此在设计系统之初就应该重视系统的体系结构。结合某银行系统的部分功能系统设计,提出轻量级迭代分析方法,通过对系统场景分析,找出系统各个组件的基本关系,从而确定系统的体系结构。强调了软件体系结构在软件开发过程中的作用,并提出一种有效的分析设计方法。
1引言
软件体系结构是软件工程的一个重要研究领域,他提供了软件系统的高层抽象。随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明显得越来越重要。使用体系结构模式作为软件系统结构设计策略,是提高软件复用程度和降低软件设计复杂度的一种重要的方法。
对于软件项目的开发来说,一个清晰的软件体系结构的建立应位于需求分析之后,软件设计之前。在建立软件体系结构时,设计者主要从结构的角度对整个系统进行分析,选择恰当的构件、构件间的相互作用以及他们的约束,最后形成一个系统框架以满足用户的需求,为软件设计奠定基础。
然而,在系统开发的初始阶段就设计好系统的最终结构是不可能的,也是不现实的,因为需求还在不断地发生变化。需求总是在变化的,并且不完整]。所以,一个好的软件体系结构应该具有创建或再创建功能、用户界面和问题域模型,进化原型以满足新的软件需求。
因此,在软件项目设计之初,选择合适的体系结构是必要的。在本文中提出一种简单迭代的方法,对需求轻量迭代,通过分析系统的功能需求和非功能需求,构建合适的体系结构。不同于CraigLarman的RUP过程口],通过迭代开发,分析系统的细节,逐步设计出完整的系统,而是经过轻量级迭代分析,以得出系统应该具有的体系结构属性为目标,是对系统整体属性的分析,而非细节的分析。整个过程和结果为选择设计合适的体系结构做必要的准备。采用场景分析作为主要的分析工具,得到各个场景的主特点、从特点。
2方法
不同的体系结构根据适合情况不同其特点也不同。如pipe层式等各有优缺点口]。因此在开发设计初始,应对系统分析,选择体系结构。而这种分析不是细节的,而是着重于找出组件与组件的关系,及连接子。系统转接处应该是主要的。分析要从需求人手,对需求分类,即是功能性需求还是非功能性需求。在分析的过程中,采用基于场景的分析。主要的难点是需求如何划分可以得到体系结构属性;再者,如何分析才能使体系结构的特点同系统的特点关联起来。