zoukankan      html  css  js  c++  java
  • UML 统一建模语言

    零、UML简介

    统一建模语言「Unifited Modeling Language」
    UML 是一种开放的方法,特点: 可视化
    利于 大规模,复杂系统建模

    一、用例图

    1. 作用

    • 描述用户需求「用于需求分析阶段」
    • 展示 系统外部的各类执行者 和 系统中用例的 关系

    2. 构成

    • 参与者「Actor」 处于系统外部,但与系统内部的功能单元有交互的个体
      通常用小人图形来表示,如下图
    • 用例「Use Case」 系统内部 可见的 系统功能单元
      通常用椭圆来表示,如下图
    • 参与者 和 用例 之间的 关系 通信关系
      通常用箭头来表示,如下图

    二、类图

    1、作用

    • 显示出类、接口以及它们之间的静态结构和关系
    • 用于描述系统的结构化设计

    2、类

    包括 名称(Name)、属性(Attribute)和操作(Operation)
    状态显示:

    • 抽象斜体
    • 静态下划线

    访问权限图中的表示:

    • +:公有(Public)
    • -:私有(Private)
    • #:受保护(Protected)
    • ~:包内公有(Package)
      类图

    3、接口

    • 在没有给出对象的实现和状态的情况下对对象行为的描述。
    • 一个类可以实现一个或多个接口
    • 用两层矩形框表示,与类图的区别:顶端有<<interface>>显示:
    • 用一个空心圆表示:
    • 包图

    三、类之间的几种关系

    1、继承「泛化 Generalization」

    • 子类 is a 父类
    • 类与类,接口与接口,类与接口的继承关系
    • 空心三角+实线 表示,子类 → 父类

    2、实现「Realization」

    • 是一种类与接口的关系,表示类是接口所有特征和行为的实现
    • 空心箭头+虚线 表示,箭头 → 接口

    3、依赖(Dependency)

    类A 用到「use a」 B类,则 A类 依赖 B类「B是 A的变量、参数、返回值」

    • 要避免双向依赖,一般来不应该存在双向依赖
    • 关联、实现、泛化都是依赖关系
    • 带箭头的虚线表示,→ 被依赖元素

    4、关联(Association)

    A、一般关联

    • 类与类之间的联结,它使一个类知道另一个类的属性和方法,指明了事物的对象之间的联系
    • 关联可以是双向、单向、自身、多维关联
    • 箭头普通的实心线表示
      • B类 是 A类中的一个 属性,A类 → B类
      • 双向的关联 可以有 两个箭头 或 没有箭头
      • 单向的关联 有一个箭头

    关联和依赖的区别

    • 依赖:仅当 方法被调用时产生,伴随方法的结束而关系结束
    • 关联:类实例化时产生,类销毁时关系结束
    • 对比:相比依赖关联关系生存期更长

    B、聚合(Aggregation)

    • 整体与部分「整体contain a 部分」关系
    • 部分 离开整体而单独存在
    • 聚合 是强的关联关系
    • 关联 和 聚合 在语法上无法区分,必须考察具体的逻辑关系
    • 带空心菱形的实线,部分 ← 菱形整体 或 部分 —菱形 整体

    C、组合(Composition)

    • 整体与部分「整体 has a 部分」关系
    • 部分 不能 离开整体而单独存在
    • 比聚合关系还要强的关系
    • 整体负责部分的 生命周期
    • 实心菱形的实线表示,部分 —菱形 整体
      两段各有一个基数,表示每一端都有几个实例「无数个用 n 表示」

    5、总结

    各种关系的耦合度 强→弱 顺序如下:
    泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

  • 相关阅读:
    《敏捷软件需求》阅读笔记三
    《敏捷软件需求》阅读笔记二
    《敏捷软件需求》阅读笔记一
    《需求工程-软件建模与分析》阅读笔记三
    《需求工程-软件建模与分析》阅读笔记二
    《需求工程-软件建模与分析》阅读笔记一
    C#.NET程序设计实验三实验报告
    C#.NET程序设计实验二实验报告
    C#.NET程序设计实验一实验报告
    oracle——存储数据时的编码问题
  • 原文地址:https://www.cnblogs.com/liquor1993/p/5258992.html
Copyright © 2011-2022 走看看