《图书管理系统-OOD-协作图与时序图.ppt》由会员分享,可在线阅读,更多相关《图书管理系统-OOD-协作图与时序图.ppt(48页珍藏版)》请在三一办公上搜索。
1、图书管理系统-协作图与时序图,2023年11月,2012.11,2,动态视图-时序图(Sequence Diagram),时序图的相关概念时序图的用途时序图的建模技术,2012.11,3,时序图的相关概念(Concepts),UML的交互图是用户系统动态方面的建模,交互图可分为时序图和协作图。时序图(Sequence Diagram)描述了对象之间传递消息的时间顺序,它用来表示用例中的行为顺序,是强调消息时间顺序的交互图。时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换,也就是说,时序图描述了类以及类间相互交换以完成期望行为的消息。时序图包括了4个元素,分别是对象(Object)
2、、生命线(Lifeline)、激活(Activation)和消息(Message)。,2012.11,4,时序图符号表示(Symbols),2012.11,5,旅客到机场换登机牌的情况,2012.11,6,时序图阅读练习1:(Exercise),2012.11,7,时序图阅读练习2:(Exercise),2012.11,8,时序图阅读练习3:(Exercise),9,时序图阅读练习4:(Exercise),请描述该时序图表达的含义,10,时序图的用途(Sequence Diagram Use),时序图可供不同的用户使用,以帮助他们进一步了解系统:用户:进一步了解业务细节分析人员:进一步明确事件
3、的处理流程开发人员:进一步了解需要开发的对象和对这些对象的操作测试人员:通过过程的细节开发测试案例,11,时序图的用途(Sequence Diagram Use),当不同类之间存在多个简短的方法时,描述控制流的整体序列。显示并发进程和激活。显示在协作图中难以描述的时间序列。显示涉及类交互而与对象无关的一般形式。,12,时序图的建模技术(Sequence Diagrams Modeling Technologies),对系统动态行为建模,当强调按时间展开信息的传送时,一般使用时序图。使用时序图对系统建模时,可以遵循如下策略。(1)设置交互的语境,这些语境可以是系统、子系统、操作、类、用例和协作的
4、一个脚本。(2)通过识别对象在交互中扮演的角色,根据对象的重要性,将其从左向右的方向放在时序图中。(3)设置每个对象的生命线。一般情况下,对象存在于交互的整个过程,但它也可以在交互过程中创建和撤销。,13,时序图的建模技术(Sequence Diagrams Modeling Technologies),(4)从引发某个交互的信息开始,在生命线之间按从上向下的顺序画出随后的消息。(5)设置对象的激活期,这可以可视化实际计算发生时的时间点、可视化消息的嵌套。(6)如果需要设置时间或空间的约束,可以为每个消息附上合适的时间和空间约束。(7)给某控制流的每个消息附上前置或后置条件,这可以更详细地说明
5、这个控制流。,14,创建时序图(Create Sequence Diagram),创建方法单击Browse Interaction Diagram,弹出Select Interaction Diagram对话框;在对话框左边选择预建立时序图的包,单击OK。弹出New Interaction Diagram对话框;在Title字段输入新框图的名字,单击diagram type中的Sequence,单击OK。在左边浏览器Use Case View或Logical View上右键单击,选择“new”,选择“Sequence Diagram”。,15,时序图工具箱(Toolbox for Sequen
6、ce Diagram),16,消息(Message),将消息加进时序图单击工具箱中的 按钮;将鼠标从发送消息的对象或参与者的生命线拖动到接受消息的对象或参与者的生命线;输入消息文本。,17,消息(Message),将反身消息加进时序图单击工具箱中的 按钮;单击收发消息的对象生命线;输入消息名。,18,为消息分配操作(Distribute Operation for Message),要给消息分配操作:右键单击框图中的消息;从弹出的列表中选择一个操作;或者单击 定义一个新操作。改变消息指定的操作:右键单击框图中的消息;从弹出的列表中选择新的操作名。,19,对象规范(Object Specific
7、ation),映射类(Class)在Class下拉列表框中选择类名;或者,将浏览器中的类拖动到框图中的对象上。对象持续性(Persistence)Persistent:对象保存到数据库或者其他形式的永久存储体中 Static:对象保存在内存中直到程序中止Transient:对象只在短时间内保存在内存中多实例(Multiple instances)选中该复选框之后,协作图中的对象图标将显示为多实例图标。但在时序图中,对象图标仍然是单个对象的图标。,20,消息规范(Message Specification),General标签Name:消息名Documentation:对消息的附加说明,21,消
8、息规范(Message Specification),Detail标签消息同步类型(Synchronization),22,消息规范(Message Specification),Detail标签消息频率(Frequency)消息频率可以让消息按规定的时间间隔发送不定期(Aperiodic):将消息设定为不定期发送的消息、只发送一次,或者不规则时间间隔发送 定期(Periodic):将消息设定为定期发送的消息,23,消息编号(Message Numbering),消息根据对象生命线从上往下从1开始进行编号。删除消息时,Rose自动将其余消息重新编号。打开或关闭消息编号:选择Tools Opti
9、ons;选择Diagram标签;复选或取消Sequence Numbering。在时序图中,消息可以按两种方式编号:Top-Level(顶级编号)方式,如1、2、3;或者Hierarchical(等级编号)方式,如1.1、。,24,消息编号(Message Numbering),Top-Level 编号定义顶级编号。编号由1开始,后续消息的编号单调递增,消息编号只有一个单一的数字,没有数字子集。举例如用户设定了编号为1.,1.1.,1.2.和1.2.1.的消息,在顶级编号时将被编号为1,2,3和4 一般用于对象和消息很少的时序图中 要对消息进行顶级编号:单击Tools Options;单击Di
10、agram标签;选中Sequence Numbering复选框。,25,消息编号(Message Numbering),Hierarchical编号定义即等级编号,Hierarchical 编号使用带小数点的号码,方便显示消息嵌套。举例如1表示第一个消息,1.1表示嵌套在消息中的第一个消息,1.2表示嵌套在消息中的第二个消息。注意:如果删除消息1,则嵌套在消息1中的其他消息也将同时被删除。要对消息进行等级编号:选择Tools Options;单击Diagram标签;同时选中Sequence Numbering和Hierarchical Messages复选框。,26,消息编号(Message
11、Numbering),Hierarchical编号,27,控制焦点(Control Focus),显示或关闭控制焦点单击Tools Options;单击Diagram标签;选中“Focus of Control”左边的复选框,表示在时序图中显示控制焦点;否则,在时序图中不显示控制焦点。控制焦点着色单击箭头指向控制焦点的消息。选择Format Fill Color;在颜色框中单击要选择的填充颜色;单击OK。,28,控制焦点(Control Focus),控制焦点的嵌套嵌套的控制焦点依附在另外一个控制焦点之上,它可以确切地区分一个消息开始和终止的具体位置。要显示嵌套的控制焦点,必须同时选中Opti
12、ons对话框中Diagram标签中的Hierarchical Messages和Focus of Control两个选项。,29,练习(Exercise),30,协作图(Collaboration Diagram),UML中的交互图是用于对系统动态方面的建模,交互图又可分为时序图和协作图。协作图是动态视图的另一种表现形式,它强调参加交互的各对象结构的信息。,31,协作图的概念和内容(Concept and Contents),协作图只对相互间有交互作用的对象和这些对象间的关系建模,而忽略了其他对象和关联。协作图中包括如下元素:1.对象(Object)2.链(Link)3.消息(Message)
13、。,32,对象(Object),协作图中的对象与时序图中的对象的概念是一样的。不过,协作图不能表示对象的创建和撤销,因此对象在协作图中叶没有位置的限制。,33,链(Linkage),链是关联的实例,当一个类与另一个类之间有关联时,这两个类的实例之间就有链,一个对象就能向另一个对象发送消息。所以链是对象间的发送消息的路径。要在协作图中增加消息,必须先建立对象之间的链接。链接一般建立在两个对象或者两个类实例之间,也可以建立反身链接。,34,消息(Message),同时序图,35,36,协作图的用途(Collaboration Diagram Use),如果按组织对控制流建模,应该选择使用协作图。协
14、作图强调交互中实例间的结构关系以及所传送的消息。协作图对复杂的迭代和分支的可视化以及对多并发控制流的可视化要比时序图好。协作图有别于时序图的两点特性:(1)协作图有路径(2)协作图有顺序号,37,协作图的建模技术(Collaboration Diagram Modeling Technology),对系统动态行为建模,当按组织对控制流建模时,一般使用协作图。使用协作图对系统建模时,可以遵循如下策略。(1)设置交互的语境,语境可以是系统、子系统、操作、类、用例或用例的脚本。(2)通过识别对象在交互中所扮演的角色,开始绘制协作图,把这些对象作为图的顶点放在协作图中。(3)在识别了协作图对象后,为每
15、个对象设置初始值。如果某对象的属性值、标记值、状态或角色在交互期发生变化,则在图中放置一个复制对象,并用变化后的值更新它,然后通过构造型或的消息将两者连接。,38,协作图的建模技术(Collaboration Diagram Modeling Technology),(4)设置了对象的初始值后,根据对象间的关系开始确定对象间链接。一般先确定关联的链接,因为这是最主要的,它代表了结构的链接。然后需要确定的是其他的链接,用合适的路径构造型修饰它们,这表达了对象间是如何互相联系的。(5)从引起交互的消息开始,按消息的顺序,把随后的消息附到适当的链接上,这描述了对象间的消息传递,可以用带小数点的编号来
16、表达嵌套。(6)如果需要说明时间或空间的约束,可以用适当的时间或空间约束来修饰每个消息。(7)在建模中,如果想更详细地描述这个控制流,可以为交互过程中的每个消息都附上前置条件和后置条件。,39,创建协作图(Create Collaboration Diagram),创建方法单击Browse Interaction Diagram,弹出Select Interaction Diagram对话框;在对话框左边选择预建立协作图的包,单击OK。弹出New Interaction Diagram对话框;在Title字段输入新框图的名字,单击diagram type中的Collaboration,单击OK
17、。在左边浏览器Use Case View或Logical View上右键单击,选择“new”,选择“Collaboration Diagram”。,40,协作图工具箱(Toolbox for Collaboration Diagram),41,对象规范(Object Specification),多实例(Multiple instances)选中该复选框之后,协作图中的对象图标将显示为多实例图标。,42,链的操作(Operate of Linkage),创建链接:单击工具箱中的 按钮;从一个对象拖动到另一个对象,创建链接。创建反身链接单击工具箱中的 按钮;单击发送消息的对象,建立反身链接。,4
18、3,链的规范(Linkage Specification),General标签关联(Assoc):两个对象的类之间建立的关联可见性(Visibility):一个对象看到另一个对象的能力,44,链的规范(Linkage Specification),Messages标签显示了当前链接上的消息信息 右图说明:一个是正向的链消息(由客户发给供应者),一个是逆向的链消息(由供应者返回给客户);消息的编号分别为2和4;消息名分别为notify(keystroke)和update(keystroke),接收对象分别为OperatingSystem类的实例和GUI类的实例。,45,消息(Message),将
19、消息加进协作图单击工具箱中的 按钮;单击框图中对象间的链接;输入消息名。删除消息选择要删除的消息;选择Edit Delete from Model或按Ctrl+D。注意:在协作图中消息删除后,链接仍然存在于模型中,46,消息编号(Message Numbering),打开或关闭消息编号:选择Tools Options;选择Diagram标签;复选或取消Collaboration Numbering。,47,协作图与时序图的互换(Interchange),协作图和时序图都是表示对象间的交互作用,只是它们侧重点有所不同。时序图描述了交互过程中的时间顺序,但没有明确的表达对象间的关系,协作图描述了对象间的关系,但时间顺序必须从序列号获得。协作图和时序图都来自UML元模型的相同信息,因此它们的语义是等价的,它们可以从一种形式的图转换成另一种形式的图,而不丢失任何信息。,48,课后任务(Task After Class),建一个练习项目,完成书上P95页图7-31-7-33之一,交叉检查继续预习书上的7.3和7.4,
链接地址:https://www.31ppt.com/p-6558611.html