1、UML是什么?UML有什么用?数据库
2、UML的历史并发
3、UML的上层结构(Superstructure) 框架
4、UML建模工具工具
5、UML的图(重点)ui
一、用例图(use case diagram)spa
二、活动图(activity diagram).net
三、静态结构图设计
四、顺序图(Sequence Diagram)3d
五、交互纵览图(Interaction Overview Diagram)对象
六、通讯图(Communication Diagram)
七、时间图(Timing Diagram)
八、状态机图(State Machine Diagram)
九、构件图(Component Diagram)
十、部署图(Deployment Diagram)
1、UML是什么?UML有什么用?
UML是什么?
Unified Modeling Language(统一建模语言)是对象管理组织(OMG)制定的一个通用的、可视化的建模语言标准,能够用来可视化(visualize)、描述(specify)、构造(construct)和文档化(document)软件密集型系统的各类工件(artifacts,又译制品)
UML是一种标准的图形化建模语言,是面向对象分析与设计的标准表示,它:
不是一种可视化的程序设计语言,而是一种可视化的建模语言(用于分析设计)
不是工具或知识库的规格说明,而是一种建模语言规格说明,是一种表示的标准
不是过程,也不是方法,但容许任何一种过程和方法使用它
UML有什么用?
软件开发系统规模比较复杂时,须要用图形抽象地表达复杂概念,加强设计的灵活性、可读性和可理解性,以便暴露深层次的设计问题,下降开发风险。有必要采用一套通用的图形语言和符号体系描述组织的业务流程和软件需求,促进业务人员、开发人员之间一致、高效地交流。
2、UML的历史
UML发展背景:
P. Coad和E.Yourdon提出OOA和OOD
G. Booch提出面向对象开发方法
Jacobson提出OOSE
Rumbaugh提出的OMT
……
UML的出现结束了这场方法学战争
UML发展历程:
3、UML的上层结构(Superstructure)
至于UML底层的基础结构(Infrastructure),软件开发工程师们不必了解,只须要懂得上层结构就好了。
4、UML建模工具
比较流行的有Rational Rose ,Microsoft Visio、Enterprise Architect 、Visual UML等。我如今使用的UML建模工具是Enterprise Architect 8.0,推荐使用这款,比较好用。
5、UML的图(重点)
一、用例图(use case diagram)
二、活动图(activity diagram)
经过动做来组织,主要用于描述某一方法、机制或用例的内部行为
状态、活动、组合活动、对象 转移、分支 并发、同步 泳道
业务建模、需求、类设计 |
![]() |
三、静态结构图
四、顺序图(Sequence Diagram)
用于显示对象间的交互活动 关注对象之间消息传送的时间顺序
对象、生命线、激活、交互、消息 交互帧(Interaction Frame)
用例分析、用例设计 |
“借书”用例实现的顺序图![]() |
五、交互纵览图(Interaction Overview Diagram)
活动图和顺序图的混合物 直观地表达一组相关顺序图之间的流转逻辑
交互帧 分支、转移
用例分析、用例设计 |
交互纵览图组织多个顺序图![]() |
六、通讯图(Communication Diagram)
UML 1.x中称为协做图(Collaboration Diagram) 表示一组对象间关系以及交互活动
对象、协做角色 协做、交互、消息
用例分析、用例设计 |
“借书”用例实现的通讯图 ![]() |
七、时间图(Timing Diagram)
一种交互图,展示消息跨越不一样对象或角色的实际时间信息; 具体描述单个或多个对象状态变化的时间点以及维持特定状态的时间段; 顺序图是表示交互的主要手段,能够在顺序图中增长时间约束来代表对象状态变化的时间点以及维持特定状态的时间段。
时间约束、持续时间约束、生命线 状态、条件、事件 |
“打电话”顺序图的时间约束 ![]() 利用时间图描述时间约束 ![]() |
八、状态机图(State Machine Diagram)
UML1.x为状态图(Statechart Diagram) 利用状态和事件描述对象自己的行为
状态、初态、终态、复合状态 事件、转移、动做 并发
类设计 |
“图书”类的状态机图 ![]() |
九、构件图(Component Diagram)
封装类为构件 描述在系统实现环境中的软件构件和之间的关系
构件、工件、接口(所供接口、所需接口) 依赖、实现
系统设计、实现、部署 |
构件图描述类的实现环境 ![]() |
十、部署图(Deployment Diagram)
描述系统所需的硬件构件的物理部署
节点、构件、位置 链接、依赖
系统设计、实施、部署 |
部署图描述系统部署状况 ![]() |
分类 |
图的名字 |
介绍 |
|
结 构 型 图
|
静 态 图 |
类图(Class Diagram) |
类图用于定义系统中的类,包括描述类之间的联系(如:关联、依赖、聚合)以及类的内部结构,即类的属性和操做。所以类图是描述系统中类的静态结构,即它所描述的是一种静态关系,在系统的整个生命周期都是有效的。 |
对象图(Object Diagram) |
对象图所使用的表示符号与类图几乎彻底相同,它们的不一样点在于对象图只是显示类的对象实例,而不是实际的类。一个对象图是类图的一个实例,因为对象存在生命周期,所以对象图只能在系统某一时间段存在。 对象图是类图的一种实例化图,描述系统在某个时刻可能包含的对象和相互关系。 |
||
包图(Package Diagram) |
包图由包或类组成,主要表示包与包、或包与类之间的关系。包图用于描述系统的分层结构。 |
||
实 现 图 |
构件图(Component Diagram) |
描述能够部署的软件构件(如:代码部件、jar文件、EJB文件等)的物理结构以及各部件之间的依赖关系。一个部件多是一个资源代码部件、一个二进制部件或一个可执行部件。构件图有助于分析和理解部件之间的相互影响程度。 |
|
部署图(Deployment Diagram) |
描述一个系统的拓扑结构,定义系统中软硬件的物理体系结构。它能够显示实际的计算机和设备(用节点表示)以及它们之间的链接关系,也可显示链接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象,以显示节点跟可执行软件单元之间的对应关系。 |
||
行 为 型 图 |
|
用例图(Use Case Diagram) |
它从用户角度描述系统的功能,并指出各功能的操做者。用例图描述了一系列的角色和使用案例及它们之间的关系。 |
行 为 图 |
活动图(Activity Diagram) |
行为图描述系统的动态模型和组成对象间的交互关系。 活动图描述为知足用例要求所要进行的活动以及活动间的约束关系。活动图是使用例图所描述的行为具体化。 |
|
状态图(State Diagram) |
描述一类对象的全部可能的状态以及事件发生时状态的转移条件。一般状态图是对类图的补充,实际上并不须要为全部的类绘制状态图,而只须要为那些有多个状态、而且其行为受外界环境的影响而会发生改变的类绘制状态图。 |
||
交 互 图 |
时序图/序列图/顺序图(Sequence Diagram) |
交互图描述对象间的交互关系。 顺序图用于显示对象之间的动态合做关系。它强调对象之间消息发送的顺序,同时也显示对象之间的交互过程,它强调的是时间和顺序。 |
|
合做图/协做图(Collaboration Diagram) |
合做图显示对象间的动态合做关系,除了显示信息交换外,合做图还显示对象以及它们之间的关系,它强调的是通讯关系。 |
原文:http://blog.csdn.net/chenxiang0207/article/details/8245283
附:
类图,对象图,用例图,部署图,构件图,为静态图 状态图,顺序图,活动图,协做图为动态图