了解应用设计的基本步骤和模块构成 掌握应用分析中各模块基本分析方法和 tips
对一份好的应用分析有初步体感
WHAT - 什么事应用设计
应用设计来源于应用分析。业务分析基于对业务数据的核心理解和分析,产出了业务用例、业务规则、业务流程。这些是应用设计的关键输入。应用设计会基于业务的详细流程进行功能的拆解,明确每一个应用要承担的功能,以及所要提供的服务,并且对所需要的服务做一个详细的设计,并最终产生我们的一个最终的技术方案。
HOW - 怎么做应用设计
1、应用协作分析
目的
- 根据业务流程将应用系统和系统处理流程串联起来
- 明确每个应用的主要职责和提供的服务
关注点
- 系统间的协作流程要尽可能完善
- 单系统内部的流程可以简略
- 如果设计的系统非常多,可以简略一些非关键的流程
2、应用系统服务边界设计
- 服务边界模型:提供者、使用者、服务、说明、规约
- 接口定义(语法、语义、语用、约束)

3、应用内部影响分析及结构设计
- 领域模型设计
- 状态机设计
- 内部系统详细用例设计
- 对外影响分析
- 兼容性依赖分析
领域模型设计
- 最小化减轻领域专家和软件架构师之间的误解,并且减少了后续昂贵的需求变化的数量
- 业务专家和开发共同探讨和确定的领域实体概念
- 约束说明
状态机设计(重点在约束)
内部应用影响系统详细用例分析设计
- 系统用例 —— 基于业务用例拆解,代表一个具有特定职责(功能)的独立模块,关注本模块如何实现
- 系统详细用例分析一些 tips
- 命名:最好是“主谓”结果
- 模版
- 使用/发生场景
- 选的几种方案,优劣,以及为什么选定最后的方案
- 具体的流程图,可以通过时序图或流程图体现,当是新建系统或者复杂模型建议通过流程图。图要抽象,突出主路径和关键的地方,再配以文字说明
- 每个流程节点相当于一个内部方法,可以指导后续的编码
- 注意点 & 问题:比如允许的合并支付最大笔数;资损风险点;一些你特别想说的
- 文档编辑技巧
- 文档结构化描述

4、对外影响分析
- 应用服务变更对外围的影响
- 服务入参、返回对象变更
- 数据变更
- 应用协作变更造成的外围影响
- 非功能性影响
- 新增对某个系统调用造成对下游容量影响
- 新增比较多 DB 操作对 DB 容量的影响
- 功能性影响
- 分布式事务链路里面,新增参与者
- 调用去除对下游信息变化带来的影响
- 非功能性影响
- 新业务功能分析
- 新增功能对外围改造影响分析
- 代码配合改造
- 消费记录影响分析(做什么改造,重点关注什么)
- 转账中心影响分析
- 配置新增
- 代码配合改造
- 新增功能对外围改造影响分析

