-
- 用例图(Use Case Diagram)是 UML 中用于描述系统功能需求的一种图形工具。它主要展示了系统中的参与者(Actors)与用例(Use Cases)之间的关系,能够直观地呈现系统的功能范围和边界。
- 元素构成
- 参与者(Actor)
- 参与者是系统外部与系统进行交互的实体,可以是用户、外部系统或者硬件设备等。例如,在一个图书馆管理系统中,“读者” 和 “图书馆管理员” 就是参与者。参与者通常用一个人形图标来表示。
- 用例(Use Case)
- 用例是对系统的一个功能单元的描述,它代表了系统为参与者提供的有价值的服务。还是以图书馆管理系统为例,“借书”“还书”“查询书籍” 等都是用例。用例在图中一般用椭圆来表示。
- 关系(Relationship)
- 关联关系(Association):表示参与者与用例之间的通信路径,说明参与者可以触发用例。例如,“读者” 和 “借书” 之间就存在关联关系,意味着读者可以发起借书这个行为。在图中用一条直线来连接参与者和用例。
- 包含关系(Include):一个用例包含另一个用例的功能。比如在 “借书” 用例中,可能包含 “验证读者身份” 这个子用例,这是因为每次借书都需要先验证读者身份。在图中,用带箭头的虚线和 “<<include>>” 标注来表示这种关系,箭头从包含用例指向被包含用例。
- 扩展关系(Extend):一个用例可以在特定条件下扩展另一个用例的功能。例如,在 “借书” 用例的基础上,可能会有 “缴纳逾期罚款(借书超期时)” 的扩展用例。用带箭头的虚线和 “<<extend>>” 标注来表示,箭头从扩展用例指向被扩展用例。
- 泛化关系(Generalization):类似于面向对象中的继承关系,子用例继承了父用例的行为和特征,并且可以增加新的行为或修改父用例的行为。例如,“普通读者借书” 和 “VIP 读者借书” 可以看作是 “借书” 用例的泛化,VIP 读者可能在借书数量、借书期限等方面有特殊待遇。在图中用空心三角形箭头的实线来表示,箭头从子用例指向父用例。
- 用途
- 需求获取与分析:通过识别系统的参与者和用例,帮助业务分析师和系统设计师全面了解系统应该提供哪些功能。它可以作为与客户、用户沟通的工具,确保开发团队对系统功能的理解与用户需求一致。
- 系统范围界定:明确系统的边界,即哪些功能属于系统内部实现,哪些功能与外部参与者相关。这有助于防止功能蔓延,避免在开发过程中添加不必要的功能。
- 软件设计的基础:为后续的软件设计阶段提供了一个高层次的功能架构。设计师可以根据用例图进一步细化系统的设计,如确定类的职责、设计数据库结构等。
- 测试计划制定:测试人员可以根据用例图来制定测试计划,确保对每个用例进行充分的测试,包括正常流程和异常情况的测试。例如,对于 “借书” 用例,测试人员需要考虑读者身份验证通过和不通过、书籍库存充足和不足等多种情况。
posted @
2024-09-20 23:29
*太¥^白%
阅读(
14)
评论()
收藏
举报