积分系统业务需求开发流程
2022-07-07 11:03:05 0 举报
AI智能生成
项目开发流程示例
作者其他创作
大纲/内容
需求分析
借鉴需求的同类型产品
如何借鉴
百度搜索积分系统
百度淘宝积分规则、京东积分规则
去淘宝、京东上去使用积分规则
画出用户故事
用户在获取积分的时候,会告知积分的有效期;
用户在使用积分的时候,会优先使用快过期的积分;
用户在查询积分明细的时候,会显示积分的有效期和状态(是否过期);
用户在查询总可用积分的时候,会排除掉过期的积分。
功能总结
积分赚取和兑换规则
积分消费和兑换规则
积分及其明细查询
积分有效期
画出线框图
系统设计
合理地将功能划分到不同模块
划分规则
合理地划分模块也可以做到模块层面的高内聚、低耦合,架构整洁清晰。
只能通过上层系统调用下层系统,减少耦合
核心功能放到下层系统,可配置性规则放置到上层系统
划分是否合理的评判标准
如果一个功能的修改或添加,经常要跨团队、跨项目、跨系统才能完成,那说明模块划分的不够合理,职责不够清晰,耦合过于严重。
划分示例
第一种划分方式
第二种划分方式
第三种划分方式
设计模块与模块之间的交互关系
确定哪些系统会和积分系统之间进行交互
系统的交互方式
同步接口调用
简单直接,能拿到调用结果
消息中间件异步调用
解耦效果更好
上下层系统之间的调用倾向于通过同步接口, 同层之间的调用倾向于异步消息调用
示例
比如,用户下订单成功之后,订单系统推送一条消息到消息中间件,营销系统订阅订单成功消息,触发执行相应的积分兑换逻辑。这样订单系统就跟营销系统完全解耦,订单系统不需要知道任何跟积分相关的逻辑,而营销系统也不需要直接跟订单系统交互。
设计模块的接口、数据库、业务模型
数据库设计
接口设计
接口设计
业务模型设计
简单系统,贫血型系统开发即可, 复杂系统可采用DDD等模型开发
为什么要分 MVC 三层开发?
分层能起到代码复用的作用
分层能起到隔离变化的作用
分层能起到隔离关注点的作用
分层能提高代码的可测试性
分层能应对系统的复杂性
0 条评论
下一页
为你推荐
查看更多