需求分析与功能点
功能需求列表
用户
新用户注册
- 通过账户和密码注册
用户登录
- 通过账户和密码登录
管理员账户
- 系统会内置管理员账户
- 管理员账户拥有所有设备的最高权限
- 管理员可以将普通用户转化为管理员
用户属性
- 用户拥有【邮箱】、【呢称】、【账户】、【密码】等信息
- 上述信息可以被查看和修改
权限
权限分为 6 级,高级别的权限可以使用低级别的所有功能
-
【不可见】
-
最低的权限,设备列表中看不到该设备
- 不能对设备做任何操作
- 不会收到该设备的任何消息
-
【可见】
-
可以查看设备概览
- 不能使用设备
- 接收设备的添加、移除、故障消息
-
【可使用】
-
可以简单使用设备
- 不能执行敏感操作(比如调整路由器网络配置,打开家用保险箱、使用运行中的洗衣机)
- 关于敏感指令的定义,可以通过数据库解决
-
【可配置】
-
可以使用该设备的所有功能
-
【可监视】
-
可以查看设备的详细信息,包括使用记录,设备运行日志等
-
【可管理】
-
最高权限
- 管理员默认持有
- 拥有该权限允许更改其他用户对于该设备的权限
权限分级
- 用户对于设备权限应该分级,比如分为【不可见】、【可见】、【可使用】、【可配置】、【可监视】、【可管理】等
- 不同用户对于同一设备的权限有区分,同一用户对于不同设备的权限有区分
- 管理员对于任何设备的权限都是【可管理】,不可被修改
分组
- 该功能只面向管理员
- 可以创建用户组和设备组
- 可以为用户组移入移出用户,可以为设备组移入移出设备
- 用户组和设备组同样提供权限分级,支持权限的查看与修改
设备
设备属性
- 拥有【ip+ 端口】、【名称】、【品牌型号】、【使用年限】、【设备类型】等基本信息,允许修改
- 拥有【运行时长】、【功耗】、【状态】等运行信息,这依托于不同设备,比如空调需要有温度信息
- 拥有【日志】、【使用记录】等长记录信息
添加删除设备
- 管理员可以添加设备
- 可以通过 ip+ 端口添加设备
- 可以通过局域网发现并添加设备
- 管理员可以删除设备
设备使用
- 要求拥有合适权限
- 可以通过系统操作设备,例如冰箱通电、断电,调整空调温度
- 可以查看设备属性
设备监控
- 记录设备的日志
- 收集设备信息,例如功耗,是否在线,状态,使用记录等
智能助手
- 使用 MCP 为用户提供更智能更便捷的交互体验
- 可以通过聊天的方式交互
- 用户无法通过智能助手执行越权行为
非功能需求列表
兼容性
部署方式
- 支持 windows
- 支持 ubuntu(或者任意 linux 系统)(不使用任何容器)
- 支持 docker
使用方式
- 支持安卓
- 支持苹果
- 支持 windows
- 支持浏览器网页
- 支持 linux
可靠性
- 重要数据有备份,可恢复
- 断电等环境原因系统停止工作时,环境恢复后需自动恢复服务
- 数据全面本地化,保护隐私
易用性
- 客户端界面需要足够易用
- 项目本地化部署足够简单,提供脚本
帮助
- 为用户提供系统使用说明