软件测试开发技术UML:为工作流建模[1]

发表于:2009-11-06来源:作者:点击数: 标签:软件测试umlUML工作流技术
软件测试 开发 技术UML:为工作流建模[1] UML模型 关键字:UML 建模 工作流 工作流是一种反应业务流程的计算机化模型,是为了在先进的计算机环境支持下,实现经营过程集成与经营过程自动化而建立的,可由工作流管理系统执行。 可被计算机执行是工作流模型区别

软件测试开发技术UML:为工作流建模[1]  UML模型

关键字:UML 建模 工作流

  工作流是一种反应业务流程的计算机化模型,是为了在先进的计算机环境支持下,实现经营过程集成与经营过程自动化而建立的,可由工作流管理系统执行。

  可被计算机执行是工作流模型区别于一般意义上的过程模型的本质特征。所以要求工作流模型不仅要描述活动之间的逻辑关系,还要定义执行活动相关的组织、资源和数据信息,以便计算机解释执行。

  为了有效地集成业务过程模型和所需的信息系统模型,许多文献提出了基于面向对象的业务流程建模分析方法。同时,UML是软件界的一个统一的建模语言,有丰富的基于面向对象概念的模型元素及其图形表示元素,为不同领域的用户提供了统一的交流标准。

  作为面向对象开发方法中的一种重要建模工具,UML已经在信息系统开发中得到了广泛的应用,许多学者也将它应用到了业务流程建模工作中。

  尽管如此,UML活动图用于描述工作流的概念还不够完整,不够明确。所以其用于工作流的应用还是非常的少。

  工作流+UML优势何在

  工作流系统的建模方法主要有数据流程图(DFD)、功能语言(IDEF)系列、Petri网和统一建模语言等。

  数据流程图可理解性强,有较好的计算机化能力,但是缺乏抽象机制;功能语言IDEF系列非常清晰、分层次地用图形描述过程的功能,但是缺乏动态分析能力;Petri网和UML是用的比较多的,也是用的比较好的建模方法和技术。

  使用PETRI网描述的好处是:图形化的规范语义,基于状态而不是基于事件,成熟的分析工具等等。其缺点是:当业务流程较为复杂,如存在并发、冲突等情形时,高层次的形式描述存在局限性。

  而采用UML这种面向对象的分析与设计方法来描述工作流管理系统,有以下几方面的优点:

  (1)工作流管理系统是一个大型的软件系统,系统结构复杂,参与开发的人员众多。因此如何使所有开发人员对各自完成的阶段性成果很好地进行交流。以及如何统一各个模块之间互相调用的格式,成为采用UML方法的第一个优点。

  (2)由于工作流管理系统涉及数据库网络、分布式服务器以及经典算法实现等多个实现上的细节。因此使用面向对象技术建立起来的模型也应当具有这样概念不同的多个细节。

  能够使模型具有强大的描述能力,并具有广泛的描述范围,多样的状态表示,成为采用UML方法的第二个原因。这一点,正是UML方法最为显著的优点,那就是它具有足够的表达能力来处理现代系统中的所有概念,如封装和构件而且由于它是综合了多种面向对象建模语言后产生的通用的面向对象建模语言,因此它具有种类繁多的概念与模型,并且对完整事物的描述也更加全面。

  (3)UML对用户友好,以用例捕获用户需求,在描述系统静态结构方面十分优秀。并且UML模型与程序实现了紧密相连;UML还提供了扩展机制,可以随时对建模语言的设施进行扩展,以满足更多的需要。

  改进的工作流过程元模型

  在现有的软件开发技术下,大多数软件的实现都是复杂的,从工作流参考模型图可以看出,工作流管理系统是一个大型的软件系统,系统结构复杂。

  解决复杂问题最有效的理论是分层理论,即将问题分为多个问题逐一解决模型不对现实世界的简化与抽象,它有助于对复杂问题进行分层,从而更好地解决问题。

  这就是为什么要对软件进行建模的根本原因。并且,有效的软件模型也有利于分工与专业化生产,从而节省生产成本。

  而结构是模型的有机结合,是一个系统的灵魂与主线。一个有效的软件系统就是在系统结构的支撑与带动下解决复杂问题的技术系统。

  工作流模型是工作流管理系统的基础,同时也是工作流技术研究的主要方向。所以,涌现出了许多工作流模型。其中,比较典型的工作流模型包括:IBM提出的基于活动网络的过程模型——FlowMark工作流模型、基于语言行为理论的工作流模型、基于Petri网的工作流模型等。

  但是,这些模型大都只关注工作流模型的核心“过程模型”,忽略了“过程模型”需要的信息、模型中活动的执行实体、活动需要调用的功能以及活动所需要的资源等。因此,并不能构成一个真正意义上完整的工作流模型。

 

原文转自:http://www.ltesting.net