从用户视角出发:用例图分析家政预约小程序

目录

  • [1 引言:什么是用例图?它解决了什么问题?](#1 引言:什么是用例图?它解决了什么问题?)
  • [2 如何绘制用例图?](#2 如何绘制用例图?)
    • [2.1 绘制步骤](#2.1 绘制步骤)
  • [3 家政预约小程序用例图分析](#3 家政预约小程序用例图分析)
  • [4 顾客用例详细分析](#4 顾客用例详细分析)
    • [4.1 注册/登录](#4.1 注册/登录)
    • [4.2 浏览服务](#4.2 浏览服务)
    • [4.3 搜索服务](#4.3 搜索服务)
    • [4.4 查看服务详情](#4.4 查看服务详情)
    • [4.5 预订服务](#4.5 预订服务)
    • [4.6 支付订单](#4.6 支付订单)
    • [4.7 取消订单](#4.7 取消订单)
    • [4.8 评价服务](#4.8 评价服务)
    • [4.9 查看订单记录](#4.9 查看订单记录)
    • [4.10 管理个人信息](#4.10 管理个人信息)
  • [5 家政公司用例详解](#5 家政公司用例详解)
    • [5.1 管理服务项目](#5.1 管理服务项目)
    • [5.2 管理服务人员](#5.2 管理服务人员)
    • [5.3 管理订单](#5.3 管理订单)
    • [5.4 处理投诉](#5.4 处理投诉)
  • [6 家政员工用例详情](#6 家政员工用例详情)
    • [6.1 登录/签到](#6.1 登录/签到)
    • [6.2 查看排班](#6.2 查看排班)
    • [6.3 接受/拒绝订单](#6.3 接受/拒绝订单)
    • [6.4 更新服务状态](#6.4 更新服务状态)
    • [6.5 查看收入记录](#6.5 查看收入记录)
  • 总结

在和客户进行需求沟通的时候,除了使用常规的问答的形式,我们还可以使用图形化工具更深入的沟通。UML统一建模语言里就提供了许多方便的工具,我们本篇介绍一下其中的一种系统分析方法,用例分析。

1 引言:什么是用例图?它解决了什么问题?

什么是用例图? 用例图(Use Case Diagram)是统一建模语言(UML)中的一种图形化建模工具,用于描述系统与外部参与者(Actor)之间的交互。它从用户的角度出发,展示用户如何使用系统来完成特定的目标。

用例图解决了什么问题?

需求不清晰: 用例图通过图形化的方式,清晰地展示了系统的功能和用户需求,避免了文字描述的歧义和遗漏。

沟通障碍: 用例图是用户、分析师和开发人员之间沟通的桥梁,帮助各方更好地理解系统需求,达成共识。

系统边界不明确: 用例图明确了系统的边界,以及系统与外部环境的交互。

难以理解用户需求: 用例图从用户视角出发,更容易理解用户使用系统的目标和方式。

2 如何绘制用例图?

主要元素:

参与者(Actor): 与系统交互的外部实体,可以是人、其他系统或硬件设备。用小人图标表示。

用例(Use Case): 系统提供的一项完整的功能,代表参与者与系统的一次交互。用椭圆表示,内部写有用例名称,用动词+名词的形式描述,例如"预订服务"、"支付订单"。

关联(Association): 参与者与用例之间的连接线,表示参与者使用了某个用例。

包含(Include): 一个用例包含另一个用例,表示一个用例的执行必须包含另一个用例的执行。用虚线箭头表示,箭头指向被包含的用例。

扩展(Extend): 一个用例在特定条件下扩展另一个用例的功能。用虚线箭头表示,箭头指向被扩展的用例,并附有扩展条件。

泛化(Generalization): 表示参与者或用例之间的继承关系。用实线空心三角箭头表示,箭头指向父参与者或父用例。

我们日常开发小程序通常功能都不是特别复杂,逻辑关系比较清晰,我们只需要考虑参与者、用例、关联这三者即可

2.1 绘制步骤

在浏览器里输入绘图工具地址

https://app.diagrams.net/

展开UML,找到我们的参与者

将参与者拖入画布中

拖入一个椭圆,表示我们的用例

然后将actor和user case连接起来

按照用例的名称进行修改,比如第一个用例我们修改为用户登录

3 家政预约小程序用例图分析

顾客用例:

家政公司用例:

家政员工用例:

借助用例图,我们可以清晰的看到系统区分哪些角色,每种角色都可以有哪些操作,可以为后续系统架构和设计工作打下良好的基础

4 顾客用例详细分析

4.1 注册/登录

参与者: 顾客

简要描述: 顾客注册新账号或使用已有账号登录小程序。

前置条件: 无。

后置条件: 顾客成功登录小程序。

正常流程:

  1. 顾客打开小程序,进入注册/登录页面。
  2. 顾客选择注册或登录。
  3. 注册: 顾客填写手机号码、验证码、密码等信息,提交注册请求。系统验证信息,创建新账号。
  4. 登录: 顾客输入手机号码和密码,提交登录请求。系统验证信息,允许登录。

异常流程:

  1. 手机号码格式错误:系统提示输入正确的手机号码。
  2. 验证码错误或过期:系统提示重新获取验证码。
  3. 密码格式错误:系统提示输入符合要求的密码。
  4. 账号不存在或密码错误:系统提示重新输入或找回密码。

4.2 浏览服务

参与者: 顾客

简要描述: 顾客浏览小程序提供的各种家政服务项目。

前置条件: 顾客已登录。

后置条件: 顾客查看服务列表。

正常流程:

  1. 顾客进入小程序首页或服务列表页面。
  2. 系统展示可用的服务项目,例如保洁、洗衣、做饭等。
  3. 顾客可以按服务类型、价格、评价等进行排序和筛选。

异常流程:

  1. 网络连接异常:系统提示网络连接失败。
  2. 没有可用的服务:系统提示暂无服务。

4.3 搜索服务

参与者: 顾客

简要描述: 顾客通过关键词搜索特定的家政服务。

前置条件: 顾客已登录。

后置条件: 系统显示搜索结果。

正常流程:

  1. 顾客在搜索框输入关键词,例如"小时工"、"保姆"等。
  2. 系统根据关键词搜索相关的服务项目。
  3. 系统显示搜索结果,包括服务名称、价格、评价等信息。

异常流程:

  1. 没有找到匹配的服务:系统提示未找到相关服务。

4.4 查看服务详情

参与者: 顾客

简要描述: 顾客查看某个具体家政服务的详细信息。

前置条件: 顾客已登录,已浏览或搜索到服务。

后置条件: 顾客查看服务详情页面。

正常流程:

  1. 顾客点击服务列表中的某个服务项目。
  2. 系统显示该服务的详细信息,包括服务内容、价格、服务人员、评价等。

异常流程:

  1. 服务信息不存在:系统提示服务信息不存在。

4.5 预订服务

参与者: 顾客

简要描述: 顾客选择所需的服务项目、服务时间和地点,提交预订请求。

前置条件: 顾客已登录。

后置条件: 系统生成待确认的订单。

正常流程:

  1. 顾客浏览服务列表或通过搜索找到所需服务。
  2. 顾客查看服务详情,包括服务内容、价格、服务人员等信息。
  3. 顾客选择服务时间和地点。
  4. 顾客确认预订信息并提交预订请求。
  5. 系统验证预订信息,并生成待确认的订单。

异常流程:

  1. 所选服务在该时间段已被预订:系统提示顾客选择其他时间。
  2. 顾客输入的地址信息不完整或不正确:系统提示顾客修改地址信息。

4.6 支付订单

参与者: 顾客

简要描述: 顾客使用支付方式完成订单支付。

前置条件: 顾客已提交预订请求,订单状态为待支付。

后置条件: 订单状态更新为已支付。

正常流程:

  1. 顾客在订单详情页面选择支付方式,例如微信支付、支付宝支付等。
  2. 顾客完成支付操作。
  3. 系统接收支付结果,更新订单状态。

异常流程:

  1. 支付失败:系统提示支付失败,并提供重新支付的选项。
  2. 支付超时:系统提示支付超时,并提供重新支付的选项。

4.7 取消订单

参与者: 顾客

简要描述: 顾客在规定时间内取消已预订的订单。

前置条件: 顾客已预订服务,订单状态为待服务或待支付(根据业务规则)。

后置条件: 订单状态更新为已取消。

正常流程:

  1. 顾客在订单列表或订单详情页面选择取消订单。
  2. 系统验证取消条件(例如是否在允许取消的时间范围内)。
  3. 系统更新订单状态。

异常流程:

  1. 超出允许取消的时间范围:系统提示无法取消订单。

4.8 评价服务

参与者: 顾客

简要描述: 顾客对已完成的服务进行评价。

前置条件: 服务已完成。

后置条件: 系统保存顾客的评价信息。

正常流程:

  1. 顾客在订单列表或订单详情页面选择评价服务。
  2. 顾客填写评价内容,包括评分、文字评价等。
  3. 顾客提交评价。
  4. 系统保存评价信息。

4.9 查看订单记录

参与者: 顾客

简要描述: 顾客查看历史订单记录。

前置条件: 顾客已登录。

后置条件: 顾客查看订单列表。

正常流程:

  1. 顾客进入订单列表页面。
  2. 系统显示顾客的历史订单,可以按订单状态、服务时间等进行筛选和排序。

4.10 管理个人信息

参与者: 顾客

简要描述: 顾客管理个人信息,例如修改密码、更新联系方式等。

前置条件: 顾客已登录。

后置条件: 顾客信息更新。

正常流程:

  1. 顾客进入个人信息管理页面。
  2. 顾客修改个人信息,例如密码、联系方式、地址等。
  3. 顾客提交修改请求。
  4. 系统验证信息并更新数据库。

5 家政公司用例详解

5.1 管理服务项目

参与者: 家政公司

简要描述: 家政公司添加、修改、删除服务项目信息。

前置条件: 家政公司管理员已登录。

后置条件: 服务项目信息更新。

正常流程:

  1. 管理员进入服务项目管理页面。
  2. 管理员进行添加、修改或删除操作。
  3. 系统验证信息并更新数据库。

5.2 管理服务人员

参与者: 家政公司

简要描述: 家政公司添加、修改、删除服务人员信息,包括技能、排班等。

前置条件: 家政公司管理员已登录。

后置条件: 服务人员信息更新。

正常流程:

  1. 管理员进入服务人员管理页面。
  2. 管理员进行添加、修改或删除操作。
  3. 系统验证信息并更新数据库。

5.3 管理订单

参与者: 家政公司

简要描述: 家政公司查看、分配、处理订单。

前置条件: 家政公司管理员已登录。

后置条件: 订单状态更新。

正常流程:

  1. 管理员进入订单管理页面。
  2. 管理员查看订单信息,根据订单情况分配服务人员。
  3. 管理员更新订单状态。

5.4 处理投诉

参与者: 家政公司

简要描述: 家政公司处理顾客的投诉。

前置条件: 家政公司管理员已登录,收到投诉。

后置条件: 投诉处理完成。

正常流程:

  1. 管理员查看投诉信息。
  2. 管理员与顾客或服务人员沟通,了解情况。
  3. 管理员根据情况进行

6 家政员工用例详情

6.1 登录/签到

参与者: 家政服务员工

简要描述: 家政服务员工登录系统并进行签到,表明开始工作。

前置条件: 员工已注册账号。

后置条件: 员工成功登录并签到,系统记录签到时间。

正常流程:

  1. 员工打开小程序,进入登录页面。
  2. 员工输入账号和密码,点击登录。
  3. 登录成功后,员工点击"签到"按钮。
  4. 系统记录签到时间。

异常流程:

  1. 账号或密码错误:系统提示账号或密码错误。
  2. 网络连接异常:系统提示网络连接失败。
  3. 重复签到(在短时间内):系统提示请勿重复签到。

6.2 查看排班

参与者: 家政服务员工

简要描述: 家政服务员工查看自己的工作排班信息。

前置条件: 员工已登录。

后置条件: 员工查看排班信息。

正常流程:

  1. 员工进入排班页面。
  2. 系统显示员工的排班信息,包括服务日期、时间、地点、服务项目、客户信息等。

异常流程:

  1. 没有排班信息:系统提示暂无排班信息。
  2. 网络连接异常:系统提示网络连接失败。

6.3 接受/拒绝订单

参与者: 家政服务员工

简要描述: 家政服务员工根据自身情况接受或拒绝分配的订单。

前置条件: 员工已登录,收到新的订单分配通知。

后置条件: 订单状态更新。

正常流程:

  1. 员工收到新的订单分配通知。
  2. 员工查看订单详情,包括服务时间、地点、服务项目、客户信息等。
  3. 员工根据自身情况选择接受或拒绝订单。
  4. 系统更新订单状态。

异常流程:

  1. 订单已被其他员工接受:系统提示订单已被其他员工接受。
  2. 操作超时:系统提示操作超时,订单将自动分配给其他员工(或保持待分配状态)。

6.4 更新服务状态

参与者: 家政服务员工

简要描述: 家政服务员工在服务过程中更新服务状态,例如"开始服务"、"服务中"、"服务完成"等。

前置条件: 员工已接受订单。

后置条件: 订单状态更新,系统记录服务时间。

正常流程:

  1. 员工到达服务地点后,点击"开始服务"按钮。
  2. 服务完成后,员工点击"服务完成"按钮。
  3. 系统记录服务时间,更新订单状态。

异常流程:

  1. 网络连接异常:系统提示网络连接失败。
  2. 重复操作(例如短时间内连续点击"开始服务"):系统提示请勿重复操作。

6.5 查看收入记录

参与者: 家政服务员工

简要描述: 家政服务员工查看自己的收入记录。

前置条件: 员工已登录。

后置条件: 员工查看收入记录。

正常流程:

  1. 员工进入收入记录页面。
  2. 系统显示员工的收入记录,包括收入明细、结算周期等。

异常流程:

  1. 没有收入记录:系统提示暂无收入记录。
  2. 网络连接异常:系统提示网络连接失败。

总结

我们本篇介绍了如何借助UML的用例图来开展系统分析,并且按照角色详细拆解了家政预约小程序的各个用例。在分析阶段思考的越多,沟通的越多,在系统开发阶段需要修改的就越少,下一篇我们拆解一下第二个分析工具数据流图DFD。

相关推荐
breaksoftware6 分钟前
低代码开源项目Joget的研究——基本概念和应用
低代码
三木吧1 小时前
开发微信小程序的过程与心得
人工智能·微信小程序·小程序
Kika写代码1 小时前
【微信小程序】3|首页搜索框 | 我的咖啡店-综合实训
微信小程序·小程序
金金金__1 小时前
微信小程序:解决顶部被遮挡的问题
微信小程序·小程序
算法小白(真小白)10 小时前
低代码软件搭建自学第二天——构建拖拽功能
python·低代码·pyqt
码农君莫笑10 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio
zhulangfly13 小时前
Wux weapp 组件库的 bug—— wux-picker选择器组件无法正确初始化到选定的value
小程序·wux weapp
兔C13 小时前
微信小程序的轮播图学习报告
学习·微信小程序·小程序
Cc_Debugger15 小时前
小程序将对象通过url传递到下个页面
小程序