简单的报餐系统设计

2018-08-28  本文已影响0人  Purson

用例分析
主要从以下三种元素入手:

  1. 角色

  2. 信息

  3. 动作
    接下来做单独分解。

  4. 角色
    在我们的报餐系统里,将会出现以下角色:
    • 游客 —— 没有登录的用户;
    • 普通用户 —— 注册用户, 可以订餐、撤餐、查看报餐记录、消费记录、一周菜式,只能订标准餐;
    • 办公室用户 —— 注册用户, 可以订餐、撤餐、查看报餐记录、消费记录、一周菜式、登记自助餐(只选择餐别、用餐时间、用餐人数)或者接待餐(用餐人员信息、时间、菜单、餐标);
    • 运营 —— 可以导入、编辑用户、导入菜单、导入餐别、菜品、处理订单;
    • 管理员 —— 权限最高的用户角色,可以管理运营。

  5. 信息结构
    主要信息有:
    • 部门 —— 模型名称 Department,包含 部门名称;
    • 用户 —— 模型名称 User,包含 姓名、性别、状态、头像、部门id、职务、手机、微信openid、密码、邮箱;hasMany(Order)
    • 餐厅 —— 模型名称 Canteen, 包含 名称、地址;
    • 餐别 —— 模型名称 Meal,包含餐别名称、订餐开始时间、订餐结束时间、用餐开始时间、用餐结束时间;
    • 菜品类别 —— 模型名称 DishType,包含名称;
    • 菜品 —— 模型名称 Dish , 包含 名称、类别id、餐厅id、计量单位、单价、图片、备注;
    • 菜谱 —— 模型名称 Menu,包含:餐厅、星期、餐别id、菜品id、菜品名称;
    • 订单
    • 点餐明细 —— 模型名称 OrderDetail,包含:员工id、部门id、餐厅Id、餐别Id、订餐日期、菜品编码、菜品名称、单位、单价、数量、操作日期、订单状态;
    • 订单 —— 模型名称 Order,包含订单流水、员工id、订单总金额、订单备注、支付时间、支付方式、支付平台订单号、退款状态、退款单号、订单是否关闭、额外数据;hasMany(OrderItem)
    • 订单项 —— 模型名称 OrderItem,一个订单会包含一个或多个订单项,每个订单项都会与一个菜品id关联,包含所属订单id、餐厅Id、餐别Id、订餐日期、对应菜品id、菜品名称、单位、单价、数量;belongsTo(Order)
    • 运营人员 —— 模型名称 Operator,管理员也属于运营人员。

  6. 动作
    角色和信息之间的互动称之为『动作』,动作主要有以下几个:
    • 创建 Create
    • 查看 Read
    • 编辑 Update
    • 删除 Delete
    用例
    1.游客
    • 游客可以看到每日菜谱;

  7. 用户
    • 用户可以手机注册、微信注册登录;
    • 用户可以看到每日菜谱;
    • 用户可以点菜点餐;
    • 用户可以通过微信支付订单;
    • 用户可以查看自己的订单信息;
    • 用户可以对已支付的订单申请取消订餐、退款;
    • 用户可以对已购买的订单发布评价(options)。

  8. 运营
    • 运营可以看到所有的用户列表;
    • 运营可以设置餐厅、餐别、菜品、菜式;
    • 运营可以对申请撤餐的订单执行退款;

  9. 管理员
    • 管理员可以查看运营人员列表;
    • 管理员可以新增运营人员;
    • 管理员可以编辑运营人员;
    • 管理员可以删除运营人员。

上一篇 下一篇

猜你喜欢

热点阅读