UML中的几种其他图

合集下载

UML各种图例齐全—用例图、类图、状态图、包图、协作图、顺序图详细说明书画法和功能

UML各种图例齐全—用例图、类图、状态图、包图、协作图、顺序图详细说明书画法和功能

UML各种图例面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language ™),这篇课程的目的是展示出UML的精彩之处.UML中有九种建模的图标,即:∙用例图∙类图∙对象图∙顺序图∙协作图∙状态图∙活动图∙组件图∙配置图本课程中的某些部分包含了这些图的细节信息的页面链接.而且每个部分都有一个小问题,测试一下你对这个部分的理解.为什么UML很重要?为了回答这个问题,我们看看建筑行业.设计师设计出房子.施工人员使用这个设计来建造房子.建筑越复杂,设计师和施工人员之间的交流就越重要.蓝图就成标准文档为了这个行业中的设计师和施工人员的必修课.写软件就好像建造建筑物一样.系统越复杂,参与编写与配置软件的人员之间的交流也就越重要.在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”.现在它已经成为了软件行业的一部分了.UML提供了分析师,设计师和程序员之间在软件设计时的通用语言.UML被应用到面向对象的问题的解决上.想要学习UML必须熟悉面向对象解决问题的根本原则――都是从模型的建造开始的.一个模型model就是根本问题的抽象.域domain就是问题所处的真实世界.模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的.记住把一个对象想象成“活着的”.对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviors or operations).对象的属性的值决定了它的状态state.类Classes是对象的“蓝图”.一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数).对象是类的实例instances.用例图用例图Use case diagrams描述了作为一个外部的观察者的视角对系统的印象.强调这个系统是什么而不是这个系统怎么工作.用例图与情节紧紧相关的.情节scenario是指当某个人与系统进行互动时发生的情况.下面是一个医院门诊部的情节.“一个病人打电话给门诊部预约一年一次的身体检查.接待员找出在预约记录本上找出最近的没有预约过的时间,并记上那个时间的预约记录.”用例Use case是为了完成一个工作或者达到一个目的的一系列情节的总和.角色actor是发动与这个工作有关的事件的人或者事情.角色简单的扮演着人或者对象的作用.下面的图是一个门诊部Make Appointment用例.角色是病人.角色与用例的联系是通讯联系communication association(或简称通讯communication)标准文档角色是人状的图标,用例是一个椭圆,通讯是连接角色和用例的线.一个用例图是角色,用例,和它们之间的联系的集合.我们已经把Make Appointment作为一个含有四个角色和四个用例的图的一部分.注意一个单独的用例可以有多个角色.用例图在三个领域很有作用.决定特征(需求).当系统已经分析好并且设计成型时,新的用例产生新的需求标准文档∙客户通讯.使用用例图很容易表示开发者与客户之间的联系.∙产生测试用例.一个用例的情节可能产生这些情节的一批测试用例.类图类图Class diagram通过显示出系统的类以及这些类之间的关系来表示系统.类图是静态的-它们显示出什么可以产生影响但不会告诉你什么时候产生影响.下面是一个顾客从零售商处预定商品的模型的类图.中心的类是Order.连接它的是购买货物的Customer和Payment.Payment有三种形式:Cash,Check,或者Credit.订单包括OrderDetails(line item),每个这种类都连着Item.标准文档UML类的符号是一个被划分成三块的方框:类名,属性,和操作.抽象类的名字,像Payment是斜体的.类之间的关系是连接线.类图有三种关系.关联association-表示两种类的实例间的关系.如果一个类的实例必须要用另一个类的实例才能完成工作时就要用关联.在图中,关联用两个类之间的连线表示.标准文档标准文档为了简单地表示出复杂的类图,可以把类组合成包packages.一个包是UML上有逻辑关系的元件的集合.下面这个图是是一个把类组合成包的一个商业模型.dependencies关系.如果另一个的包B改变可能会导致一个包A改变,则包A依赖包B.包是用一个在上方带有小标签的矩形表示的.包名写在标签上或者在矩形里面.点化线箭头表示依赖对象图Object diagrams用来表示类的实例.他们在解释复杂关系的细小问题时(特别是递归关系时)很有用.这个类图示一个大学的Department可以包括其他很多的Departments.标准文档这个对象图示上面类图的实例.用了很多具体的例子.UML中实例名带有下划线.只要意思清楚,类或实例名可以在对象图中被省略.标准文档每个类图的矩形对应了一个单独的实例.实例名称中所强调的UML图表.类或实例的名称可能是省略对象图表只要图的意义仍然是明确的.顺序图类图和对象图是静态模型的视图.交互图是动态的.他们描述了对象间的交互作用.顺序图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线.消息用从一个对象的生命线到另一个对象生命线的箭头表示.箭头以时间顺序在图中从上到下排列.标准文档协作图协作图也是互动的图表.他们像序列图一样也传递相同的信息,但他们不关心什么时候消息被传递,只关心对象的角色.在序列图中,对象的角色放在上面而消息则是连接线.标准文档对象角色矩形上标有类或对象名(或者都有).类名前面有个冒号(:).协作图的每个消息都有一个序列号.顶层消息的数字是1.同一个等级的消息(也就是同一个调用中的消息)有同样的数字前缀,再根据他们出现的顺序增加一个后缀1,2等等.状态图对象拥有行为和状态.对象的状态是由对象当前的行动和条件决定的.状态图statechart diagram显示出了对象可能的状态以及由状态改变而导致的转移.标准文档我们的模型例图建立了一个银行的在线登录系统.登录过程包括输入合法的密码和个人账号,再提交给系统验证信息.登录系统可以被划分为四种不重叠的状态:Getting SSN, Getting PIN, Validating, 以及 Rejecting.每个状态都有一套完整的转移transitions来决定状态的顺序.标准文档状态是用圆角矩形来表示的.转移则是使用带箭头的连线表示.触发转移的事件或者条件写在箭头的旁边.我们的图上有两个自转移.一个是在Getting SSN,另一个则在上Getting PIN.初始状态(黑色圆圈)是开始动作的虚拟开始.结束状态也是动作的虚拟结束.事件或条件触发动作时用(/动作)表示.当进入Validating状态时,对象并不等外部事件触发转移.取而代之,它产生一个动作.动作的结果决定了下一步的状态.活动图活动图activity diagram是一个很特别的流程图.活动图和状态图之间是有关系的.状态图把焦点集中在过程中的对象身上,而活动图则集中在一个单独过程动作流程.活动图告诉了我们活动之间的依赖关系.对我们的例子来说,我们使用如下的过程.“通过ATM来取钱.”这个活动有三个类Customer, ATM和 Bank.整个过程从黑色圆圈开始到黑白的同心圆结束.活动用圆角矩形表示.标准文档标准文档标准文档。

