1.概括
用例图用来描述软件功能的一种图形,包括用例,参与者,及其关系
用例图的作用是:
展现软件功能
展现软件使用者和软件之间的关系
展现软件功能相互之间的关系
用例图的要素:
参与者:与用例存在交互关系的系统外部实体
用例:描述一个相对独立的软件功能
关系:参与者与用例的关系,参与者相互之间的关系,以及用例相互之间的关系
2.用例
1.用例表示系统执行的一组动作,用用例来描述系统的一个功能
2.用例的表示:用椭圆表示用例
3.特点:
用例用于描述系统的功能,这个功能是外部使用者看到的系统功能,不反映功能的内部实现
用例标书用户提出的一些可见需求,对应一个具体的用户需求
用例反映系统与用户的一次交互过程,应该具有交互的信息的传递
用例是对系统功能的表示,属于需求建模
4.如图:在用例中显示的仅为系统与使用者交互的白色字体部分
3.参与者(活动者)
可以是人,设备,外部系统,时间
参与者可以表示为
参与者之间可以有泛化关系
参与者的特性:
1.参与者位于系统外部
2.参与者与系统发生交互关系
3.参与者与系统之间存在交互接口
4.参与者与用例之间的关系
(1)启动用例
(2)获取用例提供的服务
(3)为用例提供服务
(4)给系统提供信息
(5)从系统获取信息
5.用例之间的关系
(1)泛化关系:一般与特殊的泛化关系
(2)包含关系:一个用例的行为要用到另外一个用例的行为,使用依赖关系的<<include>>构造型来表示
(3)扩展关系:基本用例在扩展点要增加新的行为或功能,用依赖关系的<<extend>>构造型来表示
包含和扩展的区别:
箭头方向相反
在基用例执行的过程中,被包含用例一定要被执行,扩展关系如果条件不为真,可以不执行
包含关系中的基用例必须依赖被包含的用例,不能独立存在。扩展关系中,基用例可以独立存在
即,包含是必须的,就像手机必须有屏幕,主板,电池,外壳。缺少后手机无法使用,扩展关系在类似摄像头等部件,缺少后不影响手机的使用,只是不能拍照。
6.用例图
用例图用来描述软件需求模型中的系统功能,通过一组用例可以描述软件系统能够给用户提供的功能
用例图可以作为整个系统开发过程中的依据,指导和驱动其他模型
7.用例叙述
用例叙述:用来描述用例的一段格式文字说明,也成为了用例说明
内容:
用例编号
用例名
参与者
前置条件
后置条件
事务流程
基本事件流和意外事件流
基本事件流是用例正常执行的时间流程
意外事件流是出错处理等例外处理事件流程
8.发现用例
一般方法:
- 找出系统外部参与者,确定系统边界和范围
- 确定个参与者所期望的系统行为
- 把这秀系统行为命名为用例
- 确定个用例之间的关系(泛化,包含,扩展)
- 绘制用例图
- 编制用例叙述
- 对异常流程确定单独用例
- 优化用例图,解决用例之间的冲突和重复