UML-8交互作用图解析
- 格式:ppt
- 大小:815.50 KB
- 文档页数:64
UML图详解(⼋)——状态机(状态图和活动图)⼀、概念状态图和活动图是状态机的两种表现形式。
利⽤状态机可以精确地描述对象的⾏为。
从对象的初始状态起,开始响应事件并执⾏某些动作,这些事件引起状态的转换;对象在新状态下⼜开始响应事件和执⾏动作,如此连续进⾏直到终结状态。
⼆、状态图状态图(State Diagram)=状态(State)+迁移(Transition)⼀个状态图描述⼀个状态机。
状态图表现从⼀个状态到另⼀个状态的控制流。
<1>状态图的语法1>除了状态中的初始状态(实⼼圆)和终⽌状态(⽜眼形状),其它状态⽤⼀个圆⾓矩形表⽰转换表⽰状态间可能的路径,⽤箭头表⽰事件/动作写在由它们触发引起的转换上<2>状态2>状态⼀般是给定类对象中的⼀组属性值,在其所在的上下⽂中应该唯⼀,但可以匿名。
在对系统建模时,我们可以只关⼼那些明显影响对象⾏为的属性以及由他们表达的对象状态,⽽不⽤理睬那些于对象⾏为⽆关的状态。
表⽰⽅式:状态由⼀个带圆⾓的矩形表⽰。
应⽤标签标⽰状态的内部活动。
语法:标签/活动表达式UML提供的标签:1. entry:当进⼊⼀个状态的时候被⾃动触发,该活动在状态中其它任何活动之前被⾃动触发。
2. do:当状态处于激活时执⾏do活动,do活动在进⼊活动之后执⾏,并且⼀直运⾏到它本⾝完成为⽌。
3. exit:当离开⼀个状态的时候被⾃动触发,该活动在该状态结束之前、所有其它活动都完成后被触发。
状态可以嵌套状态图,此时状态称为组成状态,否则为简单状态。
⼊⼝事件表⽰⼀个⼊⼝的动作序列,它在进⼊状态时执⾏。
⼊⼝事件的动作是原⼦的,并且先于⼈和内部活动或转换。
出⼝事件表⽰⼀个出⼝的动作序列,它在退出状态时执⾏。
出⼝事件也是原⼦的,它跟在所有的内部活动之后,但是先于所有的出⼝转换。
1. 简单状态(Simple State)2. 复合状态(Composite State)复合状态可以有多组状态图,每组⽤虚线分割开来。
UML之⽤例图详解原⽂链接:https:///mj_ww/article/details/53020080 UML,即Unified Model Language,统⼀建模语⾔。
百度百科对他的定义是:它是⼀个⽀持模型化和软件系统开发的图形化语⾔,为软件开发的所有阶段提供模型化和可视化⽀持,包括由到规格,到构造和配置。
作为⼀个软件⼯程师,很多技能并不⼀定说⾮得具备,但是,⼀旦我们具备了,很多时候机会总是会多那么⼀点点。
对于⽤例图来说我们需要了解的是什么叫⽤例图,构成⽤例图的要素,⽤例图有哪些重要的元素,各个⽤例之间的关系。
当然最重要的是如何根据需求创建⽤例图。
具体的创建通过⼀个简单的学⽣管理的例⼦说明创建的过程和例⼦。
我的所有例⼦都是是使⽤Rose这个软件来画的,现在虽然有新的UML模型画图软件,但是我⽐较喜欢⽤这个Rose,如果你还没有装这个软件需要先装⼀个,或者使⽤你⽐较喜欢的UML画图软件。
下⾯我们直接进⼊正题吧,学习⼀下⽤例图的相关概念和具体的创建过程。
什么叫⽤例图1. ⽤例图的含义 由参与者(Actor)、⽤例(Use Case)以及它们之间的关系构成的⽤于描述系统功能的动态视图称为⽤例图。
要在⽤例图上显⽰某个⽤例,可绘制⼀个椭圆,然后将⽤例的名称放在椭圆的中⼼或椭圆下⾯的中间位置。
要在⽤例图上绘制⼀个参与者(表⽰⼀个系统⽤户),可绘制⼀个⼈形符号。
参与者和⽤例之间的关系使⽤带箭头或者不带箭头的线段来描述,箭头表⽰在这⼀关系中哪⼀⽅是对话的主动发起者,箭头所指⽅是对话的被动接受者。
在⽤例建模中,为了更加清楚的描述⽤例或者参与者,会使⽤到注释。
2. ⽤例图的作⽤ ⽤例图是需求分析中的产物,主要作⽤是描述参与者和⽤例之间的关系,帮助开发⼈员可视化的了解系统的功能。
借助于⽤例图,系统⽤户、系统分析⼈员、系统设计⼈员、领域专家能够以可视化的⽅式对问题进⾏探讨,减少了⼤量交流上的障碍,便于对问题达成共识。
UML 活动图详解示例转自清闲居博客,转载原因示例很不错,分享一下内容路线•活动图概述活动图概述•活动图和交互图是UML中对系统动态方面建模的两种主要形式•交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流•活动图是一种表述过程基理、业务过程以及工作流的技术。
它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模•UML 2.0而言,去除了“活动图是状态图的一种特例”这一规定•如何阅读活动图阅读简单活动图活动图的主要元素•初始节点和活动终点:用一个实心圆表示初始节点,用一个圆圈内加一个实心圆来表示活动终点•活动节点:是活动图中最主要的元素之一,它用来表示一个活动•转换:当一个活动结束时,控制流就会马上传递给下一个活动节点,在活动图中称之为“转换”,用一条带箭头的直线来表示活动图的主要元素•分支与监护条件:分支是用菱形表示的,它有一个进入转换(箭头从外指向分支符号),一个或多个离开转换(箭头从分支符号指向外)。
而每个离开转换上都会有一个监护条件,用来表示满足什么条件的时候执行该转换。
•分岔与汇合:修改后的简单活动图带泳道的活动图带对象流的活动图复杂活动图•辅助活动图:•汇合描述:当汇合的所有入流均到点汇合点时,就将执行汇合点指向的活动节点。
但是有些时候,你希望对其做一些约束,这时就可以借助汇合描述来完成。
汇合描述实际上是一个约束,其格式就是“{约束条件}”。
•发送信号与接收信号:•如何绘制活动图绘制活动图•“活动图” 比较直观易懂;与传统的流程图十分的相近,只要能够读懂活动图,就不难画出活动图•绘制时首先决定是否采用泳道:主要根据活动图中是否要体现出活动的不同实施者•然后尽量使用分支、分岔和汇合等基本的建模元素来描述活动控制流程•如果需要,加入对象流以及对象的状态变化,利用一些高级的建模元素(如辅助活动图、汇合描述、发送信号与接收信号、引脚、扩展区)来表示更多的信息•活动图的建模关键是表示出控制流,其它的建模元素都是围绕这一宗旨所进行的补充工作流程,控制流程,业务流程中使用。
UML用例图的主要元素解析与使用方法UML(Unified Modeling Language)是一种用于软件系统建模的标准化语言,用例图是UML的一种图表类型,用于描述系统的功能需求和用户与系统之间的交互。
在软件开发过程中,用例图是非常重要的工具,它能够帮助开发团队更好地理解系统需求,设计出更合理的系统架构。
本文将对UML用例图的主要元素进行解析,并介绍其使用方法。
一、参与者(Actors)参与者是指与系统进行交互的实体,可以是人、其他系统或外部设备。
在用例图中,参与者用一个小人的图标表示。
参与者与系统之间通过用例进行交互。
一个参与者可以在多个用例中出现,也可以在一个用例中有多个参与者。
二、用例(Use Cases)用例是对系统功能的描述,它表示系统为参与者提供的一项功能或服务。
用例图中,用例用一个椭圆形图标表示。
每个用例都有一个名称,通常使用动词短语来描述功能。
用例之间可以有关系,如包含关系(include)、扩展关系(extend)等。
三、关系(Relationships)在用例图中,参与者与用例之间可以有不同类型的关系,如关联关系(association)、包含关系(include)、扩展关系(extend)等。
关联关系表示参与者与用例之间的关联,包含关系表示一个用例包含另一个用例,扩展关系表示一个用例可以扩展另一个用例。
四、系统边界(System Boundary)系统边界是用于表示系统的边界,用一个矩形框表示。
在用例图中,系统边界将参与者和用例包围在内,表示系统的范围和边界。
五、泛化(Generalization)泛化是一种继承关系,用于表示两个用例之间的继承关系。
在用例图中,泛化关系用一个带有箭头的实线表示,箭头指向父用例。
六、扩展点(Extension Points)扩展点用于表示一个用例可以被扩展的地方。
在用例图中,扩展点用一个小圆圈表示,并与扩展用例之间用虚线连接。
使用UML用例图进行系统建模时,需要按照以下步骤进行:1. 确定参与者:首先,需要确定系统中的参与者,包括用户、其他系统或外部设备。
面向对象分析与设计(UML)综合实验报告书题目:银行管理系统第1章需求分析............................................................................. 错误!未定义书签。
1.1 客户子系统的需求分析 (4)1.2 银行管理员系统的需求分析 (4)第2章系统用例模型 (8)2.1 管理员的用例模型 (8)2.2 客户的用例模型 (12)第3章系统静态模型 (16)3.1 系统中的类 (16)3.2 系统中类与类的关系 (17)第4章系统动态模型 (19)4.1银行管理员创建账户 (19)4.2银行管理员修改账户 (20)4.3银行管理员删除账户 (22)4.4 客户取款 (24)4.5 客户存款 (25)4.5 客户转账 (25)4.6 银行管理系统中的状态图................................................................ 错误!未定义书签。
4.7 银行管理系统中的活动图................................................................ 错误!未定义书签。
第5章系统部署模型 (33)5.1 银行管理系统的构件图 (33)5.2客户操作构件图 (34)5.3 银行管理员构件图 (34)5.5 银行管理系统部署图 (33)第6章总结与展望 (36)6.1 总结 (36)6.2 展望 (36)参考文献............................................................................................ 错误!未定义书签。
随着社会的不断发展,计算机越来越普及。
我们正处在一个信息时代,计算机无处不在,它进入各行各业,改变着人们的生活。
uml各种图例及说明(摘录)1、用例图描述角色以及角色与用例之间的连接关系。
说明的是谁要使用系统,以及他们使用该系统可以做些什么。
一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。
2、类图类图是描述系统中的类,以及各个类之间的关系的静态视图。
能够让我们在正确编写代码以前对系统有一个全面的认识。
类图是一种模型类型,确切的说,是一种静态模型类型。
3、对象图与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。
它描述的不是类之间的关系,而是对象之间的关系。
4、活动图描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。
能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。
5、状态图描述类的对象所有可能的状态,以及事件发生时状态的转移条件。
可以捕获对象、子系统和系统的生命周期。
他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。
一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。
状态图是对类图的补充。
6、序列图(顺序图)序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。
顺序图可以用来展示对象之间是如何进行交互的。
顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。
7、协作图和序列图相似,显示对象间的动态合作关系。
可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。
如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图;这两种图合称为交互图。
8、构件图(组件图)描述代码构件的物理结构以及各种构建之间的依赖关系。
2.设计模式常⽤的UML图分析(⽤例图、类图与时序图)1-⽤例图概述1. 展现了⼀组⽤例、参与者以及他们之间的关系。
2. ⽤例图从⽤户⾓度描述系统的静态使⽤情况,⽤于建⽴需求模型。
⽤例特征保证⽤例能够正确捕捉功能性需求,判断⽤例是否准确的依据。
1. ⽤例是动宾短语2. ⽤例是相互独⽴的3. ⽤例是由⽤户参与者启动的4. ⽤例要有可观测的执⾏结果5. ⼀个⽤例是⼀个单元参与者 ActorUML中,参与者使⽤⼀个⼩⼈表⽰:1. 参与者为系统外部与系统直接交互的⼈或事务,于系统外部与系统发⽣交互作⽤2. 参与者是⾓⾊⽽不是具体的⼈3. 代表参与者在与系统打交道时所扮演的⾓⾊4. 系统实际运作中,⼀个实际⽤户可能对应系统的多个参与者。
不同⾓⾊也可以只对应⼀个参与者,从⽽代表同⼀参与者的不通实例⽤例 Use Case系统外部可见的⼀个系统功能单元。
系统的功能由系统单元所提供,并通过⼀系列系统单元与⼀个或多个参与者之间交换的消息所表达。
系统单元⽤椭圆表⽰,椭圆中的⽂字简述系统功能:关系 Relationship常见关系类型有关联、泛化、包含和扩展关联 Association表⽰参与者与⽤例之间的通信,任何⼀⽅都可发送或接受消息。
箭头指向:指向消息接收⽅:⼦系统 SubSystem⽤来展⽰系统的⼀部分功能(紧密联系)泛化 Inheritance继承关系,⼦⽤例和⽗⽤例相似,但表现出更特别的⾏为;⼦⽤例将继承⽗⽤例的所有结构、⾏为和关系。
⼦⽤例可以使⽤⽗⽤例的⼀段⾏为,也可以重载它。
⽗⽤例通常是抽象。
箭头指向:指向⽗⽤例2-类图描述系统中的类,以及各个类之间的关系的静态试图。
表⽰类、接⼝以及它们之间的协作关系,⽤于程序设计阶段。
注意:1. 抽象类或抽象⽅法⽤斜体表⽰2. 如果是接⼝,则在类名上⽅加 <<Interface>>3. 字段和⽅法返回值的数据类型⾮必需4. 静态类或静态⽅法加下划线类图实例:类图中的事务及解释如图,类图从上到下分为三部分,分别为类名、属性和操作1. 属性:如果有属性,则每⼀个属性都必须有⼀个名字,另外还可以有其它的描述信息,如可见性、数据类型、缺省值等2. 操作:如果有操作,则每⼀个操作也都有⼀个名字,其它可选的信息包括可见性、参数的名字、参数类型、参数缺省值和操作的返回值的类型等类图中的六种关系1.实现关系 implements (类实现接⼝)⽤空⼼三⾓虚线表⽰2.泛化关系 extends (表⽰⼀般与特殊的关系) is-a⽤空⼼三⾓实线表⽰3.组合关系 (整体与部分的关系) contains-a实⼼菱形实现表⽰eg.有头类、⾝体类与⼈类类三个类,则⼈类类中应包含头类及⾝体类这两个属性,则⼈类类与头类和⾝体的关系即为组合关系。
交互作用表交互作用表(Interaction Table)是一种流程图,通过该图可清晰地描述系统中不同元素之间的交互关系,特别适合于软件开发或系统设计领域。
以下是一个步骤来阐述如何绘制交互作用表。
第一步:明确系统元素在进行交互作用表的绘制之前,需要明确系统中的所有元素。
这些元素可能包括人、物、场所、过程等等,可以通过调研、文献查询、专家咨询等方式来确定。
例如,设计一款在线购物系统,系统涉及的元素可能包括用户、商家、产品、订单等。
第二步:确定元素之间的交互关系在明确了系统元素之后,需要分析这些元素之间的交互关系。
这些关系可以是双向的,也可以是单向的,可以是同步的,也可以是异步的。
例如,在设计在线购物系统时,用户通过浏览商家发布的产品来下订单,商家可以收到订单并处理,用户也可以取消订单等等。
第三步:绘制交互作用表在确定了系统元素之间的交互关系之后,就可以开始绘制交互作用表了。
在绘制过程中,可以使用UML等标准化建模语言,也可以使用Microsoft Visio等绘图工具。
例如,在设计在线购物系统时,可以绘制一个包含用户、商家、产品、订单等元素的交互作用表,展示它们之间的所有交互关系。
第四步:完善交互作用表在绘制完交互作用表之后,需要对其进行完善。
这包括清晰地标注每个元素以及它们之间的关系,确保表格易于理解并且准确无误。
例如,在设计在线购物系统时,需要在交互作用表中清晰地标注出每个用户、商家、产品、订单之间的交互关系,以及它们之间可能出现的问题和解决方案。
总之,交互作用表是软件开发或系统设计中非常重要的一种图形表示方式,它可以让开发人员和设计师更好地理解并且优化系统中各元素之间的交互关系,从而提高系统的质量和效率。