产品学习之——B端产品业务建模
一、B端详细设计的流程
1、首先建业务数据模型
2、基于流程确定页面流转图
3、每个页面的具体设计
4、提划好系统用户角色,
5、最后完成权限设计
二、什么是业务建模
业务建模也叫领域建模或实体建模,是指提炼业务,归纳并设计对应的实体-关系模型(ER,Enity-Relationship)的过程,业务建模是领域驱动设计中很重要的概念
三、为什么一定要做业务建模
软件系统的模块和功能实际上就是对现实世界的对象和规则的抽象。软件系统设计的难点恰恰在于合理地总结客观世界的对象和关系,并实现最基本的数据模型设计。只有总结并设计出正确的数据模型之后,才能思路清晰地完成功能模块和操作交互的设计。
业务数据建模是数据库设计中最重要的部分,会影响数据库表结构的设计,体现了设计者对业务本质的理解和认知。如果在详细设计阶段不做业务关系建模,产品经理很容易陷入混乱中
四、建模要点
1、确定实体
2、连接关系
3、关键属性
五、ER模型图介绍
ER模型示例
1、每一个大方框代表一个对象
2、方框中的第一行描述对象名称
3、第二行描述对象中的数据字段
4、最下面一行描述对象所具备的函数,这是程序设计时用到的概念
5、两个对象之间用实线连接,实线两端标上数字,用来描述它们之间的对应关系
6、1..*表示1个机构节点对应1到多个门店
六、ER建模案例(x公司分销平台)
1、客户诉求
2、组织结构树
组织结构树3、实体对象
组织机构对象:用来描述客户的行政管理层级结构
门店对象:挂在某个机构节点下的收货对象(有可能是门店,也可能是中央仓)
账号对象:系统用户
4、连接关系
1)每个组织机构都有一个上级机构
2)每个账号隶属于一个机构节点
3)每个门店隶属于一个机构节点
4)每个门店下可以维护多个收货人
5、理想版的ER模型
6、一期简化需求
一期暂不用支持复杂的行政层级管理,只需要为客户实现若干子账号,让他们可以管理若干门店即可
7、简化版的组织机构树
8、理想版ER模型和简化版ER模型的区别
唯一的变化是在账号和门店两个对象之间建立了关联关系。这样处理保持了模型的可扩展性,将来需要实现全面的组织架构管理时,将账号、门店之间的对应关系打断,在业务系统中实现遍历算法和组织机构树管理维护功能即可,整个数据底层基本不需要调整。
9、错误的ER模型
10、错误的ER模型说明
1)如果产品设计人员认为目前的业务诉求很明确,一个门店只能被一个账号管理,所以账号和门店的对应关系应该为一对多(而非多对多)。假设有一天,客户的某个门店雇用了多名采购员,因而客户要求实现账号和门店多对多的设计,这在现实世界中是一种非常合理的业务场景。
2)为了实现此诉求,开发难度将非常大,因为从数据底层到前端功能实现,都认为子账号和门店是一对多结构,如果将结构改成多对多,首先底层数据库结构需要调整,所有历史数据要处理;其次,基本上所有涉及读取账号和门店关系的功能代码需要全部重写。看似简单的一个改造,会造成一场灾难。