UML中的九种图

来源:互联网 发布:软件开发工程师学习 编辑:程序博客网 时间:2024/05/17 07:31

用例图

  • 用例是相对独立完整的,一个用例一般不需要其他用例来完成和它进行交互。但是有时候为了体现功能的之间的联系,用例之间也会存在两种关系(扩展:extend,包含:include)
  • 用例的执行结果对于参与者来说是可见的,有意义的
  • 一个用例必须是由一个参与者发起,不存在没有角色的用例,用例也不该自动启动
  • 用例一定是动宾短语
  • 一个用例是一个需求单元,分析单元,设计单元,开发单元,测试单元

    这里写图片描述

类图

  • 体现类的属性和方法以及类与其它类之间的关系的图
  • 类与类之间的关系:依赖、关联、继承、实现
  • 类图的作用:是对代码的直接体现
  • 如何在实际中使用类图分析系统

    这里写图片描述

对象图

  • 表示在某一时刻一组对象以及它们之间关系的图,对象图可以看作是类图在系统某一时刻的实例
  • 作用

    • 论证类模型的设计:当设计了类模型时,你可以通过对象图来模拟出一个运行时的状态,这样就可以研究在运行时设计的合理性。同时,也可以作为开发人员讨论的一个基础
    • 分析和说明源代码:由于类图只是展示了程序的静态类结构,因此通过类图看懂代码的意图是很困难的。因此在分析源代码时,可以通过对象图来细化分析。而对于开发人员,对于逻辑较复杂的类交互时,可以考虑画出一些对象图来做补充说明
  • 阅读对象图

    • 首先找出所有的类,即在“:”之后的名称
    • 整理完之后,就可以通过对象的名字来了解其含义
    • 按类来归纳属性,然后再通过关联来确定含义

    这里写图片描述

状态图

  • 描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作(Action)
  • 状态图的元素

    • States对象的生命周期中的某个条件或者状况
    • Transitions是两个状态之间的一种关系
    • Event引起状态转移的事件
    • Actions是状态变化过程中执行的操作
  • 作用是帮助开发者梳理一个业务中核心对象的发展状况

    这里写图片描述

时序图

  • 描述对象之间交互的时间顺序图,也叫序列图
  • 时序图的作用:从时间(方法执行先后)角度,描述一个角色完成一个功能所涉及的对象,调用的所有方法,以及方法调用的顺序,甚至方法调、用的 细节(方法名,参数,返回值等)
  • 时序图的元素:角色(Actor),对象(Object),生命线(Lifeline),激活期(Activation),消息(Message)

    这里写图片描述

协作图

  • 表示在实现一个功能的过程中,一组对象以及这些对象间的消息传递
  • 它和时序图是对应的,时序图侧重与时间顺序,协作图侧重与对象之间的关系
  • 协作图的作用:显示对象及其交互关系的空间组织结构,而非交互的顺序
  • 协作图的三要素:

    • 角色:功能的发起者
    • 对象 :类的实例
    • 消息流:一个对象向另一个对象发起的操作

    这里写图片描述

活动图

  • 活动图是描述系统在执行某一用例时的具体的步骤,它主要表现的是系统的动作
  • 活动图的作用

    • 从活动图中可以看出,系统是如何一步一步的完成用例的,主要用于业务建模阶段
    • 活动图描述的是整个系统的事情。可以说活动图是对用例图的一种细化,帮助开发者理解业务领域
  • 活动图的元素:活动节点(Activity),转移(Transition),判断节点(Decision),泳道(Swimlane)

  • 和状态图的区别,状态图描绘一个对象的状态,重点描述结果,活动图描述状态转换的过程或者说原因

    这里写图片描述

组件图

  • 组件图是用来反映代码的物理结构。从组件图中,可以了解各软件组件(如源代码文件或动态链接库)之间依赖关系
  • 组件图的主要作用

    • 显示系统组件间的结构关系
    • 提供了将要建立的系统的高层次的架构视图,这将帮助项目管理者建立阶段目标,并决定开发的任务分配
  • 组件图的核心元素:组件(Component),依赖关系(Dependency)

    这里写图片描述

配置图

  • 配置图描述的是系统运行时的结构,展示了硬件的配置以及软件部署到网络结构中的方式
  • 配置图也叫部署图
  • 一个系统模型只有一个部署图,通常用来帮助理解分布式系统
  • 部署图的元素:

    • 处理器(Processor): 能够执行软件、具有计算能力的节点,服务器,工作站
    • 设备(Device):硬件设备,如打印机,路由器等
  • 配置图和组件图的区别:配置图有硬件,以一个服务器为单位;组件图全是软件结构,以一个程序模块为单位

    这里写图片描述

0 0