软件技巧(11)---- UML 类图-时序图

UML语言的定义

UML-Unified Modeling Language 统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言
主要包含下面的模型:

  • 功能模型:从用户的角度展示系统的功能,包括用例图
  • 动态模型:展现系统的内部行为,包括序列图、活动图、状态图
  • 对象模型:采用对象、属性、操作、关联等概念展示系统的结构和基础,包括类图、对象图、包图
    我们在看C++ 代码时,比较常用的是序列图和类图
类图的基本元素

含义:类图(class Diagrams),是描述系统中的类,以及各个类之间的关系的静态视图,常用于表示类、接口和它们之间的协作关系
内容:为清晰表示类之间关系,类图包含有接口实现、继承、依赖、关联、聚合、组合等关系;
实现关系一般特指接口的实现,或者抽象类的实现;实现和继承关系都是范化关系的一种;
聚合、组合也是关联关系的一种,聚合关系是一种弱的关联关系:比如轮胎和发动机可以聚合成为汽车,但是它们也可以单纯存在;组合关系是一种强的关联关系,比如学生组合成为班级,学生必须在班级里

类-接口表示方法.jpg
继承关系/接口实现

继承:绘制方法为实线+空三角箭头(箭头指向父类)
接口实现:绘制方法为虚线+空三角箭头(箭头指向实现的接口)
tips:箭头都是指向父类


继承关系.jpg
依赖关系

依赖关系是一种使用关系,一个类的实现需要另一个类的协助,常见形式就是在类A的方法中直接调用了类B的方法,或者类A的函数参数中包含了类B的指针

绘制方法为虚线+ 虚线箭头


依赖关系.jpg

Tips: BpBinder的remoteBinder 函数调用了IPCThreadState 的方法

关联关系

表示一种拥有的关系,它使一个类知道另一个类的属性和方法,*常见的形式就是类A的属性中包含类B的指针或引用
绘制方法为实线+实线箭头

关联关系.jpg
聚合组合关系

聚合、组合关系都隶属于关联关系,是整体与部分的关系
聚合:表示弱的拥有关系,部分可以离开整体而单独存在,例如大雁群包含数只大雁,每一只大雁都可以独立于群体生存,绘制方法为空菱形+实线+实线箭头
组合:表示强的拥有关系,但部分不可离开整体单独存在,例如鸟必须有一双翅膀。绘制方法是实心菱形+实线+实线箭头


聚合组合关系.jpg

tips:箭头都是指向整体的类型

时序图

时序图,也叫序列图,顺序图,用于表述多个对象参与业务目标时,彼此之间按时间顺序进行交互的流程


getServiceManager时序图.png

时序图的基本元素

  • 对象和生命线
  • 会话或者控制焦点(生命线上的矩形线)
  • 发送消息(从左到右的实线)
  • 返回消息(从右到左的虚线)

注意发送的消息可以分为 Call,create,destroy,send 这几种
消息也要注意区分同步消息,异步消息,自关联消息

  • 同步消息必须等对象处理完成才能返回
  • 异步消息则可以立刻返回,等到对象B处理完成再通知到对象A
  • 自关联消息是发送到对象内部的消息,比如发送到对象内部的消息队列
uml.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容