小孩也会画的UML图

话说上世纪70年代,面向对象编程思想混沌初开,程序界风起云涌,从1989年到1994年,面向对象建模语言的数量从不到10种增加到50多种,这么多的面相对象方法各领风骚,结果苦逼的程序员反而不知道何去何从,都患上了严重的选择困难症。这时有个叫OMG的组织,当然不是“我的上帝(Oh My God)”,而是“对象管理组”(Object Management Group),接受各方建议,将UML认定为标准的建模语言。从此各路英豪都在UML语言的帮助下,切磋武艺,斗嘴约架...
由此可知,UML是为了统一软件开发中的沟通语言,其实思想是很简单的,不要被一些专业术语吓退了。

史上最简UML图

最简单的UML图如下:

小孩也会画的用例图

上面看上去像小孩随意涂鸦的画,确实是一幅标准的用例图

参与者

图中的火柴人,用来表示系统参与者,用来表示与系统交互的外部人或事务:


用例

椭圆就用来表示参与者在系统上的操作,它就是传说中的用例,所谓用例,就是指一系列的活动:

用例

关系

参与者与用例之间,就用一条线关联起来,表示两者之间有关系,如上图中就表示“我”与“麻麻”参与到了“回家”这样的活动中,在UML术语称为关联关系

稍微复杂点的🌰

现在是不是有些蠢蠢欲动,UML不单能表示静态关系,还能表示复杂的动态过程,比如麻麻叫小明起床这个过程,就可以用UML图之一顺序图来表示:

麻麻叫小明起床顺序图

对象与对象轴

麻麻小明就是“叫床活动”中的两个活动对象,在图中水平排列,一般主要对象在左边,次要的在右边。

活动

虚线上的方块表示对象开始工作,方块的长度表示工作时间。指向自己的方块表示对象自己的一个活动,没有与其他对象发生交互,比如图中的“走进房间”,麻麻自己就能完成,不需要小明的参与。

时间轴

图中虚线方向为时间轴,下方活动的发生时间要晚于上方的活动。

消息

带箭头的水平线,用来表示对象之间的消息。

课后思考题:
《麻麻叫小明起床顺序图》中的“喊小明起床”消息为什么没有指向一个小明的方块?欢迎在评论区写下你的答案。

推荐阅读更多精彩内容