用例描述
描述一个用例
所选UC(用例名称)
主要参与者 user
风险承担者和有关参与者 管理员及使用这个用例的相关人员
前置条件 用户已经完成的工作前提
后置条件 从事该工作之后的内容
基本工作流 划线上面的内容(与绘制SSD图有关)
扩展场景/可选场景 (可选工作流)可能出现的问题
案例分析
案例1
用例名称:makeNewAppointment
主要参与者:学生
风险承担者和有关参与者:
学生:希望能够准确、快速地预约到想要咨询的导师。
导师:希望能够及时获取到学生的咨询申请,以确保能够及时确认和回复。
前置条件:学生已经被注册到系统并且登录到系统中。
后置条件:预约申请已被保存;预约申请已通知到老师。
基本工作流:
- 学生登录系统,选择“预约申请”功能,系统创建一个新的预约申请。
- 系统显示“专业选择”下拉框,学生从下拉框中选中自己的专业,并确认,系统查询该专业的导师。
- 系统显示该专业的导师名称列表,学生选择其中一个导师,点击对应的“预约”。
- 系统显示该导师可供预约的时间段,学生点击自己期待的时间段。
- 学生检查预约信息,点击“确认”。
- 系统录入该预约申请记录到数据库;发送预约信息给对应的导师邮箱;提示“预约成功”。
- 系统返回到初始菜单。
扩展场景:
3a 学生与专业不对应
- 系统提示出错,并显示“你不是本专业的学生,无法预约导师”;
- 学生重新选择自己的专业并确认,系统显示查询后的导师名称列表。
3b 导师未开放预约服务
- 系统提示出错,并显示“该导师暂时未提供预约服务”;
- 学生选择其他导师预约。
2-5a 学生退出预约申请界面
- 学生因某些原因退出填写预约的界面,此时预约属于预定但没有确认的状态。
4a 学生想更改预约时间
学生重新选择自己期待的时间段。
案例2
- Fully dressed format use case
userLogin -- 登录:
- 主要参与者:顾客
- 风险承担者和有关参与者:
- 顾客:希望登录流程简单和系统反应快速。要求能通过平台获取对应账号信息并进行操作。
- 甜品师:希望登录流程简单和系统反应快速。要求能通过平台获取对应账号信息并进行操作。
- 店家:希望登录流程简单和系统反应快速。要求能通过平台获取对应账号信息并进行操作。
- 信息授权服务机构:希望以正确格式和协议收到数字授权请求。希望通过数字授权准确获取对应账号信息。
- 前置条件:顾客已被注册到系统并已授权操作系统。
- 后置条件:验证成功,获取对应账号信息,并允许进行合法操作。
- 基本工作流:
- 用户输入手机号。
- 用户输入密码。
- 系统验证手机号和密码,密码正确则进入该账户对应的平台页面(默认是顾客页面),密码错误则要求重新输入密码。
- 可选场景:
- 如果用户输入的手机号不符合号码规范,则给出提示。
- 如果用户连续十次输入密码错误,提示用户重置密码。
- 用户忘记密码,则给出第二方案“发送验证码”。
SSD图(系统顺序图)
基本知识点
用户(USER)传递信息给系统(System)
系统再反馈信息给用户
案例分析
案例1
这个序列图(Sequence Diagram)展示了学生与系统之间的交互过程。在绘制此图时,需要考虑以下步骤:
定义参与者:在这个例子中,参与者是“student”。
定义对象:在这个例子中,“System”是一个系统,它包含不同的列表和信息。
确定消息传递顺序:根据流程,学生首先调用“makeNewAppointment(studentId)”,然后系统返回一个“Major list”。接着,学生选择一个专业并发送“chooseMajor(majorId)”给系统。系统回应一个“tutor list”。之后,学生从导师列表中选择一位导师,并将“chooseTutor(tutorId)”发送给系统。系统回复一个“schedule list”。学生从时间表中选择一个时间,并向系统发送“chooseTime(scheduleId)”。最后,系统验证预约信息,并反馈“appointment information”和“success information”。
添加注释或标签:为了更好地理解每个消息的含义,可以在消息上添加相应的标签。
使用虚线表示消息:在序列图中,实线通常用于表示控制流,而虚线则用于表示数据流。在这个例子中,所有的消息都是数据流,因此应使用虚线来连接它们。
使用颜色区分不同类型的元素:例如,可以使用一种颜色表示参与者,另一种颜色表示对象,第三种颜色表示消息等。
保持布局清晰整洁:确保所有元素都在适当的位置,并且没有重叠或混乱的情况出现。
添加标题和描述:为图表添加标题和简短的描述可以帮助读者快速了解其内容和目的。
检查完整性:完成绘图后,请仔细检查是否有遗漏或错误的信息。
在这个上下文中,
makeNewAppointment(studentId)
表示一个函数调用或者方法调用的概念。在编程代码中,这通常代表了一个操作,其中学生(通过其ID)试图发起一个新的预约请求。这样的函数可能会存在于一个面向对象的编程语言中,作为某个类(比如AppointmentSystem
类)的一个方法。