APP下载

基于UML的软件体系结构描述方法研究

2009-01-05郑东霞曹玉琳

软件工程 2009年12期
关键词:模型

郑东霞 曹玉琳

摘要:对基于UML(Unified Modeling Language)的“4+1”视图模型进行描述,从场景、概念视图、过程视图、构件视图、物理视图5个视角完整的描述一个系统的体系结构,并将该视图模型应用到钢材库管理系统的体系结构描述中。实践表明:它是面向对象软件开发方法中高效而实用的软件体系结构建模方法。

关键词:软件体系结构;多视图;模型;UML

1 引言

在描述软件体系结构时,不仅要考虑系统功能方面,实际上系统的物理分布、过程通讯等问题也要加以考虑。UML提供了可视化的图形表示方法及语义化的元模型描述规范,提供了静态和动态两种建模机制。利用UML的半形式化特性及嵌入的扩充机制,可以从多个视图描述软件体系结构。本文利用UML的“4+1”视图模型,分别从概念、过程、构件、物理、场景等五个不同的视角来描述钢材库管理系统的软件体系结构,5个视角结合在一起反映钢材库系统的体系结构的全部内容。

2 “4+1”视图的体系结构模型

对一个软件体系结构的描述可以从不同的视角来描述。“4+1”视图模型中的5个体系结构视角反映了系统构造的主要方面,能够全面系统地描述一个软件系统的体系结构。

“4+1”模型从逻辑、开发、过程、物理和场景5个不同的视角来描述软件体系结构的全部内容,如图1所示。对比软件体系结构各个视角与软件开发的各阶段,逻辑视角、开发视角、过程视角和物理视角分别对应于软件开发的需求分析、总体设计、详细设计和实现阶段。

“4+1”视图模型反映了系统构造的几个方面,体现体系结构构造的抽象特征,体现系统的体系结构风格;反映了基于构件的软件开发方法的一些特征;对于“体系结构模型的实现”,“如何构造这些视图以及视图之间的映射关系”给予指导。

逻辑视角:描述系统的功能需求及它们之间的相互关系;按照应用领域的概念描述体系结构。这些概念与实现它们的代码有关系,但并不总有直接映射的关系。体系结构在该视图中设计系统的功能特性。例如,概念视图的一个普通目标是组织体系结构以便能够方便的增加、删除及修改系统的功能。这对于系统演化非常重要,同时能支持体系结构的重用。

过程视角:过程角度侧重于系统的运行性;从系统的行为出发,考察各个构件之间的协作/交互/通讯关系,反映系统的行为结构。该视图基于系统的需求场景,同时遵循框架视图的制约,是系统核心结构之一。

开发视角:开发角度负责软件模块的组织和管理;该视图以构件为着眼点,是系统开发的核心结构之一,是框架视图的设计模式,是对框架视图的细化。

物理视角:物理角度解决系统的拓扑结构、系统安装及通信等问题;描述系统的软件与硬件之间的映射关系并反映其分布特性,展示软件在生命周期的不同阶段中所必须的物理环境或硬件配置以及分布状况。

场景:场景则对应于用户需求和系统功能实例的抽象,设计者通过分析如何满足每个场景所要求的约束来分析软件的体系结构。场景是整个体系结构设计的依据,是以上六个视图构造的着眼点。它对应于重要的用户需求和系统功能实例的抽象,设计者通过分析“如何满足每个场景所要求的约束”来设计软件的体系结构。

综上所述,概念视图定义系统的目标;构件视图、过程视图提供详细的解决方法;物理视图解决系统的拓扑结构、系统安装及通信等问题;场景反映完成上述任务的组织结构。概念视图是高层体系结构;构件视图、过程视图构成体系结构的核心,是系统开发的关键结构,为低层体系结构;物理视图则为辅助体系结构。

3 基于UML的钢材库管理系统体系结构“4+1”

视图描述

3.1 “4+1”视图体系结构的构造

“4+1”视图体系结构模型的构造涉及多种角色,并且分别完成不同的任务:

(1)用户与系统分析师通过需求工程获得待开发系统的功能和非功能需求,将其转化为功能场景与质量场景,即“4+1”视图模型中的场景。

(2)体系结构设计师完成如下任务:

①将功能场景转化为概念视图,并征求用户的确认,得到待解决问题的定义;

②根据已有的体系结构知识,选择和确定构件视图、过程视图;

③在得到核心体系结构模型后,开发物理视图;

(3)构件工程师依据构件视图、过程视图、数据视图开发相应的构件;

(4)集成工程师依据构件视图集成部署构件;

(5)组织管理者按照场景分配开发任务。