UML的流程图

UML的流程图

UML的流程图UML是一种面向对象的统一建模语言,用于快速地描述软件系统的结构、行为和交互。

而流程图是UML中的一种图形语言,用于对系统中的流程进行描述和设计。

本文将为大家介绍UML流程图的概念、种类、结构和使用方法。

概念UML流程图,也称UML活动图,是一种图形化的表示算法、流程和业务过程的工具,它可以直观地表达系统中的任务、动作、决策和控制流程。

UML流程图常用于软件开发过程中的需求分析、业务流程设计、系统架构设计等领域。

种类UML流程图包含四种基本类型:1.基本活动图基本活动图可以用来表示操作的顺序或并行方式,其中每个操作都是基本动作,例如读取、写入、计算等。

基本活动图通常用于领域建模和系统流程的初步设计。

2.流程状态图流程状态图是对系统中复杂操作的一种表示,可以用来展示操作的状态和转换方式。

流程状态图主要包括状态、转换和起始状态,它通常用于描述系统中的复杂业务流程。

3.并发活动图并发活动图可以用来表达系统中多个处理程序的并发执行过程,它通常使用平行线表示并发执行的多个处理程序。

4.条件活动图条件活动图是一种用于表示系统中动态交互的活动图,其中条件是关键的组成部分。

