热点新闻
UML基础
2023-07-12 03:42  浏览:10292  搜索引擎搜索“错改B2B”
温馨提示:为防找不到此信息,请务必收藏信息以备急用! 联系我时,请说明是在错改B2B看到的信息,谢谢。
展会发布 展会网站大全 报名观展合作 软文发布

1. UML

  • 统一建模语言(Unified Modeling Language,UML)

1.1 UML基本构件

在UML中,所有的描述由事物、关系和图这些构件组成




image.png

2. 事物之间的六种关系

  • 泛化(Generalization, 也叫继承)
  • 实现(Realization)
  • 组合(Combination)
  • 聚合(Aggregate)
  • 关联(Association)
  • 依赖(Dependency)
  • 关系从强到弱依次是:泛化 > 实现 > 组合 > 聚合 > 关联 > 依赖



image.png

2.1 泛化(Generalization)

  • 图例:带空心三角的直线
  • 泛化描述父类与子类之间的关系,父类又称为基类或超类,子类又称作派生类

2.2 实现(Realization)

  • 图例:带空心三角的虚线



泛化 vs 实现.png

2.3 组合(Combination)

  • 图例:带实心菱形的直线
  • 组合表示类之间整体与部分的关系,整体与部分有一致的生存期
  • 部分与整体的关系,一旦整体对象不存在,部分对象也将不存在,整体和部分是同生共死的关系

例如,人由头部和身体组成,两者不可分割,共同存在

2.4 聚合(Aggregate)

  • 图例:带空心菱形的虚线
  • 聚合(Aggregate) 也表示类之间整体与部分的关系,成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在

例如,公交车司机和工作服、工作帽是整体与部分的关系,但是可以分开,没有共同的生命周期。工作服、工作帽可以穿、戴在别的司机身上,公交车司机也可以换别人的工作服、工作帽




组合 vs 聚合.png

2.5 关联(Association)

  • 图例:实线箭头
  • 当一个类'知道'另一个类时,可以用关联(association)

例如:某个类作为一个另一个类的属性

public class Context { // 属性 private IStrategy strategy; public Context(IStrategy strategy) { this.strategy = strategy; } }

2.6 依赖(Dependency)

  • 图例:虚线箭头
  • 依赖是一种“使用”关系,依赖可以表示一个事物使用另一个事物

例如: 某个类作为一个另一个类的方法的参数或返回值

public class OperationFactory { public static Operation createOperation(String operator) { Operation operation = null; // do something return operation; } }


关联 vs 依赖

3. 类图(Class Diagrams)

类图分为三层,
第一层显示类的名称,如果是抽象类,则就用斜体显示;
第二层是类的特性,通常就是字段和属性;
第三层是类的操作,通常是方法或行为

3.2 符号

  • + public
  • - private
  • # protected
  • ~ default(可省略)

4. 时序图

  • 时序图(Sequence Diagrams)描述对象之间消息的发送顺序,强调时间顺序
  • 时序图是一个二维图,横轴表示对象,纵轴表示时间,消息在各对象之间横向传递,按照时间顺序纵向排列。用箭头表示消息,用竖虚线表示对象生命线

4.1 时序图组成元素

  • 角色(Actor)
  • 对象(Object)
  • 生命线(Lifeline)
  • 控制焦点(Focus of Control)
  • 消息(Message)



image.png

4.2 生命线

从对象图标向下延伸的一条虚线,表示对象存在的时间

工具

StarUML

发布人:36ca****    IP:117.173.23.***     举报/删稿
展会推荐
让朕来说2句
评论
收藏
点赞
转发