UML-如何画顺序图?

1、生命线框图和生命线

生命线:可以为虚线(源于UML1),也可以是实线

2、消息

1)、创始消息,实心圆开头
2)、同步消息,实心箭头

3、执行规格条和控制期

控制期:阻塞调用

UML-如何画顺序图?_第1张图片

4、返回值

UML-如何画顺序图?_第2张图片

5、自身消息

UML-如何画顺序图?_第3张图片

6、创建实例

UML-如何画顺序图?_第4张图片

7、销毁对象

UML-如何画顺序图?_第5张图片

8、图框

为了显示循环、并行执行等操作的图框

1)、循环(loop)

UML-如何画顺序图?_第6张图片

2)、有条件消息(opt)

UML-如何画顺序图?_第7张图片

也可以如下图,但只支持uml1无法支持uml2

UML-如何画顺序图?_第8张图片

3)、互斥的有条件消息(alt)

UML-如何画顺序图?_第9张图片

4)、对集合的迭代

UML-如何画顺序图?_第10张图片

对应的java代码:

UML-如何画顺序图?_第11张图片

或者采用下图:

UML-如何画顺序图?_第12张图片

5)、图框可以嵌套

UML-如何画顺序图?_第13张图片

 

9、如何关联交互图?

UML-如何画顺序图?_第14张图片

 

10、调用类或静态方法

UML-如何画顺序图?_第15张图片

对应的java代码:

public class Foo {
    public void doX() {
        //调用Calendar类的静态方法
        Locale[] locales=Calendar.getAvailableLocales();
        //...
    }
}

11、多态消息

UML-如何画顺序图?_第16张图片

 

 12、同步消息和异步消息

UML-如何画顺序图?_第17张图片

public class ClockStarter {
    public void startClock() {
        Thread t = new Thread(new Clock());
        t.start();//异步调用Clock上的run方法
        System.runFinalization();//后续消息的示例
    }
}
//实现产生新线程的Runnable接口
public class Clock implements Runnable {
    public void run() {
        while(true) {//在该线程中永远循环
            //...
        }
    }
}

 

转载于:https://www.cnblogs.com/yaoyuan2/p/11051057.html

你可能感兴趣的:(UML-如何画顺序图?)