1 介绍

UML:统一建模语言(Unified Modeling Language)
image.png
image.png

2 使用

image.png
image.png
image.png

2.1 composite structure(类图)

image.png

  • 类图:描述系统中类的静态结构。
  • 说明:
    • 就是java类,class是这个java类的名字,建立与不同java类或枚举类或接口用某种符号链接,这种整体的图形也叫结构图。
    • 可以直接双击点开图标

image.png

  • perview项目可以进行直接代码编辑,不推荐使用。

image.png

  • general项目可以设置常用属性

image.png

  1. name:java类名称(可中文,254字符)
  2. code:别称(不可中文,必须是英文,254字符,一般用UID)
  3. comment:备注(详细功能介绍)
  4. extends:继承
  5. stereotype:源于已有包的子类
  6. visibility:访问修饰符
  7. cardinality:基数(集合数量)
  8. type:文件类型(class:Java字节码,generic:泛型)
  • 其他不重要可以点帮助按钮直接查看开发文档

image.png

  1. Domain域表示属性取值范围如可以创建10个字符的地址域
  2. D:Displayed显示出来,默认全部勾选

    2.1.1 泛化(Generalization)

    image.png继承,箭头指向父类,实线指向子类,eg:
    1. public class Animal { }
    2. public class Tigress extends Animal { }
  • 详解: 母老虎属于动物这一种类。

image.png

2.1.2 实现(Realization)

image.png
实现接口,箭头指向实现接口,虚线指向实现类

  1. public interface Jump { }
  2. public class Tiger implements Jump { }
  • 详解: 母老虎在动物园里会有一个编号,还有她的喜好,以及它基本生活,吃放和各种 行为。

image.png

2.1.3 依赖(Dependency)

image.png
调用共通方法,调用其他类的必要方法,举例来说,动物需要吃饭,吃饭这一动作行为放到一个Java类中,此时需要调用该Java类的方法,完成对食物的获取,eg:

  1. public class Animal{
  2. public static void main(String args[]){
  3. /** 动物需要食物 */
  4. Food f=new Food();
  5. f.eat();
  6. }
  7. }
  8. public class Food{
  9. public void eat(){
  10. }
  11. }
  • 详解:动物需要食物,没有食物就会饿死,抓到一头鹿,可以饱餐一顿。即老虎抓到不同食物,食物的体型不同,味道也不一样。Food类受到变动,Aniaml类也会受到影响。

image.png

2.1.4 关联(Association)

image.png
声明或者调用一个多条对象,注入一个bean来使用,箭头指向需要使用的对象,实线指向引入的对象,实线上方的数字代表会拿到的结果集,下方数字代表可能需要的条件集,eg:

  1. public class YoungTiger{
  2. /** 5头年轻老虎有时有一到两个饲养员 */
  3. private List<Zookeeper> zookeepers;
  4. }
  5. public class Zookeeper{ }
  • 详解: 动物园有五头年轻的老虎,他们有零个到二个饲养员。

image.png

2.1.5 组合(Composition)

image.png
和关联类似,只是组合更加强调不可丢失的类,查询数据库是基本的功能,不可丧失,eg:

  1. public class Tigress{
  2. /** 母老虎有四条腿 */
  3. private List<Leg> legs;
  4. }
  5. public class Leg{ }
  • 详解: 一头老虎有四条腿

image.png

2.1.6 聚合(Aggregation)

image.png
也和上面一样,只是关系不强,可有可无

  1. public class YoungTiger{ }
  2. public class Zoo{
  3. private List<YoungTiger> yt;
  4. }

image.png

2.1.7 Require Link (需求连接)

image.png
类似的功能,有一个总的接口,同时实现两种不同的类,eg:
image.png

  • 详解:促销有减量促销和折扣促销

    2.1.8 Inner Link(内部连接)

    image.png
    内部类的调用
    image.png

    1. public class Class7 {
    2. public class Class8 { }
    3. }

    例子:
    image.png

  • 详解: 综合上方解释查阅

    2.2 对象图-Object diagram

    image.png

    2.2.1 Instance Link(关联)

    image.png
    对象之间存在关联关系

    image.png

    2.3 组件图-Component Diagram

    image.png
    例子:
    image.png
    详解:管理员用户通过8080端口访问myorder,订单发送请求到服务器8090端口,服务器端拿到对应用户的order,返回给管理员用户字自己的订单信息。

    2.4 部署图-Deployment Diagram

    image.png
    例子:
    image.png
    详解:OW+框架整体结构

    2.5 活动图-Activity Diagram

    image.png
    例子:
    image.png
    详解:办理业务的具体会进行的业务实现。

    2.6 通讯图/协助图-communication diagram

    image.png
    例子:
    image.png

    2.7 时序图-sequence diagram

    image.png
    例子:
    image.png

    2.8 用例图-use case diagram

    image.png
    例子:
    image.png

    2.9 状态图-statechart diagram

    image.png