条件活动图通常用于强制执行程序在满足一定条件的情况下才能执行,例如软件开发中经常用到的循环结构和分支结构等。

结构UML流程图的结构由一系列基本元素组成:1.开始节点开始节点,在UML流程图中表示整个活动图的起点。

一般情况下,开始节点在活动图的左侧上方,使用一个表示圆圈中心的空心点表示。

2.结束节点结束节点,在UML流程图中表示整个活动的结束点。

一般情况下,结束节点位于活动图的右侧下方,使用一个表示实心点的圆圈表示。

3.动作节点动作节点是一种执行操作的元素,可以进行计算、赋值、IO操作等。

动作节点在UML流程图中通常用长方形表示。

4.决策节点决策节点用于表示一个条件分支,并根据条件的结果选择一个或多个分支行动。

在UML流程图中,它通常使用菱形表示。

UML的十种视图

UML的十种视图

静态图捕获逻辑结构类图 class系统静态结构对象图 object活跃对象包图 packet系统的分解行为图捕获现实行为交互图顺序 sequence消息发送时序合作collaboration动态协作关系状态图 statechart对象的动态行为活动图 activity描述系统为完成某项功能而执行的操作序列,包含控制流和信息流控制流:某操作完成后对其后续操作的触发信息流:刻画操作之间的信息交换实现图捕获执行环境构件图 component软件实现系统中各组分以及依赖关系部署图 deployment运行环境的硬件及网络物理体系结构UML可视化建模:三、UML的十种视图1.用例图(use case diagram)从系统的外部用户的观点看系统应具有的功能。

它只说明系统实现什么功能,而不必说明如何实现。

用例图主要用于对系统,子系统或类的行为进行建模。

2.类图(class diagram)描述系统的静态结构,类图的节点表示系统中的类及其属性和操作,边表示类之间的联系(包括继承(泛化)、关联、聚集)。

3.对象图(object diagram)类图的一种变形,所使用的符号与类图基本相同。

在对象名下面要加下划线。

(图略)4.包图(packet diagram)包是基于模型元素的含义或作用将模型元素分组的一种机制。

通过分组,可提高模型的维持性。

包之间的关系包括继承、构成与依赖。

5.顺序(时序)图(sequence diagram)交互图之一。

描述了在时间上对象交互的安排,展现了多个交互对象以及信息交流的序列。

时序图包含对象、对象的生命线、按顺序对象间的信息交流、控制焦点(可选的)。

6.合作(协作)图(collaboration diagram)交互图之二,强调发送和接收消息的对象间的结构组织,它与顺序图是等价的。

在图形上,协作图是顶点和弧的结合。

协作图包含对象、链、消息。

(图片来自《软件工程(第二版)》齐治昌、谭庆平、宁洪)7.状态图(statechart diagram)状态图描述类的对象的动态行为。

UML实践----用例图、顺序图、状态图、类图、包图、协作图

UML实践----用例图、顺序图、状态图、类图、包图、协作图

UML实践----用例图、顺序图、状态图、类图、包图、协作图2009-01-20 作者:Randy Miller 来源:网络面向对象的问题的处理的关键是建模问题。

建模可以把在复杂世界的许多重要的细节给抽象出。

许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML的精彩之处。

UML中有九种建模的图标,即:∙用例图∙类图∙对象图∙顺序图∙协作图∙状态图∙活动图∙组件图∙配置图本课程中的某些部分包含了这些图的细节信息的页面链接。

而且每个部分都有一个小问题,测试一下你对这个部分的理解。

为什么UML很重要?为了回答这个问题,我们看看建筑行业。

