用例图(use case diagrams):用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。
基本元素
元素 | 图符 | 描述 |
---|---|---|
角色 | ![]() | 一般的人和事 |
用例 | ![]() | 功能的描述 |
关系 | 执行执行者(用例)与用例之间的关系 |
角色
寻找角色的原则:
1、谁使用系统的这些功能
2、谁需要系统支持日常工作
3、谁来维护这个系统
4、系统需要操作哪些硬件
5、系统需要和哪些系统进行交互
6、哪些人或者事物对系统的解决感兴趣
用例
个人理解:要实现系统的功能
关系描述
关系名称 | 简单描述 | 举例 |
---|---|---|
关联关系 | 指一种对象和另一种对象有联系。 | ![]() |
泛化关系 | 一个用例可以被特别列举一个或多个子用例,像继承一样。 | ![]() |
包含关系 | 其中一个用例(称作基础用例)的行为包含了另一个用例(成为包含用例)的行为。 | ![]() |
扩展关系 | 一个用例也可以被定义为基础用例的增量,称作扩展关系。扩展关系是把新行为插入到已有用例的方法。 | ![]() |
包含关系和扩展关系的区别:
关系 | 图符 | 图符核心 |
---|---|---|
扩展关系 | ![]() | 由子用例指向基用例, |
包含关系 | ![]() | 由基础用例指向子用例, |
个人理解:
案例1:
对于网吧收费系统中,网管在查询某种记录后,进行导出Excel表格的操作,就属于扩展关系。
在查询某些用户的信息,选中后进行更改的操作,就属于包含关系。
用例图注意事项:
应该清晰的定义系统边界
防止用例过多
应该从执行者的角度来命名用例
用例描述正规程度
避免执行者的名字不一致
避免执行者和用例之间的关系太复杂
注意用例的大小是否恰达
避免用例描述混乱
区分用例分解和功能分解
避免客户不能理解用例的情况发生
有些场合,用用例来描述需求是不合适的
机房收费系统用例图
初次学习UML,如果有理解错误,或者描述不佳的地方,欢迎指点!