UML快速入门

1.UML

1.1定义
  • 统一建模语言(Unified Modeling Language, UML)
  • 非专利的第三代建模和规约语言
1.2特点
  • UML是一种开放的方法
  • 用于说明、可视化、构建和编写一个正在开发的面向对象的、软件密集系统制品的开放方法。
  • UML展现了一系列最佳工程实践,这些最佳实践在对大规模、复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。
1.3 UML2.2分类
  • 结构式图形:强调的是系统式的建模
  • 行为式图形:强调系统模型中触发的事件
  • 交互式图形:属于行为式图形子集合,强调系统模型中资料流程

2.类图 Class Diagram

2.1定义
  • 用于表示类、接口、实例等之间相互的静态关系。
2.2定义说明

  • Student表示类名,Student 斜体表示抽象类,类上方加<<interface>> 表示接口
  • + public ; - private ; # protected ; ~ default
  • 属性或者方法下面加横线表示static
  • 方法*study()*为斜体,表示为抽象方法。
2.3 关键点说明
2.3.1继承或者实现
  • UML箭头方向:从子类指向父类
  • 实线:继承(extends) ,is -a关系 ,扩展目的| 虚线-实现 (implements) 接口(注意实线与实现的区别)
  • 空心三角箭头:继承或者实现,如下图红框所示。

2.3.2 关联与依赖
  • 注意此时的箭头不同于空心三角形。 箭头方向指向被依赖或者被关联的对象。

  • 实线:关联关系,表示一个类对象和另外一个类对象有关联,通常是一个类中有另一个类对象作为属性

  • 虚线:依赖关系,表示一种使用关系,一个类需要借助另一个类来实现功能,一般是一个类使用另一个类作为入参或者返回值,只有调用某个方法时才会使用。

2.3.3 组合与聚合
  • 空心菱形:聚合相同的东西聚在一起(大雁群和大雁的关系),箭头所指的类为个体(大雁),整体和局部的关系,二者具体独立的生命周期,has-a的关系,为弱关系

  • 实心菱形:组合,强关系(鸟和翅膀),组合在一起,箭头指的是组件(翅膀),两者拥有相同的生命周期,contains-a的关系,为强关系

  • 实心菱形–组合:常见数字表达及含义,假设有A类和B类,数字标记在A类测
    • 0..1:0或1个实例 表示系统某一时刻 ,B的实例可以与A的0个或1个实例相关。
    • 0..*:0或多个实例
    • 1..1: 1个实例
    • 1 : 只能有1个实例
    • 1..* : 至少有一个实例
2.4类图实例
  • 实例摘自《大话设计模式》一书

  • 使用VP画的时候,在表示聚合或者组合关系时,只有菱形,线段的另一侧没有箭头,不知道是否是软件操作有误
  • 表示关联关系时,没有找到带箭头的线段,只有一条线段。
  • 棒棒糖表示法和实现接口是相同的作用,在VP中也没有找到此功能。

3.时序图 Sequence Diagram

3.1 定义

显示对象之间交互的图,这些对象是按时间顺序排列的。

时序图中包括的建模元素主要有:

对象(Actor) 、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等。

3.2UMl时序图实例

  • 注意同步调用、异步调用、返回的区别
  • 有两个疑惑:
    • 每一个调用上面的标号是如何的,是按照1,2,3…的顺序还是按照1,1.1,1.1.1…的顺序呢?
    • 使用VP画不出异步调用的空心箭头,只有黑心的,不知道是不是因为自己使用的是社区版本的。

4.参考

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值