zoukankan      html  css  js  c++  java
  • UML(Unified Model Language)统一建模语言

    一、九种图

    二、类间关系

    一、UML中的九种图

    1、用例图(use case diagrams)

     【概念】描述用户需求,从用户的角度描述系统的功能

     【描述方式】椭圆表示某个用例;人形符号表示角色

     【目的】帮组开发团队以一种可视化的方式理解系统的功能需求

     【用例图】

     2、静态图 

      2-1)类图(class  diagrams) 

      【概念】显示系统的静态结构,表示不同的实体是如何相关联的

      【可见性】公有类型(public)、受保护类型(protected)、私有类型(private)、Implementation

      【描述方式】三个矩形  

      【目的】表示一个逻辑类或实现类,逻辑类通常是用户的业务所涉及的事物;实现类是程序员处理的实体

      【类图】  

      2-2)对象图(object diagrams)

      【概念】类图的一个实例,描述系统在具体时间点上所包含的对象以及各个对象的关系

      【对象图】  

    3、交互图——用来描述对象之间的交互关系 

      3-1)序列图(顺序图)

      【概念】描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序

      【描述方式】横跨图的顶部,每个框表示每个类的实例或对象;类实例名称和类名称使用冒号分开

      【目的】显示流程中不同对象之间的调用关系,还可以显示不同对象的不同调用。

      【序列图】  

      3-2)协作图(Collaboration diagrams)

         【概念】描述对象之间的合作关系,侧重对象之间的消息传递 

    序列图和协作图的对比:

          协作图和序列图表达的信息一样,只是方法不同,可通过适当的方式进行转化。协作图和序列图的不同点:

              1)协作图明确表示了角色关系,通过协作角色来限定协作中的对象或链。

              2)协作图不将时间作为单独的维来表示,必须使用顺序号来判断消息的顺序以及并行线程。

              3)序列图和协作图都表示对象间的交互作用,序列图侧重时间顺序,协作图侧重对象间的关系,时间顺序可以从对象流经的顺序编号中获得。

              4)序列图被用于表示方案,而协作图被用于过程的详细设计。

    4、行为图:描述系统的动态模型和对象之间的交互关系 

      4-1)状态图(Statechart diagrams) 

         【概念】描述对象的所有状态以及事件发生而引起的状态之间的转移

         【描述方式】 

        1. 起始点:实心圆 
        2. 状态之间的转换:使用开箭头的线段 
        3. 状态:圆角矩形 
        4. 判断点:空心圆 
        5. 一个或多个终止点:内部包含实心圆的圆

          【目的】表示某个类所处的不同状态以及该类在这些状态中的转换过程

       4-2)活动图(Activity diagrams)

      【概念】描述满足用例要求所要进行的活动以及活动时间的约束关系

      【描述方式】 

        1. 起始点:实心圆 
        2. 活动:圆角矩形 
        3. 终止点:内部包含实心圆的圆 
        4. 泳道:实际执行活动的对象

      【目的】表示两个或多个对象之间在处理某个活动时的过程控制流程

      【活动图】 

    活动图和状态图区别:

        1)活动图的主要目的是描述动作及对象的改变结果,而状态图则是描述对象、子系统、系统在生命周期中的各种行为

            2)活动图中的状态转换不需要任何触发事件,状态图则需要触发事件

            3)活动图种的动作可以放在泳道中,状态图不可以

    5、实现图  

      5-1)构件图(Component diagrams) 

      【概念】描述代码构件的物理结构以及各构件之间的依赖关系

      【描述方式】构件

      【目的】提供系统的物理视图,根据系统的代码构件显示系统代码的整个物理结构

      【构架图】

      5-2)部署图(Deployment diagrams)

      【概念】系统中硬件的物理体系结构

      【描述方式】 

        1. 三维立方体表示部件 
        2. 节点名称位于立方体上部

      【目的】显示系统的硬件和软件的物理结构

      【部署图】

    二、类间关系

    类与类之间的关系通常有4种,即依赖关系(Dependency)、泛化关系(Generalization)、关联关系(Association)、实现关系(Realization)

    1. 依赖关系(Dependency)

      【概念】表示两个或多个模型元素之间语义上的连接关系

      【绘图方式】虚线箭头,箭头指向被使用者

      【依赖图】

    1. 泛化关系(继承)(Generalization)

      【概念】描述类的一般和具体之间的关系,描述的“is a kind of ”的关系

      【绘图方式】实线空心三角箭头,箭头指向父类

      【继承方式】

      1.   单继承:一个类只有一个父类
      1.   多继承:一个类可以有多个父类,可以从每一个父类中获得允许继承的信息

      【泛化图】

    1. 关联关系(Association)

      【概念】表示一个事物的对象与另一个事物的对象之间的语义上连接,简单的理解为两个类或类与接口之间的强依赖关系

      【绘图方式】实线箭头,双向箭头或无箭头

      【包括】

      •   聚集

          【概念】描述的是部分与整体关系,描述了“has a”的关系,部分离开整体可以单独存在

          【绘图方式】空菱形的实线,头部指向整体

          【聚集关系图】

      •   组成

          【概念】一种更强形式的关联,在整体中拥有管理部分特有的职责,也被称为强聚合关系,部分不能脱离整体存在

          【绘图方式】实菱形的实线,头部指向整体

          【组成关系图】

    1. 实现关系(Realization)

      【概念】将一种模型关系与另一种模型关系连接起来,从而说明和其实现之间的关系,简单的理解为一个类或多个类实现一个接口

      【绘图方式】封闭空箭头的虚线,箭头指向接口

      【实现关系图】

    泛化和实现关系的区别:

           泛化关系是指同一语义层的元素连接起来,通常在同一模型内;实现关系将不同语义层内的元素连接起来,通常在不同模型内。

  • 相关阅读:
    伪静态
    query 文件提交 +php后台入库
    PHP实现URL长连接转短连接方法
    通过经纬度获取所属城市信息
    PHP 学习之路1
    Linux云服务器安装tomcat
    linux下svn服务器搭建步骤
    HttpServletrequest 与HttpServletResponse总结
    HTML5基础
    Ajax相关总结
  • 原文地址:https://www.cnblogs.com/sweetyu/p/5625794.html
Copyright © 2011-2022 走看看