
图书管理系统-动态结构设计-时序.ppt
44页IT Education & Training软件工程与UML林琳Email: Email: Beyond TechnologyIT Education & Training今天的工作任务1.完成系统行为交互建模:时序图建模提交内容1.系统时序图我们的进度,在这里IT Education & Training工作任务1:完成系统行为交互建模时序图建模我们的进度,在这里IT Education & Training知识点:第9章 动态视图时序图9.1 时序图的相关概念9.3 时序图的用途9.4 时序图的建模技术我们的进度,在这里IT Education & Training9.1 时序图的相关概念UML的交互图是用户系统动态方面的建模,交互图可分为时序图和协作图时序图(Sequence Diagram)描述了对象之间传递消息的时间顺序,它用来表示用例中的行为顺序,是强调消息时间顺序的交互图时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换,也就是说,时序图描述了类以及类间相互交换以完成期望行为的消息时序图包括了4个元素,分别是对象(Object)、生命线(Lifeline)、激活(Activation)和消息(Message)。
我们的进度,在这里IT Education & Training时序图符号表示生命线生命线激活激活消息消息我们的进度,在这里对象对象IT Education & Training一个旅客到机场换登机牌的情况IT Education & Training时序图阅读练习1:IT Education & Training时序图阅读练习2:IT Education & Training时序图阅读练习3:IT Education & Training时序图阅读练习4:请描述该时序图表达的含义IT Education & Training9.3 时序图的用途时序图强调按时间展开的消息传送按时间展开的消息传送,这在一个用例脚本的语境中对动态行为的可视化非常有效UML的交互图是用于对系统的动态方面的建模,交互图又可分为时序图和协作图,时序图用于描述对象之间消息的时间顺序,协作图用于描述对象间的交互关系,以致它们的用途有所差别以下是时序图有别于协作图的特性:(1)时序图有生命线(2)时序图有激活期我们的进度,在这里IT Education & Training时序图可以用于软件开发的不同阶段和不同情况下:1.当不同类之间存在多个简短的方法时,描述控制流的整体序列。
2.显示并发进程和激活3.显示在协作图中难以描述的时间序列4.显示涉及类交互与对象无关的一般形式IT Education & Training9.4 时序图的建模技术对系统动态行为建模,当强调按时间展开信息的传送时,一般使用时序图使用时序图对系统建模时,可以遵循如下策略1)设置交互的语境,这些语境可以是系统、子系统、操作、类、用例和协作的一个脚本2)通过识别对象在交互中扮演的角色,根据对象的重要性,将其从左向右的方向放在时序图中3)设置每个对象的生命线一般情况下,对象存在于交互的整个过程,但它也可以在交互过程中创建和撤销4)从引发某个交互的信息开始,在生命线之间按从上向下的顺序画出随后的消息5)设置对象的激活期,这可以可视化实际计算发生时的时间点、可视化消息的嵌套6)如果需要设置时间或空间的约束,可以为每个消息附上合适的时间和空间约束7)给某控制流的每个消息附上前置或后置条件,这可以更详细地说明这个控制流我们的进度,在这里IT Education & Training创建时序图创建方法单击Browse Interaction Diagram,弹出Select Interaction Diagram对话框;在对话框左边选择预建立时序图的包,单击OK。
弹出New Interaction Diagram对话框;在Title字段输入新框图的名字,单击diagram type中的Sequence,单击OK在左边浏览器Use Case View或Logical View上右键单击,选择“new”,选择“Sequence Diagram” 我们的进度,在这里IT Education & Training时序图工具箱我们的进度,在这里IT Education & Training消息将消息加进将消息加进时序图单击工具箱中的 按钮;将鼠标从发送消息的对象或参与者的生命线拖动到接受消息的对象或参与者的生命线; 输入消息文本 我们的进度,在这里IT Education & Training消息将反身消息加进将反身消息加进时序图单击工具箱中的 按钮;单击收发消息的对象生命线; 输入消息名 我们的进度,在这里IT Education & Training为消息分配操作要给消息分配操作: 右键单击框图中的消息;从弹出的列表中选择一个操作;或者单击 定义一个新操作改变消息指定的操作: 右键单击框图中的消息; 从弹出的列表中选择新的操作名 我们的进度,在这里IT Education & Training对象规范映射类(映射类(Class)在Class下拉列表框中选择类名; 或者,将浏览器中的类拖动到框图中的对象上。
对象持续性(对象持续性(Persistence) Persistent:对象保存到数据库或者其他形式的永久存储体中 Static:对象保存在内存中直到程序中止Transient:对象只在短时间内保存在内存中多实例(多实例(Multiple instances) 选中该复选框之后,协作图中的对象图标将显示为多实例图标但在时序图中,对象图标仍然是单个对象的图标我们的进度,在这里IT Education & Training消息规范General标签标签Name:消息名Documentation:对消息的附加说明我们的进度,在这里IT Education & Training消息规范Detail标签标签消息同步类型(Synchronization)选项选项含义含义SimplySimply简单消息简单消息SynchronousSynchronous同步客户(发送消息的对象)发出消息后,同步客户(发送消息的对象)发出消息后,等待供应者(即消息接收者,或操作提供者)等待供应者(即消息接收者,或操作提供者)响应消息客户等供应者执行完操作之后才响应消息客户等供应者执行完操作之后才能继续其本身的进程,在执行操作的这段时能继续其本身的进程,在执行操作的这段时间内,客户一直处于等待状态,直到它收到间内,客户一直处于等待状态,直到它收到从操作提供者那里返回的消息。
从操作提供者那里返回的消息BalkingBalking阻止客户只能在操作提供者能立即接收消阻止客户只能在操作提供者能立即接收消息的情况下发送消息如果操作提供者没有息的情况下发送消息如果操作提供者没有准备好接收消息,则客户将放弃该消息准备好接收消息,则客户将放弃该消息TimeoutTimeout超时客户发出消息并指定等待时间,如果超时客户发出消息并指定等待时间,如果供应者不能在指定时间内处理消息,则客户供应者不能在指定时间内处理消息,则客户将放弃该消息将放弃该消息AsynchronousAsynchronous异步客户发出消息后,不等待消息是否接异步客户发出消息后,不等待消息是否接收,无需等待供应者的应答,可以直接继续收,无需等待供应者的应答,可以直接继续自身的操作自身的操作Procedure Procedure CallCall过程调用客户发出消息,等待处理消息的过程调用客户发出消息,等待处理消息的整个嵌套顺序完成之后才能继续整个嵌套顺序完成之后才能继续ReturnReturn返回从过程调用返回返回箭头可以省略,返回从过程调用返回返回箭头可以省略,因为这种消息隐式地表示一个活动的结束因为这种消息隐式地表示一个活动的结束。
我们的进度,在这里IT Education & Training消息规范Detail标签标签消息频率(Frequency)消息频率可以让消息按规定的时间间隔发送不定期(Aperiodic):将消息设定为不定期发送的消息、只发送一次,或者不规则时间间隔发送 定期(Periodic):将消息设定为定期发送的消息 我们的进度,在这里IT Education & Training消息编号消息根据对象生命线从上往下从1开始进行编号删除消息时,Rose自动将其余消息重新编号打开或关闭消息编号:选择Tools Options; 选择Diagram标签; 复选或取消Sequence Numbering在时序图中,消息可以按两种方式编号: Top-Level(顶级编号)方式,如1、2、3;或者Hierarchical(等级编号)方式,如、 我们的进度,在这里IT Education & Training消息编号Top-Level 编号定义顶级编号编号由1开始,后续消息的编号单调递增,消息编号只有一个单一的数字,没有数字子集举例如用户设定了编号为1.,1.1.,1.2.和1.2.1.的消息,在顶级编号时将被编号为1,2,3和4 一般用于对象和消息很少的时序图中 要对消息进行顶级编号:单击Tools Options; 单击Diagram标签; 选中Sequence Numbering复选框。
我们的进度,在这里IT Education & Training消息编号Hierarchical编号定义即等级编号,Hierarchical 编号使用带小数点的号码,方便显示消息嵌套举例如1表示第一个消息,表示嵌套在消息中的第一个消息,表示嵌套在消息中的第二个消息注意:如果删除消息1,则嵌套在消息1中的其他消息也将同时被删除 要对消息进行等级编号: 选择Tools Options; 单击Diagram标签; 同时选中Sequence Numbering和Hierarchical Messages复选框 我们的进度,在这里IT Education & Training消息编号Hierarchical编号我们的进度,在这里IT Education & Training控制焦点显示或关闭控制焦点单击Tools Options; 单击Diagram标签; 选中“Focus of Control”左边的复选框,表示在时序图中显示控制焦点;否则,在时序图中不显示控制焦点控制焦点着色单击箭头指向控制焦点的消息 选择Format Fill Color; 在颜色框中单击要选择的填充颜色; 单击OK 我们的进度,在这里IT Education & Training控制焦点控制焦点的嵌套嵌套的控制焦点依附在另外一个控制焦点之上,它可以确切地区分一个消息开始和终止的具体位置。
要显示嵌套的控制焦点,必须同时选中Options对话框中Diagram标签中的Hierarchical Messages和Focus of Control两个选项我们的进度,在这里IT Education & Training练习一下:使用ROSE画出一下时序图IT Education & Training时序图的补充关于控制结构的表示在规范中,引入了组合碎片的概念(Combined Fragment) ,在时序图中加入一些方框标记,来表示控制结构这样的时序图,我们把它称作为帧化时序图 ref标记:简化表示重复的内容或子活动的引用alt标记:条件执行(if-else)par标记:并行执行loop标记:循环执行(while/for)opt标记:可选执行(if单条件)我们的进度,在这里IT Education & TrainingIT Education & TrainingIT Education & TrainingIT Education & TrainingIT Education & TrainingIT Educatio。
