一、用例图的描述
用例(Use Case)是指系统的外部事物(活动者、设备或外部系统)与系统交互,它表达了系统的功能,即系统所提供的服务。
用例图是一种描述用例的可视化工具,用简单的图形元素表示出系统的活动者、用例及它们之间的关系,准确地表达了活动者与系统的交互情况和系统所能提供的服务。用例图是从用户角度而不是从开发者角度来描述对软件产品的需求,分析产品所需的功能和动态行为。
二、活动者
确定活动者。活动者可以通过泛化关系定义。
1. 系统的主要客户是谁
2. 谁从该系统获取信息
3. 谁向系统提供信息
4. 谁来安装、操作该系统
5. 谁来关闭该系统
6. 在预定的时刻,是否有时间自动发生
7. 谁使用或删除系统中的信息
8. 系统从何处获得信息
三、用例描述
用例的描述其实是一个关于角色和系统如何交互的规格说明,该规格清晰明了,没有二义性。一般情况下,用例描述包括 用例的目标、用例是怎样被启动的、用例和活动者间的消息流、用例的多种执行方案、用例怎样才算完成并把值传给了活动者。用例描述可以使用用例模板来实现。
用例模板
用例名称 (用例名)
用例目标 (用例在系统中的目标)
级别 (概要任务)
活动者 (此用例的活动者)
状态
前提条件 用例执行前系统应具有的状态
置后条件 用例成功执行后系统应具备的状态
主路径 用例主路径的名称
可选路径 用例的可选路径
例外路径 用例的例外路径
四、用例间的关系
用例除了与其活动者发生关联外,它们之间也存在一定的联系,包括泛化关系、使用关系、包含关系、扩展关系等。
五、用例建模
建立用例图一般可按以下步骤进行:
1. 确定系统的边界和范围,明确系统外部的活动者和外部系统。
2. 确定每个活动者所期望的系统行为。
3. 把这些系统行为作为系统的用例。
4. 把公共的系统行为分解为新的用例,供其它用例引用。把变更的行为分解为扩展用例。
5. 编制每个用例的剧本。
6. 绘制用例图。
7. 区分主业务流和异常情况的事件流。可以把表达异常情况的事件流的用例画成一个单独的子用例图。
8. 精化用例图。解决用例图的重复与冲突问题,简化用例中的对话序列。高层次的用例可以分解为若干下属子系统中的用例。
六、例子
在图书管理系统中,工作人员可以维护(增加、删除、更新)读者信息,可以维护书籍信息,读者可以通过图书管理员请求借书、还书和续借,读者可以登录并查询书籍和借阅信息。给出用例图。
参考文献:
[1] 唐学忠等著. UML面向对象分析与建模. 电子工业出版社. 2008
[2] 蔡敏等著. UML基础与ROSE建模教程. 人民邮电出版社. 2006
[3] Carlo Ghezzi等著. 施平安译. 软件工程基础(第2版) 清华大学出版社. 2003
[4] 参考网站:
http://www.software.ibm.com/ad/ocl