需求
需求¶
本文档有以下作用:
- 开发人员开发依据
- 设计人员输入源
- 产品经理跟进产品执行实现程度的依据
- 测试人员编写需求分析用例的输入源
- 外部人员产品理解或执行的依据
产品简述¶
产品描述¶
ThingsBoard 是一个开源的物联网平台,用于快速开发、管理和扩展物联网项目。它提供了设备管理、数据收集、处理和可视化等功能,支持多种协议和集成方式。
产品功能¶
ThingsBoard 物联网平台主要包含以下核心功能模块:
- 租户管理:多租户架构支持,租户注册、登录、配置管理
- 设备管理:设备注册、状态监控、设备组管理、设备认证
- 资产管理:资产登记、状态监控、数据分析、报表生成
- 客户管理:客户注册、登录、资料管理、权限控制
- 数据收集:支持MQTT、HTTP、CoAP等多种协议
- 规则引擎:数据处理、告警规则、设备联动
- 可视化:仪表板、图表、地图、实时监控
专有名词解释¶
| 专有名词 | 描述 |
|---|---|
| ThingsBoard | 开源物联网平台 |
| Tenant | 租户,多租户架构中的租户概念 |
| Device | 设备,连接到平台的物联网设备 |
| Asset | 资产,物理或逻辑资产的管理单元 |
| Customer | 客户,租户的客户 |
| Dashboard | 仪表板,数据可视化界面 |
| Rule Engine | 规则引擎,数据处理和告警规则 |
| Telemetry | 遥测数据,设备上传的时序数据 |
| Attributes | 属性,设备的静态或动态属性 |
| RPC | 远程过程调用,设备控制命令 |
产品总体架构¶
下图为 ThingsBoard 系统架构图
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 业务需求 │ │ 功能需求 │ │ 非功能需求 │
│ (Business) │◄──►│ (Functional) │◄──►│ (Non-Func) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 用户需求 │ │ 系统需求 │ │ 技术需求 │
│ (User) │ │ (System) │ │ (Technical) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
业务需求¶
业务目标¶
- 提供完整的物联网设备管理解决方案
- 支持大规模设备接入和数据处理
- 提供灵活的数据可视化和分析能力
- 支持多租户架构,满足不同客户需求
- 提供开放的API接口,支持第三方集成
业务价值¶
- 降低物联网项目开发成本
- 提高设备管理效率
- 提供实时监控和告警能力
- 支持数据驱动的业务决策
- 提供可扩展的云平台服务
功能需求¶
租户管理功能¶
租户注册¶
- 支持邮箱注册方式
- 邮箱验证机制
- 租户信息配置
- 默认权限设置
租户登录¶
- 用户名密码登录
- Token认证机制
- 登录状态管理
- 会话超时控制
租户配置¶
- 租户基本信息管理
- 权限和角色配置
- 系统参数设置
- 集成配置管理
设备管理功能¶
设备注册¶
- 设备基本信息录入
- 设备认证信息配置
- 设备类型管理
- 设备组分配
设备状态监控¶
- 实时在线状态显示
- 连接状态监控
- 设备健康检查
- 异常告警通知
设备组管理¶
- 设备组创建和编辑
- 设备分组管理
- 批量操作支持
- 权限控制
资产管理功能¶
资产登记¶
- 资产基本信息管理
- 设备关联配置
- 资产分类管理
- 资产属性设置
资产状态监控¶
- 实时状态监控
- 历史数据查询
- 状态变化告警
- 资产健康评估
资产分析¶
- 数据统计分析
- 趋势分析报告
- 性能指标监控
- 自定义报表生成
客户管理功能¶
客户注册¶
- 客户账号创建
- 邮箱验证
- 基本信息录入
- 权限分配
客户登录¶
- 身份认证
- 权限验证
- 会话管理
- 安全控制
客户资料管理¶
- 个人信息维护
- 密码修改
- 权限管理
- 操作日志
非功能需求¶
性能需求¶
- 支持10万+设备并发连接
- 数据处理延迟小于100ms
- 系统响应时间小于2秒
- 支持TB级数据存储
安全需求¶
- 数据传输加密(TLS/SSL)
- 身份认证和授权
- 数据访问控制
- 审计日志记录
可用性需求¶
- 系统可用性99.9%
- 故障恢复时间小于30分钟
- 数据备份和恢复
- 负载均衡支持
扩展性需求¶
- 水平扩展能力
- 微服务架构
- 容器化部署
- 云原生支持
技术需求¶
系统架构¶
- 微服务架构设计
- RESTful API接口
- 消息队列支持
- 数据库集群
开发技术¶
- Java Spring Boot框架
- PostgreSQL数据库
- Redis缓存
- Docker容器化
集成需求¶
- MQTT协议支持
- HTTP API接口
- WebSocket实时通信
- 第三方系统集成
验收标准¶
功能验收¶
- 所有功能模块正常运行
- 用户界面友好易用
- 数据准确性验证
- 业务流程完整性
性能验收¶
- 响应时间满足要求
- 并发处理能力达标
- 系统稳定性验证
- 资源利用率合理
安全验收¶
- 安全漏洞扫描通过
- 权限控制有效
- 数据加密正常
- 审计日志完整
项目约束¶
技术约束¶
- 基于开源技术栈
- 支持主流浏览器
- 兼容主流操作系统
- 遵循行业标准
时间约束¶
- 项目开发周期6个月
- 分阶段交付
- 里程碑节点控制
- 风险应对预案
资源约束¶
- 开发团队规模限制
- 硬件资源预算
- 第三方服务成本
- 运维人员配置