需求
需求¶
本需求文档旨在定义 ThingsBoard 项目的功能需求,以便为高级产品经理和开发团队提供清晰的指导。ThingsBoard 是一个物联网平台,旨在帮助用户管理和监控连接到云的设备和资产。
1. 项目概述¶
ThingsBoard 是一个综合性的物联网平台,包含租户管理、设备管理、资产管理和客户管理等功能模块。
2. 模块需求¶
2.1 租户管理¶
2.1.1 租户注册¶
- 用户可通过注册功能创建一个新的租户账号。
- 注册过程应包括用户名、邮箱和密码的输入,并进行邮箱验证。
- 注册时需提供验证码机制,确保用户是有效的用户。
2.1.2 租户登录¶
- 注册成功后,用户可使用注册的用户名和密码进行登录。
- 登录过程应包括用户名密码验证和验证码验证。
2.1.3 租户配置¶
- 租户登录后,可以进行租户参数的配置,包括名称、描述、联系方式等。
- 用户还可以配置和管理租户的权限和角色,确保安全性。
2.2 设备管理¶
2.2.1 设备注册¶
- 租户可以注册新的设备,并为其提供基本信息,如设备名称、设备类型、所属设备组等。
- 注册设备时需提供设备认证信息,确保只有合法设备可以连接。
2.2.2 设备状态监控¶
- 提供实时设备状态监控功能,租户可以查看设备的在线状态和连接状态。
- 设备状态异常时,提供警告和通知功能,以便及时采取措施。
2.2.3 设备组管理¶
- 提供设备组的创建、编辑和删除功能,方便租户对设备进行分类和管理。
- 租户可以将设备分配到不同的设备组中。
2.3 资产管理¶
2.3.1 资产登记¶
- 提供资产登记功能,租户可以注册新的资产,并为其提供基本信息,如资产名称、描述、所属设备等。
- 资产登记时可以关联设备,以便管理和监控资产的状态。
2.3.2 资产状态监控¶
- 提供实时资产状态监控功能,租户可以查看资产的在线状态和连接状态。
- 资产状态异常时,提供警告和通知功能,以便及时采取措施。
2.3.3 资产分析¶
- 提供资产数据的分析功能,包括历史数据查询、统计分析、趋势分析等。
- 用户可以根据需求选择不同的分析方式,并生成相应的报表和图表。
2.4 客户管理¶
2.4.1 客户注册¶
- 提供客户注册功能,允许新的客户注册并创建自己的账号。
- 注册过程应包括用户名、邮箱和密码的输入,并进行邮箱验证。
- 注册时需提供验证码机制,确保用户是有效的人类用户。
2.4.2 客户登录¶
- 客户可以使用注册的用户名和密码进行登录。
- 登录过程应包括用户名密码验证和验证码验证。
2.4.3 客户资料管理¶
- 客户登录后,可以进行个人资料的管理,包括用户名、密码、联系方式等。
- 客户还可以配置和管理自己的权限和角色,确保安全性。
3. 流程图¶
3.1 租户管理流程图¶
@startuml
start
:用户注册;
:邮箱验证;
if (验证通过?) then (是)
:创建租户;
if (创建成功?) then (是)
:创建成功提示;
:自动登录;
fork
:设置租户参数;
:配置租户权限;
:分配用户角色;
fork again
:创建默认设备组;
:配置默认设备参数;
endfork
:保存设置;
if (保存成功?) then (是)
:保存成功提示;
else (否)
:保存失败提示;
endif
else (否)
:创建失败提示;
endif
else (否)
:验证失败提示;
endif
:显示租户主页;
@enduml
4.2 设备管理流程图¶
@startuml
start
:设备注册;
if (设备注册成功?) then (是)
:注册成功提示;
:设置设备基本信息;
fork
:设置设备认证信息;
:配置设备参数;
:指定设备组;
fork again
:设备连接到云;
:设备状态监控;
endfork
:保存设置;
if (保存成功?) then (是)
:保存成功提示;
else (否)
:保存失败提示;
endif
else (否)
:注册失败提示;
endif
:显示设备列表;
@enduml
4.3 资产管理流程图¶
@startuml
start
:资产登记;
if (资产登记成功?) then (是)
:登记成功提示;
:设置资产基本信息;
fork
:关联设备;
:配置资产参数;
fork again
:资产连接到云;
:资产状态监控;
endfork
:保存设置;
if (保存成功?) then (是)
:保存成功提示;
else (否)
:保存失败提示;
endif
else (否)
:登记失败提示;
endif
:显示资产列表;
@enduml
4.4 客户管理流程图¶
@startuml
start
:客户注册;
:邮箱验证;
if (验证通过?) then (是)
:创建客户;
if (创建成功?) then (是)
:创建成功提示;
:自动登录;
:设置客户参数;
:配置客户权限;
:分配用户角色;
:保存设置;
if (保存成功?) then (是)
:保存成功提示;
else (否)
:保存失败提示;
endif
else (否)
:创建失败提示;
endif
else (否)
:验证失败提示;
endif
:显示客户主页;
@enduml