系统开发前的步骤:
- 架构师或TeamLeader对项目进行分析,对系统进行定位和目标拆解,给出基础架构
- 产品部门完成需求文档和原型图
- 各部门开会评审
- 评审通过后进行系统设计
系统设计:
可视化后台/管理系统 —— system
没有可视化界面,提供数据查询等服务API —— service
1. 背景和目标
1.1 背景
基于用户行为和其基本属性会产生大量的用户特征,这些特征对运营活动非常重要,因此需要一个统一的数据平台去管理这些特征,并且能够让运营人员方便地在运营活动中使用这些特征。
(特征是用户画像系统的核心数据,人群是它的核心概念,PM、运营利用可视化界面简单的拖拽操作就可基于特征将司机、乘客划分为不同的人群,从而针对不同的人群制定千人千面的运营策略。除了基于特征划分人群之外,还衍生出了人群画像分析(构成分析、趋势分析、漏斗分析)、人群分组、人群上传等功能。)
1.2 目标
1.2.1 业务目标(来自于需求文档)
接入数仓中的用户特征数据
可视化管理用户特征
上线特征
下线特征
可视化管理人群
根据用户特征创建一个人群
下载人群数据
下线人群
1.2.2 系统目标(技术目标)
以终为始
- 系统具备良好的可使用性(功能实现、良好的用户体验)
- 稳定性(避免宕机,包括更新迭代时)
- 定义清晰的指标口径,并且构建合理的数据存储模型,灵活支撑业务需求 (避免一个名词指代不同的意思)
- 高性能
2. 需求分析
(关键词的定义)
2.1 特征是什么
自己给其一个准确的定义
拆解成不同维度(即原子粒度):
业务板块、数据域、业务过程、原子指标、实体类型等
2.2 人群是什么
人群是人的集合。
集合的定义方式:
表达式:特征1 == 特征值1 && 特征2 == 特征值2
(例:人群——北京的学生——用户职业==学生&&用户所在地区==北京)
2.3 约束条件
- 外部环境约束
没有redis怎么做,没有Mysql怎么做
- 业务约束
流量分布不均匀(实际全天访问流量有高峰有低谷)
是否会有资源浪费、如何应对高峰流量
- 其他
标签服务性能约束
特征搜索性能约束