摘要:对UML的建模原理作了系统的介绍,然后以电子商务系统的开发为背景,详细的阐述了基于UML的电子商务系统建模过程和关键技术。关键词:统一建模语言;电子商务系统;建模1引言电子商务系统作为一个Web应用系统,它的分析、设计、实现和运行的都是一个极其复杂的过程,它的开发周期已不再是从需求定义、软件设计、实现和交付的一次性过程,而是一个连续的、递增的、不断迭代的过程,如何把目前软件工程领域里的新思想、新方法、新技术结合起来,高效快速地构建一个安全、健壮、性能良好的电子商务系统已成为软件工程领域里的一个重要课题。目前所采用的普遍开发模式是建立起系统模型,以模型为驱动来实现电子商务系统的开发。本文以统一建摸语言(UML:UnifiedModelingLanguage)为基础,深刻地阐述了基于UML的电子商务系统的建模过程和关键建模技术,这对电子商务系统建模的研究有着重要的实际意义。2UML及其建模机制2.1UML概述UML是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。它适用于各种软件开发方法、软件生命周期的各个阶段及各种开发工具,是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。UML的定义包括UML语义和UML表示法两个部分。UML为对象的结构模型和行为模型定义了语义,结构模型强调系统中对象的结构,包括类、操作、属性和关系;行为模型强调系统中对象的行为,包括它们的交互作用、合作性和状态历史。UML表示法是UML语义的可视化表示,是用来为系统建模的工具。UML提供了各种静态视图和动态视图,可以在设计的不同的阶段进行详细的描述以辅助建立起分析模型、设计模型、和实施模型,为系统的迭代式开发和扩充提供了良好的保证。2.2UML的建模机制UML作为一种通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。其建模机制也可以归为静态建模和动态建模两大类。UML的静态建模机制是通过用例图、类图、对象图、包图、构件图和配置图来描述系统的静态结构,构造出系统的静态模型。UML的动态建模机制包括状态图、活动图、顺序图和协作图四各部分,它们是用来描述系统的动态行为和对象之间的关系。应用UML的动态机制所建立的模型或者可以执行、或者表示执行时的时序状态和交互关系。UML的建模机制可以适用于系统开发过程中从需求规格描述到系统测试的不同阶段。毕业论文格式在需求分析阶段,可以用例来捕获用户需求。通过建立起用例模型,描述系统的用例、角色、系统边界以及角色和用例之间的关系。分析阶段主要关心问题域中的主要概念和机制,需要识别这些类以及它们之间的关系,这可以用UML的类图来描述,而用例的实现、类之间的协作,则可以用UML动态模型来描述。在设计阶段就是要进一步定义分析阶段提取类的细节(操作和属性),增加新类处理诸如数据库、用户、接口、通讯、设备等技术领域的问题。在实现和测试阶段,就是要把系统实现和建立起的模型结合起来,开发实现定义的类,测试用例是否实现,验证开发的系统是否满足用户的需求。3基于UML的电子商务系统的建模过程3.1需求建模基于UML的需求分析就是要确定角色,定义用例,采用系统用例模型来描述系统的需求。它的主要过程就是:1)确定所要开发的系统的使用者。2)从执行者的角度出发,分析他和系统需要进行的交互作用,并从这些交互过程中抽象出用例。3)对每一用例确定其主要的商业过程。4)以信息流为中心逐步形成完整的用例模型。5)对于比较复杂的系统需求,可增加活动图显示活动流程和并发行为。现在以某电子商务系统中网上购物子系统为例分析其用例模型。经过分析确定该系统的角色有:客户、系统管理员和职员。主要的用例有:创建帐号、登录系统、个性化的设置、浏览商品、购物处理、订单处理、系统管理、商品管理等。其用例模型见图1。3.2面向对象分析建模通过阅读规格说明、用例以及寻找系统处理的“概念”来实施特定领域分析。在分析建模中可通过用例图和活动图推导出所有关键概念(类)以及它们之间的关系。可以使用UML中的顺序图、合作图或活动图描述特定领域类(或实例)的动态行为。通过定义系统中的领域和关键类并条理化来逐步求精地分析系统需求,建立分析模型。分析模型描述了网上购物系统中所有对象,以及各种各样的结构关系和通信关系,分析模型一般由类图、序列图、活动图和状态图等来描述。图2是网上购物系统中搜索商品模块的类模型,它抽象出了该模块的边界类、控制类和实体类。3.3设计建模对系统进行设计建模就是要进一步定义分析阶段所提取类的操作和属性,增加新类处理诸如数据库、接口、通讯、设备等技术领域的问题。设计阶段又分为架构设计和详细设计两个部分。在结构设计阶段需要定义包,确定包间的依赖性和主要通讯机制。类图包化技术可以从技术逻辑中分离逻辑,从而减少类间的依赖性,使模块间实现高类聚和低耦合。在详细设计阶段,使用UML技术对所有类进行细化,即尽可能详细地描述每一个类,使编程人员能根据它们很容易地编码。详细设计阶段要细化和扩展包中定义的业务对象类描述,产生新的类图、状态图、序列图、协作图和活动图,建立构件图和展开图。这些图与分析阶段是一样的,但在设计阶段定义更详细,涉及更多的技术细节。分析阶段的用例描述被用来验证用例在设计中的处理;序列图被用来说明技术上如何在系统中实现每一个用例。图3是一个顺序图,描述了一个客户创建帐号的详细过程。3.4代码实现代码实现是对类进行编程的过程。在设计模型中,可以选取下列图的说明进行代码编程:1)类的规格说明:详细说明了必要的属性和操作;2)类图:说明类的静态结构和类之间的关系;3)状态图:说明类的对象可能的状态及其转移;4)动态图:包括顺序图、合作图、活动图;5)用例图和规格说明:说明系统需求和结果。本电子商务系统的建模都是在RationRose工具的支持下完成的。设计建模完成以后,可以利用ROSE工具生成程序代码框架,然后对代码进行修改和完善,使之能够形成完整的能够运行的程序。同时,当系统的需求发生变化以后,可以直接修改程序,再根据代码逆向生成UML模型,从而保持模型和代码的同步。3.5系统测试和配置在对电子商务系统建模的过程中,对每一个阶段的模型都要进行测试,以保证模型的正确性和完整性。测试是以用例定义的描述作为依据,验证开发的系统是否满足用户的需求。在每一次测试完毕,都要对系统的错误进行详细的记录和报告,并修改和完善模型。配置包括文档和组成模型,是实际交付的系统。4基于UML的电子商务系统建模的关键技术4.1支持J2EE平台的多层体系结构目前大型的电子商务系统一般都是运行在J2EE平台上,它为电子商务系统的运行提供了一个高效、稳定、安全的体系结构。J2EE平台支持多层体系结构,一般都是采用浏览器、Web服务器、应用服务器和企业数据库存储层的多层体系结构。这就要求在运用UML为电子商务系统进行建模的时候必须支持多层体系结构。为了适应对Web多层次的建模,我们要用到UML中的版类、毕业论文格式附加值和约束三种扩展机制。版类是对各层的逻辑进行抽象,在Server端和Client端分别设置UML的类图,分别用两个版类标示:《serverpage》和《clientpage》,两端的组件可以分别用《servercomponent》和《clientcompo-nent》标示。其中两者的联系用另一个版类《build》标示,表明是一个Server页面构造了一个Client页,在Web之间的联系即超链接可以用版类《link》等关系表达出来。4.2UML和EJB组件技术相结合EJB(EnterpriseJavaBean)技术是J2EE开发平台中最核心的技术,J2EE中定义了3中企业Bean:会话Bean、实体Bean和消息驱动Bean。基于J2EE平台进行电子商务系统的开发,主要工作就是要设计开发出各种Bean,所以在进行系统建模的过程中,要运用UML正确的反映这些Bean以及它们之间的关系。在UML中对一种EJB的表示方法有两种明显的架构:类和组件。用类来表示EJB时一般把EJB的各种不同元素合并到一起,并用一个单一的UML类来表示它们。在这种情况下,就需要把类分隔成几个部分,每一个部分都包含有属于完整的EJB的不同方面的设计信息。这种方法可能最先用于表示一个更为简洁的EJB,但是这需要把类分隔成很多部分,因而难于理解并更容易导致错误。同样,尽管UML有组件的概念,但它于EJB组件有很大的不同,主要是UML组件与实现更密切相关,UML组件一般不是在分析和设计期间建模的。另一种方法就是使用子系统,它结合了类和包的功能。子系统本质是一组UML元素,它们在模型中表示一种行为单元。子系统可以带有接口和操作。使用子系统的一个优点就是它可以展示特定的关联或隐藏不相关的细节。有时候人们希望只使用一种或多种简洁的UML子系统表示,这样就具有了在模型图中避免不必要的混乱的优点。EJB的内部视图是通过完全展示UML包的内容获得的,如图4所示:4.3UML和RUP(RationalUnifiedProcess)的结合UML作为一种建模语言,不是一种方法,它独立于开发过程。建模语言是设计的表示符号,而过程则是描述进行开发所需的步骤。RUP是由UML的发起人提出,与UML能很好地结合。RUP是以架构为中心,用例驱动、支持迭代和递增开发为基础。它可以从静态结构和动态结构两个方面来描述。静态结构实际上就是开发过程描述了什么人、怎么做、做什么以及什么时候做。一般用四个主要的建模元素来表达:工人、活动、产品和工作流程。RUP的动态结构从阶段、里程碑和迭代对过程进行了描述。RUP把软件的开发周期划分成四个阶段:开始阶段、细节阶段、构造阶段和过度阶段,每个阶段的结果都是一个里程碑。在每个阶段都可以继续细分成迭代,后一次迭代是在前一次基础上增加了更多的内容,整个开发过程增量向前发展。基于UML的电子商务系统建模需要和RUP的基本思想结合起来,它主要体现在以下三个方面:1)以体系结构为中心。RUP采用用例视图、组件视图、逻辑视图、展开视图和并发视图这5个视图模型,利用UML语言来描述软件的体系结构。这5个视图都是从相应的模型中抽取出对系统的结构、功能、健壮性及其扩充性有重要意义的元素构成,是模型的精华和核心部分。2)用例驱动。在RUP中,用例模型是整个软件开发过程的基础,并且贯穿于系统的各个阶段,驱动了RUP的开发活动。在UML的建模过程中也就是先建立其用例模型,然后逐步得到分析模型、设计模型,所有的模型都是以用例驱动来完成的。3)UML对迭代过程的支持。RUP支持迭代的开发,它的生命周期每个阶段都是由一个或多个连续的迭代组成。UML主要的图之间的关系都具有迭代的特性,可以相互补充、相互促进,从而使得整个系统模型不断地完善和健壮。4.4UML建模和形式化建模的结合UML是一种通用的图形化建模语言,采用类图、对象约束语言(ObjectConstraintLanguage,OCL)和自然语言来描述UML的抽象语法和语义,缺乏对语义的精确描述,因此可能导致对模型的理解不一致性、模型分析的不正确性等问题。基于数学基础的形式化语言是一种具有精确语义结构的语言,它可以构造具有精确含义的语句,具有明确的、无二义的语法和语义,确保软件开发过程基于计算机科学的数学基础,为软件实现的正确性证明提供了可能。但由于形式化模型的严格性,所以很难直接从现实中获取模型。由于电子商务系统的建模非常复杂,而且对准确性、安全性要求极其严格,所以把形式化方法和支持UML建模的可视化工具结合是必要的。在为电子商务系统建模时,主要是基于Rose强大的可视化统一建模语言UML来建模,对模型中类模型中的重要属性和不确定性需求可采用Object-Z语言来进行描述,这样就保证了系统模型的正确性和一致性。5结束语电子商务应用系统的结构复杂、规模庞大、开发周期长,其模型的构建也是一个不断修改完善的过程。在实际的开发过程中,我们把UML和RUP思想结合起来,结合当前流行的建模工具RationRose,利用上面提出的