提示:用例图是软件建模的开始,软件建模中的其他图形都将以用例图为依据。用例图列举了系统所需要实现的所有功能,除了用于软件开发的需求分析阶段,也可用于软件的系统测试阶段。
UML-用例图
一、用例图的基础知识
- 用例图是用户眼中的系统,所描述的是系统的功能以及系统与用户之间的交互。它描述了人们希望如何使用一个系统,包括用户希望系统实现什么功能,以及用户需要为系统提供哪些信息。
- 用例图的最终目标:描述系统开发过程中需要实现的所有功能。
1.用例图的构成元素
- 用例 是系统的功能,这些功能是为用户服务的。用例图从用户的角度来描述系统的 功能,用户是系统的参与者 。关系 描述了用例间的关系、参与者与用例间的关系、用户和系统的联系。与系统有着关联的不只是用户,还可以是其他的系统或硬件设备。
(1)用例
- 人们需要通过软件系统实现的功能。
- 用例是从参与者的角度出发的,是参与者期望系统具备的单个功能,它定义了系统的行为特征。
- 用例定义了系统的功能模块,并不描述系统的内部结构和设计,就像黑盒子,展示系统外部可见的功能单元。
- 用例图中用例使用一个椭圆来表示。
- 如何确定用例?
- 选择系统边界;确定主要参与者------通过使用系统的服务实现其目标的那些人或事物;确定每个主要参与者的目标;定义满足用户目标的用例,根据其目标对应用例命名。
(2)系统
- 由一个或多个用例构成的软件系统,可以是软件系统的分支。
- 系统是软件开发的最终产物,包含了用户需要的所有功能。它不单指一个完整的软件系统,也可以是用户执行某类功能的一个或多个软件构件。
- 用例图需要将系统的所有功能作为用例显示,用例的缺失将会为软件开发的后续工作带来麻烦。使用子系统能够将系统细化,方便用例的确定。
- 系统也可以作为参与者,参与到与其他系统交互的用例图中。
- 用例图中的系统用带有标题头部的矩形来表示,在矩形的内部放置系统所包含的功能用例。
(3)参与者
- 参与者是系统的使用对象,可以是用户、硬件设备或其他的系统。
- 用例图中的参与者使用人型的符号表示。
(4)关系
-
描述用例图各部分构成之间的联系。
-
参与者和用例是密切相关的,用例是参与者对系统的使用功能,因此每一个用例都有与其对应的参与者。
-
参与者与参与者、参与者与用例以及用例与用例之间的关系可以分为四种。
-
泛化关系
-
关联关系
-
包含关系
-
扩展关系
- 扩展关系为处理异常或构建灵活的系统框架提供了一种十分有效的方法。
- 扩展关系为处理异常或构建灵活的系统框架提供了一种十分有效的方法。
二、用例图题目练习
- 假设开发一个图书馆管理系统。该系统允许用户借阅书籍、归还书籍、续借书籍、查询书籍信息和预约书籍;图书管理员还应该有图书和读者管理,以及读者借还书一些情况处理;同时系统管理员还需要对系统有管理功能。请根据这些功能识别用例,并画出用例图。
- 该图错误的地方:
- ①参与者到用例之间使用的是直实线,没有箭头。
- ②扩展关系<>和包含关系<>的箭头方向画反了。