从零开始学架构(五)系统设计-领域模型和概念架构
文章大纲
1、 领域模型
2、 概念架构
3、 文章总结
一、领域模型
1.1 概述
定义:探索问题领域的工具,用于表达业务中的核心概念,以及概念之间的关系
作用:
Ø 方便沟通:提供领域和领域词汇,并且表达了概念以及之间的关系;
Ø 业务核心:领域模型逐步细化后,会成为业务层的核心;
Ø 数据模型:可映射直接或少量修改后映射为数据模型;
Ø 事物本质:反应事物本质,影响系统边界、复用度、可扩展性等;
过程:识别领域概念、识别领域关系、识别领域状态、领域模型化[类图、状态图]、领域模型评审
表达方式:类图、状态图
相关概念:领域词汇表
参与者:领域专家、客户、需求分析人员、架构师、系统分析人员等
1.2 需求背景
在电商系统中:购物流程[简化版]
1)会员可以购买商品,不同的会员商品价格不同;
2)购买后生成客户订单,订单可能有多个商品;
3)会员可以自由选择在线支付或货到付款;
4)送货上门后,会员可以对购买体验进行评价;
1.3 识别领域概念
第一步:识别领域概念
会员:会员有种,普通会员,V白金会员,钻石会员;
价格:购买商品的价格,不同的会员价格不同;
订单:会员购买商品的凭证;
商品:商城销售的物品;
在线支付:线上支付;
货到付款:送货时再付款;
配送:商品通过物流等配送方式,送到客户手中;
评价:对购买商品体验进行打分评价;
小结
1)领域概念一般是名词;
2)描述了业务中的关键角色(对象)
3)各概念组合在一起构成了完整的业务流程;
第二步:识别领域关系
关联关系
会员与订单:1对多关系
商品与价格:1对多关系
订单与商品:1对多关系
商品与评论:1对多关系
订单与配送:1对1关系
泛化关系
会员分类:普通会员、白金会员、钻石会员
支付方式:在线支付、线下支付
小结
1)关系:概念与概念之间的关系;
2)类图:泛化,关联[关联,聚合,组合],依赖
第三步:识别领域状态
以订单为例
状态的流转过程
初始态、待支付、待发货、已收货、已评价、退款中、已退款、已取消
订单状态之间的关系
1)初始态à待支付à待发货à已收货à已评价
2)待发货à退款中à已退款;
3)确认收货à退款中à已退款;
4)待支付à已取消;
小结
1)状态流转过程;
2)状态”相生相克”关系;
第四步:领域模型化-类图
注意:领域模型包含核心字段以及领域之间的关系
第四步:领域模型化-状态图
第五步:领域模型评审
所有评审、不外乎找客户、专家【领域,架构,行业,大牛等】,领导;
按照计划和核对表对评审对象,进行讲解、讨论、评价、得出评审结果。
关键点
1)做好准备:评审材料,事前沟通;
2)找到正确的人:必须参加的、建议参加的、无需参加的;
3)把握评审流程:记录;
4)得到评审结果:通过,不通过,修改再评审;
5)评审后工作:修改,再评审,签字等;
二、概念架构
三、文章总结
四、下篇预告
第六篇:系统设计之架构细化和架构视图
(1)架构细化
(2)架构视图
(3)架构文档