基于UML电子商务系统开发技术应用讲义_第1页
基于UML电子商务系统开发技术应用讲义_第2页
基于UML电子商务系统开发技术应用讲义_第3页
基于UML电子商务系统开发技术应用讲义_第4页
基于UML电子商务系统开发技术应用讲义_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于UML电子商务系统开发技术应用讲义9.1建模的提出9.1.1建模的目的

便于了解系统结构

便于代码维护

促进用户和开发人员对业务模型的一致理解和沟通

9.1建模的提出9.1.2电子商务系统的建模方法方法面向过程的建模、面向数据的建模、面向信息的建模、面向决策的建模和面向对象的建模

面向过程的建模:结构化的分析开发方法(DFD)结构化分析方法的基本出发点是:一个计算机处理系统是由数据流和一系列的处理转换过程构成的,处理转换过程将输入数据流转化为输出数据流,即计算机数据处理过程可以归结为“输入数据(Input)处理转换(Process)输出数据(Output)”这样的IPO过程,所以结构化分析方法将分析的重点集中与数据及其处理过程。结构化分析方法采用数据流图(DFD:DataFlowDiagram)作为刻画数据流及其处理转换的工具,通过一些图形符号表述数据源、数据流向、处理转换等;此外结构化分析方法采用数据字典(DD:DataDictionary)来表示各类数据;可以通过判定表、决策树的方式描述处理转换的过程的细节数据流图以直观的形式描述系统中数据的流动和数据的变化。需要注意的是数据流图和程序设计中的程序流程图(FlowChat)是不同的,数据流图关心的是企业业务系统中的数据处理加工的客观过程,并不关心未来电子化处理的加工过程;数据流图中流动的只是数据,并没有控制过程,但在程序流程图当中,必须有控制逻辑。取款人账目非法提单数据实体数据存储数据流合法性检查合法的取款单处理转换取款单9.1建模的提出9.1.2电子商务系统的建模方法面向对象的建模结构化分析方法把系统看作一系列的功能节点,节点间的联系通过数据流来实现;面向对象方法认为系统由一系列彼此独立却又相互联系的实体对象组成,对象间通过消息传递和数据关联(数据流)来实现相互联系。对象(类)既可是一个实体,也可是一项活动,或一个抽象的东西.面向对象方法流行的关键在于:1)面向对象看待现实世界的方式和现实世界的组织方式是一致的,它能够直接将问题域结构咉射到系统模型中;2)面向对象方法支持软件重用,可降低成本,提高质量;3)对象具有“自治”特点,扩展性、可维护性大大提高。面向对象的概念:类及对象(Class、Object)

继承(Inheritance,泛化)关联聚合(Aggregation)消息(Message)多态性(polymorphism)面向对象=对象+分类+继承+通过消息的通信UML建模:一种面向对象的系统分析与开发工具9.2UML建模概述9.2.1UML简述基于UML的分析开发方法(UnifiedModelingLanguage,统一建模语言)一种面向对象的系统分析与开发工具;1997.11.17,UML被OMG(ObjectManagementGroup)接收为标准;UML是在Booch,OMT等方法的基础上引入一些新的理论和描述方法,如:模板类型、标记值、限制、线程、进程、分布、并发、模式/合作、活动图、精练、接口、组件、对象约束语言等;UML本身是一个完整的建模语言,支持系统开发的不同阶段,从需求分析>系统测试;需求分析阶段:UML通过用例图(有时也需一些简单的类图、活动图)来捕获用户需求,描述对系统感兴趣的外部角色和他们对系统的功能要求;系统分析阶段:主要关心问题域的概念和实体,并得到与问题域直接相关的类和对象,以及它们之间的关系(类图、顺序图、协作图、状态图、活动图);设计阶段:需要定义一些与技术实现相关的类,如:用户接口、数据库、通信和并行等问题,UML提供了强大的静态和动态建模机制(类图、顺序图、协作图、状态图、活动图、组件图、实施图)实现阶段:类>语言代码;单元测试阶段:依据类图和类的规格说明集成测试阶段:测试人员依据构件图和合作图;系统测试阶段:测试人员主要依据用例图来验证系统的行为;9.2UML建模概述9.2.1UML简述UML发展历程1997.11.17UML1.1被OMG接纳为标准OOPSLA951996.6和1996.101997.1公布1997.10工业化标准化统一化分散的各部分合作伙伴意见UML1.0UnifiedMethod0.8UML0.9&0.91UML1.1Booch93OMT-2其它方法Booch91OMT-1OOSE9.2UML建模概述9.2.2UML内容UML语义描述基于UML的精确元模型定义

