UML用例图
2014-02-25 17:36
267 查看
一.简介
用例图是描述用户需求的静态视图,从用户角度描述系统的功能,并指出各功能的执行者,强调谁在用系统,系统为执行者完成那些功能。它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。
二.构成
1.角色Actor
有人也称其为执行者或参与者,是指系统以外的,在使用系统或与系统交互中所扮演的角色。角色不是指人或事物本身,而是表示人或事物当时所扮演的角色。
2.用例UseCase
用例是用户想要系统做的事情,也就是系统所拥有的功能。
(1)找出系统的用例
从角色入手,通过角色对系统的操作所完成的功能来获取用例
(2)用例间的关系
用例之间本来没有关系而言,但是如果多个用例之间共享一个子功能,就要把这个子功能抽象成一个单独的子功能用例
①包含关系:基用例包含子用例的行为,本质上是比较特殊的依赖关系。基用例并非一个完整的用例,所以在包含关系中基用例必须和子用例一起使用才够完整,子用例也必然被执行。
②扩展关系:扩展用例是基用例的扩展,基用例是一个完整的用例,即使没有子用例的参与,也可完成一个完整的功能。扩展用例有很多规则限制,基用例必须声明扩展点,而扩展用例只能在扩展点上增加新的行为和含义。
③泛化关系:子用例继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它,父用例一般是抽象的。
3.系统边界
用来表示正在建模系统的边界。边界内表示系统的组成部分,边界外表示系统外部。在画图中用方框来表示系统边界,同时附上系统的名称,角色画在边界的外面,用例图画在边界里面,因为系统边界的作用有时候不是很明显,在画图时可省略。
4.关系
用例图中有三种类型的关系:角色之间的关系、角色和用例之间的关系、用例之间的关系。
①角色之间的关系,一般为泛化关系,角色拥有与类相同的关系,类的关系将在以后介绍。
②角色和用例之间的关系,一般为关联关系,表示该角色代表的外部系统实体与该用例描述的系统需求有关。
③用例之间的关系,在前边已经讲过,这里不再赘述。
三、作用
用例图的主要作用有3个:
1.获取需求
2.指导测试
3.可对整个过程中的其它工作流起到指导作用。
四、例子
《机房收费系统》的用例图,
用例图是描述用户需求的静态视图,从用户角度描述系统的功能,并指出各功能的执行者,强调谁在用系统,系统为执行者完成那些功能。它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。
二.构成
1.角色Actor
有人也称其为执行者或参与者,是指系统以外的,在使用系统或与系统交互中所扮演的角色。角色不是指人或事物本身,而是表示人或事物当时所扮演的角色。
2.用例UseCase
用例是用户想要系统做的事情,也就是系统所拥有的功能。
(1)找出系统的用例
从角色入手,通过角色对系统的操作所完成的功能来获取用例
(2)用例间的关系
用例之间本来没有关系而言,但是如果多个用例之间共享一个子功能,就要把这个子功能抽象成一个单独的子功能用例
①包含关系:基用例包含子用例的行为,本质上是比较特殊的依赖关系。基用例并非一个完整的用例,所以在包含关系中基用例必须和子用例一起使用才够完整,子用例也必然被执行。
②扩展关系:扩展用例是基用例的扩展,基用例是一个完整的用例,即使没有子用例的参与,也可完成一个完整的功能。扩展用例有很多规则限制,基用例必须声明扩展点,而扩展用例只能在扩展点上增加新的行为和含义。
③泛化关系:子用例继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它,父用例一般是抽象的。
3.系统边界
用来表示正在建模系统的边界。边界内表示系统的组成部分,边界外表示系统外部。在画图中用方框来表示系统边界,同时附上系统的名称,角色画在边界的外面,用例图画在边界里面,因为系统边界的作用有时候不是很明显,在画图时可省略。
4.关系
用例图中有三种类型的关系:角色之间的关系、角色和用例之间的关系、用例之间的关系。
①角色之间的关系,一般为泛化关系,角色拥有与类相同的关系,类的关系将在以后介绍。
②角色和用例之间的关系,一般为关联关系,表示该角色代表的外部系统实体与该用例描述的系统需求有关。
③用例之间的关系,在前边已经讲过,这里不再赘述。
三、作用
用例图的主要作用有3个:
1.获取需求
2.指导测试
3.可对整个过程中的其它工作流起到指导作用。
四、例子
《机房收费系统》的用例图,
相关文章推荐
- Android Studio加载第三方jar包
- GCD 简单使用(二)
- 把SSH框架的Web程序从 Myecplise中导入到 Ecplise中。
- IOS开发中的几种设计模式介绍
- MS製のテストケース作成ツール PICT
- 【Android开发那点破事】Android EditText不弹出输入法焦点问题
- Struct 2.1.8 环境搭建
- Eclipse Indigo 3.7.0 装配GIT插件提示 requires 'bundle or
- HDFS系统
- 计算机系统
- 怎么让vi编辑时显示颜色
- C#实现多线程讲解
- MyEclipse快捷键失效
- Android开发实现HttpClient工具类以及HttpClient的3种超时说明
- Android之基于百度云推送IM
- 【java项目】当新建一个项目时是否会有这个疑问?建一个web project 还是java project?
- Makefile VPATH和vpath的使用
- Hbase使用filter快速高效查询
- oracle学习记录
- 接口与抽象类的区别