文章目录
一、用例
参与者 Actor
- 代表位于系统之外并和系统进行交互的一类事物(人、物、其他软件子系统等)
- 通过它,可以对软件系统与外界发生的交互进行分析和描述,了解客户希望软件系统提供哪些功能
- 参与者的图形表示:
根据问题识别参与者
-
谁使用系统?谁安装系统、维护系统?谁启动系统、关闭系统?
-
谁从系统中获取信息?谁提供信息给系统?在系统交互中,谁扮演了什么角色?
-
系统会与哪些其他系统相关联?内/外部定时器有哪些?
-
示例:学院管理系统的参与者有
-
用户/学生/教师/系统管理员
-
数据库
-
其它子系统
-
用例 Use Case
- 系统为响应参与者引发的一个事件而执行的一系列的处理/动作,而这些处理应该为参与者产生一种有价值的结果
- 这些动作不但应包含正常情况的各种动作序列,而且应包含对非正常情况(Exception)时软件系统的动作序列的描述
- 用例命名:每个用例都有一个名称,使用短小精悍的动名词。例如ATM系统的经典用例有“取钱” “存钱”“修改密码”等
- 用例是一种需求捕捉工具,训练使用该工具,能比较准确和完善地收集需求。
根据问题识别用例
- 从参与者开始,确定参与者希望系统提供什么功能?
- 系统是否存储和检索信息?当系统改变状态时,是否通知参与者?
- 是否存在影响系统的外部事件?是哪个参与者通知系统这些外部事件?哪个参与者触发了活动?
二、用例图
用例图 Use Case Diagram
- 用例图组成包括:参与者,系统边界,用例,关系
用例图中的关系
- 参与者与用例之间:关联关系,用实线表示
- 参与者之间的关系:泛化关系,用实线+空心箭头
- 用例之间的关系:
- 泛化关系(Generalization): 表示子用例是父用例的一种特殊形式。用一条带有空心箭头的直线表示,箭头指向父用例。例如:“下订单”可以是一个泛化关系中的父用例,而“网上下订单”。子用例继承了父用例的行为,并添加了额外的步骤或约束。
- 包含关系(Include): 包含关系表示一个用例在执行过程中会自然地包含另一个用例的行为。用一条带有箭头的虚线表示,箭头指向被包含的用例。例如:“网上下订单”可能包含“登录账户”、“选择商品”、“支付”和“确认订单”等步骤。这里的每一个步骤都可以是一个单独的用例,它们被“网上下订单”用例所包含。
- 扩展关系(Extend): 扩展关系表示一个用例在特定条件下会扩展另一个用例的行为。它与包含关系类似,但扩展关系是在特定情况下才会发生的,而不是每次都会发生。用一条带有箭头的虚线表示,箭头指向被扩展的用例。例如:“处理退货”用例可能会扩展“网上下订单”用例。
用例描述 Use Case description
-
用例描述是指对用例的详尽文字描述。
-
用例描述内容包括
-
描述主事件流:一切正常时的动作序列。
-
描述异常事件或者可选事件流:主事件流的每一步都有可能出现异常以及异常情况的处理。
-
用例描述示例
用户账户管理是运维管理系统中用于维护和管理用户账户及其相关权限的功能模块。以下是用户账户管理的用例描述:
**用例名称**:用户账户管理
**目标用户**:系统管理员、安全管理员
**用例目的**:确保系统的用户账户信息准确、安全,并且用户能够根据其角色和职责访问相应的系统资源。
**前置条件**:
- 系统管理员或安全管理员已登录到运维管理系统。
- 系统管理员或安全管理员具备管理用户账户的权限。
**基本流程**:
1. **查询用户账户**:
- 系统管理员输入查询条件(如用户名、姓名、部门等)。
- 系统显示符合条件的用户账户列表。
2. **创建新用户账户**:
- 系统管理员填写新用户的基本信息(如用户名、密码、姓名、联系方式、部门等)。
- 系统管理员为新用户分配角色和权限。
- 系统管理员提交新用户账户信息。
- 系统验证信息无误后,创建新用户账户,并存储相关信息。
3. **修改用户账户信息**:
- 系统管理员选择要修改的用户账户。
- 系统管理员更新用户的基本信息或权限设置。
- 系统保存修改后的用户账户信息。
4. **重置用户密码**:
- 系统管理员选择需要重置密码的用户账户。
- 系统生成新密码,并提供给系统管理员。
- 系统管理员通知用户使用新密码登录。
5. **激活/禁用用户账户**:
- 系统管理员选择需要激活或禁用的用户账户。
- 系统管理员执行激活或禁用操作。
- 系统更新用户账户状态,并记录操作日志。
6. **删除用户账户**:
- 系统管理员选择要删除的用户账户。
- 系统提示系统管理员确认删除操作。
- 系统管理员确认后,系统删除用户账户及相关信息。
**扩展流程**:
- 在创建或修改用户账户时,如果输入的信息不符合要求(如密码强度不足),系统应提示错误,并要求重新输入。
- 在删除用户账户前,系统应检查用户是否有未完成的任务或关联的数据,并提供相应的处理建议。
**后置条件**:
- 用户账户信息已更新并存储在系统中。
- 相关的操作日志已记录。
**异常流程**:
- 如果系统管理员尝试执行未经授权的操作,系统应拒绝并记录事件。
- 如果系统在处理用户账户信息时发生错误,应提供错误信息,并允许系统管理员重试或撤销操作。
用例图和用例描述共同组成用例模型 (Usecase Model),其作用:
- 是系统分析的结果,是系统设计的输入;是面向对象分析的结果,是面向对象设计的输入
- 是软件开发人员分析客户业务流程的结果;是开发部门领导、非直接开发人员,了解系统的主要信息来源
- 是开发部门与顾客之间的合同;是软件设计部门与软件工程师之间的合同
您正在阅读的是《面向对象分析与设计Python版》专栏!关注不迷路~
标签:账户,Python,系统,用户,系统管理员,例图,用例,面向对象分析,参与者 From: https://blog.csdn.net/zljgzw/article/details/144968369