《基于UML的电子商务系统开发技术.ppt》由会员分享,可在线阅读,更多相关《基于UML的电子商务系统开发技术.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第第第9 99 9章章章章 基于基于基于基于UMLUMLUMLUML的电子商务系的电子商务系的电子商务系的电子商务系统开发技术统开发技术统开发技术统开发技术9.1 建模的提出建模的提出 n n9.1.1 9.1.1 建模的目的建模的目的建模的目的建模的目的 n n便于了解系统结构便于了解系统结构 n n便于代码维护便于代码维护 n n促进用户和开发人员对业务模型的一致理解和沟通促进用户和开发人员对业务模型的一致理解和沟通 9.1 建模的提出建模的提出 n n9.1.2 9.1.2 电子商务系统的建模方法电子商务系统的建模方法电子商务系统的建模方法电子商务系统的建模方法 n n方法方法n n面
2、向过程的建模、面向数据的建模、面向信息的建模、面向面向过程的建模、面向数据的建模、面向信息的建模、面向决策的建模和面向对象的建模决策的建模和面向对象的建模 n n面向过程的建模面向过程的建模:结构化的分析开发方法结构化的分析开发方法(DFD)DFD)n n结构化分析方法的基本出发点是:一个计算机处理系统是由数据流和一系列的处理转换结构化分析方法的基本出发点是:一个计算机处理系统是由数据流和一系列的处理转换过程构成的,处理转换过程将输入数据流转化为输出数据流,即计算机数据处理过程可过程构成的,处理转换过程将输入数据流转化为输出数据流,即计算机数据处理过程可以归结为以归结为“输入数据(输入数据(I
3、nputInput)处理转换(处理转换(ProcessProcess)输出数据(输出数据(OutputOutput)”这样的这样的IPOIPO过程,所以结构化分析方法将分析的重点集中与数据及其处理过程。过程,所以结构化分析方法将分析的重点集中与数据及其处理过程。n n结构化分析方法采用数据流图(结构化分析方法采用数据流图(DFDDFD:Data Flow DiagramData Flow Diagram)作为刻画数据流作为刻画数据流及其处理转换的工具,通过一些图形符号表述数据源、数据流向、处理转换及其处理转换的工具,通过一些图形符号表述数据源、数据流向、处理转换等;等;n n此外结构化分析方法
4、采用数据字典(此外结构化分析方法采用数据字典(DDDD:Data DictionaryData Dictionary)来表示各类数据;来表示各类数据;可以通过判定表、决策树的方式描述处理转换的过程的细节可以通过判定表、决策树的方式描述处理转换的过程的细节n n数据流图以直观的形式描述系统中数据流图以直观的形式描述系统中数据流图以直观的形式描述系统中数据流图以直观的形式描述系统中数据的流动和数据的变化。需要注数据的流动和数据的变化。需要注数据的流动和数据的变化。需要注数据的流动和数据的变化。需要注意的是数据流图和程序设计中的程意的是数据流图和程序设计中的程意的是数据流图和程序设计中的程意的是数据
5、流图和程序设计中的程序流程图(序流程图(序流程图(序流程图(Flow ChatFlow ChatFlow ChatFlow Chat)是不同的,是不同的,是不同的,是不同的,数据流图关心的是企业业务系统中数据流图关心的是企业业务系统中数据流图关心的是企业业务系统中数据流图关心的是企业业务系统中的数据处理加工的客观过程,并不的数据处理加工的客观过程,并不的数据处理加工的客观过程,并不的数据处理加工的客观过程,并不关心未来电子化处理的加工过程;关心未来电子化处理的加工过程;关心未来电子化处理的加工过程;关心未来电子化处理的加工过程;数据流图中流动的只是数据,并没数据流图中流动的只是数据,并没数据流
6、图中流动的只是数据,并没数据流图中流动的只是数据,并没有控制过程,但在程序流程图当中,有控制过程,但在程序流程图当中,有控制过程,但在程序流程图当中,有控制过程,但在程序流程图当中,必须有控制逻辑。必须有控制逻辑。必须有控制逻辑。必须有控制逻辑。取款人账目非法提单数据实体数据存储数据流合法性检查合法的取款单处理转换取款单9.1 建模的提出建模的提出 n n9.1.2 9.1.2 电子商务系统的建模方法电子商务系统的建模方法电子商务系统的建模方法电子商务系统的建模方法 n n面向对象的建模面向对象的建模n n结构化分析方法把系统看作一系列的功能节点,节点间的联系通过数据流来实现;结构化分析方法把
7、系统看作一系列的功能节点,节点间的联系通过数据流来实现;面向面向对象方法认为系统由一系列彼此独立却又相互联系的实体对象方法认为系统由一系列彼此独立却又相互联系的实体-对象组成,对象间通过消对象组成,对象间通过消息传递和数据关联(数据流)来实现相互联系。对象(类)既可是一个实体,也可是一息传递和数据关联(数据流)来实现相互联系。对象(类)既可是一个实体,也可是一项活动,或一个抽象的东西项活动,或一个抽象的东西.n n面向对象方法流行的关键在于:面向对象方法流行的关键在于:面向对象方法流行的关键在于:面向对象方法流行的关键在于:1 1)面向对象看待现实世界的方式和现实世面向对象看待现实世界的方式和
8、现实世界的组织方式是一致的,它能够直接将问题域结构咉射到系统模型中;界的组织方式是一致的,它能够直接将问题域结构咉射到系统模型中;2 2)面向对象方法支持软件重用,可降低成本,提高质量;面向对象方法支持软件重用,可降低成本,提高质量;3 3)对象具有对象具有“自治自治”特点,扩展性、可维护性大大提高。特点,扩展性、可维护性大大提高。n n面向对象的概念面向对象的概念:n n类类及及对对象象(ClassClass、Object)Object)n n 继继承(承(Inheritance,Inheritance,泛化)泛化)n n关联关联n n聚合(聚合(AggregationAggregation
9、)n n消息消息(Message)Message)n n多态性(多态性(polymorphismpolymorphism)n n面向对象面向对象=对象对象+分类分类+继承继承+通过消息的通信通过消息的通信n nUMLUML建模建模:一种面向对象的系统分析与开发工具一种面向对象的系统分析与开发工具9.2 UML建模概述建模概述 n n9.2.1 9.2.1 UMLUML简述简述简述简述 n n基于基于UMLUML的分析开发方法的分析开发方法(Unified Modeling Language,Unified Modeling Language,统一建模语言统一建模语言)n n一种面向对象的系统分
10、析与开发工具一种面向对象的系统分析与开发工具;n n1997.11.17,UML1997.11.17,UML被被OMG(Object Management Group)OMG(Object Management Group)接收为标准;接收为标准;UMLUML是在是在Booch,OMTBooch,OMT等方法的基础上引入一些新的理论和描述方法,如:模板类型、等方法的基础上引入一些新的理论和描述方法,如:模板类型、标记值、限制、线程、进程、分布、并发、模式标记值、限制、线程、进程、分布、并发、模式/合作、活动图、精练、接口、合作、活动图、精练、接口、组件、对象约束语言等;组件、对象约束语言等;n
11、 nUMLUML本身是一个完整的建模语言,支持系统开发的不同阶段,从需求分析本身是一个完整的建模语言,支持系统开发的不同阶段,从需求分析 -系统测试;系统测试;n n需求分析阶段:需求分析阶段:UMLUML通过通过用例图(有时也需一些简单的类图、活动图)用例图(有时也需一些简单的类图、活动图)用例图(有时也需一些简单的类图、活动图)用例图(有时也需一些简单的类图、活动图)来捕获用户需求,描述对系统感兴趣的外部角色和他们对系统的功能要来捕获用户需求,描述对系统感兴趣的外部角色和他们对系统的功能要求;求;n n系统分析阶段:主要关心问题域的概念和实体,并得到与问题域直接相系统分析阶段:主要关心问题
12、域的概念和实体,并得到与问题域直接相关的类和对象,以及它们之间的关系(关的类和对象,以及它们之间的关系(类图、顺序图、协作图、状态图、类图、顺序图、协作图、状态图、类图、顺序图、协作图、状态图、类图、顺序图、协作图、状态图、活动图活动图活动图活动图););n n设计阶段:需要定义一些与技术实现相关的类,如:用户接口、数据库、设计阶段:需要定义一些与技术实现相关的类,如:用户接口、数据库、通信和并行等问题,通信和并行等问题,UMLUML提供了强大的静态和动态建模机制(提供了强大的静态和动态建模机制(类图、顺类图、顺类图、顺类图、顺序图、协作图、状态图、活动图、组件图、实施图)序图、协作图、状态图
13、、活动图、组件图、实施图)序图、协作图、状态图、活动图、组件图、实施图)序图、协作图、状态图、活动图、组件图、实施图)n n实现阶段:类实现阶段:类-语言代码;单元测试阶段:依据类图和类的规格说语言代码;单元测试阶段:依据类图和类的规格说明集成测试阶段:测试人员依据明集成测试阶段:测试人员依据构件图和合作图构件图和合作图;系统测试阶段:测试;系统测试阶段:测试人员主要依据用例图来验证系统的行为;人员主要依据用例图来验证系统的行为;9.2 UML建模概述建模概述 n n9.2.1 9.2.1 UMLUML简述简述简述简述 n nUMLUML发展历程发展历程1997.11.17 UML1.1被OM
14、G接纳为标准OOPSLA951996.6和1996.101997.1公布1997.10工业化标准化统一化分 散 的各部分合作伙伴意见UML1.0Unified Method 0.8UML0.9&0.91UML1.1Booch93 OMT-2其它方法 Booch91 OMT-1 OOSE9.2 UML建模概述建模概述 n n9.2.2 9.2.2 UMLUML内容内容内容内容 n nUMLUML语义语义n n描述基于描述基于UMLUML的精确元模型定义的精确元模型定义 n nUMLUML表示方法表示方法表示方法表示方法:五类图形五类图形(共共9 9种种)n n用例图用例图 n n静态图静态图(S
15、tatic diagram)Static diagram),包括类图、对象图和包图包括类图、对象图和包图 n n行为图行为图(Behavior diagram),Behavior diagram),包括包括活动图活动图+状态图状态图n n交互图交互图(Interactive diagram),Interactive diagram),包括包括顺序图顺序图+合作图合作图n n实现图实现图(Implementation diagram),Implementation diagram),包括包括构件图或配置图构件图或配置图n nUMLUML的开发工具的开发工具n nRational RoseRati
16、onal Rosen nUML_DesignerUML_Designer9.2 UML建模概述建模概述 n n9.2.3 9.2.3 UMLUML特点特点特点特点 n nUMLUML统一了统一了BoochBooch、OMTOMT和和OOSEOOSE等方法中的基本概念等方法中的基本概念 n n吸取了面向对象技术领域中其他流派的长处吸取了面向对象技术领域中其他流派的长处n n提出了一些新的概念提出了一些新的概念 9.3 UML建模机制建模机制 n n9.3.1 9.3.1 静态建模静态建模静态建模静态建模 n n使用的工具图包括使用的工具图包括:用例图用例图(Use case diagram)Us
17、e case diagram)、类图类图(Class diagram)Class diagram)、对象图对象图(Object diagram)Object diagram)、包包(Package)Package)、构件图构件图(Component diagram)Component diagram)和配置图和配置图(Deployment diagram)Deployment diagram)n n用例图用例图n n用例图用例图=用例用例+系统边界系统边界+角色角色+角色与用例间的关联角色与用例间的关联n n用例:它定义和描述了系统的外部可见行为功能,刻画了系用例:它定义和描述了系统的外部可见
18、行为功能,刻画了系统的完整功能需求,它和角色之间必须要有统的完整功能需求,它和角色之间必须要有I/OI/O消息;消息;n n角色:它不属于系统,但与系统有交互,负责驱动与之关联角色:它不属于系统,但与系统有交互,负责驱动与之关联的系统用例的执行;它可能是一类人、事物、硬件或其他系的系统用例的执行;它可能是一类人、事物、硬件或其他系统的抽象(是一个类,而不是一个实例);统的抽象(是一个类,而不是一个实例);使用使用设置边界更新帐目风险分析交易估价扩展超越边界的交易进行交易评价贸易售货员记帐系统项目经理营销人员执行者通信联系用例9.3 UML建模机制建模机制 n n9.3.1 9.3.1 静态建模
19、静态建模静态建模静态建模 n n用例图用例图n n角色的识别与描述角色的识别与描述n n谁使用系统的主要功能?谁使用系统的主要功能?n n谁需要系统的支持以完成其日常工作任务?谁需要系统的支持以完成其日常工作任务?n n谁负责维护、管理并保持系统正常运转?谁负责维护、管理并保持系统正常运转?n n系统需要应付(处理)哪些硬设备?系统需要应付(处理)哪些硬设备?n n系统需要和哪些外部系统交互?系统需要和哪些外部系统交互?n n谁对系统的结果感兴趣?谁对系统的结果感兴趣?角色:角色职责:角色识别问题:9.3 UML建模机制建模机制 n n9.3.1 9.3.1 静态建模静态建模静态建模静态建模
20、n n用例图用例图n n角色识别示例:考虑一个角色识别示例:考虑一个ATMATM系统系统n n谁使用系统的主要功能?谁使用系统的主要功能?n n储户储户n n谁需要系统的支持以完成其日常工作任务?谁需要系统的支持以完成其日常工作任务?n n出纳员?出纳员?n n谁负责维护、管理并保持系统正常运转?谁负责维护、管理并保持系统正常运转?n nATMATM系统工程师、银行人员系统工程师、银行人员n n系统需要应付(处理)哪些硬设备?系统需要应付(处理)哪些硬设备?n n储户身份、帐户标识卡(信用卡)储户身份、帐户标识卡(信用卡)n n系统需要和哪些外部系统交互?系统需要和哪些外部系统交互?n n不清
21、楚不清楚n n谁对系统的结果感兴趣?谁对系统的结果感兴趣?n n银行会计、储户银行会计、储户角色:储户、银行人员、信用卡、银行会计角色:储户、银行人员、信用卡、银行会计角色:储户、银行人员、信用卡、银行会计角色:储户、银行人员、信用卡、银行会计角色角色:储户角色职责角色职责:插入信用卡 输入口令 输入交易金额角色识别问题角色识别问题:(1)使用系统主要功能 (2)对系统运行结果感兴趣9.3 UML建模机制建模机制 n n9.3.1 9.3.1 静态建模静态建模静态建模静态建模 n n用例图用例图n n用例识别与描述用例识别与描述n n用例定义:用来描述角色可以感受到的完整的功能,在用例定义:用
22、来描述角色可以感受到的完整的功能,在UMLUML中中定义为:定义为:“由系统执行的一个动作由系统执行的一个动作(action)action)序列,并能产生可观序列,并能产生可观察的结果值给某个特定的角色察的结果值给某个特定的角色”;n n特征:特征:n n用例通常由某个角色来驱动执行;用例通常由某个角色来驱动执行;n n用例把执行结果的值反馈给角色;用例把执行结果的值反馈给角色;n n用例在功能上具有完整性;用例在功能上具有完整性;n n每个用例都必须从输入开始,直至产生结果值输出给角色每个用例都必须从输入开始,直至产生结果值输出给角色(这一点与数据流图中的分解后的功能不一样这一点与数据流图中
23、的分解后的功能不一样);同时具有相;同时具有相对完整的功能;在功能执行的过程中可能还会产生诸多变化对完整的功能;在功能执行的过程中可能还会产生诸多变化情况、错误情况、异常情况等;情况、错误情况、异常情况等;n n用例在本质上是一个类,因此用例和角色之间的连接用关用例在本质上是一个类,因此用例和角色之间的连接用关联(联(AssociationAssociation)来实现来实现用例之间的二种关系:用例之间的二种关系:n n扩展与使用都是继承的关系,但扩展强调的是一般类与特殊类的关系扩展与使用都是继承的关系,但扩展强调的是一般类与特殊类的关系扩展与使用都是继承的关系,但扩展强调的是一般类与特殊类的
24、关系扩展与使用都是继承的关系,但扩展强调的是一般类与特殊类的关系(可重载或覆盖);而使用是指几个类之间的相似之处而抽象出的类(可重载或覆盖);而使用是指几个类之间的相似之处而抽象出的类(可重载或覆盖);而使用是指几个类之间的相似之处而抽象出的类(可重载或覆盖);而使用是指几个类之间的相似之处而抽象出的类(只增加专属自己的行为,无须重载或覆盖)。(只增加专属自己的行为,无须重载或覆盖)。(只增加专属自己的行为,无须重载或覆盖)。(只增加专属自己的行为,无须重载或覆盖)。n n一般讲,一个角色与一个用类有关联关系时,则与它的扩展用类都有一般讲,一个角色与一个用类有关联关系时,则与它的扩展用类都有一
25、般讲,一个角色与一个用类有关联关系时,则与它的扩展用类都有一般讲,一个角色与一个用类有关联关系时,则与它的扩展用类都有关联,但与它的使用用例并不一定有关联;关联,但与它的使用用例并不一定有关联;关联,但与它的使用用例并不一定有关联;关联,但与它的使用用例并不一定有关联;extendsusesuses用例扩展用例使用9.3 UML建模机制建模机制 n n9.3.1 9.3.1 静态建模静态建模静态建模静态建模 n n类图类图类图类图 n n类图从静态的角度描述了系统中所有类及类之间的关系,如:类图从静态的角度描述了系统中所有类及类之间的关系,如:关联、聚合、继承;同时类图还描述了类的属性及操作关
26、联、聚合、继承;同时类图还描述了类的属性及操作.9.3 UML建模机制建模机制 n n9.3.1 9.3.1 静态建模静态建模静态建模静态建模 n n类图类图类图类图 n n如何标识类?如何标识类?n n类的识别是贯穿整个类的识别是贯穿整个OOOO开发过程中的一个重要活动:开发过程中的一个重要活动:n n在分析阶段在分析阶段-识别问题域相关的类;识别问题域相关的类;n n在设计阶段在设计阶段-需加入一些反映设计思想、设计方法的类,需加入一些反映设计思想、设计方法的类,以及实现问题域所需的其它类;以及实现问题域所需的其它类;n n在编码实现阶段在编码实现阶段-根据语言的特点,可能还需加入一些根据
27、语言的特点,可能还需加入一些其它的类其它的类9.3 UML建模机制建模机制 n n9.3.1 9.3.1 静态建模静态建模静态建模静态建模 n n对象图对象图对象图对象图 n nUMLUML中对象图与类图具有相同的表示形式。对象图可以看作中对象图与类图具有相同的表示形式。对象图可以看作是类图的一个实例。对象是类的实例;对象之间的链是类图的一个实例。对象是类的实例;对象之间的链(Link)Link)是类之间的关联的实例。对象与类的图形表示相似,均为划是类之间的关联的实例。对象与类的图形表示相似,均为划分成两个格子的长方形分成两个格子的长方形(下面的格子可省略下面的格子可省略)。上面的格子是。上面
28、的格子是对象名,对象名下有下划线;下面的格子记录属性值。链的对象名,对象名下有下划线;下面的格子记录属性值。链的图形表示与关联相似。对象图常用于表示复杂的类图的一个图形表示与关联相似。对象图常用于表示复杂的类图的一个实例。实例。9.3 UML建模机制建模机制 n n9.3.1 9.3.1 静态建模静态建模静态建模静态建模 n n包图包图包图包图 n nUMLUML中对象图与类图具有相同的表示形式。对象图可以看作中对象图与类图具有相同的表示形式。对象图可以看作是类图的一个实例。对象是类的实例;对象之间的链是类图的一个实例。对象是类的实例;对象之间的链(Link)Link)是类之间的关联的实例。对
29、象与类的图形表示相似,均为划是类之间的关联的实例。对象与类的图形表示相似,均为划分成两个格子的长方形分成两个格子的长方形(下面的格子可省略下面的格子可省略)。上面的格子是。上面的格子是对象名,对象名下有下划线;下面的格子记录属性值。链的对象名,对象名下有下划线;下面的格子记录属性值。链的图形表示与关联相似。对象图常用于表示复杂的类图的一个图形表示与关联相似。对象图常用于表示复杂的类图的一个实例。实例。9.3 UML建模机制建模机制 n n9.3.1 9.3.1 静态建模静态建模静态建模静态建模 n n构件图和配置图构件图和配置图构件图和配置图构件图和配置图 n n构件图构件图(Componen
30、t diagram)Component diagram)和配置图和配置图(Deployment diagram)Deployment diagram)显显示系统实现时的一些特性,包括源代码的静态结构和运行时示系统实现时的一些特性,包括源代码的静态结构和运行时刻的实现结构。构件图显示代码本身的结构,配置图显示系刻的实现结构。构件图显示代码本身的结构,配置图显示系统运行时刻的结构。统运行时刻的结构。9.3 UML建模机制建模机制 n n9.3.2 9.3.2 动态建模动态建模动态建模动态建模 n n消息消息消息消息 n n在面向对象技术中,对象间的交互是通过对象间消息的传递在面向对象技术中,对象间
31、的交互是通过对象间消息的传递来完成的来完成的;n n在在UMLUML中,消息的图形表示是用带有箭头的线段将消息的发中,消息的图形表示是用带有箭头的线段将消息的发送者和接收者联系起来,箭头的类型表示消息的类型送者和接收者联系起来,箭头的类型表示消息的类型 n n三种消息类型三种消息类型:简单消息简单消息(Simple Message)Simple Message)、同步消息同步消息(Synchronous Message)Synchronous Message)、异步消息异步消息(Asynchronous Asynchronous Message)Message)。n n状态图状态图状态图状态图
32、 n n状态图(状态图(State DiagramState Diagram)用来描述一个特定对象的所有可能用来描述一个特定对象的所有可能状态及其引起状态转移的事件。大多数面向对象技术都用状状态及其引起状态转移的事件。大多数面向对象技术都用状态图表示单个对象在其生命周期中的行为。一个状态图包括态图表示单个对象在其生命周期中的行为。一个状态图包括一系列的状态以及状态之间的转移一系列的状态以及状态之间的转移 。9.3 UML建模机制建模机制 n n9.3.2 9.3.2 动态建模动态建模动态建模动态建模 n n顺序图顺序图顺序图顺序图 n n顺序图(顺序图(Sequence DiagramSequ
33、ence Diagram)用来描述对象之间动态的交互关用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。顺序图存在两个系,着重体现对象间消息传递的时间顺序。顺序图存在两个轴轴:水平轴表示不同的对象,垂直轴表示时间。顺序图中的对水平轴表示不同的对象,垂直轴表示时间。顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。对象间的通信通过在对象的生命线间画消息来表示。在的。对象间的通信通过在对象的生命线间画消息
34、来表示。消息的箭头指明消息的类型消息的箭头指明消息的类型 。n n合作图合作图合作图合作图 n n合作图合作图(Collaboration Diagram)Collaboration Diagram)用于描述相互合作的对象间用于描述相互合作的对象间的交互关系和链接关系。虽然顺序图和合作图都用来描述对的交互关系和链接关系。虽然顺序图和合作图都用来描述对象间的交互关系,但侧重点不一样。顺序图着重体现交互的象间的交互关系,但侧重点不一样。顺序图着重体现交互的时间顺序,合作图则着重体现交互对象间的静态链接关系时间顺序,合作图则着重体现交互对象间的静态链接关系 。9.3 UML建模机制建模机制 n n9
35、.3.2 9.3.2 动态建模动态建模动态建模动态建模 n n活动图活动图活动图活动图(Activity Diagram)Activity Diagram)Activity Diagram)Activity Diagram)n n活动图是由状态图变化而来的,它们各自用于不同的目的。活动图是由状态图变化而来的,它们各自用于不同的目的。活动图依据对象状态的变化来捕获动作活动图依据对象状态的变化来捕获动作(将要执行的工作或活将要执行的工作或活动动)与动作的结果。活动图中一个活动结束后将立即进入下一与动作的结果。活动图中一个活动结束后将立即进入下一个活动个活动(在状态图中状态的变迁可能需要事件的触发在
36、状态图中状态的变迁可能需要事件的触发)。9.4 Web应用程序的建模应用程序的建模 n n9.4.1 9.4.1 WebWeb应用程序架构应用程序架构应用程序架构应用程序架构 n n WebWeb应用程序的含义:应用程序的含义:一个基于一个基于WebWeb系统的具有业务系统的具有业务状态的应用状态的应用 n n组成:组成:n n客户端客户端WebWeb页(包含脚本、控件、表单、框架、超链接等)页(包含脚本、控件、表单、框架、超链接等)n n服务器端服务器端WebWeb页(包含各种动态脚本、组件、接口等)页(包含各种动态脚本、组件、接口等)n n数据库数据库9.4 Web应用程序的建模应用程序的
37、建模 n n9.4.2 9.4.2 WebWeb应用程序建模的步骤应用程序建模的步骤应用程序建模的步骤应用程序建模的步骤 n n确定建模的对象确定建模的对象确定建模的对象确定建模的对象 n n将建模的对象映射到建模元素将建模的对象映射到建模元素将建模的对象映射到建模元素将建模的对象映射到建模元素 9.4 Web应用程序的建模应用程序的建模 n n9.4.3 9.4.3 对对对对WebWeb应用程序特定元素进行建模应用程序特定元素进行建模应用程序特定元素进行建模应用程序特定元素进行建模 n nWebWeb页面建模页面建模:用户在使用用户在使用WebWeb应用系统时,是通过页面进行系统的操作。在页
38、应用系统时,是通过页面进行系统的操作。在页面建模中可用两个类别模板面建模中可用两个类别模板Client PageClient Page和和Sever PageSever Page分别表示客户端页面分别表示客户端页面和服务器端页面。和服务器端页面。n n客户端页面的属性是页的作用域中定义的变量;方法是页面脚本中的函数;客户端页面的属性是页的作用域中定义的变量;方法是页面脚本中的函数;n n服务器页面的属性是页面脚本中的变量;方法是脚本中定义的函数。服务器页面的属性是页面脚本中的变量;方法是脚本中定义的函数。n n在使用页面信息传递时,还可能出现服务器页面的重定向,在在使用页面信息传递时,还可能出
39、现服务器页面的重定向,在UMLUML建模中,用类别模板建模中,用类别模板redirectredirect来表示;来表示;n n对于客户端页面和服务器页面的构造关联用类别模板对于客户端页面和服务器页面的构造关联用类别模板bulidbulid表示,这种关联是一种单表示,这种关联是一种单向关联,由服务器页面指向客户端页面,具体表示如图所示。向关联,由服务器页面指向客户端页面,具体表示如图所示。n n在在WebWeb应用系统中,还会经常用到的就是超级链接,在应用系统中,还会经常用到的就是超级链接,在UMLUML建模中,用类别模板建模中,用类别模板linklink表示超级链接,它的参数模拟为链接属性表示
40、超级链接,它的参数模拟为链接属性9.4 Web应用程序的建模应用程序的建模 n n9.4.3 9.4.3 对对对对WebWeb应用程序特定元素进行建模应用程序特定元素进行建模应用程序特定元素进行建模应用程序特定元素进行建模 n n表单建模表单建模:用户一般通过表单与数据库交互。用户一般通过表单与数据库交互。n n在在UMLUML建模中,表单用类别模板建模中,表单用类别模板formform表示,属性是表单中的域,表示,属性是表单中的域,表单没有方法。表单在处理请求时,要与表单没有方法。表单在处理请求时,要与WebWeb页面交流数据,这个交页面交流数据,这个交流过程是用提交按钮流过程是用提交按钮s
41、ubmitsubmit来完成,为了在建模中表示这种关系,用来完成,为了在建模中表示这种关系,用类别模板类别模板submitsubmit表示。表示。9.4 Web应用程序的建模应用程序的建模 n n9.4.3 9.4.3 对对对对WebWeb应用程序特定元素进行建模应用程序特定元素进行建模应用程序特定元素进行建模应用程序特定元素进行建模 n n组件建模组件建模n n在在UMLUML基本的图形化建模元素中,设立了专门的组件图。组件在使基本的图形化建模元素中,设立了专门的组件图。组件在使用过程中,同样的分成了客户端组件用过程中,同样的分成了客户端组件(如如Java Applet,ActiveXJav
42、a Applet,ActiveX控件控件)和和服务器端组件。在系统的服务器端组件。在系统的UMLUML模型化表示中,用类别模板模型化表示中,用类别模板Client Client ComponentComponent表示客户端组件,用表示客户端组件,用Sever ComponentSever Component表示服务器端表示服务器端组件组件.9.4 Web应用程序的建模应用程序的建模 n n9.4.3 9.4.3 对对对对WebWeb应用程序特定元素进行建模应用程序特定元素进行建模应用程序特定元素进行建模应用程序特定元素进行建模 n n框架建模框架建模n n框架通过定义类别模板元素框架通过定义
43、类别模板元素framesetframeset来实现,来实现,framesetframeset指定并命指定并命名各个框架,每个框架容纳一个页面;框架的使用还涉及到目标名各个框架,每个框架容纳一个页面;框架的使用还涉及到目标targettarget,建模时用建模时用targettarget来表示。来表示。9.4 Web应用程序的建模应用程序的建模 n n9.4.3 9.4.3 对对对对WebWeb应用程序特定元素进行建模应用程序特定元素进行建模应用程序特定元素进行建模应用程序特定元素进行建模 n n对对WebWeb页进行建模实例页进行建模实例n n一个网上活塞一个网上活塞PDMPDM系统系统-“-
44、“活塞新产品开发的项目审批过程活塞新产品开发的项目审批过程”设计(建模)设计(建模),考虑要点:,考虑要点:n n活塞活塞PDMPDM系统是在传统系统是在传统PDMPDM系统的基础上,引入了组件技术和系统的基础上,引入了组件技术和WebWeb技术,技术,对数据流程的处理更趋于简易性和方便性。在对该系统的建模过程中,对数据流程的处理更趋于简易性和方便性。在对该系统的建模过程中,要体现整个系统前台与后台间数据交互的流程。要体现整个系统前台与后台间数据交互的流程。n n在设计时,主要用类图和组件图来表现系统。在设计模型图时,采用了在设计时,主要用类图和组件图来表现系统。在设计模型图时,采用了先整体后
45、局部的思路,首先考虑整个系统的案例图,再对子模块进行分先整体后局部的思路,首先考虑整个系统的案例图,再对子模块进行分析和设计,在每个子模块数据流的入口和出口设置模型图间数据交互的析和设计,在每个子模块数据流的入口和出口设置模型图间数据交互的接口。接口。n n活塞新产品开发的项目审批过程活塞新产品开发的项目审批过程9.4 Web应用程序的建模应用程序的建模 n n9.4.3 9.4.3 对对对对WebWeb应用程序特定元素进行建模应用程序特定元素进行建模应用程序特定元素进行建模应用程序特定元素进行建模 n n对对WebWeb页进行建模实例页进行建模实例n n总经理评审功能总经理评审功能n n总经理评审功能对应的类图总经理评审功能对应的类图9.4 Web应用程序的建模应用程序的建模 n n9.4.3 9.4.3 对对对对WebWeb应用程序特定元素进行建模应用程序特定元素进行建模应用程序特定元素进行建模应用程序特定元素进行建模 n n对对WebWeb页进行建模实例页进行建模实例n n总经理评审的组件图总经理评审的组件图Any Questions orComments?
限制150内