1 / 44

软件工程与 UML

Beyond Technology. 软件工程与 UML. 林琳 Email: linlin@ccniit.com. 我们的进度,在这里. 今天的工作任务. 完成系统行为交互建模:时序图建模. 提交内容. 系统时序图. 我们的进度,在这里. 工作任务 1 :完成系统行为交互建模 —— 时序图建模. 我们的进度,在这里. 知识点:第 9 章 动态视图 —— 时序图. 9.1 时序图的相关概念 9.3 时序图的用途 9.4 时序图的建模技术. 我们的进度,在这里. 9.1 时序图的相关概念.

Download Presentation

软件工程与 UML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Beyond Technology 软件工程与UML 林琳 Email: linlin@ccniit.com

  2. 我们的进度,在这里 今天的工作任务 • 完成系统行为交互建模:时序图建模 提交内容 • 系统时序图

  3. 我们的进度,在这里 工作任务1:完成系统行为交互建模——时序图建模

  4. 我们的进度,在这里 知识点:第9章 动态视图——时序图 • 9.1 时序图的相关概念 • 9.3 时序图的用途 • 9.4 时序图的建模技术

  5. 我们的进度,在这里 9.1 时序图的相关概念 • UML的交互图是用户系统动态方面的建模,交互图可分为时序图和协作图。 • 时序图(Sequence Diagram)描述了对象之间传递消息的时间顺序,它用来表示用例中的行为顺序,是强调消息时间顺序的交互图。时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换,也就是说,时序图描述了类以及类间相互交换以完成期望行为的消息。 • 时序图包括了4个元素,分别是对象(Object)、生命线(Lifeline)、激活(Activation)和消息(Message)。

  6. 对象 我们的进度,在这里 激活 消息 生命线 时序图符号表示

  7. 一个旅客到机场换登机牌的情况 1.交互的对象 2.消息交互的时间顺序

  8. 时序图阅读练习1:

  9. 时序图阅读练习2:

  10. 时序图阅读练习3:

  11. 时序图阅读练习4: 请描述该时序图表达的含义

  12. 我们的进度,在这里 9.3 时序图的用途 • 时序图强调按时间展开的消息传送,这在一个用例脚本的语境中对动态行为的可视化非常有效。 • UML的交互图是用于对系统的动态方面的建模,交互图又可分为时序图和协作图,时序图用于描述对象之间消息的时间顺序,协作图用于描述对象间的交互关系,以致它们的用途有所差别。 • 以下是时序图有别于协作图的特性:(1)时序图有生命线(2)时序图有激活期

  13. 时序图可以用于软件开发的不同阶段和不同情况下:时序图可以用于软件开发的不同阶段和不同情况下: • 当不同类之间存在多个简短的方法时,描述控制流的整体序列。 • 显示并发进程和激活。 • 显示在协作图中难以描述的时间序列。 • 显示涉及类交互与对象无关的一般形式。

  14. 我们的进度,在这里 9.4 时序图的建模技术 • 对系统动态行为建模,当强调按时间展开信息的传送时,一般使用时序图。 • 使用时序图对系统建模时,可以遵循如下策略。 (1)设置交互的语境,这些语境可以是系统、子系统、操作、类、用例和协作的一个脚本。 (2)通过识别对象在交互中扮演的角色,根据对象的重要性,将其从左向右的方向放在时序图中。 (3)设置每个对象的生命线。一般情况下,对象存在于交互的整个过程,但它也可以在交互过程中创建和撤销。 (4)从引发某个交互的信息开始,在生命线之间按从上向下的顺序画出随后的消息。 (5)设置对象的激活期,这可以可视化实际计算发生时的时间点、可视化消息的嵌套。 (6)如果需要设置时间或空间的约束,可以为每个消息附上合适的时间和空间约束。 (7)给某控制流的每个消息附上前置或后置条件,这可以更详细地说明这个控制流。

  15. 我们的进度,在这里 创建时序图 • 创建方法 • 单击Browse > Interaction Diagram,弹出Select Interaction Diagram对话框;在对话框左边选择预建立时序图的包,单击OK。弹出New Interaction Diagram对话框;在Title字段输入新框图的名字,单击diagram type中的Sequence,单击OK。 • 在左边浏览器Use Case View或Logical View上右键单击,选择“new”,选择“Sequence Diagram”。

  16. 我们的进度,在这里 时序图工具箱

  17. 我们的进度,在这里 消息 • 将消息加进时序图 • 单击工具箱中的 按钮; • 将鼠标从发送消息的对象或参与者的生命线拖动到接受消息的对象或参与者的生命线; • 输入消息文本。

  18. 我们的进度,在这里 消息 • 将反身消息加进时序图 • 单击工具箱中的 按钮; • 单击收发消息的对象生命线; • 输入消息名。

  19. 我们的进度,在这里 为消息分配操作 • 要给消息分配操作: • 右键单击框图中的消息; • 从弹出的列表中选择一个操作;或者单击 <new operation>定义一个新操作。 • 改变消息指定的操作: • 右键单击框图中的消息; • 从弹出的列表中选择新的操作名 。

  20. 我们的进度,在这里 对象规范 • 映射类(Class) • 在Class下拉列表框中选择类名; 或者, • 将浏览器中的类拖动到框图中的对象上。 • 对象持续性(Persistence) • Persistent:对象保存到数据库或者其他形式的永久存储体中 • Static:对象保存在内存中直到程序中止 • Transient:对象只在短时间内保存在内存中 • 多实例(Multiple instances) • 选中该复选框之后,协作图中的对象图标将显示为多实例图标。但在时序图中,对象图标仍然是单个对象的图标。

  21. 我们的进度,在这里 消息规范 • General标签 • Name:消息名 • Documentation:对消息的附加说明

  22. 我们的进度,在这里 消息规范 • Detail标签 • 消息同步类型(Synchronization)

  23. 我们的进度,在这里 消息规范 • Detail标签 • 消息频率(Frequency) • 消息频率可以让消息按规定的时间间隔发送 • 不定期(Aperiodic):将消息设定为不定期发送的消息、只发送一次,或者不规则时间间隔发送 • 定期(Periodic):将消息设定为定期发送的消息

  24. 我们的进度,在这里 消息编号 • 消息根据对象生命线从上往下从1开始进行编号。删除消息时,Rose自动将其余消息重新编号。 • 打开或关闭消息编号: • 选择Tools > Options; • 选择Diagram标签; • 复选或取消Sequence Numbering。 • 在时序图中,消息可以按两种方式编号: Top-Level(顶级编号)方式,如1、2、3;或者Hierarchical(等级编号)方式,如1.1、1.1.2、1.1.3。

  25. 我们的进度,在这里 消息编号 • Top-Level 编号 • 定义 • 顶级编号。编号由1开始,后续消息的编号单调递增,消息编号只有一个单一的数字,没有数字子集。 • 举例 • 如用户设定了编号为1.,1.1.,1.2.和1.2.1.的消息,在顶级编号时将被编号为1,2,3和4 • 一般用于对象和消息很少的时序图中 • 要对消息进行顶级编号: • 单击Tools > Options; • 单击Diagram标签; • 选中Sequence Numbering复选框。

  26. 我们的进度,在这里 消息编号 • Hierarchical编号 • 定义 • 即等级编号,Hierarchical 编号使用带小数点的号码,方便显示消息嵌套。 • 举例 • 如1表示第一个消息,1.1表示嵌套在消息中的第一个消息,1.2表示嵌套在消息中的第二个消息。注意:如果删除消息1,则嵌套在消息1中的其他消息也将同时被删除。 • 要对消息进行等级编号: • 选择Tools > Options; • 单击Diagram标签; • 同时选中Sequence Numbering和Hierarchical Messages复选框。

  27. 我们的进度,在这里 消息编号 • Hierarchical编号

  28. 我们的进度,在这里 控制焦点 • 显示或关闭控制焦点 • 单击Tools > Options; • 单击Diagram标签; • 选中“Focus of Control”左边的复选框,表示在时序图中显示控制焦点;否则,在时序图中不显示控制焦点。 • 控制焦点着色 • 单击箭头指向控制焦点的消息。 • 选择Format > Fill Color; • 在颜色框中单击要选择的填充颜色; • 单击OK。

  29. 我们的进度,在这里 控制焦点 • 控制焦点的嵌套 • 嵌套的控制焦点依附在另外一个控制焦点之上,它可以确切地区分一个消息开始和终止的具体位置。 • 要显示嵌套的控制焦点,必须同时选中Options对话框中Diagram标签中的Hierarchical Messages和Focus of Control两个选项。

  30. 练习一下:使用ROSE画出一下时序图

  31. 我们的进度,在这里 时序图的补充——关于控制结构的表示 • 在UML2.0规范中,引入了组合碎片的概念(Combined Fragment) ,在时序图中加入一些方框标记,来表示控制结构。这样的时序图,我们把它称作为帧化时序图 • ref标记:简化表示重复的内容或子活动的引用。 • alt标记:条件执行(if-else)。 • par标记:并行执行。 • loop标记:循环执行(while/for)。 • opt标记:可选执行(if单条件)。

  32. 我们的进度,在这里 完成实验6:系统行为建模技术1——时序图

  33. 我们的进度,在这里 图书管理系统中的一个时序图

  34. 我们的进度,在这里 实验报告书写注意: 实验: 六 注意:实验报告每个同学都要完成,当节课做,下课时课代表收上来交给老师.电子版程序也由课代表收齐后发给老师.

  35. 我们的进度,在这里 实验报告书写注意: • 实验名称 :系统行为建模技术1——时序图 • 实验目的、要求 • 掌握系统行为建模技术,利用时序图来描述系统按时间展开的信息传递。 • 通过使用Rose工具,绘制时序图。 • 实验设备 • 学生自己的笔记本

  36. 我们的进度,在这里 实验报告书写注意: • 实验内容、步骤 • 内容: • 1)对图书馆管理系统中,图书馆管理人员的行为活动进行分析。 • 2)使用Rational Rose完成图书馆管理系统中,管理员工作的时序图。

  37. 我们的进度,在这里 实验报告书写注意: • 实验方法与步骤: • 打开rose工具,新建一个模型,命名为:学号姓名-实验6,如:7317110101兰维海-实验6 • 完成图书馆管理系统的图设计:单击浏览器中的Logical View。在弹出菜单中选择【New-Sequence Diagram】,输入时序图的名称:实验6,按照所给的示例,将元素拖放到设计窗口中。完成设计之后。点击【save】保存设计图。

  38. 我们的进度,在这里 实验6:时序图示例

  39. 我们的进度,在这里 课程小结 • 本次课中,用到以下知识: • 领域类图到数据库设计 • 时序图——rose绘制时序图

More Related