用例图

573 阅读3分钟

1、什么是用例图

用例图是指由参与者(Actor)、用例(Use Case)以及他们之间的关系构成的用于描述系统功能的视图

2、用例图的构成

用例图仅站在外部观察系统功能,也就是参与者使用系统的角度描述系统中的信息,并不描述这些功能在系统内部的实现过程。

用例图不仅包含系统﹑参与者和用例3个元素,而且还包含表示这些元素之间存在的泛化关系﹑关联关系和依赖关系等各种关系

2.1 系统

系统用于执行特定功能·它不单指一个软件系统,而是为用户执行某类功能的一个或多个软件构件。如图书馆管理系统﹑学生选课系统﹑信息发布系统等都属于系统。

未命名文件 (1).png

2.2 参与者

参与者是系统外的一个实体,它代表了与系统交互的用户、设备或另一个系统。

参与者是系统服务的对象,通过向系统输入信息,或者系统为参与者提供信息来进行交互,以实现系统功能。在确定系统的用例时,首要问题就是识别参与者。

image.png

2.3 用例

用例可以是一组连续的操作,也可以是一个特定功能的模块。

系统由一个或多个用例构成,参与者与系统的关系主要表现在参与者与系统用例的关系。用例是一个叙述型的文档,用来描述参与者使用系统完成的事件。

未命名文件.jpg

2.4 关系

这里讲的关系是参与者与用例间的关系,即关联关系。

用例图就是描述系统和参与者关系的,而用例和参与者都是独立的事物,关系就是他们之间的关联或通信。这种通信是双向的,参与者肯定要与某个或多个用例交互,用例也肯定会有参与者与之交互,否则参与者或用例将会成为多余。

image.png

2.5 用例关系和描述

用例除了与其参与者发生关联外,还可以具有系统中的多个关系,这些关系包括包含关系﹑扩展关系和泛化关系,而应用这些关系的目的是从系统中抽取出公共行为和其变体。

2.5.1 泛化关系

泛化是一种表示UML中项目的继承关系的技术。泛化可以应用于参与者和用例中来表示其子项从父项继承的功能,还表示了每个子项都有略微不同的功能,以确保自己的唯一性。泛化可以用于用例,也可以用于参与者。

未命名文件.jpg

2.5.2 包含关系

指一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。

这种情况下,新用例不是初始用例的一个特殊例子,并且不能被初始用例所代替。包含关系把几个用例的公共步骤分离成一个单独的被包含用例。

image.png

2.5.3 扩展关系

扩展关系是一种依赖关系,它指定了一个用例可以增强另一个用例的功能,是把新的行为插入到已有用例中的方法。

image.png

2.6 用例描述

用例图描述了参与者和系统特征之间的关系,但是它缺乏描述系统行为的细节。所以一般情况下,还会以书面文档的形式对用例进行描述,每个用例应具有一个用例描述。在UML中对用例的描述并没有硬性规定,但一般情况下用例描述应包括以下几个方面。

  • 1.名称
  • 2.标识符[可选]
  • 3.参与者[可选]
  • 4.状态[可选]
  • 5.频率
  • 6.前置条件
  • 7.后置条件
  • 8.假设[可选]
  • 9.基本操作流程
  • 10.可选操作流程
  • 11.修改历史记录[可选]