第8讲 时序图
- 格式:ppt
- 大小:1.57 MB
- 文档页数:96
动态图概念:从静态图中抽取瞬间值的变化描述系统随时间变化的行为,动态图包括交互图活动图状态图,这篇博客研究交互图包括时序图和协作图;-- 时序图:显示对象之间的关系,强调对象之间消息的时间顺序,显示对象之间的交互;--协作图:描述对象之间的交互关系;~一.时序图(Sequenee Diagram)1. 时序图的概念时序图定义:描述了对象之间传递消息的时间顺序,用来表示用例中的行为顺序,是强调消息时间顺序的交互图;时序图描述的事物:时序图描述系统中类和类之间的交互,将这些交互建模成消息交换,时序图描述了类以及类之间的交换以完成的期望行为的消息,时序图中每条消息都代表了类的一个操作或者引起状态机改变的触发事件;时序图表示:参与交互的对象在时序图顶端水平排列,每个对象的底端绘制了一条垂直虚线,对象A像对象B发送消息,用一条带箭头的实线表示,该实线起始于对象A底部的虚线,终止于对象B底部的虚线;实线箭头水平放置,越靠近顶端越早被发送时序图轨迹:时序图提供了随时间推移的,清晰的可视化的轨迹;2. 时序图组成时序图组成:时序图包括四个元素对象(Object),生命线(Lifeline) ,激活(Activation) ,消息(Message)(1)对象(Object)对象:时序图中的对象在交互中扮演的角色就是对象;对象的符号:时序图中的对象与对象图中的表示方法一样,使用矩形将对象名称包含起来,并且对象名称下有下划线对象创建时机:对象可以在交互开始的时候创建,也可以在交互过程中进行创建;--处于顶部:如果对象的位置在时序图顶部,说明在交互开始的时候对象就已经存在了;--不在顶部:如果对象的位置不在顶部,那么对象在交互过程中创建的;(2)生命线(Lifeli ne)生命线:生命线是一条垂直的虚线,这条虚线表示对象的存在,在时序图中,每个对象的底部都有生命线生命线作用:生命线是一个时间线,从时序图顶部一直到底部都存在,其长度取决于交互的时间;对象的生命线:对象与生命线结合在一起就是对象的生命线,这个概念包含对象图标以及对象下面的生命线图标如上图;⑶激活(Activati on)LilIii激活(Activation) :代表时序图中对象执行一项操作的时期,激活期可以理解为语义中{}中的内容,表示该对象被占用以完成某个任务去激活(Deactivation) :指对象处于空闲状态,在等待消息激活这个对象;激活的表示:当对象处于激活时期,生命线可以拓宽为矩形,这个矩形条成为激活条;激活去激活的时机:--激活:对象激活是在激活条的顶部激活;--去激活:激活条的底部去激活,通常发生在一个消息离开对象生命线;⑷消息消息概念:定义交互和协作中交换信息的类,对对象之间的通信内容建模;消息动作:--动作种类:消息允许在实体间传递信息(传递参数),允许实体请求其它服务,对象之间通过发送和接收消息进行通信;--产生结果:消息可以触发操作,唤起信号,或使目标对象创建或销毁;消息的异步和同步通信:--异步通信:消息是信号的时候,发送信号之后,等待对方触发相应方法,这是明确的命名的对象间的异步通信;--同步通信:直接调用对象的方法,执行方法返回结果,这种具有返回控制机制的操作是同步通信;时序图和协作图中消息的区别:时序图中的消息强调顺序,协作图中的消息强调交换消息的对象间的关系;消息类型:两个对象间绘制消息3. 时序图示例示例简介:--使用场景:汽车租赁公司;-- 使用的对象:Customer ( 客户),Worker ( 工作人员),Order ( 请求),Record ( 记录),Car ( 汽车); --工作流程:①客户 向工人 提出租车要求,②工人 检查 请求,③客户 付款,④工人 填写 记录,⑤工人 取车;时序图:4.对象的创建和撤销对象位置:--顶部:时序图中对象的默认位置是在时序图顶部,这表明对象在交互开始之间就已经存在 --中间:如果对象在时序图中间部分,说明对象时在交互过程中创建的; 交互过程中创建对象的方法:--消息指向对象:消息是构造方法,箭头指向对象所代表的的矩形;过程调用中返回的消息E)两个对象之间的过程调用两个对象之间的异步消息绘制反身消息d!:□3 ok.. ...... ->I ... .....U .....5 wrrteReGQird()6 gfllCenf)CUSM men Gustomer--消息指向激活条:消息是构造方法,箭头指向对象下面的激活条撤销对象:如果想要在时序图中撤销一个对象,因为如果同时有几个对象,如果不进行特殊操作其生命周期将会一样长--效果图:下图中将Customer 和Order对象撤消了,因为它们基本没有参与后期的交互口njgr 砒record Record[]~ru■: 2 chackO,― __________-> 1 i: a■•'il J'n •>a »■a aii 11a Ha *!tl "a *■a »J "3: nkA\*y[)u 5 writeRacorci:]X■;£ g机盹* :• ■iu1 日(hew: OrdBr(J5.时序图建模技术时序图使用时机:对动态行为建模,强调时间展开信息的次序的时候,使用时序图;时序图管理策略单一控制流:一个单独的时序图只能显示一个控制流--多个时序图:完整的控制流很复杂,可以绘制多个时序图,一个主干时序图,多个分支时序图,使用包对这些时序图进行管理 时序图建模策略:--设置交互语境:交互所在的环境,包括哪些对象,属于什么系统,子系统,相关的操作类用例等; --对象排列顺序:根据对象重要性,从左到右排列在时序图中;--对象生命线:对象通常存在于交互的整个过程,也可以在交互过程中被创建和撤销;--消息排列:引发交互信息之后,消息按照时间顺序从上向下画出,先发出的消息 在后发出的消息上面; --激活期设置:可以将实际操作发生的时间点 消息 明确的显示出来;--时间空间约束:每个消息都可以附加合适的时间 和空间约束;--前置后置条件:每条消息可以附加前置 或 后置 条件;(1) 创建时序图新建时序图:在 视图浏览器 中 右键点击 Logical View (逻辑视图),选择New (新建)-> Sequence Diagram (6. Ratio nal Rose时序图操作时序图);添加对象:时序图中有两种对象,一种是参与者Actor, 一种是普通的对象;--参与者对象:在类图中创建一个对象,将其Stereotype 修改为Actor, 就变成了参与者,然后在视图浏览器中将这个元素拖到时序图中即可;(luiiti tied)三 口 Use Cast Vi 關Main 三AsEociati&ns竝血J B帼 $¥.*■rj艮發 UnitsAs 5 0 亡IMIEI帼 HerD i agr SJB 3 Component View €Jl Main Il^ploymeJit Vi &w Modal FropsrtiesCl BS EClass ytility tfse Case [nt trftce :F&cktg«CI BSS Ci agrw Use Case Dxa ■耳raai Ih 电虽Ssq.uftnc« Di Mchart Vi agramActivi t^- DiagramFilfeBL(2)添加对象鞍务人员设置对象属性:双击对象,在弹岀的General 对话框中修改对象属性--Name :对象名称,不输入也可以; --Document : 描述对象的文档;載务人员-- 普通对象 直接在时序图中点击按钮,在界面中创建对象--两种对象效果 学位管理nu ....null:对象保存在数据库或其它形式的永久存储体中 对象保存在内存中知道程序终止; :短时间内保存在内存中;⑶添加消息消息作用:消息用两个对象生命线之间的箭头表示,一个对象可以通过消息请求另一个对象执行某个操作 增加消息:--发送消息:将从发送消息对象的生命线拖到接收消息对象的生命线上;-- 显示取消编号和激活条:菜单栏Tools -> Options -> Diagram 选项卡,Sequence numbering 是消消息编号 of control 显示激活条;设置对象持续性--持续(Persistent) --静态(Static) --临时仃 ransient)Focus协作图(Collaboration Diagram)1. 协作图概念协作图:协作图是一种类图,包含类元角色和关联角色,不仅仅是类元和关联;--强调:强调参与交互的各个对象的结构信息和组织;协作图建模对象:对有交互的对象和这些对象之间的关系建模,不参与交互的对象及它们的关系忽略协作图内容:协作图中表现了类操作中用到的参数,布局变量,操作中的永久链;对象图扩展:协作图可以看做对象图的扩展,该图展示了对象之间的关联,显示岀了对象间的消息传递2. 协作图内容(1) 对象(Object)对象:代表协作图交互中的主体,和时序图中对象的概念类似;协作图和时序图中对象区别:协作图中对象无法创建和撤销,因此对象在协作图的位置没有限制(2) 链(Link)链的表示:链的符号和对象图中链所用的符号是一样的,用来连接两个类角色的实线;/)-- :创建对象之间的通信路径;-- :显示对象可以调用自己的属性;在两个对象之间或一个对象本身增加消息在两个对象之间或一个对象本身从反方向增加消息-- :显示两个对象之间的信息流;-- :在反方向显示两个对象之间的信息流;路径构造性:对象之间的连接可以由链末尾附加的路径构造型表示--添加方式:双击链,选择visibility 属性即可;⑶消息(Message)消息概念:对象间通过链接发送的就是消息;--消息传递方向:对象之间的箭头表明对象间交换的消息流,一个对象发出消息,链指向的对象接收消息,链用于实现消息传输--消息标识:消息流标有消息的序列号和对象间发送的消息名称;--消息结果:每条消息否会触发接收对象的一系列操作;消息序号:协作图与时序图中的消息类型是一样的,为了表明消息顺序,需要为消息添加序号;3. 协作图示例示例简介:汽车租赁流程;-- 涉及到的对象:Customer (客户),Order (订单),Worker (工人),Record (记录),Car (汽车);--流程简介:客户写好订单,工人核对订单,核对后订单存在,允许客户取车,工人填写记录,并将车取岀;114. 协作图建模策略协作图使用场景:对系统动态行为建模,按组织对控制流建模使用协作图;协作图管理策略:--单个协作图:单个协作图只能显示一个控制流;--多个协作图:描述复杂系统的时候,需要许多协作图共同描述,一些图是主干协作图,还有许多分支路径的控制流的协作图,使用包管理这些协作图;协作图的建模策略:--设置语境:设置协作图所在的环境,如系统,子系统,类,操作,用例或用例脚本;--对象顶点:识别对象在协作图中扮演的角色,协作图中,对象是图的顶点;--变化修改:每个对象最初都会设置初始值,如果期间对象发生了变化,修改的方式是:协作图中放置一个复制对象,更新复制对象,同过后造型become copy 连接二者;--确定链接顺序:先确定关联链接,哪些对象相互链接;在确定消息链接,路径构造型等表示对象间如何连接;--消息顺序:从引起交互的消息开始编号,将编号信息和描述信息附到链接上,描述了对象之间的传递次序;--时间空间约束:可以为每个消息附加时间和空间上的约束;--前置后置条件:可以为每个消息附加前置和后置条件;5. Rati onal Rose 绘制协作图13(1)创建协作图创建流程:视图浏览器-> Logical View ( 逻辑视图)-> New ( 新建)-> Collaboration Diagram (协作图);链)Cunt i tied ) E Cl Use Case Vi ew 里 Main 玄 Asscci at i ons o Ma: Cor IS 固 Niodal Froparti es ClassClass Utility Use Cas€InterfaceFackAg®Class Di agram ; Sequence Diagram Statfrchar t Di agr un Activi tjr Diagram Die URL(2) 添加对象协作图中添加对象:与时序图基本类似; --添加参与者对象:在类图中创建好类,然后将类型设置为Actor, 然后在视图浏览器中将 Actor拖到协作图中--添加普通对象:直接点击工具栏中的图标设置即可 ; ⑶添加消息添加对象间消息:在两个对象之间添加消息--添加消息:使用在通信路径上添加消息--设置消息名称:双击消息箭头,可以在弹岀的对话框中修改消息名称(4) 添加数据流数据流概念:数据流是一个对象向另一个对象发送消息返回的消息;--使用场景:没必要在每个消息上都加上数据流,只要在中药消息上附加数据流即可;I Q Q数据流添加方法:选择或按钮,单击要返回的数据消息,数据流箭头就会被添加到这个消息上-- 建立通信路径使用/I连接两个对象,建立两个对象间的通信路径添加反身消息:选择象添加消息;QI点击对象,就会岀现指向对象本身的路径可以为该对选择点击这个指向本身的路径6.时序图与协作图转换各自侧重点:时序图和协作图是等价的,可以任意转换,而不丢失信息--时序图:描述交互过程中的时间顺序,没有明确表达对象间关系;--协作图:描述了对象间的关系,但是时间顺序必须从消息的序号中获取转换示例--场景介绍:学生毕业管理--对象介绍:教务人员,学位评价,成绩管理,奖惩管理,信息打印;--控制流介绍:①教务人员输入学号进入学位评价模块,②学位评价模块会向成绩管理模块查询成绩,③向奖惩管理模块询奖惩记录,④学位评价模块会将结果打印到信息打印模块,⑤信息打印模块将结果返回给教务人员;时序图151学号协作图学位萱理nu::成绩管理2学号---------- >奖焦官理nu::3成绩6结果信息打印17信息打学位管印w ------ 理6■结果7.时序图和协作图对比时序图和协作图 共同点:都是有 消息和类角色组成 接口方法由消息发送对象触发 --支持消息:时序图和协作图都支持消息时序图和协作不同点--衡量工具 时序图和协作图可以作为衡量系统耦合性的工具耦合性就是系统中模型之间的依赖性两个模型之间的依赖关系通过查看两个模型之间的消息数量和类型就可以看岀,消息交互少的耦合性高;--规定责任 时序图和协作图 都规定了消息发送对象 和消息接收对象 的责任,每个接收对象都有消息对应的接口这个--对象创建撤销侧重点:时序图侧重描述对象的创建和撤销,新创建的对象放在对象生命线上对应的时间点,撤销的对象在结束的地方放一个X表示该对象不能再继续使用;协作图中创建撤销的概念不存在,对象时始终存在的,只能通过消息描述或约束来说明对象的创建和撤销;--链接侧重点:时序图中的链没有表示岀来,可以随意绘制消息,有些逻辑交互可能不会发生;协作图的消息是映射在链上的,消息和链平行放置,如果想要通过消息查看对象之间的关联使用协作图最好;--激活和去激活:时序图表现有激活和去激活,协作图上没有时间概念的描述,无法清晰地表示对象的激活和去激活;实例-图书管理系统1. 管理员为图书添加类别控制流说明:-- 涉及到的对象:Admin (管理员),BooklnfoWindow (图书信息窗口),Tittle (图书类别),Item (图书条目);--流程:管理员查询图书信息窗口,查看有没有相应的图书类别,如果有插入该图书条目;时序图:192. 管理员删除图书协作图BooktafaVViidoTittleVVnu::nu ........ .1添加图书2查询粪别 3类别有在 < .控制流说明:-- 涉及到的对象:Admin (管理员),BooklnfoWindow (图书信息窗口), Tittle (图书类别),ltem(图书条目); --控制流程:管理员登陆图书信息窗口删除图书,查表图书类别是否存在,查找图书是否存在,如果都返回true, 删除图书条目;时序图:Admin菅理员Be oh Info'//in dowTjttb协作图:AdminWJf 员3. 管理员借书时序图nu';nu. ................................... 1刪除團书 ------------ >nu2查找圈书类别丨 -------------------------------- ---- -------------- --- ------------------------3存在< ................ 4查找由书条目I~~i~■5存在< --------------- -:---- G删除歯书衆目nu……r 1睛除图毛Booklnfo ItemWindow控制流说明:21-- 参与的对象:Admin ( 管理员),BooklnfoWindow (图书信息窗口 ), Tittle ( 图书类别),Borrower ( 借阅者),Loan(借书记录),item ( 图书条目); --流程:管理员登陆图书信息窗口,查询图书类别是否存在,查询图书条目是否存在,查询借阅者是否存在,创建借书 记录; 时序图:3存在 < -----------5存在7有在3创建倍阅记录:协作图 Booklnfo'A'indcTit" BorrowerLoan□ □ 0 t □1借书请或 2査询娄别------------ - -----------。
UML时序图的绘制指南与实例解析UML(统一建模语言)是一种用于软件开发的标准化建模语言,它提供了一种图形化的方式来描述系统的结构和行为。
在UML中,时序图(Sequence Diagram)是一种常用的建模工具,用于展示系统中各个对象之间的交互过程。
本文将为读者提供一份UML时序图的绘制指南,并通过实例解析来帮助读者更好地理解和运用时序图。
一、时序图的基本概念时序图是一种描述对象之间交互行为的图形化工具,它展示了对象之间的消息传递和时间顺序。
在时序图中,每个对象都表示为一个矩形框,框内写上对象的名称。
对象之间的交互通过箭头表示,箭头上标注的是消息的名称和参数。
时序图按照从上到下的顺序表示时间的流逝,从而展示了系统中对象之间的交互过程。
二、时序图的绘制步骤1. 确定参与者:首先,需要确定在时序图中需要包含哪些对象或者参与者。
参与者可以是系统的各个模块、用户、外部接口等。
将每个参与者表示为一个矩形框,并在框内写上其名称。
2. 确定消息:接下来,需要确定对象之间的交互过程,并将其表示为消息。
消息可以是方法调用、事件触发等。
在时序图中,消息通常用箭头表示,箭头上标注的是消息的名称和参数。
3. 确定时间顺序:在时序图中,对象之间的交互是按照时间顺序展示的,因此需要确定每个消息发生的时间顺序。
可以通过在时序图中添加垂直虚线来表示时间的流逝,从而更清晰地展示对象之间的交互过程。
4. 添加约束条件:有时候,对象之间的交互过程可能会受到一些约束条件的限制,比如并发执行、条件判断等。
在时序图中,可以使用条件框来表示这些约束条件,从而更准确地描述系统的行为。
三、时序图的实例解析为了更好地理解和运用时序图,我们以一个简单的购物系统为例进行实例解析。
在这个购物系统中,主要包含三个参与者:用户、购物车和商品。
用户可以将商品添加到购物车,并进行结算。
首先,我们将用户、购物车和商品分别表示为三个矩形框,并在框内写上其名称。
接下来,我们确定对象之间的交互过程。
时序图?
1.为什么要画时序图
我们编码的时候,知道有的⽤例的业务逻辑按照⽐较确定的时间先后顺序进⾏展开。
这时候,我们就需要知道我们设计的系统中的不同类之间传递消息(可以认为是不同对象函数间的调⽤)要按照怎么样的顺序、传递什么消息、返回什么消息。
这时候⽤时序图是最好不过的了。
此外,⼤公司都在⽤,,这样也为了深刻把握软件在执⾏过程中的发⽣的变化。
2.时序图的定义
时序图是描述消息时间顺序的交互图。
在图形上,时序图是⼀张表,其中显⽰的对象沿横轴排列,从左到右分布在图的顶部;⽽消息则沿纵轴按时间顺序排序。
创建时序图时,以能够使图尽量简洁为依据布局。
3.画时序图的⼯具
⼀般来说都是使⽤visio,当然,如果项⽬⽐较⼩,也可以⼿绘,但是⼀般不提倡⼿绘。
4.如何绘制时序图??。
时序图百科名片时序图时序图(Sequence Diagram),亦称为序列图或循序图,是一种UML行为图。
它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。
它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。
目录[隐藏]时序图元素时序图结构时序图创建步骤举例说明[编辑本段]时序图元素时序图中包括如下元素:类角色,生命线,激活期和消息1,类角色(Class R ole)类角色代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表类角色。
类角色一般代表实际的对象2,生命线(Lif eline)生命线代表时序图中的对象在一段时期内的存在。
时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间的消息存在于两条虚线间。
3,激活期(Activ ation)激活期代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。
它可以被理解成C语言语义中一对花括号“{}”中的内容4,消息(Message)消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。
允许实体请求其他的服务,类角色通过发送和接受信息进行通信[编辑本段]时序图结构时序图描述对象是如何交互的,并且将重点放在消息序列上。
也就是说,描述消息是如何在对象间发送和接收的。
时序图有两个坐标轴:纵坐标轴显示时间,横坐标轴显示对象。
每一个对象的表示方法是:矩形框中写有对象和/ 或类名,且名字下面有下划线;同时有一条纵向的虚线表示对象在序列中的执行情况( 即发送和接收的消息对象的活动) ,这条虚线称为对象的生命线。
对象间的通信用对象的生命线之间的水平的消息线来表示,消息线的箭头说明消息的类型,如同步,异步或简单。
浏览时序图的方法是,从上到下查看对象间交换的消息,分析那些随着时间的流逝而发生的消息交换。
时序图中的消息可以是信号、操作调用或类似于C++ 中的R PC (Rem ote Proc edure C all,远程过程调用)或Jav a 中的R MI(R emot e Method Inv ocat ion ,远程方法调用)。
第八讲三、设计实例等精度频率、占空比测量仪1.综述传统频率测量方法是对设定的闸门时间内脉冲进行计数,有两个主要因素影响精度,其一是闸门时间的准确度,其二是对低频信号的取整误差,为了消除以上两个因素的影响可选择等精度测频法。
但等精度测频法占用可编程器件资源量大,如选用24位计数器的频率计,仅测频部分就占用了EPM7128芯片的百分之九十以上的资源;若选用100MHz标准时钟,其闸门时间仅能选择在0.168s以下,测频范围在6Hz以上,限制了对低频的测量。
若要扩大低频量程,需要相应增大可编程器件容量,则体积、功耗和价格相应增加。
本文所述等精度频率、占空比测量仪采用将复杂可编程逻辑器件(CPLD)与低功耗单片机相结合,由CPLD完成高频信号计数,单片机完成低频信号计数、频率和占空比计算和显示控制等功能,即简化了仪器的结构,又扩大了低频量程。
如单片机采用长整形变量计数(32位),再加上CPLD中16位计数器,等效为48位计数器构成的等精度测量仪,当选用100MHz标准时钟时,低频范围可达3.55×10-7Hz。
本文所述等精度频率、占空比测量仪结构框图如图8-1所示,CPLD可编程逻辑器件选用的是EPM7064芯片,单片机可根据实际情况选用。
图8-1 等精度频率、占空比测量仪结构框图单片机发出如下所示控制信号:CLEAR:SLCE为高时CPLD芯片内各计数器清零信号;SLCE为低时占空比清零和测量启动信号。
SLCE:功能选择控制信号。
高电平测频;低电平测占空比。
CONTRL:闸门时间信号。
高电平测频;低电平测占空比。
S[2..0]:输出选择控制信号。
000—CPLD 输出标准时钟信号四位计数值最低位;001—CPLD 输出标准时钟信号计数值次低位;010—CPLD 输出标准时钟信号计数值第三位;011—CPLD 输出标准时钟信号计数值第四位;100—CPLD 输出被测信号四位计数值最低位;101—CPLD 输出被测信号计数值次低位;110—CPLD 输出被测信号计数值第三位;111—CPLD 输出被测信号计数值第四位。
时序图设计:根据流程,绘制时序图,理清对象间交互和调用顺序一、引言时序图是一种重要的UML图,用于描述对象之间的交互和调用顺序。
它可以帮助开发人员更好地理解系统中各个对象之间的关系,从而更好地设计和实现软件系统。
本文将介绍时序图的设计过程,并提供一些实例来帮助读者更好地理解时序图的绘制方法。
二、时序图概述时序图是一种表示对象之间交互的UML图,它展示了系统中各个对象之间的调用顺序和时间流逝。
时序图由对象(也称为参与者)和消息组成。
对象代表系统中的实体,消息表示对象之间的交互。
时序图以垂直方向表示时间的流逝,从上到下依次展示对象的调用顺序。
时序图的绘制过程包括确定参与者、标识参与者、确定消息流、绘制时序图。
下面将逐步介绍这些步骤。
三、确定参与者在绘制时序图之前,首先需要确定参与者。
参与者是系统中的实体,它们在时序图中表示为对象。
确定参与者的过程需要分析系统的功能和需求,确定哪些实体在系统中起到关键作用,需要与其他实体进行交互。
参与者可以是人、软件模块、外部系统等。
对于复杂的系统,可能会存在多个参与者,需要通过分析系统的业务逻辑来确定它们。
四、标识参与者确定了参与者之后,需要为每个参与者标识一个唯一的名称。
参与者的名称应该能够清晰地表达其在系统中的角色和责任。
为了增加时序图的可读性,可以在参与者的名称旁边添加一个图标或者简短的描述,帮助读者更好地理解参与者的作用。
标识参与者的过程需要结合系统的设计和需求,确保参与者的名称准确地表示其在系统中的角色。
五、确定消息流在绘制时序图之前,还需要确定对象之间的消息流。
消息是对象之间交互的基本单位,它表示一个对象向另一个对象发送的信息。
消息可以是同步的(表示调用一个方法并等待返回结果)或者异步的(表示发送一个消息并不等待返回结果)。
确定消息流的过程需要分析系统的业务逻辑和交互规则,确定哪些对象需要交互,以及交互的方式和顺序。
可以使用箭头表示消息的流向,箭头的方向表示消息的发送方向。
时序图的流程和算法下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!1. 确定系统边界和参与者:明确要描述的系统或业务流程的范围。
识别参与该流程的各个实体或角色,即参与者。
中央处理单元(CPE)/电子工程师(EE)421微型计算机翻译时序图芯片6800的读周期一个简单的触发器的时序图(图(1)-(4))图(1)时序图的理想形式图(2) D触发器的实际动作图图(3)时序图的普遍形式图(4)时序图的替换形式一、计数器1.一个微处理器需要一个计数器来提供一连串的时间脉冲来来控制其内部操作。
2.一个6800存储器芯片至少有八个时钟状态,是从时钟状态S0到时钟状态S7.图1 存储器开始于状态S0,结束于状态S7图2 计数器最重要的参数就是技术周期,记为图3 在存储器开始工作的时候,CPU就会告知存储器它想读取的数据的位置地址二、地址时序1、我们感兴趣的是:芯片68000在什么时候会在存取存储器内产生一个新的地址以供使用。
2、接下来的图片表明了新地址和68000的时钟状态之间的关系。
图4 (1)起初,在状态S0时,地址总线包含了旧地址(2)在状态S1时,一个新地址对于存取存储器剩余的空间来说是有效的图5 地址总线变化的目录下的时间与计数器边沿有关3、接下来我们看控制地址总线时序的一连串顺序。
4、“旧”地址在状态S0时被移除。
5、地址总线在一个较短的时间内浮动,CPU在状态S1时产生一个新地址。
图6 在状态S0时,旧地址被移除,地址总线处于浮动状态图7 设计者对于地址首次有效的某个时间点感兴趣。
这个点就是在S0的下降沿之后的时间秒处图8 存储器需要知道来自CPU的地址何时是有效的。
地址选通器就用来预测地址的有效性三、地址和地址选通1、我们关心的是地址有效的时间和地址被选通器选定认为有效的时间之间的关系。
2、当选通器是低电平是,就表示地址是有效的。
3、下面我们来看看计数器、地址、地址选通器的时序图。
图9 当地址有效的时候,选通器就会表现出低电平;当地址改变了(无效),选通器呈现出高电平图10 在计数器状态S2时,选通器转变成低电平四、数据选通器1、芯片68000有两个数据选通器和。
时序图(序列图)⼀、什么是时序图?时序图(Sequence Diagram),亦称为序列图、循序图或顺序图,是⼀种UML交互图。
它通过描述对象之间发送消息的时间顺序显⽰多个对象之间的动态协作。
时序图是⼀个⼆维图,横轴表⽰对象,纵轴表⽰时间,消息在各对象之间横向传递,依照时间顺序纵向排列。
⼆、时序图的作⽤是什么?1、展⽰对象之间交互的顺序。
将交互⾏为建模为消息传递,通过描述消息是如何在对象间发送和接收的来动态展⽰对象之间的交互;2、相对于其他UML图,时序图更强调交互的时间顺序;3、可以直观的描述并发进程。
三、组成元素有哪些?1. ⾓⾊(Actor)系统⾓⾊,可以是⼈、机器、其他系统、⼦系统;在时序图中⽤表⽰。
2. 对象(Object)(1)对象的三种命名⽅式第⼀种⽅式包括对象名和类名,例如:直播课时:课时,在时序图中,⽤“对象:类”表⽰;第⼆种⽅式只显⽰类名,即表⽰它是⼀个匿名对象,例如: :课程;在时序图中,⽤“:类”表⽰;第三种⽅式只显⽰对象名不显⽰类名,例如:讲师;在时序图中,⽤“对象”表⽰。
(2)命名⽅式的选择三种命名⽅式均可,哪种最容易让阅读该时序图的⼈理解,就选择哪种。
(3)对象的排列顺序对象的左右顺序并不重要,但是为了作图清晰整洁,通常应遵循以下两个原则:把交互频繁的对象尽可能的靠拢;2.把初始化整个交互活动的对象放置在最左端。
3. ⽣命线(Lifeline)在时序图中表⽰为从对象图标向下延伸的⼀条虚线,表⽰对象存在的时间。
4. 控制焦点(Focus of Control)⼜称为激活期,表⽰时间段的符号,在这个时间段内对象将执⾏相应的操作。
它可以被理解成C语⾔语义中⼀对花括号{ }中的内容;⽤⼩矩形表⽰。
5. 消息(Message)消息⼀般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message)。
除了提供一个图形化边框之外,用于图中的框架元件也有描述交互的重要的功能, 例如序列图。
在序列图上一个序列接收和发送消息(又称交互),能通过连接消息和框架元件边界,建立模型(如图2 所见到)。
这将会在后面“超越基础”的段落中被更详细地介绍。
UML 的生命线命名标准按照如下格式:除了仅仅显示序列图上的消息调用外,图4 中的图还包括返回消息。
这些返回消息是可选择的;一个返回消息画作一个带开放箭头的虚线,向后指向来源的生命线,在这条虚线上面,你放置操作的返回值。
在图 4 中,当getSecurityClearance 方法被调用时,secSystem组合碎片(变体方案,选择项,和循环)然而,在大多数的序列图中,UML 1.x“in-line”约束不足以处理一个建模序列的必需逻辑。
这个功能缺失是UML 1.x 的一个问题。
UML 2 已经通过去掉“in-line”约束,增加一个叫做组合碎片的符号元件,解决了这一个问题。
一个组合碎片用来把一套消息组合在一起,在一个序列图中显示条件分支。
UML 2 规范指明了组合碎片的11 种交互类型。
十一种中的三种将会在“基础”段落中介绍,另外两种类型将会在“超越基础”中介绍,而那剩余的六种我将会留在另一篇文章中介绍。
(嗨,这是一篇文章而不是一本书。
我希望你在一天中看完这部分!)变体变体用来指明在两个或更多的消息序列之间的、互斥的选择。
3 变体支持经典的“if then else”逻辑的建模(举例来说,如果我买三个,然后我得到我购买的20% 折扣;否则我得到我购买的10% 折扣)。
就如你将会在图8 中注意到的,一个变体的组合碎片元件使用框架来画。
单词“alt”放置在框架的namebox里。
然后较大的长方形分为UML 2 所称的操作元。
4 操作元被虚线分开。
每个操作元有一个约束进行测试,而这个约束被放置在生命线顶端的操作元的左上部。
5 如果操作元的约束等于“true”,然后那个操作元是要执行的操作元。
产品经理简称PM,是指在公司中针对某一项或是某一类的产品进行规划和管理的人员,主要负责产品的研发、制造、营销、渠道等工作。
产品经理是很难定义的一个角色,如果非要一句话定义,那么产品经理是为终端用户服务,负责产品整个生命周期的人。
产品经理需要考虑目标用户特征、竞争产品、产品是否符合公司的业务模式等等诸多因素。
近年来互联网产品经理火热,一起看下为大家精选的互联网产品经理学习文章。
上次介绍了活动图,这次UML 中,另一种流程分析利器——时序图。
以前每次要分析流程,我都会用活动图。
直到有一次,我面对一个业务流程,画活动图,画来画去,总觉得哪里不对,但又表达不出来,感觉如鲠在喉。
后来,我想起时序图,用时序图把流程梳理了一遍,豁然开朗。
原来,用不同的视图去描述同一个流程,能让我们看到自己未曾发现的问题。
就像看足球比赛,在多个不同位置的摄像镜头下,能看到球员更全面的表现。
此后,我用时序图甚至比活动图还多。
那么,它有啥特别之处,居然能替代活动图来分析流程?我们一起来看看。
01 解读时序图时序图,也叫序列图、顺序图,是UML 中常用的动态视图,用于描述多个对象参与实现业务目标时,彼此之间按时间顺序进行交互的过程。
时序图,用来表达对象或角色之间交互的信息传递和时间顺序,特别方便。
每次梳理流程,跟开发沟通,我都会借助它来描述。
绘制时序图,将一个个对象和其交互动作列出来,可以直观反映出,每个对象对其他对象、或其自身做的交互动作,让我们看到业务内部的运作、系统之间的互动,从而搞清楚业务规则、系统逻辑。
在《火球:UML 大战需求分析》一书中,作者总结特别好:“任何复杂的交互,都可以分解为自己与自己、自己与别人、别人与别人的多个简单交互”。
时序图正体现了这种逻辑,所以,它表达交互逻辑时,非常清晰简单。
客户用ATM 取款的时序图作为产品经理,如果我们能掌握这一利器,用来分析业务、定义需求,与开发沟通,定能大大提高效率。
时序图常见的应用场景,是在支付领域。
时序图学习总结时序图(Sequence Diagram),一种交互图.用来显示对象之间的关系,并强调对象之间消息的时间顺序,同时显示了对象之间的交互。
用例就是需求流程说明,时序图则是流程的实际顺序。
时序图中包括如下元素:类角色,生命线,激活期和消息。
1,类角色(Class Role) 类角色代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表类角色。
3,激活期(Activation) 激活期代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。
时序图1.按照交互发生的时间顺序,显示对象之间是如何调用的;2.描述了具体用例的详细流程;3.主要用途,是把用例表达的需求,转化为进一步、更加正式层次的精细表达。
4.用例常常被细化为一个或更多的时序图。
例如:读者还书的时序图序列图要达到某个特定的目标,必然要执行一系列的方法调用。
UML 序列图的典型用途就是显示出方法调用过程。
图二显示了一个交易事务中计算累计金额的序列图,调用从Sale 类的calcTotal() 方法开始,相关的代码片断在序列图之后给出。
术语说明:UML 把操作(Operation)定义为方法的特征(Signature)。
“方法”(Me thod)这一术语被保留给实现操作的代码。
但在Java 环境中,“方法”这一术语的应用范围更广泛一些。
在UML 序列图中,调用一个操作就叫做发送一个消息(Message)。
序列图实际上阐述了操作的具体实现,所以下面我们会较多地用到“方法”这个术语(偶尔也会用到“消息”这个术语)。
图二计算交易总金额的序列图为了便于把握序列图的总体情况,图一只显示了方法的名称。
详细的序列图可以显示出方法的参数和返回值。
在序列图中,对象以常规的UML 符号显示,即使用与对象所属的类一样的形状或符号(默认是矩形),再注明对象的名称,加上一个冒号,再加上相应的类名称。
然后再为整个名字加上下划线(例如,图二中的aProduct:Product)。