《基于UML的电子商务系统开发技术.ppt》由会员分享,可在线阅读,更多相关《基于UML的电子商务系统开发技术.ppt(36页珍藏版)》请在三一办公上搜索。
1、第9章 基于UML的电子商务系统开发技术,9.1 建模的提出,9.1.1 建模的目的 便于了解系统结构 便于代码维护 促进用户和开发人员对业务模型的一致理解和沟通,9.1 建模的提出,9.1.2 电子商务系统的建模方法 方法面向过程的建模、面向数据的建模、面向信息的建模、面向决策的建模和面向对象的建模 面向过程的建模:结构化的分析开发方法(DFD)结构化分析方法的基本出发点是:一个计算机处理系统是由数据流和一系列的处理转换过程构成的,处理转换过程将输入数据流转化为输出数据流,即计算机数据处理过程可以归结为“输入数据(Input)处理转换(Process)输出数据(Output)”这样的IPO过
2、程,所以结构化分析方法将分析的重点集中与数据及其处理过程。结构化分析方法采用数据流图(DFD:Data Flow Diagram)作为刻画数据流及其处理转换的工具,通过一些图形符号表述数据源、数据流向、处理转换等;此外结构化分析方法采用数据字典(DD:Data Dictionary)来表示各类数据;可以通过判定表、决策树的方式描述处理转换的过程的细节,数据流图以直观的形式描述系统中数据的流动和数据的变化。需要注意的是数据流图和程序设计中的程序流程图(Flow Chat)是不同的,数据流图关心的是企业业务系统中的数据处理加工的客观过程,并不关心未来电子化处理的加工过程;数据流图中流动的只是数据,
3、并没有控制过程,但在程序流程图当中,必须有控制逻辑。,取款人,账目,非法提单,数据实体,数据存储,数据流,合法性检查,合法的取款单,处理转换,取款单,9.1 建模的提出,9.1.2 电子商务系统的建模方法 面向对象的建模结构化分析方法把系统看作一系列的功能节点,节点间的联系通过数据流来实现;面向对象方法认为系统由一系列彼此独立却又相互联系的实体-对象组成,对象间通过消息传递和数据关联(数据流)来实现相互联系。对象(类)既可是一个实体,也可是一项活动,或一个抽象的东西.面向对象方法流行的关键在于:1)面向对象看待现实世界的方式和现实世界的组织方式是一致的,它能够直接将问题域结构咉射到系统模型中;
4、2)面向对象方法支持软件重用,可降低成本,提高质量;3)对象具有“自治”特点,扩展性、可维护性大大提高。面向对象的概念:类及对象(Class、Object)继承(Inheritance,泛化)关联聚合(Aggregation)消息(Message)多态性(polymorphism)面向对象=对象+分类+继承+通过消息的通信UML建模:一种面向对象的系统分析与开发工具,9.2 UML建模概述,9.2.1 UML简述 基于UML的分析开发方法(Unified Modeling Language,统一建模语言)一种面向对象的系统分析与开发工具;1997.11.17,UML被OMG(Object Ma
5、nagement Group)接收为标准;UML是在Booch,OMT等方法的基础上引入一些新的理论和描述方法,如:模板类型、标记值、限制、线程、进程、分布、并发、模式/合作、活动图、精练、接口、组件、对象约束语言等;UML本身是一个完整的建模语言,支持系统开发的不同阶段,从需求分析-系统测试;需求分析阶段:UML通过用例图(有时也需一些简单的类图、活动图)来捕获用户需求,描述对系统感兴趣的外部角色和他们对系统的功能要求;系统分析阶段:主要关心问题域的概念和实体,并得到与问题域直接相关的类和对象,以及它们之间的关系(类图、顺序图、协作图、状态图、活动图);设计阶段:需要定义一些与技术实现相关的
6、类,如:用户接口、数据库、通信和并行等问题,UML提供了强大的静态和动态建模机制(类图、顺序图、协作图、状态图、活动图、组件图、实施图)实现阶段:类-语言代码;单元测试阶段:依据类图和类的规格说明集成测试阶段:测试人员依据构件图和合作图;系统测试阶段:测试人员主要依据用例图来验证系统的行为;,9.2 UML建模概述,9.2.1 UML简述 UML发展历程,9.2 UML建模概述,9.2.2 UML内容 UML语义描述基于UML的精确元模型定义 UML表示方法:五类图形(共9种)用例图 静态图(Static diagram),包括类图、对象图和包图 行为图(Behavior diagram),包
7、括活动图+状态图交互图(Interactive diagram),包括顺序图+合作图实现图(Implementation diagram),包括构件图或配置图UML的开发工具Rational RoseUML_Designer,9.2 UML建模概述,9.2.3 UML特点 UML统一了Booch、OMT和OOSE等方法中的基本概念 吸取了面向对象技术领域中其他流派的长处提出了一些新的概念,9.3 UML建模机制,9.3.1 静态建模 使用的工具图包括:用例图(Use case diagram)、类图(Class diagram)、对象图(Object diagram)、包(Package)、构
8、件图(Component diagram)和配置图(Deployment diagram)用例图用例图=用例+系统边界+角色+角色与用例间的关联用例:它定义和描述了系统的外部可见行为功能,刻画了系统的完整功能需求,它和角色之间必须要有I/O消息;角色:它不属于系统,但与系统有交互,负责驱动与之关联的系统用例的执行;它可能是一类人、事物、硬件或其他系统的抽象(是一个类,而不是一个实例);,9.3 UML建模机制,9.3.1 静态建模 用例图角色的识别与描述谁使用系统的主要功能?谁需要系统的支持以完成其日常工作任务?谁负责维护、管理并保持系统正常运转?系统需要应付(处理)哪些硬设备?系统需要和哪些
9、外部系统交互?谁对系统的结果感兴趣?,角色:角色职责:角色识别问题:,9.3 UML建模机制,9.3.1 静态建模 用例图角色识别示例:考虑一个ATM系统谁使用系统的主要功能?储户谁需要系统的支持以完成其日常工作任务?出纳员?谁负责维护、管理并保持系统正常运转?ATM系统工程师、银行人员系统需要应付(处理)哪些硬设备?储户身份、帐户标识卡(信用卡)系统需要和哪些外部系统交互?不清楚谁对系统的结果感兴趣?银行会计、储户角色:储户、银行人员、信用卡、银行会计,角色:储户角色职责:插入信用卡 输入口令 输入交易金额角色识别问题:(1)使用系统主要功能(2)对系统运行结果感兴趣,9.3 UML建模机制
10、,9.3.1 静态建模 用例图用例识别与描述用例定义:用来描述角色可以感受到的完整的功能,在UML中定义为:“由系统执行的一个动作(action)序列,并能产生可观察的结果值给某个特定的角色”;特征:用例通常由某个角色来驱动执行;用例把执行结果的值反馈给角色;用例在功能上具有完整性;每个用例都必须从输入开始,直至产生结果值输出给角色(这一点与数据流图中的分解后的功能不一样);同时具有相对完整的功能;在功能执行的过程中可能还会产生诸多变化情况、错误情况、异常情况等;用例在本质上是一个类,因此用例和角色之间的连接用关联(Association)来实现,用例之间的二种关系:,扩展与使用都是继承的关系
11、,但扩展强调的是一般类与特殊类的关系(可重载或覆盖);而使用是指几个类之间的相似之处而抽象出的类(只增加专属自己的行为,无须重载或覆盖)。一般讲,一个角色与一个用类有关联关系时,则与它的扩展用类都有关联,但与它的使用用例并不一定有关联;,extends,uses,uses,用例扩展,用例使用,9.3 UML建模机制,9.3.1 静态建模 类图 类图从静态的角度描述了系统中所有类及类之间的关系,如:关联、聚合、继承;同时类图还描述了类的属性及操作.,9.3 UML建模机制,9.3.1 静态建模 类图 如何标识类?类的识别是贯穿整个OO开发过程中的一个重要活动:在分析阶段-识别问题域相关的类;在设
12、计阶段-需加入一些反映设计思想、设计方法的类,以及实现问题域所需的其它类;在编码实现阶段-根据语言的特点,可能还需加入一些其它的类,9.3 UML建模机制,9.3.1 静态建模 对象图 UML中对象图与类图具有相同的表示形式。对象图可以看作是类图的一个实例。对象是类的实例;对象之间的链(Link)是类之间的关联的实例。对象与类的图形表示相似,均为划分成两个格子的长方形(下面的格子可省略)。上面的格子是对象名,对象名下有下划线;下面的格子记录属性值。链的图形表示与关联相似。对象图常用于表示复杂的类图的一个实例。,9.3 UML建模机制,9.3.1 静态建模 包图 UML中对象图与类图具有相同的表
13、示形式。对象图可以看作是类图的一个实例。对象是类的实例;对象之间的链(Link)是类之间的关联的实例。对象与类的图形表示相似,均为划分成两个格子的长方形(下面的格子可省略)。上面的格子是对象名,对象名下有下划线;下面的格子记录属性值。链的图形表示与关联相似。对象图常用于表示复杂的类图的一个实例。,9.3 UML建模机制,9.3.1 静态建模 构件图和配置图 构件图(Component diagram)和配置图(Deployment diagram)显示系统实现时的一些特性,包括源代码的静态结构和运行时刻的实现结构。构件图显示代码本身的结构,配置图显示系统运行时刻的结构。,9.3 UML建模机制
14、,9.3.2 动态建模 消息 在面向对象技术中,对象间的交互是通过对象间消息的传递来完成的;在UML中,消息的图形表示是用带有箭头的线段将消息的发送者和接收者联系起来,箭头的类型表示消息的类型 三种消息类型:简单消息(Simple Message)、同步消息(Synchronous Message)、异步消息(Asynchronous Message)。状态图 状态图(State Diagram)用来描述一个特定对象的所有可能状态及其引起状态转移的事件。大多数面向对象技术都用状态图表示单个对象在其生命周期中的行为。一个状态图包括一系列的状态以及状态之间的转移。,9.3 UML建模机制,9.3.
15、2 动态建模 顺序图 顺序图(Sequence Diagram)用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。顺序图存在两个轴:水平轴表示不同的对象,垂直轴表示时间。顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。对象间的通信通过在对象的生命线间画消息来表示。消息的箭头指明消息的类型。合作图 合作图(Collaboration Diagram)用于描述相互合作的对象间的交互关系和链接关系。虽然顺序图和合作图都用来描述对象间的交互关系,但侧重点不一样。顺序图着重体现交互的时间顺序,合作图则着重体现交互
16、对象间的静态链接关系。,9.3 UML建模机制,9.3.2 动态建模 活动图(Activity Diagram)活动图是由状态图变化而来的,它们各自用于不同的目的。活动图依据对象状态的变化来捕获动作(将要执行的工作或活动)与动作的结果。活动图中一个活动结束后将立即进入下一个活动(在状态图中状态的变迁可能需要事件的触发)。,9.4 Web应用程序的建模,9.4.1 Web应用程序架构 Web应用程序的含义:一个基于Web系统的具有业务状态的应用 组成:客户端Web页(包含脚本、控件、表单、框架、超链接等)服务器端Web页(包含各种动态脚本、组件、接口等)数据库,9.4 Web应用程序的建模,9.
17、4.2 Web应用程序建模的步骤 确定建模的对象 将建模的对象映射到建模元素,9.4 Web应用程序的建模,9.4.3 对Web应用程序特定元素进行建模 Web页面建模:用户在使用Web应用系统时,是通过页面进行系统的操作。在页面建模中可用两个类别模板Client Page和Sever Page分别表示客户端页面和服务器端页面。客户端页面的属性是页的作用域中定义的变量;方法是页面脚本中的函数;服务器页面的属性是页面脚本中的变量;方法是脚本中定义的函数。在使用页面信息传递时,还可能出现服务器页面的重定向,在UML建模中,用类别模板redirect来表示;对于客户端页面和服务器页面的构造关联用类别
18、模板bulid表示,这种关联是一种单向关联,由服务器页面指向客户端页面,具体表示如图所示。在Web应用系统中,还会经常用到的就是超级链接,在UML建模中,用类别模板link表示超级链接,它的参数模拟为链接属性,9.4 Web应用程序的建模,9.4.3 对Web应用程序特定元素进行建模 表单建模:用户一般通过表单与数据库交互。在UML建模中,表单用类别模板form表示,属性是表单中的域,表单没有方法。表单在处理请求时,要与Web页面交流数据,这个交流过程是用提交按钮submit来完成,为了在建模中表示这种关系,用类别模板submit表示。,9.4 Web应用程序的建模,9.4.3 对Web应用程
19、序特定元素进行建模 组件建模在UML基本的图形化建模元素中,设立了专门的组件图。组件在使用过程中,同样的分成了客户端组件(如Java Applet,ActiveX控件)和服务器端组件。在系统的UML模型化表示中,用类别模板Client Component表示客户端组件,用Sever Component表示服务器端组件.,9.4 Web应用程序的建模,9.4.3 对Web应用程序特定元素进行建模 框架建模框架通过定义类别模板元素frameset来实现,frameset指定并命名各个框架,每个框架容纳一个页面;框架的使用还涉及到目标target,建模时用target来表示。,9.4 Web应用程序
20、的建模,9.4.3 对Web应用程序特定元素进行建模 对Web页进行建模实例一个网上活塞PDM系统-“活塞新产品开发的项目审批过程”设计(建模),考虑要点:活塞PDM系统是在传统PDM系统的基础上,引入了组件技术和Web技术,对数据流程的处理更趋于简易性和方便性。在对该系统的建模过程中,要体现整个系统前台与后台间数据交互的流程。在设计时,主要用类图和组件图来表现系统。在设计模型图时,采用了先整体后局部的思路,首先考虑整个系统的案例图,再对子模块进行分析和设计,在每个子模块数据流的入口和出口设置模型图间数据交互的接口。活塞新产品开发的项目审批过程,9.4 Web应用程序的建模,9.4.3 对Web应用程序特定元素进行建模 对Web页进行建模实例总经理评审功能总经理评审功能对应的类图,9.4 Web应用程序的建模,9.4.3 对Web应用程序特定元素进行建模 对Web页进行建模实例总经理评审的组件图,Any Questions orComments?,