用例表和用例图

用例编号:1
用例名:教师登录
用例描述:教师用户根据所注册的用户名和密码,登录到教学系统
参与者:教师用户
前置条件:教学系统正常运行
后置条件:如果教师登录后,可上传课件,上传教学视频,发表教学心得,查看教学心得,修改教学心得
基本路径:
1.教师进入系统
2.教师输入用户名和密码
3.教师提交输入的信息
4.系统对教师用户的账号和密码进行有效性检查
5.系统记录并显示当前登录用户
6.教师上传上传课件,上传教学视频,发表教学心得,查看教学心得或修改教学心得
扩展点
 4a,教师用户的账号错误
4a1,系统弹出账号错误警告信息
4a2,教师用户离开或者重新输入账号
 4b,教师用户的密码错误
4b1,系统弹出密码错误警告信息
4b2,教师用户离开或者重新输入密码
变异点:无
补充说明:无

用例编号:2
用例名:学生登录
用例描述:学生用户根据所注册的用户名和密码,登录到教学系统
参与者:学生
前置条件:教学系统正常运行
后置条件:如果学生登录后,可浏览课件,查找课件,下载课件,观看教学视频
基本路径:
1.学生进入系统
2.学生输入用户名和密码
3.学生提交输入的信息
4.系统对学生用户的账号和密码进行有效性检查
5.系统记录并显示当前登录用户
6.学生浏览课件、查找课件、下载课件、观看教学视频
扩展点
 4a,学生用户的账号错误
4a1,系统弹出账号错误警告信息
4a2,学生用户离开或者重新输入账号
 4b,学生用户的密码错误
4b1,系统弹出密码错误警告信息
4b2,学生用户离开或者重新输入密码

变异点:无
补充说明:无

用例编号:3
用例名:管理员登录
用例描述:管理员用户根据所拥有的用户名和密码,登录到教学系统
参与者:管理员
前置条件:教学系统正常运行
后置条件:如果管理员登录后,可审核不法课件和不法教学信息,批准用户注册
基本路径:
1.管理员进入系统
2.管理员输入用户名和密码
3.管理员提交输入的信息
4.系统对管理员用户的账号和密码进行有效性检查
5.系统记录并显示当前登录用户
6.管理员审核和批准用户注册
扩展点
 4a,管理员用户的账号错误
4a1,系统弹出账号错误警告信息
4a2,管理员用户离开或者重新输入账号
 4b,管理员用户的密码错误
4b1,系统弹出密码错误警告信息
4b2,管理员用户离开或者重新输入密码
变异点:无
补充说明:无

用例编号:4
用例名:密码找回
用例描述:教师或者学生用户根据所输入的账号,修改账号对应的密码
参与者:教师,学生
前置条件:教学系统正常运行
后置条件:如果用户找回密码,则按照用户所输入的信息修改用户的密码
基本路径:
1.用户进入系统
2.用户输入用户名
3.用户提交输入的信息
4.系统对用户的账号进行有效性检查
5.用户输入修改后的密码
6.系统对用户输入的修改后的密码进行有效性检查
7.系统记录用户修改后的密码
扩展点
 4a,管理员用户的账号错误
4a1,系统弹出账号错误警告信息
4a2,用户离开或者重新输入账号
 6a,用户的密码不符合要求
6b1,系统弹出密码不符合要求警告信息
6b2,学生用户离开或者重新输入密码
变异点:无
补充说明:无在这里插入图片描述

### 绘制UML用例图及编写用例描述的最佳实践 #### 1. **理解用例图的核心概念** 用例图是一种用于捕捉系统功能需求的工具,通过图形化的方式展示用户(参与者)与系统之间的交互关系。其核心要素包括参与者、用例以及它们之间的关系[^1]。 - 参与者:指与系统发生交互的人或其他外部实体。 - 用例:表示系统提供给参与者的特定服务或功能。 - 关系:主要包括关联关系、扩展关系包含关系。 #### 2. **绘制用例图的关键步骤** ##### (1) 明确系统的边界 定义系统的范围及其与其他系统的界限。这一步骤有助于区分哪些功能属于当前系统,哪些不属于[^5]。 ##### (2) 确定参与者 识别所有可能与系统交互的角色,并将其标注为参与者。例如,“管理员”、“客户”等都是常见的参与者角色。 ##### (3) 定义用例 基于系统的需求文档,提取出每一个独立的功能模块作为用例。每个用例应具有清晰的目标价值[^4]。 ##### (4) 建立参与者与用例的关系 使用箭头连接参与者对应的用例,表明两者间的互动关系。这种关联通常是一对多或多对一的形式。 ##### (5) 表达复杂的依赖关系 对于某些特殊场景下的行为变化,可以通过扩展关系 `<extend>` 或包含关系 `<include>` 来补充说明: - **包含关系**:当某个基础用例必然调用另一个子用例时,采用包含关系。注意,被包含的用例无法单独运行[^2]。 - **扩展关系**:适用于可选操作的情况,即只有满足一定条件才会触发额外的行为。 以下是简单的代码实现示例,演示如何利用Python生成基本的用例图结构: ```python from diagrams import Diagram, Cluster from diagrams.uml import UseCase, Actor with Diagram("Use Case Example", show=False): admin = Actor("Admin") customer = Actor("Customer") with Cluster("System"): manage_orders = UseCase("Manage Orders") place_order = UseCase("Place Order") cancel_order = UseCase("Cancel Order") admin >> manage_orders customer >> place_order customer >> cancel_order ``` #### 3. **编写用例描述的标准模板** 一份完整的用例描述应当覆盖以下几个方面: - **用例名称**: 提供简洁明了的名字以便于索引。 - **唯一标识符/编号**: 方便后续跟踪管理。 - **简述**: 对该用例的主要目的做概述性解释。 - **前提条件**: 列举启动此流程前需具备的状态或环境设置。 - **主事件流**: 描述正常情况下发生的序列动作。 - **备选路径/异常处理**: 针对可能出现的不同分支情况作出规划。 - **后置状态**: 记录完成整个过程后的最终状况。 下面是一个具体的实例: | 字段名 | 内容 | |--------------|----------------------------------------------------------------------| | 名称 | 用户登录 | | 编号 | UC001 | | 简要说明 | 支持合法注册账户访问受保护资源 | | 前提条件 | 已经拥有有效账号 | | 主事件流 | 输入用户名密码 -> 验证身份 -> 成功进入主页 | | 备选项 | 密码错误三次锁定账户 | | 后置条件 | 登陆成功显示欢迎页面 | #### 结论 综上所述,掌握上述原则能够显著提升创建高质量用例图的能力,从而促进团队成员间更有效的交流协作[^3]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值