UML表示方法:五类图形(共9种)用例图

静态图(Staticdiagram),包括类图、对象图和包图

行为图(Behaviordiagram),包括活动图+状态图交互图(Interactivediagram),包括顺序图+合作图实现图(Implementationdiagram),包括构件图或配置图UML的开发工具RationalRoseUML_Designer9.2UML建模概述9.2.3UML特点UML统一了Booch、OMT和OOSE等方法中的基本概念

吸取了面向对象技术领域中其他流派的长处提出了一些新的概念

9.3UML建模机制9.3.1静态建模使用的工具图包括:用例图(Usecasediagram)、类图(Classdiagram)、对象图(Objectdiagram)、包(Package)、构件图(Componentdiagram)和配置图(Deploymentdiagram)用例图用例图=用例+系统边界+角色+角色与用例间的关联用例:它定义和描述了系统的外部可见行为功能,刻画了系统的完整功能需求,它和角色之间必须要有I/O消息;角色:它不属于系统,但与系统有交互,负责驱动与之关联的系统用例的执行;它可能是一类人、事物、硬件或其他系统的抽象(是一个类,而不是一个实例);《使用》《使用》设置边界更新帐目风险分析交易估价《扩展》超越边界的交易进行交易评价贸易售货员记帐系统项目经理营销人员执行者通信联系用例9.3UML建模机制9.3.1静态建模用例图角色的识别与描述谁使用系统的主要功能?谁需要系统的支持以完成其日常工作任务?谁负责维护、管理并保持系统正常运转?系统需要应付(处理)哪些硬设备?系统需要和哪些外部系统交互?谁对系统的结果感兴趣?角色:角色职责:角色识别问题:9.3UML建模机制9.3.1静态建模用例图角色识别示例:考虑一个ATM系统谁使用系统的主要功能?储户谁需要系统的支持以完成其日常工作任务?出纳员?谁负责维护、管理并保持系统正常运转?ATM系统工程师、银行人员系统需要应付(处理)哪些硬设备?储户身份、帐户标识卡(信用卡)系统需要和哪些外部系统交互?不清楚谁对系统的结果感兴趣?银行会计、储户 角色:储户、银行人员、信用卡、银行会计角色:储户角色职责:插入信用卡输入口令输入交易金额角色识别问题:(1)使用系统主要功能(2)对系统运行结果感兴趣9.3UML建模机制9.3.1静态建模用例图用例识别与描述用例定义:用来描述角色可以感受到的完整的功能,在UML中定义为:“由系统执行的一个动作(action)序列,并能产生可观察的结果值给某个特定的角色”;特征:用例通常由某个角色来驱动执行;用例把执行结果的值反馈给角色;用例在功能上具有完整性;每个用例都必须从输入开始,直至产生结果值输出给角色(这一点与数据流图中的分解后的功能不一样);同时具有相对完整的功能;在功能执行的过程中可能还会产生诸多变化情况、错误情况、异常情况等;用例在本质上是一个类,因此用例和角色之间的连接用关联(Association)来实现用例之间的二种关系:扩展与使用都是继承的关系,但扩展强调的是一般类与特殊类的关系(可重载或覆盖);而使用是指几个类之间的相似之处而抽象出的类(只增加专属自己的行为,无须重载或覆盖)。一般讲,一个角色与一个用类有关联关系时,则与它的扩展用类都有关联,但与它的使用用例并不一定有关联;《extends》《uses》《uses》用例扩展用例使用9.3UML建模机制9.3.1静态建模类图

类图从静态的角度描述了系统中所有类及类之间的关系,如:关联、聚合、继承;同时类图还描述了类的属性及操作.9.3UML建模机制9.3.1静态建模类图

如何标识类?类的识别是贯穿整个OO开发过程中的一个重要活动:在分析阶段识别问题域相关的类;在设计阶段需加入一些反映设计思想、设计方法的类,以及实现问题域所需的其它类;在编码实现阶段根据语言的特点,可能还需加入一些其它的类9.3UML建模机制9.3.1静态建模对象图UML中对象图与类图具有相同的表示形式。对象图可以看作是类图的一个实例。对象是类的实例;对象之间的链(Link)是类之间的关联的实例。对象与类的图形表示相似,均为划分成两个格子的长方形(下面的格子可省略)。上面的格子是对象名,对象名下有下划线;下面的格子记录属性值。链的图形表示与关联相似。对象图常用于表示复杂的类图的一个实例。

