跳转至

需求分析与功能点

功能需求列表

用户

新用户注册

  • 通过账户和密码注册

用户登录

  • 通过账户和密码登录

管理员账户

  • 系统会内置管理员账户
  • 管理员账户拥有所有设备的最高权限
  • 管理员可以将普通用户转化为管理员

用户属性

  • 用户拥有【邮箱】、【呢称】、【账户】、【密码】等信息
  • 上述信息可以被查看和修改

权限

权限分为 6 级,高级别的权限可以使用低级别的所有功能

  • 【不可见】

  • 最低的权限,设备列表中看不到该设备

  • 不能对设备做任何操作
  • 不会收到该设备的任何消息
  • 【可见】

  • 可以查看设备概览

  • 不能使用设备
  • 接收设备的添加、移除、故障消息
  • 【可使用】

  • 可以简单使用设备

  • 不能执行敏感操作(比如调整路由器网络配置,打开家用保险箱、使用运行中的洗衣机)
  • 关于敏感指令的定义,可以通过数据库解决
  • 【可配置】

  • 可以使用该设备的所有功能

  • 【可监视】

  • 可以查看设备的详细信息,包括使用记录,设备运行日志等

  • 【可管理】

  • 最高权限

  • 管理员默认持有
  • 拥有该权限允许更改其他用户对于该设备的权限

权限分级

  • 用户对于设备权限应该分级,比如分为【不可见】、【可见】、【可使用】、【可配置】、【可监视】、【可管理】等
  • 不同用户对于同一设备的权限有区分,同一用户对于不同设备的权限有区分
  • 管理员对于任何设备的权限都是【可管理】,不可被修改

分组

  • 该功能只面向管理员
  • 可以创建用户组和设备组
  • 可以为用户组移入移出用户,可以为设备组移入移出设备
  • 用户组和设备组同样提供权限分级,支持权限的查看与修改

设备

设备属性

  • 拥有【ip+ 端口】、【名称】、【品牌型号】、【使用年限】、【设备类型】等基本信息,允许修改
  • 拥有【运行时长】、【功耗】、【状态】等运行信息,这依托于不同设备,比如空调需要有温度信息
  • 拥有【日志】、【使用记录】等长记录信息

添加删除设备

  • 管理员可以添加设备
  • 可以通过 ip+ 端口添加设备
  • 可以通过局域网发现并添加设备
  • 管理员可以删除设备

设备使用

  • 要求拥有合适权限
  • 可以通过系统操作设备,例如冰箱通电、断电,调整空调温度
  • 可以查看设备属性

设备监控

  • 记录设备的日志
  • 收集设备信息,例如功耗,是否在线,状态,使用记录等

智能助手

  • 使用 MCP 为用户提供更智能更便捷的交互体验
  • 可以通过聊天的方式交互
  • 用户无法通过智能助手执行越权行为

非功能需求列表

兼容性

部署方式

  • 支持 windows
  • 支持 ubuntu(或者任意 linux 系统)(不使用任何容器)
  • 支持 docker

使用方式

  • 支持安卓
  • 支持苹果
  • 支持 windows
  • 支持浏览器网页
  • 支持 linux

可靠性

  • 重要数据有备份,可恢复
  • 断电等环境原因系统停止工作时,环境恢复后需自动恢复服务
  • 数据全面本地化,保护隐私

易用性

  • 客户端界面需要足够易用
  • 项目本地化部署足够简单,提供脚本

帮助

  • 为用户提供系统使用说明