UML2.0 一共包括13种 正式图形:
用例图用于描述系统提供的系列功能,而每个用例则代表系统的一个功能模块。
用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的需求功能,用例图对系统的实现不做任何说明,仅仅是系统功能的描述。
用例图包括:
用例图一般表示出用例的组织关系 – 要么是整个系统的全部用例,要么是完成具体功能的一组用例。
用例图通常用于表达系统或者系统范畴的高级功能。
使用场景:主要用于需求分析阶段,用于描述系统实现的功能,方便与客户交流,保证系统需求的无二性,用实例图表示系统外观,不要指望用例图和系统的各个类之间有任何联系。不要把用例做得过多,过多的用例将导致难以阅读,难以理解;尽可能多的使用文字说明
类图是最古老、功能最丰富、使用最广泛的UML图。类图表示系统中应该包含哪些实体,各个实体之间如何关联。
类的类图包含三个部分:
类之间的关系:
它体现的是两个雷、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且上方的关系一般是平等的、关联可以是单向、双向的;表现在代码层面,为被关联类B 以类属性的形式出现在关联类 A 中,也可能是 关联类 A 引用了一个类型为被关联类 B 的全局变量;
泛化与继承是同一个概念,都是指子类是一种特殊的父类,类与类之间的继承关系是非常普遍的,继承关系使用带空心三角形的实线表示。
如果一个类的改动会导致另一个类的改东,则称两个类之间存在依赖。依赖关系使用带剪头的虚线表示,其中剪头指向被依赖的实体。依赖的常见可能原因如下:
对于现代的大型应用程序而言,通常不只是单独一组类所能完成的,通常会由一个或多个可部署的组件组成。
组件图提供系统的物理属兔,它的用途是显示系统中的软件对其他软件组件的依赖关系。组件图可以在一个非常高的层次上显示。
组件图通常包括:
UML 使用带
符号的矩形来表示组件,使用圆圈代表接口,使用位于组件边界上的小矩形代表Port。
组件的接口表示它能对外提供的服务规范,这个接口通常有两种表现形式:
现代的软件工程早已超出早期的单机程序,整个软件系统可能是跨国家、跨地区的分布式软件,软件的不同部分可能需要部署在不同地方、不同平台之上。部署图用于描述软件系统如何部署到硬件环境中,它的用途是显示软件系统不同的组件将在何处物理运行,以及它们将如何彼此通信。
部署图中的符号包括组件图中所使用的符号元素,另外还增加了节点的概念:节点是各种计算资源的通用名称,主要包括处理器和设备两种类型。UML 中使用三位立方体来表示节点,节点的名称位于立方体的顶部。下图是一个简单的部署图。
整个应用分为5个组件:Student、Administrator、应用持久层、Student数据库和 UI 界面组件,部署图准确地表现了各组件之间的依赖关系。
顺序图显示具体用例的详细流程,并且显示流程中不同对象之间的调用关系,同时还可以很详细地显示对不同对象的不同调用。顺序图描述了对象之间的交互,重点在于描述消息及其时间顺序。
顺序图有两个维度:
顺序图的关键在于对象之间的消息,对象之间的信息传递就是所谓的消息发送,消息通常表现为对象调用另一个对象的方法或方法的返回值,发送者和接收者之间的箭头表示消息。
绘制:
顶部每个框表示每个类的实例(对象),框中的类实例和类名称之间用冒号和空格来分隔,例如 userService:UserService。
如果某个实例向另一个实例发送一个消息,则绘制一条指向接受类实例的带箭头的连线,并把消息/方法的名称放在连线上面。
对于某些特别重要的消息,还可以绘制一条带箭头的指向发起类实例的虚线,将返回值标注在虚线上,绘制带返回值的信息可以使得序列图更易于阅读。
消息可以向两个方向扩展,消息穿梭在顺序图中,通常应该把消息发送者和接受者相邻摆放,尽量避免跨越多个对象。对象的激活期不是其存在时间,而是它占据CPU的执行时间,绘制时,激活期要精确。
活动图和状态机图都被称为演化图,其区别和联系如下:
活动图: 用于描述用例内部的活动和方法的流程,如果除去活动图中的并行活动描述,它就变成流程图。
状态机图:描述某一对象声明周期中需要关注的不同状态,并会详细描述刺激对象状态改变的事件,以及对象状态改变时所采取的动作。
活动图的5个要素 :
对于激发对象状态改变的事件,通常有如下两种类型。
活动图主要用于描述过程原理、业务逻辑以及工作流技术。活动图非常类似于传统的流程图,它也使用圆角矩形表示活动,使用带箭头的实体表示事件;区别是活动图支持并发。
如果将这个活动图的两支分开,每个分支就是传统的流程图,每个活动依次向下,遇到条件分支使用菱形框来表示条件。与传统的流程图不同的是,活动图可以使用并行分支分出多条并行活动
状态机图表示某个对象所处的不同状态和该类的状态转换信息。实际上,通常只对“感兴趣 ”的对象绘制状态机图。也就是说,在系统活动期间具有三个或更多潜在状态的对象才需要考虑使用状态机图进行描述。
状态机图的符号集包括5个基本元素。