note/work/教育E卡通/数币应用/详细设计.md
2025-11-19 10:16:05 +08:00

7.1 KiB
Raw Blame History

立达中学食堂系统详细设计

一、系统架构设计

  1. 整体架构

    • 系统采用B/S架构分为前端、后端和数据库三层结构。
    • 前端负责用户界面的展示和交互,后端负责业务逻辑的处理和数据存储。
  2. 技术选型

    • 前端Vue.jsHTML5CSS3JavaScript
    • 后端Spring BootJava
    • 数据库MySQL
    • 服务器LinuxNginx

二、数据库设计

  1. 数据库选型

    • 采用MySQL数据库具有高效性、可靠性和可扩展性。
  2. 数据库表设计

    用户表users

    • id主键自增
    • username用户名唯一
    • password密码哈希加密
    • role角色学生、教职工、管理员
    • email邮箱地址
    • phone联系电话

    菜品表dishes

    • id主键自增
    • name菜品名称
    • price价格
    • description描述
    • image_url图片地址

    库存表inventory

    • id主键自增
    • item_name食材名称
    • quantity数量
    • unit单位
    • threshold预警阈值

    订单表orders

    • id主键自增
    • user_id用户ID外键
    • dish_id菜品ID外键
    • quantity数量
    • total_price总价
    • order_date订单日期

    采购表purchases

    • id主键自增
    • item_name食材名称
    • quantity数量
    • unit_price单价
    • supplier供应商
    • purchase_date采购日期

三、前端设计

  1. 用户界面

    • 首页:显示系统简介、导航栏,登录/注册按钮。
    • 菜品列表:展示每日菜品,包含名称、价格、图片等信息。
    • 订单管理:用户查看历史订单、当前订单状态。
    • 个人信息:用户查看和修改个人信息。
  2. 管理员界面

    • 用户管理:管理员查看、添加、修改、删除用户信息。
    • 菜品管理:管理员管理菜品信息,包括添加、修改、删除。
    • 库存管理:管理员查看库存情况,管理食材信息。
    • 订单管理:管理员查看订单详情,处理订单。
    • 报表管理:生成并查看销售报表、库存报表、用户报表。

四、后端设计

  1. 业务逻辑层

    • 用户管理服务:处理用户注册、登录、信息管理等逻辑。
    • 菜品管理服务:处理菜品的增删改查业务逻辑。
    • 库存管理服务:处理库存信息的记录、预警、更新等逻辑。
    • 订单管理服务:处理订单的创建、查询、统计等逻辑。
    • 报表管理服务:生成销售报表、库存报表、用户报表等。
  2. 数据访问层

    • 通过DAOData Access Object模式与数据库交互提供数据的增删改查接口。
  3. 接口设计

    • 用户管理接口

      • 注册接口:POST /api/users/register
      • 登录接口:POST /api/users/login
      • 获取用户信息接口:GET /api/users/{id}
      • 更新用户信息接口:PUT /api/users/{id}
    • 菜品管理接口

      • 获取菜品列表接口:GET /api/dishes
      • 添加菜品接口:POST /api/dishes
      • 修改菜品接口:PUT /api/dishes/{id}
      • 删除菜品接口:DELETE /api/dishes/{id}
    • 库存管理接口

      • 获取库存列表接口:GET /api/inventory
      • 添加库存接口:POST /api/inventory
      • 修改库存接口:PUT /api/inventory/{id}
      • 删除库存接口:DELETE /api/inventory/{id}
    • 订单管理接口

      • 创建订单接口:POST /api/orders
      • 获取订单列表接口:GET /api/orders
      • 获取订单详情接口:GET /api/orders/{id}
    • 报表管理接口

      • 获取销售报表接口:GET /api/reports/sales
      • 获取库存报表接口:GET /api/reports/inventory
      • 获取用户报表接口:GET /api/reports/users

五、系统流程设计

  1. 用户注册与登录

    • 用户通过前端界面填写注册信息,提交至/api/users/register接口。
    • 系统验证信息有效性后,保存用户信息至数据库,并返回注册成功。
    • 用户登录时,提交用户名和密码至/api/users/login接口,系统验证后返回登录状态。
  2. 菜品管理

    • 管理员登录后,通过菜品管理界面操作。
    • 添加新菜品时,填写菜品信息,提交至/api/dishes接口。
    • 修改或删除菜品,通过对应接口更新数据库信息。
  3. 库存管理

    • 管理员通过库存管理界面查看和管理库存。
    • 添加新库存记录,提交至/api/inventory接口。
    • 修改或删除库存信息,通过对应接口更新数据库。
  4. 订单管理

    • 用户通过前端界面选择菜品并提交订单,系统生成订单记录。
    • 用户可以在订单管理界面查看历史订单和当前订单状态。
    • 管理员通过后台查看并处理订单,确保订单信息准确。
  5. 报表生成

    • 管理员通过报表管理界面选择报表类型,系统生成相应报表。
    • 报表数据通过各个管理接口的统计结果生成,并展示在前端界面。

六、界面设计

  1. 用户界面

    • 首页:简洁明了的导航栏,登录和注册入口。
    • 菜品列表:卡片式布局,每个菜品显示图片、名称、价格,用户可以点击查看详情。
    • 订单管理:表格布局,显示订单编号、菜品名称、数量、总价、订单状态等信息。
    • 个人信息:表单布局,用户可以修改个人信息,点击保存更新。
  2. 管理员界面

    • 用户管理:表格布局,显示用户列表,支持增删改查操作。
    • 菜品管理:卡片式布局,显示菜品列表,支持增删改查操作。
    • 库存管理:表格布局,显示库存列表,支持增删改查操作。
    • 订单管理:表格布局,显示订单列表,支持查询和处理操作。
    • 报表管理:图表展示销售、库存、用户数据,支持按时间段查询和导出。

七、安全设计

  1. 数据安全

    • 使用HTTPS协议保障数据传输的安全性。
    • 用户密码采用哈希算法加密存储,防止泄露。
  2. 权限管理

    • 根据用户角色分配不同的权限,确保数据的安全性和访问的合理性。
    • 通过JWTJSON Web Token进行身份验证和权限校验。
  3. 防火墙和入侵检测

    • 配置防火墙,防止外部攻击。
    • 部署入侵检测系统,实时监控系统安全,发现异常及时处理。

八、总结

本详细设计文档从系统架构、数据库设计、前后端设计、接口设计、系统流程、界面设计和安全设计等方面进行了详细描述,为系统的开发提供了完整的指导和参考。通过严格按照设计文档进行开发,确保系统高效、稳定、安全地运行,满足立达中学食堂管理和服务的需求。