UML建模之——顺序图

来源:互联网 发布:maxwell软件渲染 编辑:程序博客网 时间:2024/05/27 06:12

顺序图

  • 按照当前交互的意图,详细地审阅相关资料(例如用例描述),设置交互的语境,确定将要建模的工作流

  • 通过识别对象在交互中扮演的角色,在顺序图的上部列出所选定的一组对象,并为每个对象设置生命线。一般把发起交互的对象放在左边。这些对象是在结构
    建模中建立类图时分析得到的结果。它们可以是一般类,边界类,控制类,实体类。这里,一般类就是完成一个具体功能的类

  • 对于那些在交互期间要被创建和撤销的对象,在适当的时刻,用消息箭线在它们的生命线上显式地予以说明。发送消息的对象将创建消息箭线指向被创建对象的
    图标符号上。发送消息的对象将撤销消息箭线指向被撤销对象的生命线上,并标记X符号

  • 在各个对象下方的生命线上,按照使用该对象操作的先后顺序排列各个代表操作的窄矩形条。从引发这个交互过程的初始消息开始,在生命线之间自顶向下依次
    画出随后的各个消息

  • 决定消息将怎么样或以什么样的顺序在对象之间传递。通过发起对象发出的消息,分析它需要哪些对象为它提供操作,它需要哪些对象提供操作。注意选择适当
    的消息类型(调用,异步,返回,阻止,超时),画出消息箭线,并在其上标明消息名。追踪相关的对象,直到分析完与当前语境有关的全部对象

  • 两个对象的操作执行如果属于同一个控制线程,则接收者操作的执行应在发送者发出消息之后进行,并在发送消息结束之前结束。不同控制线程之间的消息有
    可能在接收者的某个操作的执行过程中到达

  • 如果需要表示消息的嵌套,或/和表示消息发生时的时间点,则采用控制焦点

  • 如果需要,则可以对对象所执行的操作的功能及时间或空间约束进行描述

  • 如果需要,则可以为每个消息附上前置条件和后置条件

  • 如果需要可视化消息的迭代或分支,则使用迭代或分支表示法

Summary:

  • 顺序图和协作图都属于交互模型,是UML中的动态建模机制
  • 顺序图强调的是消息的时间顺序,而协作图强调的是参加交互的对象的组织
  • 顺序图中包括的建模元素有对象,生命线,控制焦点,消息等;协作图中包括的建模元素有对象,消息,链等
  • 交互模型中的消息分为调用消息,异步消息和返回消息等
  • UML中可以表示一些复杂的信息
  • 顺序图和协作图可以相互转换,这从语义上讲,两者是等价的。
  • 目前一般的UML工具大多都支持显示交互模型,但支持交互模型的代码自动生成的工具较少
  • 可以使用消息序号来表示消息的嵌套发送
  • 可以使用消息的警戒条件或消息顺序表达式中的条件子句来表示消息的条件发送
  • 可以使用消息顺序表达式中的带*符号的循环子句来表示消息的循环发送
  • 消息的返回值名如果要强调的话,必须出现在符号”:=”之前
  • 顺序图中的消息可以不加消息序号,但是协作图中的消息必须加消息序号
  • 一个用例的用例描述可以对应一个顺序图,也可以对应多个顺序图,视用例描述中的事件流的复杂度情况而定
  • 在顺序图中使用边界类,控制类和实体类,可以比较容易地,比较清晰的表达出用例描述中的事件流的交互过程
  • 返回消息一般情况下不必标出,但需要强调时可以标出
  • 消息名通常是接受消息的对象的某个方法名
  • 跟踪消息参数,可以清晰地发现事件流的交互过程的实现是否可行
  • 调用消息主要用于控制流在完成之前需要中断的情况,异步消息主要用于控制流在完成之前不需要中断的情况
  • 顺序图和协作图主要用于对用例图中控制流的建模,用它们来描述用例的行为
  • 进程是一个动作流,能够与其他进程并发执行。线程是进程内部的一个动作流,能够与其它线程并发执行。
  • 主动对象是一个拥有
原创粉丝点击