傻大方


首页 > 学习 >

SaaS|SaaS RES营销管理系统架构设计( 四 )



按关键词阅读: 设计 系统 管理 架构 营销 SaaS RES



20、户的时候进行检查 , 而这部分工作 , 对于客户实体来说 , 它并不了解其他客户实体的信息 , 因此 , 应该交由其上层 , 客户管理应用服务负责 。
根据上面的分析 , 我们已经可以清晰的划分职责 , 然后得出如下的创建个人客户的时序图:5.1.12 创建个人客户信息时序图用例2:修改个人客户信息业务实体的修改操作修改个人客户信息有如下业务约束:l 修改个人客户信息用例包含了创建个人客户信息的所有业务约束;l 当系统设置了需要开启客户信息修改审核功能时 , 如果修改了个人客户信息中的核心信息 , 并且修改个人客户信息的系统用户不具有审核功能权限 , 则修改后的个人客户信息不能直接更新 , 而是要把修改信息提交审核 , 审核通过后 , 才能更新对应的个 。

21、人客户信息 。
根据上述的业务约束进行分析 , 系统是否开启客户信息修改审核功能 , 很明显不属于个人客户实体的职责 , 因此它应该由应用服务层负责 , 同时 , 由于客户管理应用服务的职责是对客户信息进行管理 , 而客户信息修改审核功能的设置是由系统参数设置模块负责 , 所以 , 这项职责应该由系统参数设置应用服务提供 , 而判断是否修改了客户核心信息 , 很明显属于个人客户的职责 。
最后 , 根据当前系统用户是否具有审核功能权限 , 这部分职责应该由客户管理应用服务负责 , 由于权限判断是由通用权限组件提供的功能权限判断器来提供 , 前者会把任务委托给后者 。
经过上述分析 , 得出下述的时序图:5.1.13 修改领域对象时序图用例3:把个人客户信息放入回收 。

22、站业务实体的删除操作把个人客户信息放入回收站有如下的业务约束:l 参加过认筹登记的客户不能放入回收站;l 交过钱(存在财务付款记录)的客户不能放入回收站;l 下过订单的客户不能放入回收站l 正在提交审核(被修改或合并后未审核通过)的客户不能放入回收站 。
分析业务约束 , 认筹登记、财务记录、订单都属于客户实体的从属信息 , 即客户实体与上述实体形成聚合关系 , 按照领域驱动设计的理念 , 客户实体是上述实体的聚合根 , 所以 , 判断客户是否有过认筹登记、财务记录和订单都应该是客户实体的职责 , 然而我们再进一步分析 , 实体的职责是相对的 , 在不同的业务上下文 , 业务实体所具有的业务职责是不同的 , 把个人客户信息放入回收站这一个用 。

23、例 , 其业务上下文局限于客户管理 , 因此 , 在这一范围内 , 客户实体并没有认筹登记、财务记录和订单等概念 , 客户实体是一个职责单一的实体 , 而上述概念分别来源于销售管理服务(包括认筹登记、订单)和财务管理服务(财务记录) , 对于客户管理应用服务来说 , 其业务上下文同样与销售管理服务、财务管理服务无关 , 所以 , 判断客户是否参加过认筹登记 , 是否有财务记录 , 是否下过订单的职责既不应该由客户实体负责 , 也不应该由客户管理应用服务负责(由于销售和财务是客户的下游业务销售和财务都是基于客户的 , 所以依赖关系是前两者依赖于后者 , 如果由客户管理应用服务负责 , 则客户管理应用服务必须委托销售管理应用服务和财务管理应用服务提供判断结果 ,。

24、这就形成客户管理与销售管理、财务管理形成循环依赖关系 , 这违背了模块化设计原则) 。
进一步分析 , 上述判断逻辑都只是一种查询服务 , 并不会对任何业务实体产生状态影响 , 因此 , 可以通过在客户领域对象仓库中提供一个特殊的查询服务来获取 。
我们再分析最后一个业务约束 , 由于客户是否需要审核是由系统设置决定的 , 因此该判断逻辑同样不属于客户实体的职责范围 , 应该由客户管理应用服务委托系统参数设置服务完成 , 综上所述 , 得出如下时序图:5.1.14把个人客户放入回收站时序图注:该用例表达的是逻辑删除的场景 , 物理删除的场景与此基本一致 , 唯一的不同是需要在业务处理的最后通过实体对应的仓库从持久层中把对象删除 。
用例4:客户下订单( 。

25、即创建订单)典型的复杂业务处理功能客户下订单有如下的业务约束(注:由于该用例业务功能非常复杂 , 而且在结构设计阶段 , 销售模块的需求分析还没完全完成 , 因此该用例的业务约束将忽略一些不是很重要的细节 , 该用例的最终模型和时序图以销售管理模块的详细设计为准):l 下订单时可以根据系统参数的设置同时修改客户信息;l 只有状态为“可售”的且有定价的房间可以进行下订单;l 当系统参数设置组合房间可以拆开销售时 , 组合房间和基础房间都可以下订单 , 否则 , 被组合的基础房间不可售;l 根据系统参数设置判断是否可以使用历史价格;l 如果有客户有进行认筹登记 , 需要对认筹登记进行解筹 , 并把认筹金额转换为定金;l 需要根据各种 。


稿源:(未知)

【傻大方】网址:/a/2021/0902/0024073868.html

标题:SaaS|SaaS RES营销管理系统架构设计( 四 )


上一篇:绩效考核表格大全|绩效考核表格大全 公司产品知识检查表

下一篇:外研社|外研社新标准一起点小学英语三年级上册期末试题10