设计师设计出房子。

施工人员使用这个设计来建造房子。

建筑越复杂,设计师和施工人员之间的交流就越重要。

蓝图就成为了这个行业中的设计师和施工人员的必修课。

写软件就好像建造建筑物一样。

系统越复杂,参与编写与配置软件的人员之间的交流也就越重要。

在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”。

现在它已经成为了软件行业的一部分了。

UML提供了分析师,设计师和程序员之间在软件设计时的通用语言。

UML被应用到面向对象的问题的解决上。

想要学习UML必须熟悉面向对象解决问题的根本原则――都是从模型的建造开始的。

一个模型model就是根本问题的抽象。

域domain就是问题所处的真实世界。

模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的。

记住把一个对象想象成“活着的”。

对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviors or operations)。

对象的属性的值决定了它的状态state。

类Classes是对象的“蓝图”。

一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数)。

对象是类的实例instances。

用例图用例图Use case diagrams描述了作为一个外部的观察者的视角对系统的印象。

UML中共有5种静态图

UML中共有5种静态图

UML中共有5种静态图:用例图,类图,对象图,组件图和配置图。

(1)用例图Use Case Diagram用例图展现了一组用例、参与者以及它们之间的关系可以用来描述系统的静态使用情况。

上图中小人形状的用户和ATM是参与者、椭圆形状的如插入卡、输入密码等是用例(2)类图Class Diagram类图展示了一组类、接口、子类以及他们之间的关系,在建模中最常用到的图就是类图;可以用类图说明系统的静态设计视图,包含主动类的类图。

上图中反应了5个类之间的关联关系,人民币账户和美元帐户从账户继承,账户和ATM相关联,两种账户和用户相关联(3)对象图Object Diagram对象图展示了一组对象和他们间的关系,可以用来说明类图中翻译的事物实例的数据结构和静态快照,表达了系统的静态设计视图和静态过程视图,除了显示和原型方面的因素外,它与类图的作用是相同的。

(4)组件图Component Diagram组件图,又名构件图,展现了一组组件之间的组织和依赖,用于对源代码、可执行的发布、物理数据库和可调整的系统建模。

上图中组件1和组件3依赖于组件2(5)配置图Deployment Diagram配置图展现了对运行时处理节点以及其中组件的配属,它描述系统硬件的物理拓扑结构,以及在此结构上执行的软件。

用配置图说明系统结构的静态配置视图,即说明分布、交互和安装的物理系统。

上图中,三个处理机与两个涉笔,相互之间是关联的关系UML中动态图有四种,分别是:时序图、协作图、状态图和活动图。

(1)时序图Sequence Diagram时序图展现了一组对象和由这组对象收发的信息,用于按时间顺序对控制流建模。

可以用时序图来说明系统的动态视图。

这里貌似有不同的说法Visual Paradigm里面叫时序图为Timing Diagram,而我参照的教材里边没有这种图,按理说是应该有的。

上图反应了用户与ATM交互的整个过程。

(2)协作图Collaboration Diagram协作图展现了一组对象之间的链接以及这组对象收发的消息,强调收发消息对象的组织结构,按组织结构对控制流建模。

UML中三种常用的图

UML中三种常用的图

1.用例图:用例图是从用户的观点描述系统的功能,它由一组用例、参与者以及他们之间的关系组成他将系统的一个功能描述成一系列事件,这些事件最终对参与者产生有价值的可观测结果参与者(Actor):代表与系统交互的外部实体用例(Use-Case):表示系统能提供的功能,如:登录,查询等关联关系:当参与者与用列进行交互时,用例与参与者之间有关联关系,用一条直线表示这种关系参与者之间可能存在泛化关系,类似的参与者可以用泛化关系组成一般与特殊的层析结构如:经理初次之外,用例之间还存在一定的关系,具体包括包含(include)、扩展(extend)、泛化(Generalization)等3种关系(1)包含关系一个复杂系统中,不同用例之间可能存在一些相同的行为,这时可将这些相同的行为提取出来单独组成一个用例。

