IHS-玉高 OOA–需求获取活动
- 4 mins目标
- 从问题描述(Problem Statement)入手,学习理解应用域有关概念和业务
- 建立 软院实践课程项目验收系统(代称:RUP-S) 的用例模型
问题描述(Problem Statement)
教务员(Academic Officer)负责对软件学院的600名本科生、几十名授课老师、几名教务员 进行管理,需要给老师和学生安排相关课程(课程安排)
学生查看课程表后,按照课程要求去上课
在课程中,学生需要按照老师布置的实验任务(一般一个课程只有一个实验任务、也有一个课程是多个实验任务) 去完成实验(有的需要学生组队去完成,有的则需要个人单独完成)
+++ 授课老师诉求:学生需要每天做学生进度汇报,记录今天学了什么做了什么
在实验任务验收阶段
小组需要提交项目报告(电子版或纸质版)、项目其它资料(源代码之类的)(电子版)
+++ 开发人员理解:小组可以是个人小组和多人小组
小组需要现场演示讲解项目:组长讲解项目整体功能,说说每个人的分工。(个别老师还会要求每个人都要讲解 哪部分代码是自己写的,实现了什么功能,并做现场功能演示)
+++ 有的授课老师表示:如果是一个课程多个实验任务,会需要根据项目给小组成员进行打分
课程结束之后,学生需要提交课程实践报告(纸质版),之后老师会根据每次试验任务的情况在课程实践报告中 给学生填写老师评语、评定课程成绩、授课老师签字和签字日期
接着授课老师需要制作学生课程成绩单(Excel)
+++ 授课老师诉求:希望可以在线编辑课程实验报告,只需要一次评分,不需要分别在学生课程成绩单和 每位学生的课程实践报告中两次填写成绩
最后授课老师需要提交学生课程成绩单(Excel)和每位学生的课程实践报告给教务员
+++ 教务员解释:学生课程成绩单是输入教务系统的数据,课程实践报告(纸质版)需要留档保存
用例图(UseCase Diagram)
用例规约
UC1(用例1): 登陆系统
主要参与者: 每个用户
前置条件: 用户已经知道自己的用户名和密码
基础流(Basic Flow)
1.系统显示登录界面
2.用户输入用户名与密码
3.系统验证登陆信息
4.系统根据用户身份跳转到相应的操作界面
备选流(Alternative Flows)
4a.用户名或密码错误
1.系统给用户显示"用户名或密码错误"信息提示
UC2(用例2): 管理用户账号
主要参与者: 教务员
基础流(Basic Flow)
1.系统显示"用户账号管理"界面
2.系统显示用户列表
-学号
-姓名
-手机号码
3.教务员可以进行操作(操作对应备选流中的分支事件流)
重复步骤3,直至教务员满意
4.教务员退出"用户管理"界面,用例结束
备选流(Alternative Flows)
3a.批量注册新用户
1.教务员选择"批量注册新用户"操作
2.系统显示计算机(用户的操作系统)文件资源管理器
3.教务员选择"XXX.xlsx"并上传
3a.文件格式错误
.1 系统显示"文件格式错误"信息
.2 系统返回步骤1
4.系统根据Exel表中的数据(学号和姓名和手机号码)注册新用户
4a.数据格式错误
.1 系统显示"Exel表格数据格式不符合要求"的错误信息反馈
.2 系统返回步骤1
5.系统给教务员显示"批量注册新用户成功"信息反馈
6.返回基础流步骤3
3b.注册新用户
1.教务员选择"注册新用户"操作
2.教务员输入学号和姓名和手机号码
2a.数据格式不符合要求
.1 系统显示"数据不符合要求"的信息反馈
3.系统将手机号码后6位作为新用户密码
4.系统记录新用户信息
4a.系统"学号已经存在"信息反馈.返回步骤3
5.系统给教务员显示"注册新用户成功"信息反馈
6.返回基础流步骤3
3c.删除用户
1.教务员选择要删除的用户(1个或多个)
2.系统显示"删除用户操作不可逆"的警告
3.教务员再次确认"删除用户操作"
4.系统删除被选择的用户记录
5.系统显示"删除用户操作"信息反馈
6.返回基础流步骤3
3d.修改用户信息
1.教务员选择要修改的用户(仅一个)
2.教务员输入修改的信息
3.系统更新被选择的用户记录
4.系统显示"修改用户信息操作成功"的信息反馈
5.返回基础流步骤3
3e.搜索用户
1.教务员输入搜索关键词
2.系统显示与关键词相关的用户列表
3.返回基础流步骤3
UC3(用例3): 管理用户身份
主要参与者: 教务员(简称"教务员")
基础流(Basic Flow)
1.教务员进入"用户身份管理"界面
2.系统显示用户(仅一个)的学号和姓名
3.系统显示该用户的**可选**身份列表
-身份
4.系统显示该用户的**已选**身份列表
-身份
5.教务员可以进行操作(操作对应备选流中的分支事件流)
重复步骤5,直至教务员满意
6.教务员退出"用户身份管理"界面,用例结束
备选流(Alternative Flows)
5a.添加用户身份
1.教务员从**可选**身份列表中选择希望授权的身份
2.系统界面更新**可选**身份列表和**已选**身份列表
3.返回基础流步骤5
5b.删除用户身份
1.教务员从**已选**身份列表中选择希望**取消授权**的身份
2.系统界面更新**可选**身份列表和**已选**身份列表
3.返回基础流步骤5
5c.确认更新用户身份
1.教务员确认更新
2.系统更新该用户的身份信息记录
3.系统界面显示"更新成功"的信息反馈
UC4(用例4): 管理课程
主要参与者: 教务员
基础流(Basic Flow)
1.教务员进入"课程管理"界面
2.系统显示课程列表
-课程号
-课程名称
-老师
3.教务员可以进行操作(操作对应备选流中的分支事件流)
重复步骤3,直至教务员满意
4.退出"课程管理"页面,用例结束
备选流(Alternative Flows)
3a.添加新课程
1.教务员输入课程号,课程名称
2.系统添加新课程记录
3.系统界面显示"添加新课程成功"信息反馈
4.返回基础流步骤3
3b.删除课程
1.教务员选择要删除的课程
2.系统显示"删除操作不可逆"的警告
3.教务员再次确认要进行删除操作
4.系统删除该课程记录
5.系统界面显示"删除课程成功"的信息反馈
6.返回基础流步骤3
3c.修改课程信息
1.教务员选择要修改的课程
2.教务员输入更新的信息
3.系统更新该课程的信息记录
4.系统显示"修改课程信息成功"的信息反馈
5.返回基础流步骤3
3d.查询课程
1.教务员输入搜索关键词
2.系统界面的课程列表更新显示与关键词相关的课程
3.返回基础流步骤3
UC5(用例5): 排课
主要参与者: 教务员
基础流(Basic Flow)
1.教务员进入课程(仅一个)的"排课"界面
2.系统显示课程(仅一个)的课程号和课程名称
3.系统显示**已选**老师列表和**可选**老师列表
4.教务员可以进行操作(操作对应备选流中的分支事件流)
重复步骤4,直至教务员满意
5.教务员退出"排课"界面,用例结束
备选流(Alternative Flows)
4a.给课程添加授课老师
1.教务员从**可选**老师列表中选择要给课程授课的老师
2.系统界面更新**已选**老师列表和**可选**老师列表
3.返回基础流步骤4
4b.给课程删除授课老师
1.教务员从**已选**老师列表中选择要给课程授课的老师
2.系统界面更新**已选**老师列表和**可选**老师列表
3.返回基础流步骤4
4c.确认排课
1.教务员确认排课操作
2.系统更新该课程的授课老师记录
3.系统显示"排课成功"信息反馈
4.返回基础流步骤4
4d.搜索**可选**列表中的老师
1.教务员输入老师名称
2.系统界面更新**可选**老师列表
3.返回基础流步骤4
UC6(用例6):管理学生课程成绩单
主要参与者: 教务员
前置条件: 只有老师对学生评分完成后,该学生的成绩才会出现在成绩单上
相关人员及利益诉求:
教务员 - 希望可以将成绩单生成Exel表格
- 希望可以根据学生姓名或是成绩搜索相关数据
基础流(Basic Flow)
1.教务员进入"学生课程成绩单"管理界面
2.系统显示课程标签可选项
3.教务员选择课程标签
4.系统显示该课程的学生成绩单列表
- 学号
- 姓名
- 成绩
重复步骤3,4;直至教务员满意
5.教务员可以进行操作(操作对应备选流中的分支事件流)
重复步骤5,直至教务员满意
6.教务员退出"学生课程成绩单"管理界面,用例结束
备选流(Alternative Flows)
5a.生成Exel表格
1.教务员选择生成Exel表格功能
2.系统成绩单生成Exel文件,并自动下载至教务员的计算机
3.返回基础流步骤5
5b.搜索
1.教务员输入关键词(学生姓名或是成绩)
2.系统更新成绩单列表
UC7: 管理学生课程实践报告
主要参与者: 教务员
前置条件: 只有老师对学生评分完成后,该学生的课程实践报告才会出现
相关人员及利益诉求:
教务员 - 希望可以将学生的课程报告下载为Exel表格
基础流(Basic Flow)
1.学生进入"学生课程实践报告"管理界面
2.系统显示课程标签可选项
3.教务员选择课程标签
4.系统显示该课程的学生列表
- 学号
- 姓名
重复步骤3,4;直至教务员满意
5.教务员可以进行操作(操作对应备选流中的分支事件流)
重复步骤5,直至教务员满意
6.教务员退出"学生课程实践报告"管理界面,用例结束
备选流(Alternative Flows)
5a.搜索
1.教务员输入关键词(学生姓名)
2.系统更新学生列表
5b.查看课程实践报告
1.教务员选择学生对应行,鼠标右键"查看课程实践报告"
2.系统显示课程实验报告
3.教务员可选操作
3a.下载该课程实践报告
1.教务员进行下载操作
2.系统自动下载该课程实践报告至教务员正在操作的计算机
4.返回基础流步骤5
5c.批量下载课程实践报告
1.教务员在学生列表中多选行
2.教务员鼠标右键"下载所选课程实践报告"
3.系统自动打包所选的课程实践报告(Exel)成zip文件并下载至教务员正在操作的计算机
4.返回基础流步骤5
UC8: 上课
主要参与者: 学生
前置条件: 教务员必须将学生分配课程
基础流(Basic Flow)
1.学生进入"我的课程"界面
2.系统显示属于该学生的课程列表
3.学生选择课程(仅一个)
4.系统界面跳转至该课程的学生操作界面
UC9: 查看实验任务
主要参与者: 学生
前置条件: 学生进入某课程的学生操作界面
基础流:
1.系统显示实验任务列表
2.学生选择试验任务(仅一个)
3.系统界面跳转至"实验任务"查看页面
UC10: 创建项目
主要参与者: 学生
前置条件: 学生进入某课程的学生操作界面
基础流:
1.学生选择"创建项目"操作
2.学生输入项目名称,并确认
3.系统赋予该学生组长身份
4.系统显示"项目创建成功"信息反馈
5.系统界面更新"我的项目列表"
备选流:
4a.项目名称已存在
1.系统确认"项目名称"已存在
2.系统显示"项目名称已存在"信息反馈
3.返回基础流步骤2
UC11: 接受邀请加入项目
主要参与者: 学生
前置条件: 项目组长已经向学生发出加入项目的邀请
基础流:
1.学生查收消息
2.系统显示消息通知列表
3.学生选择消息(仅一个)
4.系统显示消息内容"XXX邀请您加入他的XXX项目"
5.学生选择"接受邀请"
6.系统赋予该学生组员身份
7.系统更新相关项目的组员记录,并删除该消息通知
8.系统显示"加入项目成功"信息反馈
备选流:
5a.学生选择"拒绝邀请"
1.系统删除消息通知,用例结束
UC12: 汇报课程学习进度
主要参与者: 学生
前置条件: 学生进入某"课程"的主页面
基础流:
1.组员$"管理项目日志"
2.系统根据该学生的所有项目的日志信息生成学习进度报告
3.用例结束
UC13: 提交课程实践报告
主要参与者: 学生
前置条件: 学生进入某"课程"的主页面
基础流:
1.系统显示实验任务列表
2.学生选择"提交课程实践报告"任务
3.系统跳转至"课程实践报告"编辑页面
4.系统显示"未提交"信息
5.学生输入相关信息,并提交
6.系统生成"课程实践报告"表格(Exel)并储存
7.系统显示"提交课程实践报告成功 -- 时间:XXXX年XX月XX日"的信息
备选流:
4a.学生已经提交过
1.系统显示"提交课程实践报告成功 -- 时间:XXXX年XX月XX日"的信息
2.返回基础流步骤5
UC14: 上传项目文档
主要参与者: 组长
前置条件: 组长进入项目的管理界面
基础流:
1.系统显示"项目文档未上传"信息
2.组长选择上传项目文档操作
3.组长从计算机的文件资源管理器选择要上传的zip文件
4.组长确认上传
5.系统显示上传进度条直至100%
6.系统显示"上传文件成功"信息反馈
备选流:
1a.组长已经提交过
1.系统显示"提交课程实践报告成功 -- 时间:XXXX年XX月XX日"的信息
2.返回基础流步骤2
UC15: 管理组员
主要参与者: 组长
前置条件: 组长进入项目的管理主界面
基础流:
1.系统显示"项目小组"成员列表
- 学号
- 姓名
2.组长可以进行操作(操作对应备选流中的分支事件流)
重复步骤2,直至组长满意
备选流:
2a.邀请同学加入小组
1.组长选择邀请同学操作
2.系统显示可选同学列表和已选同学列表
3.组长确认发送邀请
4.系统发送邀请信息给被选择的同学
5.系统显示"邀请发送成功信息"反馈
6.返回基础流步骤2
2b.将组员踢出小组
1.组长选择组员(可多选)
2.鼠标右键"踢出小组"操作
3.系统更新该项目的小组成员列表,将选择的组员移除小组
3a.组长本人在多选名单中
1.系统更新该项目的小组成员列表,将选择的组员(除了组长本人)移除小组
2.系统显示"组长本人不可以被踢出小组,除组长之外的组员被踢出小组"
3.返回基础流步骤2
4.系统显示"踢出组员操作成功"信息反馈
5.返回基础流步骤2
2c.移交队长身份
1.组长选择组员(单选)
2.鼠标右键"移交队长身份"操作
3.系统更新该项目的组长
4.系统显示"移交队长身份"信息反馈
5.返回基础流步骤2
UC16: 汇报项目中学习工作进度
主要参与者: 组员,组长(组长是特殊的组员)
前置条件: 组员进入项目的主页面
相关人员及利益诉求:
老师 - 希望学生每日完成一份或多份学习工作进度报告,发布时间不可以令学生自定义
基础流: (本用例默认组员**包括**组长)
1.系统显示项目日志时间轴(内容: 每位组员的每日进度报告)
2.组员选择汇报操作
3.组员输入每日进度报告
4.组员确认提交
5.系统记录进度报告和当前操作时间
6.系统更新项目日志时间轴
7.系统显示"汇报学习工作进度成功"信息反馈
UC17: 退出项目
主要参与者: 组员,组长(组长是特殊的组员)
前置条件: 组员进入项目主界面
相关人员及利益诉求:
组员 - 希望当我不愿意继续为某项目做贡献时,我可以退出该项目小组
基础流: (本用例默认组员**不包括**组长)(+组长:表示包括组长)
1.系统显示项目小组成员列表
- 学号
- 姓名
2.组员选择"退出小组"操作
3.系统更新项目的小组成员列表
4.系统页面跳转至课程主页面
5.系统更新"我的项目"列表
- 项目名称
- 项目组长
6.系统显示"退出项目成功"信息反馈
备选流:
2a.组长退出小组
1.组长选择"退出小组"操作
2.系统显示"请先移交队长身份才可以退出小组"信息反馈
3.组长完成$"管理组员"中的移交队长身份操作
4.返回基础流步骤2
UC18: 评分
主要参与者: 老师
前置条件: 老师进入课程主界面(老师版)
相关人员及利益诉求:
老师 - 希望评分过程中可以使用等级方式(优秀,良好,合格等)评分,选择评分等级后,在学生的课程实践报告中
自动填充老师评语、评定课程成绩、授课老师签字和签字日期的内容.
教务员 - 希望可以将学生的课程报告下载为Exel表格
基础流:
1.系统显示学生列表
- 学号
- 姓名
- 成绩
2.老师选择(单选)学生列表行数据
3.系统跳转至该学生的课程实践报告页面
4.老师查看学生提交的课程实践报告
5.老师选择评分等级
6.系统在学生的课程实践报告中自动填充老师评语、评定课程成绩、授课老师签字和签字日期的内容.
7.用例结束
UC19: 管理评分等级
主要参与者: 老师
前置条件: 老师进入个人设置页面
相关人员及利益诉求:
老师 - 希望可以编辑评分等级(优秀,良好,合格等)
基础流:
1.系统显示评分等级列表
- 名称(优秀,良好,合格之类)
- 评语
- 成绩(百分制)
- 签字(图片资源)
- 签字日期
2.老师可选操作(操作对应备选流中的分支事件流)
重复步骤2,直至老师满意
备选流:
2a.添加新评分等级
1.老师选择添加操作
2.老师输入
- 名称(优秀,良好,合格之类)
- 评语
- 成绩(百分制)
- 签字(图片资源)
- 签字日期
3.老师确认添加
4.系统添加评分等级新记录
+++ 开发人员解释: 系统打算采用UUID,所以名称重复也能添加成功
5.系统显示"评分等级添加成功"信息反馈
6.返回基础流步骤2
2b.删除评分等级
1.老师选择(可多选)评分等级
2.老师鼠标右键"删除"操作
3.系统删除被选择的评分等级记录
4.系统显示"删除评分等级"成功的信息反馈
5.系统更新评分等级列表
6.返回基础流操作2
UC20: 管理课程实验任务
主要参与者: 老师
前置条件: 老师进入课程主页面(老师版)
基础流:
1.系统显示该课程的实验任务列表
- 名称
- 发布时间
2.老师可选操作(操作对应备选流中的分支事件流)
重复步骤2,直至老师满意
备选流:
2a.发布新实验任务
1.老师选择添加新实验任务操作
2.老师输入新实验任务的名称
3.系统记录名称和当前时间
4.老师确认发布
5.系统更新实验任务列表
6.系统显示"发布新实验任务成功"信息反馈
7.返回基础流步骤2
2b.删除实验任务
1.老师选择实验任务(可多选)
2.老师鼠标右键"删除"操作
3.系统删除实验任务列表记录
4.系统更新实验任务列表
5.系统显示"删除实验任务成功"信息反馈
6.返回基础流步骤2
2c.编辑实验任务
1.老师选择实验任务(单选)
2.系统跳转至实验任务页面(查看状态)
3.老师选择"编辑"操作
4.实验任务内容变为可编辑
5.老师输入相关数据
6.老师确认并提交发布
7.系统增加新试验任务记录
8.系统显示"编辑实验任务成功"信息反馈
9.返回基础流步骤2
参考
-
《编写有效用例》(美) Alistair Cockburn
如果你在中国大陆地区,则需要连接外网才能进行评论
comments powered by Disqus