概述

UML是什么

UML 是一种为面向对象开发系统的产品进行说明、可视化、和编制文档的标准语言;作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现;UML 是不同于其他常见的编程语言,如C + +,Java中,COBOL等,它是一种绘画语言,用来做软件蓝图;

UML的目标

UML 的目标是定义一些通用的建模语言并对这些建模语言做出简单的说明,这样可以让建模者理解与使用。我们不将 UML 作为一个开发方法,而是随着流程做一个成功的系统。现在我们可以明确的了解 UML 的目标就是 UML 被定义为一个简单的建模机制,帮助我们按照实际情况或者按照我们需要的样式对系统进行可视化;提供一种详细说明系统的结构或行为的方法;给出一个指导系统构造的模板;对我们所做出的决策进行文档化。

用例图(UseCase Diagrams)

用例图主要回答了两个问题:1、是谁用软件。2、软件的功能。从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。

类图(Class Diagrams)

用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。   各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

对象图(Object Diagrams)

描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是类图在某一时刻的实例。

状态图(Statechart Diagrams)

是一种由状态、变迁、事件和活动组成的状态机,用来描述类的对象所有可能的状态以及时间发生时状态的转移条件。

活动图(Activity Diagrams)

是状态图的一种特殊情况,这些状态大都处于活动状态。本质是一种流程图,它描述了活动到活动的控制流。    交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流。活动图是一种表述过程基理、业务过程以及工作流的技术。它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模。

序列图-时序图(Sequence Diagrams)

交互图的一种,描述了对象之间消息发送的先后顺序,强调时间顺序。  序列图的主要用途是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。同时序列图更有效地描述如何分配各个类的职责以及各类具有相应职责的原因。

协作图(Collaboration Diagrams)

交互图的一种,描述了收发消息的对象的组织关系,强调对象之间的合作关系。时序图按照时间顺序布图,而写作图按照空间结构布图

构件图(Component Diagrams)

构件图是用来表示系统中构件与构件之间,类或接口与构件之间的关系图。其中,构建图之间的关系表现为依赖关系,定义的类或接口与类之间的关系表现为依赖关系或实现关系。

部署图(Deployment Diagrams)

描述了系统运行时进行处理的结点以及在结点上活动的构件的配置。强调了物理设备以及之间的连接关系。部署模型的目的:描述一个具体应用的主要部署结构,通过对各种硬件,在硬件中的软件以及各种连接协议的显示,可以很好的描述系统是如何部署的;平衡系统运行时的计算资源分布;可以通过连接描述组织的硬件网络结构或者是嵌入式系统等具有多种硬件和软件相关的系统运行模型。