写在前面,这篇文章是UML系列文章的第一篇,主要介绍UML的概念和作用,主要用文字形式来描述,可能阅读起来会乏味,但还是请大家耐心读完,毕竟这是常识性问题。当被别人问起来时,可以道出一二,不至于陷入尴尬的场面。
什么是UML?
UML的全称 Unified Modeling Language ,即统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持 模型化 和软件系统开发的 图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。
使用UML图做什么?
既然它是一个建模语言,那我们肯定是用它来进行建模的。正是因为它的特殊性(统一建模或标准建模)给设计和开发人员带来便利。
UML的目标是以 面向对象图 的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。总之,UML是一个通用的标准建模语言,可以对任何具有 静态结构和动态行为 的系统进行建模,而且 适用于系统开发的不同阶段 ,从需求规格描述直至系统完成后的测试和维护。
UML图的特点
- UML统一了各种方法对不同类型的系统、不同开发阶段以及不同内部概念的不同观点,从而有效的消除了各种建模语言之间不必要的差异。它实际上是一种通用的建模语言,可以为许多 面向对象建模方法的用户广泛使用。
- UML建模能力比其它面向对象建模方法更强。它不仅适合于一般系统的开发,而且对并行、分布式系统的建模尤为适宜。
- UML是一种建模语言,而不是一个开发过程。
UML图的种类
截止UML2.0一共有13种图形(UML1.5定义了9种,2.0增加了4种)
分别是: 用例图、类图、对象图、状态图、活动图、顺序图、协作图、构件图、部署图9种
包图、时序图、组合结构图、交互概览图4种。
后面的文章里,我将详细介绍这13种图作用。这里只用一句话描述一下:
- 用例图:从用户角度描述系统功能。
- 类图:描述系统中类的静态结构。
- 对象图:系统中的多个对象在某一时刻的状态。
- 状态图:是描述状态到状态控制流,常用于动态特性建模
- 活动图:描述了业务实现用例的工作流程
- 顺序图:对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互
- 协作图:描述对象之间的协助关系
- 构件图:一种特殊的UML图来描述系统的静态实现视图
- 部署图:定义系统中软硬件的物理体系结构
- 包图:对构成系统的模型元素进行分组整理的图
- 时序图: 表示生命线状态变化的图
- 组合结构图:表示类或者构建内部结构的图
- 交互概览图:用活动图来表示多个交互之间的控制关系的图
欢迎大家关注我的微信公众号:Java编程社区,大家一起学习交流