当其他用例使用该用例时,用例之间便形成了包含关系包含关系用带关键字<<include>>的虚线来表示,虚线指向被包含的用例注册新用户(2)扩展关系在用例的执行过程中,可能会出现异常行为,也可能在不同的流程分支中选择执行,这时可将异常行为或可选分支抽象成一个单独的扩展用例,它与主用例之间形成扩展关系扩展关系用带关键字<<extend>>的虚线表示,箭头指向被扩展的用例注册(3)泛化关系与参与者之间的泛化关系一样,用例之间的泛化关系是描述用例之间一般与特殊关系的,不同的子用例代表了父用例的不同实现方法。

密码找回2.类图类图描述系统的静态结构,表示系统中的类、类与类之间的关系以及类的属性和操作类用一个矩形方框表示,方框被分成3部分,最上面显示类名,中间部分显示类的属性,最下面显示类的操作类之间的关系包括关联、聚合、泛化、依赖等类型关联(Association)是一种结构定义,表达模型元素间的一种语义联系,它是对具有共同的结构特性、行为特性、关系和语义链的描述,使用一条连接在两个类之间的实线表示,关系的每一端用数字表示关系的重数。

软件工程9种图

软件工程9种图

3.关联关系(Association)
【概念】表示一个事物的对象与另一个事物的对象之间的语义上连接, 简单的理解为两个类或类与接口之间的强依赖关系
【绘图方式】实线箭头,双向箭头或无箭头 【包括】 1 聚集 【概念】描述的是部分与整体关系,描述了“has a”的关系,部分离 开整体可以单独存在 【绘图方式】空菱形的实线,头部指向整体
【实现关系图】
泛化和实现关系的区别: 泛化关系是指同一语义层的元素连接起来, 通常在同一模型内; 实现关系将不同语义层内的元素连接起来,通常在不同模型内。
UML 的视图
相信大家都知道 UML 的全称,统一建模语言(UML 是 Unified Modeling Language 的缩写) 是用来对软件系统进行可视化建模的一种 语言。UML 为面向对象开发系统的产品进行说明、可视化、和编制文 档的一种标准语言。 我想问大家两个问题: 一、什么是模型?模型是对现实世界的形状或状态的抽象模拟和简 化。 二、为什么要建模?最简单的理由:为了能够更好地理解正在开发
UML 的9种图
上文我们介绍了, UML 的视图, 在每一种视图中都包含一个或多种图。 本文我们重点讲解 UML 每种图的细节问题:
1、用例图(use case diagrams)
【概念】描述用户需求,从用户的角度描述系统的功能 【描述方式】椭圆表示某个用例;人形符号表示角色 【目的】帮组开发团队以一种可视化的方式理解系统的功能需求 【用例图】
【依赖图】
2,泛化关系(继承) (Generalization)
【概念】描述类的一般和具体之间的关系,描述的“is a kind of ”的关 系 【绘图方式】实线空心三角箭头,箭头指向父类 【继承方式】

UML中数据流图,用例图,类图,对象图,角色图,活动图,序列图详细讲述保存供参考

UML中数据流图,用例图,类图,对象图,角色图,活动图,序列图详细讲述保存供参考

UML中数据流图,⽤例图,类图,对象图,⾓⾊图,活动图,序列图详细讲述保存供参考这个⽂章,是我在急需的情况下在园⼦⾥搜索到的,原创作者是:DO-websoftware,为了⾃⼰看⽅便,所以复制到我的空间,希望原创者不要介意哦~~~~很详细的介绍,对我的帮助很⼤,谢谢哦。

类图,对象图,⾓⾊图:⼀、UML中基本的图范畴:在 UML 2 中有⼆种基本的图范畴:结构图和⾏为图。

每个 UML 图都属于这⼆个图范畴。

结构图的⽬的是显⽰建模系统的静态结构。

