文章插图
自底向上推导应用架构
先根据业务流程 , 分解出系统时序图 , 根据时序图开始对模块进行归纳 , 从而得到粒度更大的模块 , 模块的组合/聚合构建整个系统架构 。
基本上应用逻辑架构的推导有 4 个子路径 , 他们分别是:
- 业务概念架构:业务概念架构来自于业务概念模型和业务流程 。
- 系统模型:来自于业务概念模型 。
- 系统流程:来自业务流程 。
- 非功能性的系统支撑:来自对性能、稳定性、成本的需要 。
自底向上重度依赖于演绎和归纳 。如果是产品方案已经明确 , 程序员需要理解这个业务需求 , 并根据产品方案推导出架构 , 此时一般使用自底向上的方法 , 而领域建模就是这种自底向上的分析方法 。
对于自底向上的分析方法 , 如果提炼一下关键词 , 会得到如下两个关键词:
- 演绎
- 归纳
- 从用例到业务模型就属于演绎 。
- 从业务模型到系统模型也属于演绎 。
- 根据目前的问题 , 推导出要实施某种稳定性措施 , 这也是演绎 。
- 问题空间模块划分属于归纳 。
- 逻辑架构中有部分也属于归纳 。
- 根据一堆稳定性问题 , 归纳出 , 事前 , 事中 , 事后都需要做对应的操作 , 是根据时间维度来进行归纳 。
文章插图
大部分传统架构都是基于领域模型分析架构 , 典型的领域实现模型设计可以参考 DDD(领域驱动设计) , 详细可以参考《实现领域驱动设计》这本书 。
另外《UML 和模式应用》在领域建模实操方面比较好 , 前者偏理论了解 , 后者便于落地实践 。
领域划分设计步骤:
①对用户需求场景分析 , 识别出业务全维度 Use Case 。
②分析模型鲁棒图 , 识别出业务场景中所有的实体对象 。鲁棒图是需求设计过程中使用的一种方法(鲁棒性分析) , 通过鲁棒分析法可以让设计人员更清晰 , 更全面地了解需求 。
它通常使用在需求分析后及需求设计前做软件架构分析之用 , 它主要注重于功能需求的设计分析工作 。
推荐阅读
- 阿里云ECS的CPU100%排查
- Web 存储技术
- 阿里云被植入挖矿木马事件
- 自动驾驶知识科普 自动驾驶汽车的七大核心技术
- 多肉养殖基地 佛珠锦多肉怎么养殖技术
- 带你了解阿里体系,阶层职位曝光
- 淘宝|突发!蒋凡卸任淘宝/天猫董事长 曾是阿里合伙人
- 基于隐私保护技术的DNS通信协议
- vivo的双Wi-Fi加速技术,到底是什么黑科技?
- 游戏|《艾尔登法环》第七结局是高技术力整活 台词来自律法时代废案