作为程序猿都最好掌握的一门语言,那就是UML(Unified Modeling Language),统一建模语言(UML)是软件工程领域中一种通用的开发建模语言,旨在提供一种可视化系统设计的标准方法。是开发人员、系统设计人员交流的有效工具。今天来分享一下UML的一些体会,如有错误请帮忙指正。
UML前世今生
UML时间进化线:
说到UML不得不提的三位大神,Grady Booch、Jacobson、James Rumbaugh,三位是UML的创始人,均为软件工程界的权威,除了著有多部软件工程方面的著作之外,在对象技术发展上也有诸多杰出贡献,其中包括Booch方法、对象建模技术(OMT)和Objectory(OOSE)过程。三人被合称为“UML三友”。
面向对象编程方法以及描述符 进化历史:
然后逐步发展到UML2.5标准。
UML目前的官方组织是https://www.uml.org/
宏观看UML
UML用图去描述一个软件系统,从需求、设计、到部署的方方面面都以及覆盖。那么从总体上先来看看UML有哪些图呢?
从描述系统建模目的,UML图可以分成下面4大类:
从建模的动态视角/静态视角,可以这样去分类:
微观看UML
UML由基本的组成可以从三大块去了解:事物/关系/图
事物(Things)
关系(Relationship)
下面是UML的基础4大关系:
更为详细的描述,看看下面这些表吧:
图(Diagram)
用例图
用例图在UML语言中处于至关重要的位置,所谓4+1架构设计,用例图用于描述系统需求,处于核心位置。属于Use-case drivering 大法的心脏。
类图/ Class Diagram
这个类图描述一个图像管理系统。
对象图/Object Diagram
描述一个图书管理系统某时刻对象的快照。
序列图/Sequence Diagram
此图说明了在交互中满足视图历史用例所需的对象。对象之间的消息流为用户提供了事务历史信息。描述图书管理系统如何查阅历史的操作系列,反应了客户端与各对象间消息传递关系。
时序图/Timing Diagram
这个类似于芯片的时序图概念。下图描述用户在有卡/无卡对系统访问的时间线场景图:
通讯图/Communication Diagram
这是一个嵌入式系统的UML建模,该图描述一个压力控制系统两个主要用例的实现:
交互概视图/Interaction Overview
描述了一个图书管理系统如何从订单发起后的所有交互概要图,每个子图上面的ref表示引用了一个更详细的图,比如Add to Shopping Basket 放入购物篮的具体动作:
复合结构图/Composite Structure
状态机图/State Machine Diagram
这是描述图书订购系统如何登录的状态机图
活动图/Activity Diagram
常见的活动图
带泳道活动图
将活动分组,明确该组活动负责的对象,对象负责该组的全部活动
子活动图
活动图中,某几个活动可以组成一个内聚的子活动。
可中断活动图
这里的中断并不严谨,本图中表示这个活动事物是可以取消的。
封装图/包图/Package Diagram
构件图/ Component Diagram
用以描述构件之间的相互关系。
部署图/Deployment Diagram
总结一下
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!