它们包括类,组件和(或)对象图。

另⼀⽅⾯,⾏为图显⽰系统中的对象的动态⾏为,包括如对象的⽅法,协作和活动之类的内容。

⾏为图的实例是活动图,⽤例图和序列图。

⼆、UML中的类图:1.类图的表⽰:类的 UML 表⽰是⼀个长⽅形,垂直地分为三个区,如图 1 所⽰。

顶部区域显⽰类的名字。

中间的区域列出类的属性。

底部的区域列出类的操作。

在⼀个类图上画⼀个类元素时,你必须要有顶端的区域,下⾯的⼆个区域是可选择的(当图描述仅仅⽤于显⽰分类器间关系的⾼层细节时,下⾯的两个区域是不必要的)。

描述:顶部区域显⽰类的名字。

中间的区域列出类的属性。

底部的区域列出类的操作。

当在⼀个类图上画⼀个类元素时,你必须要有顶端的区域,下⾯的⼆个区域是可选择的(当图描述仅仅⽤于显⽰分类器间关系的⾼层细节时,下⾯的两个区域是不必要的)。

·类名:如果是抽象类,则采⽤斜体·类属性列表:name : attribute type 如 flightNumber : Integer,这是最常见的表达形式name : attribute type = default value 如 balance : Dollars = 0,这是带有默认值的表达形式·类⽅法列表:name(parameter list) : type of value returned注意:在业务类图中,属性类型通常与单位相符,这对于图的可能读者是有意义的(例如,分钟,美元,等等)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通常把它用于普通的过程调用。
同步消息返回 用它显式地表示从过程调用的返回。
在控制的过程流中,可以省略返回箭头(暗示执行规约结束),这是要假设每
个调用在任何消息后都有一个配对的返回。 若需要标识返回值,则要显式地把它标示在返回的箭头上。
对象的创建与销毁
:客户机
创建 setAction(a,d, o)
发送者在发送信号时,要实例化其参数。 对于接收者来说,它收到的是一个事件。 在类图中,在类符号上用关键字 <<signal>>声明信号。把参数说明为属 性。信号没有操作。 在类的描述模板中,要指定所能接收的信号。 通常用信号对异常情况建模。
《signal》 abc a1 a2 a3 《send》abc(a1,a2,a3) xyz
:JDBC代理服务器 :事务
Setvalue(d,3.9)
Setvalue(a,”pm”)
已提交
销毁
在过程性代码的情况下,一个执行规约表示在一个对象中一个过程是活动 的,或者它的从属过程(可能在其它的对象中)是活动的持续时间。 换句话说,可以在一个特定的时间看到所有活动着的嵌套过程执行规约。
异步消息
在发送者发出消息之后开始,并在发送者结束之前结束。不同控制线程之 间的消息有可能在接收者的某个操作的执行过程中到达。
如果需要,也可以对对象所执行的操作的功能以及时间或空间约束进行
描述。 如果需要,可使用结构化控制。
用途
帮助分析员对照检查每个用况中描述的用户需求,是否已经落实
到一些对象中去实现。提醒分析员去补充遗漏的对象类或操作。 通过对一个特定的对象群体的动态方面建模,深刻地理解对象之 间的交互。 帮助分析员发现哪些对象是主动对象
■ 对于那些在交互期间要被创建和撤销的对象,在适当的时刻,用消息箭
线显式地予以指明。 ■ 决定消息将怎样或以什么样的序列在对象之间传递。
通过首先发出消息的对象,看它需要哪些对象为它提供操作,它向那
些对象提供操作。追踪相关的对象,进一步做这种模拟,直到分析完与当 前语境有关的全部对象。
如果一个对象的操作在某个执行点上应该向另一个对象发消息,则从
免这种情况。如果所有的监护条件都不为真,那么控制流将跨过这个交 互区域而继续执行。其中的一个分区可以用特殊的监护条件[else],这意
味着如果其他所有区域的监护条件都为假,就执行该分区。
并行执行 标签是 par。用水平虚线把交互区域分割为几个分区。每个 分区表示一个并发计算。当控制进入交互区域时并发地执行所有的分区; 在并行分区都执行完后,那么该并行操作符标识的交互区域也就执行完 毕。每个分区内的消息是顺序执行的。需要指出的是,并发并不总是意 味着物理上的同时执行。并发其实是说两个动作没有协作关系,而且可
5.2 通讯图
简言之,通讯图表示围绕着对象角色以及对象角色之间的链所组织的交互。
与顺序图不同: 1)通讯图表示扮演不同角色的对象之间的关系。 2)通讯图不表示作为单独维度的时间,所以交互的顺序和并发进程必须用顺序数 决定。 顺序图表示执行消息的显式顺序,最好用于描述实时系统和复杂的场景。
一、 概念与表示法
生命线可以在某个后续点处合并。
3、执行规约
执行规约表示一个对象直接或者通过从
属例程执行一个行为的时期。它既表示了
行为执行的持续时间,也表示了调用者与 被调用者之间的控制关系。
用一个窄长的矩形表示执行规约,矩形
顶端和它的开始时刻对齐,末端和它的结 束时刻对齐。 执行规约符号的顶端画在进入的箭头的 尖端(开始该动作的那个箭头),底端画 在返回的箭头的尾部。 当一个对象处于执行规约期时,该对象
C:Client
p:ODBCProxysaction
SetActions(a,d,o)》
SetValue(a,”CO”).4) 《destroy》
二、建立通讯图
应遵循如下策略建立通讯图: 设置交互的语境,不管它是一个系统、子系统、类,还是用况 的脚本。 通过识别对象在交互中扮演的角色,设置交互的场所。将它们 作为图的顶点放在通讯图中,较重要的对象放在图的中央,然后放置 邻近的对象。 若对象之间可能要传递消息,说明对象之间的连接器。 从引起这个交互的消息开始,然后将随后的每个消息附到适当 的连接器上,恰切地设置其顺序号。并用带小数点的编号来显示 嵌套。 如果需要展示消息的循环或分支,就是使用相应的表示法。 如果需要说明时间或空间约束,则用时间标记修饰每个消息, 并附上合适的时间和空间约束。
如果需要表示收发消息间的时间差,有三种方法:
(1)可以在图中使用约束,用于指示时间间隔。可以用消息名和经过规定 的函数书写计时表达式,如下图的“b.receiveTime – a.sendTime<1 分钟” 。 (2)若要在图中显式地表示时间差的数值,还可以通过构造标记来指明, 如下图右下角所示。 (3)如果需要表示发送消息是需要时间的,还可把消息箭线向下倾斜,使 箭线头部在尾部下方,表示消息需要一段时间到达。
会话对象没有说明计费等情况
例题 银行系统的交易验证
创建
:交易
创建
:交易协调器
创建
信用:交易检查器
创建
担保:交易检查器
成功
全部做 完? 成功
返回有效性
全部做 完?
5、信号
信号是对象之间的异步通讯的规格说明。 信号名 ‘(‘用逗号分隔的参数列表‘)’ 从一个对象可以向另一个对象或对象的集合发送信号。例如消息广播。
例题:打电话
s :电话 :交换机
a:拿起话筒
b:发拨号声
r :电话
{b.receiveTimea.sendTime<1秒钟}
{c.receiveTimec.sendTime<1秒}
c:*拨号 {时间少于30秒}
逻辑连通
创建
c:会话
震铃{30秒} 拿起话筒
连接s与 r 接通
接通
<5秒
问题:时间超过30秒的情况没说明
为了表示顺序图的边界,可以把顺序图用一个封闭的矩形包围起来,
并在矩形的左上角放一个小五边形。在这个小五边形内先写上sd,再后面 写出图的名字。 对每个子顺序图加上一个矩形区域作为外框,再在其左上角放一个小 五边形,在这个小五边形内写上用来表明控制操作符的类型的文字。
Deliver cash
可选执行 标签是opt。如果控制进入该操作符标识的交互区域时监护条 件成立,那么执行该交互区域。监护条件是一个用方括号括起来的布尔
通信图是一种强调发送和接收消息的对象结构组织的交互
图,展示围绕对象以及它们之间的连接器而组织的交互。
连接器是由关联实例化的链以及通过过程参数、局部变量
或全局变量而产生的对象之间的临时连接。
通讯图由对象(参与者) 、连接器以及连接器上的消息构 成。这些概念及表示法与前述中的都完全相同。
为表示一个消息的时间顺序,可以给消息加一个数字前缀(从1号消息 开始),在控制流中,每个新的消息的顺序号单调增加(如2,3等等)。为 了显示嵌套,可使用带小数点的号码(1表示第一个消息;1.1表示嵌套在消 息1中的第一个消息;1.2表示嵌套在消息1中的第二个消息;等等)。 嵌套可为任意深度。要注意的是,沿同一个链,可以显示多个消息(可 能发自不同的方向),并且每个消息都有唯一的一个顺序号。
在图的顶部(第一个箭头之上)放置
在交互开始时就存在的对象,而在整个 交互完成时仍然存在的对象的生命线,
要延伸超出最后一个箭头。
如果一个对象在图中所规定的时间段 被创建,那么就把创建对象的箭头的头
部画在对象符号上。
生命线可以分裂成两条或更多条并发 的生命线,以表示条件性。这样的每一
个生命线对应于交互中的一个条件分支。
这一点向后者画一条带箭头的直线,并在其上注明消息名。用适当的箭头
线区别各种消息。 在各对象下方的生命线上,按使用该对象操作的先后次序排列各个代表 操作执行的棒形条(执行规约)。若出于某种目的要简化顺序图,可不画 棒型条,或者针对一个对象只用一个棒型条代表其上的所有操作的执行。
两个对象的操作执行如果属于同一个控制线程,则接收者操作的执行应
按任意次序发生。如果它们确实是独立的动作,那么它们还可以交叠。
循环(迭代)执行 标签是 loop。在交互区域内的顶端给出一个监护条 件。只要在每次迭代之前监护条件成立,那么循环主体就会重复执行。 一旦在交互区域顶部的监护条件为假,控制就会跳出该交互区域。
三、
步骤:
建立顺序图
■ 按照当前交互的意图,如系统的一次执行,或者一组对象(包括参与者, 以下不再明确地提及参与者)之间的协作,详细地审阅有关材料(如有关 的用况),设置交互的语境,其中包括可能需要的那些对象。 ■ 通过识别对象在交互中扮演的角色,在顺序图的上部列出所选定的一组 对象(应该给出其类名),并为每个对象设置生命线。通常把发起交互的 对象放在左边。
把消息表示为从一个对象生命线 到另一个对象生命线的一个水平实线 箭头,即从源对象指向目标对象,以 触发目标对象中的特定操作。对于对 象到自身的消息,箭头就从同一个对 象符号开始和结束。 用消息(操作或信号)的名字及 其参数值或者参数表达式标示箭头。
用如下种类的箭头表示不同种类的通讯:
同步消息
一般把它用于普通的过程调用。在外层控制恢复之前,要完成整个嵌套序列。
第5章
建立辅助模型
5.1 顺序图
类图对对象之间的消息(交互情况)表达不够详细;
一、
概念与表示法
1、概述
顺序图(Sequence Diagram)是一种详细表示对象之间以及对象与 参与者之间交互的图,它由一组协作的对象(或参与者)以及它们之间 可发送的消息组成,它强调消息之间的顺序。 图中含有对象(参与者) 、消息、生命线和执行规约组成。
能够响应或发送消息,执行对象或活动。
相关文档
最新文档