9.3UML建模机制9.3.1静态建模包图UML中对象图与类图具有相同的表示形式。对象图可以看作是类图的一个实例。对象是类的实例;对象之间的链(Link)是类之间的关联的实例。对象与类的图形表示相似,均为划分成两个格子的长方形(下面的格子可省略)。上面的格子是对象名,对象名下有下划线;下面的格子记录属性值。链的图形表示与关联相似。对象图常用于表示复杂的类图的一个实例。

9.3UML建模机制9.3.1静态建模构件图和配置图构件图(Componentdiagram)和配置图(Deploymentdiagram)显示系统实现时的一些特性,包括源代码的静态结构和运行时刻的实现结构。构件图显示代码本身的结构,配置图显示系统运行时刻的结构。

9.3UML建模机制9.3.2动态建模消息

在面向对象技术中,对象间的交互是通过对象间消息的传递来完成的;在UML中,消息的图形表示是用带有箭头的线段将消息的发送者和接收者联系起来,箭头的类型表示消息的类型

三种消息类型:简单消息(SimpleMessage)、同步消息(SynchronousMessage)、异步消息(AsynchronousMessage)。状态图

状态图(StateDiagram)用来描述一个特定对象的所有可能状态及其引起状态转移的事件。大多数面向对象技术都用状态图表示单个对象在其生命周期中的行为。一个状态图包括一系列的状态以及状态之间的转移。

9.3UML建模机制9.3.2动态建模顺序图

顺序图(SequenceDiagram)用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。顺序图存在两个轴:水平轴表示不同的对象,垂直轴表示时间。顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。对象间的通信通过在对象的生命线间画消息来表示。消息的箭头指明消息的类型

。合作图合作图(CollaborationDiagram)用于描述相互合作的对象间的交互关系和链接关系。虽然顺序图和合作图都用来描述对象间的交互关系,但侧重点不一样。顺序图着重体现交互的时间顺序,合作图则着重体现交互对象间的静态链接关系。9.3UML建模机制9.3.2动态建模活动图(ActivityDiagram)活动图是由状态图变化而来的,它们各自用于不同的目的。活动图依据对象状态的变化来捕获动作(将要执行的工作或活动)与动作的结果。活动图中一个活动结束后将立即进入下一个活动(在状态图中状态的变迁可能需要事件的触发)。9.4Web应用程序的建模9.4.1Web应用程序架构

Web应用程序的含义:一个基于Web系统的具有业务状态的应用

组成:客户端Web页(包含脚本、控件、表单、框架、超链接等)服务器端Web页(包含各种动态脚本、组件、接口等)数据库9.4Web应用程序的建模9.4.2Web应用程序建模的步骤确定建模的对象将建模的对象映射到建模元素9.4Web应用程序的建模9.4.3对Web应用程序特定元素进行建模

Web页面建模:用户在使用Web应用系统时,是通过页面进行系统的操作。在页面建模中可用两个类别模板《ClientPage》和《SeverPage》分别表示客户端页面和服务器端页面。客户端页面的属性是页的作用域中定义的变量;方法是页面脚本中的函数;服务器页面的属性是页面脚本中的变量;方法是脚本中定义的函数。在使用页面信息传递时,还可能出现服务器页面的重定向,在UML建模中,用类别模板《redirect》来表示;对于客户端页面和服务器页面的构造关联用类别模板《bulid》表示,这种关联是一种单向关联,由服务器页面指向客户端页面,具体表示如图所示。在Web应用系统中,还会经常用到的就是超级链接,在UML建模中,用类别模板《link》表示超级链接,它的参数模拟为链接属性9.4Web应用程序的建模9.4.3对Web应用程序特定元素进行建模

表单建模:用户一般通过表单与数据库交互。在UML建模中,表单用类别模板《form》表示,属性是表单中的域,表单没有方法。表单在处理请求时,要与Web页面交流数据,这个交流过程是用提交按钮submit来完成,为了在建模中表示这种关系,用类别模板《submit》表示。9.4Web应用程序的建模9.4.3对Web应用程序特定元素进行建模

组件建模在UML基本的图形化建模元素中,设立了专门的组件图。组件在使用过程中,同样的分成了客户端组件(如JavaApplet,Activ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论