在 Android 开发中,常用的描述类、功能及调用时序的图表主要用于设计、沟通和文档化,以下是最常用的几种及其应用场景:
1. 类图(Class Diagram)
用途:描述类、接口、枚举等元素的结构,以及它们之间的关系(继承、实现、关联、聚合、组合等)。
Android 场景:
- 展示自定义 View、ViewModel、Repository 等核心类的属性和方法;
- 描述架构层之间的依赖(如 UI 层与数据层的类关系);
- 体现设计模式(如 MVP 中 Presenter 与 View 的接口依赖)。
2. 时序图(Sequence Diagram)
用途:按时间顺序展示对象(或组件)之间的交互流程,清晰呈现消息传递的先后顺序。
Android 场景:
- 分析用户操作的完整链路(如 “点击按钮→ViewModel 处理→Repository 请求数据→回调更新 UI”);
- 调试跨组件交互(如 Activity 与 Service 的绑定 / 通信过程);
- 梳理异步操作流程(如 Retrofit 网络请求 + Room 本地存储的协同调用)。
3. 状态图(State Diagram)
用途:描述对象在生命周期中不同状态的转换规则(触发条件、动作)。
Android 场景:
- 展示 Activity/Fragment 的生命周期状态转换(如
onCreate→onStart→onResume的触发条件); - 描述自定义控件的状态变化(如 Button 的 “正常→按下→禁用” 状态切换);
- 梳理业务状态机(如订单从 “待支付→已支付→已发货” 的流转)。
4. 用例图(Use Case Diagram)
用途:从用户视角描述系统功能(用例)与用户(参与者)的关系,明确功能边界。
Android 场景:
- 需求分析阶段梳理核心功能(如 “登录”“查看详情”“提交订单” 等用例);
- 明确功能执行者(如普通用户、管理员、系统服务);
- 划分功能模块的责任范围(如哪些用例属于用户中心模块)。
5. 组件图(Component Diagram)
用途:展示系统中独立的组件(如库、模块、服务)及其依赖关系。
Android 场景:
- 描述模块化项目的结构(如
app模块依赖core、network、ui模块); - 体现组件间的接口调用(如
network模块向data模块提供数据接口); - 规划组件化拆分(哪些功能应封装为独立组件)。
6. 流程图(Flow Chart)
用途:用标准化符号描述线性流程(顺序、分支、循环),侧重步骤逻辑。
Android 场景:
- 梳理业务逻辑(如登录验证流程:输入账号→检查格式→网络请求→验证结果→跳转 / 提示);
- 设计算法步骤(如列表数据排序、数据过滤的逻辑);
- 规划页面跳转路径(如首页→详情页→结算页的跳转条件)。
7. 实体关系图(ER Diagram)
用途:描述数据库中实体(表)之间的关系(一对一、一对多、多对多)。
Android 场景:
-
设计本地数据库(如 Room 框架的实体类关系,用户表与订单表的关联);
-
梳理服务器返回数据的结构(如 JSON 中嵌套对象的关系映射)。
这些图表通常结合 UML 规范绘制,工具上常用 Android Studio 插件(如 PlantUML)、在线工具(Draw.io、Lucidchart)或专业软件(Visio)。选择哪种图表取决于场景:偏结构用类图,偏流程用时序图,偏状态变化用状态图,偏功能范围用例图。