话说上世纪70年代,面向对象编程思想混沌初开,程序界风起云涌,从1989年到1994年,面向对象建模语言的数量从不到10种增加到50多种,这么多的面相对象方法各领风骚,结果苦逼的程序员反而不知道何去何从,都患上了严重的选择困难症。这时有个叫OMG的组织,当然不是“我的上帝(Oh My God)”,而是“对象管理组”(Object Management Group),接受各方建议,将UML认定为标准的建模语言。从此各路英豪都在UML语言的帮助下,切磋武艺,斗嘴约架...
由此可知,UML是为了统一软件开发中的沟通语言,其实思想是很简单的,不要被一些专业术语吓退了。
史上最简UML图
最简单的UML图如下:
上面看上去像小孩随意涂鸦的画,确实是一幅标准的用例图,
参与者
图中的火柴人,用来表示系统参与者,用来表示与系统交互的外部人或事务:
用例
椭圆就用来表示参与者在系统上的操作,它就是传说中的用例,所谓用例,就是指一系列的活动:
关系
参与者与用例之间,就用一条线关联起来,表示两者之间有关系,如上图中就表示“我”与“麻麻”参与到了“回家”这样的活动中,在UML术语称为关联关系。
稍微复杂点的🌰
现在是不是有些蠢蠢欲动,UML不单能表示静态关系,还能表示复杂的动态过程,比如麻麻叫小明起床这个过程,就可以用UML图之一顺序图来表示:
对象与对象轴
麻麻和小明就是“叫床活动”中的两个活动对象,在图中水平排列,一般主要对象在左边,次要的在右边。
活动
虚线上的方块表示对象开始工作,方块的长度表示工作时间。指向自己的方块表示对象自己的一个活动,没有与其他对象发生交互,比如图中的“走进房间”,麻麻自己就能完成,不需要小明的参与。
时间轴
图中虚线方向为时间轴,下方活动的发生时间要晚于上方的活动。
消息
带箭头的水平线,用来表示对象之间的消息。
课后思考题:
《麻麻叫小明起床顺序图》中的“喊小明起床”消息为什么没有指向一个小明的方块?欢迎在评论区写下你的答案。