关键字:
1、引 言
Web技术的发展,使得管理系统的开发更方便、功能更强大,在此系统的开发过程中,Web技术起了一个骨架式的支持作用;与此同时组件技术的发展为系统的开放性、集成性提供了便利,有效合理地引入组件技术是当前Web系统开发与发展的一个方向;通过对系统的开发进行建模,形象直观的图形化表示,可以显示系统的流程与功能。选择有效的建模方法,充分利用Web技术与组件技术,提高软件的开发效率,提高的软件的可靠性和可维护性,是每个软件开发人员所关心的问题。
UML(Unified Modeling Language)是基于对象技术的标准建模语言,定义良好、易于表达、功能强大的特点使它在面向对象的分析与设计中更具优势。在基于Web技术和组件技术的系统建模中,它完善的组件建模思想和可视化建模的优势更利于系统开发人员理解程序流程和功能,进一步提高Web系统的开发效率以及Web组件的可重用性和可修复性。
本文将结合我们自主开发的活塞PDM系统中的项目审批流程的建模,介绍UML在基于WEB技术和组件技术的系统建模中的应用。
2、基于Web的应用系统结构
对于基于Web技术的应用系统,用户直接面对的是客户端浏览器,用户在使用系统时,请求之后的事务逻辑处理和数据的逻辑运算由服务器与数据库系统共同完成,对用户而言是完全透明的。运算后得到的结果再通过浏览器的方式返回给用户。这个过程可分成一些子步骤,每一个子步骤的完成可理解为通过一个单独的应用服务器来处理,这些应用服务器在最终得到用户所需的结论之前,相互之间还会进行一定的数据交流和传递。图1就是Web的应用结构简图。
随着Web应用技术的发展,对Web数据流程的解释上还会有相应的改进或补充。
3、Web应用系统的UML建模方法
页面、脚本、表单和框架是Web应用系统的关键部分,数据流程的模型化表示关键就是用UML对上述Web元素应用及其关系建模,下面对这几种元素的模型化表示作一个简要介绍:
(1)页面建模。用户在使用Web应用系统时,是通过页面进行系统的操作。在页面建模中可用两个类别模板《Client Page》和《Sever Page》分别表示客户端页面和服务器端页面。客户端页面的属性是页的作用域中定义的变量,方法是页面脚本中的函数;服务器页面的属性是页面脚本中的变量,方法是脚本中定义的函数。在使用页面信息传递时,还可能出现服务器页面的重定向,在UML建模中,用类别模板《redirect》来表示;对于客户端页面和服务器页面的构造关联用类别模板《bulid》表示,这种关联是一种单向关联,由服务器页面指向客户端页面,具体表示如图2所示。
在Web应用系统中,还会经常用到的就是超级链接,在UML建模中,用类别模板《link》表示超级链接,它的参数模拟为链接属性。
(2)表单建模。用户的要求一般通过表单与数据库交互。在UML建模中,表单用类别模板《form》表示,属性是表单中的域,表单没有方法。表单在处理请求时,要与Web页面交流数据,这个交流过程是用提交按钮submit来完成,为了在建模中表示这种关系,用类别模板《submit》表示。
(3)组件建模。在使用组件技术的Web应用系统建模中,对组件的建模是个重要环节,在UML基本的图形化建模元素中,设立了专门的组件图。组件在使用过程中,同样的分成了客户端组件(如Java Applet,ActiveX控件)和服务器端组件。在系统的UML模型化表示中,用类别模板《Client Component》表示客户端组件,用《Sever Component》表示服务器端组件。
(4)框架建模。框架通过定义类别模板元素《frameset》来实现,frameset指定并命名各个框架,每个框架容纳一个页面;框架的使用还涉及到目标target,建模时用《target》来表示。
4、UML在活塞PDM系统建模中的运用
活塞PDM系统是在传统PDM系统的基础上,引入了组件技术和Web技术,对数据流程的处理更趋于简易性和方便性。在对该系统的建模过程中,要体现整个系统前台与后台间数据交互的流程。在设计时,主要是考虑设计它的class diagram(类图)和component diagram(组件图),用这两类模型图来体现UML的用例驱动和系统组件结构的特性。由于在系统的开发中采用了模块化的设计方法,因此在构划模型图时,采用了先整体后局部的思路,首先考虑整个系统的案例图,再对子模块进行分析和设计,在每个子模块数据流的入口和出口设置模型图间数据交互的接口。下面以活塞PDM系统中项目审批流程子模块的建模为例说明UML在此系统建模中的应用。
4.1 项目审批流程
项目审批是项目管理流程的一部分,功能就是实现审批过程和数据传递的自动进行,取消了传统审批流程中大量纸质文件的使用。下面以活塞新产品开发的项目审批为例来说明UML对项目审批流程的建模方法。
文章来源于领测软件测试网 https://www.ltesting.net/