注:UML工具有很多,本文描述的基于EnterpriseArchitect。
UML前世今生
说到UML不得不提的三位大神,GradyBooch、Jacobson、JamesRumbaugh,三位是UML的创始人,均为软件工程界的权威,除了著有多部软件工程方面的著作之外,在对象技术发展上也有诸多杰出贡献,其中包括Booch方法、对象建模技术(OMT)和Objectory(OOSE)过程。三人被合称为“UML三友”。
面向对象编程方法以及描述符号进化历史:
然后逐步发展到UML2.5标准。
宏观看UML
UML用图去描述一个软件系统,从需求、设计、到部署的方方面面都以及覆盖。那么从总体上先来看看UML有哪些图呢?
从描述系统建模目的,UML图可以分成下面4大类:
从建模的动态视角/静态视角,可以这样去分类:
微观看UML
UML由基本的组成可以从三大块去了解:事物/关系/图
事物(Things)关系(Relationship)
下面是UML的基础4大关系:
更为详细的描述,看看下面这些表吧:
图(Diagram)用例图
用例图在UML语言中处于至关重要的位置,所谓4+1架构设计,用例图用于描述系统需求,处于核心位置。属于Use-casedrivering大法的心脏。
类图/ClassDiagram
这个类图描述一个图像管理系统。
对象图/ObjectDiagram
描述一个图书管理系统某时刻对象的快照。
序列图/SequenceDiagram
此图说明了在交互中满足视图历史用例所需的对象。对象之间的消息流为用户提供了事务历史信息。描述图书管理系统如何查阅历史的操作系列,反应了客户端与各对象间消息传递关系。
时序图/TimingDiagram
通讯图/CommunicationDiagram
这是一个嵌入式系统的UML建模,该图描述一个压力控制系统两个主要用例的实现:
交互概视图/InteractionOverview
描述了一个图书管理系统如何从订单发起后的所有交互概要图,每个子图上面的ref表示引用了一个更详细的图,比如AddtoShoppingBasket放入购物篮的具体动作:
复合结构图/CompositeStructure
状态机图/StateMachineDiagram
活动图/ActivityDiagram
常见的活动图
带泳道活动图
将活动分组,明确该组活动负责的对象,对象负责该组的全部活动
子活动图
活动图中,某几个活动可以组成一个内聚的子活动。
可中断活动图
这里的中断并不严谨,本图中表示这个活动事物是可以取消的。
封装图/包图/PackageDiagram
构件图/ComponentDiagram
用以描述构件之间的相互关系。
部署图/DeploymentDiagram
总结一下
本文走马观花的将UML大致梳理了一下,并结合EA的例图,将常见的UML图的作用大致描述一遍,供大家参考。对于软件开发人员而言,UML还是很有必要学习掌握的。