对于体系结构的构造而言,只考虑体系结构设计师相应的工作,即如何得到上述四个视图。下面具体讨论各个视图的构造与基于UML的描述方法。

3.2 场景描述

场景可以采用UML中的用例图来描述。用例图包含的主要实体有:用例、参与者和系统边界。用例通过系统与一个或多个参与者之间的一系列消息来描述系统中的交互作用,用于表示系统的一项外部功能需求,即从用户角度分析所得的需求;参与者用于描述与系统功能有关的外部实体,可以是用户,也可以是外部系统;系统边界用于界定系统功能范围。

钢材库管理系统的软件体系结构图中,共涉及九个用例,分别对应九个基本的系统功能。外部角色有四个,分别是:客户、业务人员、供应商、系统管理员。在场景描述中,分别从四个外部角色的角度对系统提出功能需求。钢材库管理系统体系结构的场景描述如图2所示。

3.3 概念视图描述

在概念视图中,组件是角色和用例,连接件是角色和用例之间的关系以及多个用例之间的关系。在构造概念视图时,着眼点是功能场景,考虑系统的功能分解,但不考虑其实现。具体来说,将需求工程得到的功能场景抽取为视图中的一个功能组件;进而考虑这些功能组件之间的关系。 概念视图可以采用UML用例图来表示,从所有参与者的角度出发,通过用例来描述他们对系统概念的不同理解,每一个用例名相当于一个概念功能的名称。

在钢材库管理系统体系结构的概念视图中,给出了该体系结构的系统功能需求的抽象描述,即系统提供给最终用户的服务。钢材库管理系统主要完成对供应商的开户,对货物的质检、入库、出库等功能。钢材库管理系统体系结构中的概念视图如图3所示。

3.4 过程视图描述

过程视图主要通过对过程动态模型建模来实现,用UML中的活动图来描述。过程视图帮助设计人员更细致的分析概念视图和场景中的用例,分析

视图和场景中用例工作流之间的交互。大型软件系统非常复杂,很多过程可能是并行的,活动图支持并行的行为。

钢材库管理系统体系结构中的过程视图如图4所示,包括权限检查、开户、质检、入库、出库、查询、异常处理等组件。

3.5 构件视图描述

构件视图用于描述软件开发中程序模块的静态组织结构,由程序库或子系统组成,用UML中的构件图来表示。它考虑软件内部的特性,描述软件开发以及软件的组织,显示系统结构的划分。在构件视图中,组件就是程序模块,程序模块之间的关系是连接件。

在钢材库管理系统中,包含这样一些组件:完成质检功能的质检组件、对入库货物进行信息录入与出单的入库组件、负责出库工作的出库组件及它们所对应的数据库组件。这些组件及其相互关系如图5所示。

3.6 物理视图描述

物理视图描述如何把软件映射到硬件上,它通常考虑系统性能、规模和可扩展性等,主要通过UML中的配置图加以实现。配置图定义系统中软硬件的逻辑或物理的拓扑结构,它可以显示计算节点的拓扑结构和通信路径、节点上运行的软件组件、组件包含的逻辑单元等。

钢材库管理系统是一个采用C/S体系结构风格的系统,其体系结构中的物理视图如图6所示。客户端和服务器端是节点,两个节点之间通过TCP/IP协议进行连接。在客户端,开户单、入库单和出库单填写界面作为相应的构件。

4 结论

针对基于UML的“4+1”视图体系结构模型描述的特点,分别阐述各视图的定义及其基于UML的描述方法,最后将该模型应用到钢材库管理系统的体系结构描述中,证明了将该模型用于面向对象的软件开发方法中描述软件体系结构的可行性及易用性。

参考文献

[1]J.Wiley. The Art of Software Architecture:Design[J]. Methods and Techniques.2003.

[2]M.Bernardo, P.Ciancarini, L.Donatiello. On the formalization of architectural types with Process algebras.In D.S.Rosenblum, editor,Proc.of the 8th ACM Int.Symp.on the Foundations of software Engineering (FSE-8):14~148.ACM press, November 2000.

[3]马重明,张学旺,范时平.基于UML的软件体系结构开发方法[J].计算机工程与应用.2006(4).

[4]黄正宝,张广泉.一种新型的软件体系结构描述方法研究[J].微电子学与计算机.2006,23(12).

猜你喜欢

模型
一种去中心化的域名服务本地化模型
适用于BDS-3 PPP的随机模型
提炼模型 突破难点
p150Glued在帕金森病模型中的表达及分布
函数模型及应用
重要模型『一线三等角』
重尾非线性自回归模型自加权M-估计的渐近分布
AVB网络流量整形帧模型端到端延迟计算
考虑初始损伤的脆性疲劳损伤模型及验证
3D打印中的模型分割与打包