1、什么是用例图
用例图是指由参与者(Actor)、用例(Use Case)以及他们之间的关系构成的用于描述系统功能的视图
2、用例图的构成
用例图仅站在外部观察系统功能,也就是参与者使用系统的角度描述系统中的信息,并不描述这些功能在系统内部的实现过程。
用例图不仅包含系统﹑参与者和用例3个元素,而且还包含表示这些元素之间存在的泛化关系﹑关联关系和依赖关系等各种关系。
2.1 系统
系统用于执行特定功能·它不单指一个软件系统,而是为用户执行某类功能的一个或多个软件构件。如图书馆管理系统﹑学生选课系统﹑信息发布系统等都属于系统。
2.2 参与者
参与者是系统外的一个实体,它代表了与系统交互的用户、设备或另一个系统。
参与者是系统服务的对象,通过向系统输入信息,或者系统为参与者提供信息来进行交互,以实现系统功能。在确定系统的用例时,首要问题就是识别参与者。
2.3 用例
用例可以是一组连续的操作,也可以是一个特定功能的模块。
系统由一个或多个用例构成,参与者与系统的关系主要表现在参与者与系统用例的关系。用例是一个叙述型的文档,用来描述参与者使用系统完成的事件。
2.4 关系
这里讲的关系是参与者与用例间的关系,即关联关系。
用例图就是描述系统和参与者关系的,而用例和参与者都是独立的事物,关系就是他们之间的关联或通信。这种通信是双向的,参与者肯定要与某个或多个用例交互,用例也肯定会有参与者与之交互,否则参与者或用例将会成为多余。
2.5 用例关系和描述
用例除了与其参与者发生关联外,还可以具有系统中的多个关系,这些关系包括包含关系﹑扩展关系和泛化关系,而应用这些关系的目的是从系统中抽取出公共行为和其变体。
2.5.1 泛化关系
泛化是一种表示UML中项目的继承关系的技术。泛化可以应用于参与者和用例中来表示其子项从父项继承的功能,还表示了每个子项都有略微不同的功能,以确保自己的唯一性。泛化可以用于用例,也可以用于参与者。
2.5.2 包含关系
指一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。
这种情况下,新用例不是初始用例的一个特殊例子,并且不能被初始用例所代替。包含关系把几个用例的公共步骤分离成一个单独的被包含用例。
2.5.3 扩展关系
扩展关系是一种依赖关系,它指定了一个用例可以增强另一个用例的功能,是把新的行为插入到已有用例中的方法。
2.6 用例描述
用例图描述了参与者和系统特征之间的关系,但是它缺乏描述系统行为的细节。所以一般情况下,还会以书面文档的形式对用例进行描述,每个用例应具有一个用例描述。在UML中对用例的描述并没有硬性规定,但一般情况下用例描述应包括以下几个方面。
- 1.名称
- 2.标识符[可选]
- 3.参与者[可选]
- 4.状态[可选]
- 5.频率
- 6.前置条件
- 7.后置条件
- 8.假设[可选]
- 9.基本操作流程
- 10.可选操作流程
- 11.修改历史记录[可选]