• 当前位置:首页>>UML语言>>UML基础教程>>uml 用例视图用例
  • uml 用例视图用例
  • · 用例

    用例是外部可见的一个系统功能单元 , 这些功能由系统单元所提供 , 并通过一系列系统单元与一个或多个参与者之间交换的消息所表达。用例的用途是在不揭示系统内部构造的情况下定义连贯的行为。用例的定义包含用例所必需的所有行为 — 执行用例功能的主线次序、标准行为的不同变形、一般行为下的所有异常情况及其预期反应。从用户角度来看 , 上述情况很可能是异常情况;从系统角度来看 , 它们是必须被描述和处理的附加情况。

    在模型中 , 每个用例的执行独立于其他用例,虽然在具体执行一个用例功能时由于用例之间共享对象的缘故可能会造成本用例与其他用例之间有这样或那样的隐含的依赖关系。每一个用例都是一个纵向的功能块,这个功能块的执行会和其他用例的执行发生混杂。

    用例的动态执行过程可以用 UML 的交互作用来说明,可以用状态图、顺序图、合作图或非正式的文字描述来表示。用例功能的执行通过类之间的协作来实现。一个类可以参与多个协作,因此也参与了多个用例。

    在系统层,用例表示整个系统对外部用户可见的行为。一个用例就像外部用户可使用的系统操作。然而,它又与操作不同,用例可以在执行过程中持续接受参与者的输入信息。用例也可以被像子系统和独立类这样的小单元所应用。一个内部用例表示了系统的一部分对另一部分呈现出的行为。例如,某个类的用例表示了一个连贯的功能,这个功能是该类提供给系统内其他有特殊作用的类的。一个类可以有多个用例。

    用例是对系统一部分功能的逻辑描述,它不是明显的用于系统实现的构件。非但如此,每个用例必须与实现系统的类相映射。用例的行为与类的状态转换和类所定义的操作相对应。只要一个类在系统的实现中充当多重角色,那么它将实现多个用例的一部分功能。设计过程的一部分工作即在不引入混乱的情况下,找出具有明显的多重角色的类,以实现这些角色所涉及的用例功能。用例功能靠类间的协作来实现。

    用例除了与其参与者发生关联外,还可以参与系统中的多个关系(如 表 5–1)。

    关系

    功能

    表示法

    关联

    参与者与其参与执行的用例之间的通信途径

    扩展

    在基础用例上插入基础用例不能说明的扩展部分

     

    用例泛化

    用例之间的一般和特殊关系,其中特殊用例继承了一般用例的特性并增加了新的特性

    包括

    在基础用例上插入附加的行为,并且具有明确的描述

    表 5–1 用例之间的关系

    如 图 5–2 ,用例用一个名字在里面的椭圆表示,用例和与它通信的参与者之间用实线连接。


    图 5–2 用例之间的关系

    虽然每个用例的实例是独立的,但是一个用例可以用其他的更简单的用例来描述。这有点像一个类可以通过继承它的超类并增加附加描述来定义。一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为做为自身行为的一部分,这被称作包含关系。在这种情况下,新用例不是初始用例的一个特殊例子,而且不能被初始用例代替。

    一个用例也可以被定义为基用例的增量扩展 , 这叫做扩展关系。同一个基用例的几个扩展用例可以在一起应用。基用例的扩展增加了原有的语义 , 此时是本用例而不是扩展用例被作为例子使用。

    包含和扩展关系可以用含有关键字 <<include>> 和 <<extend>> 的带箭头的虚线表示。包含关系箭头指向被包含的用例,扩展关系箭头指向被扩展的用例。

    一个用例也可以被特别列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。

    用例泛化与其他泛化关系的表示法相同,都用一个三角箭头从子用例指向父用例。 图 5–2 表示了销售中的用例关系。  

    [1]

  • 上一篇:uml 各种视图间的关系
    下一篇:uml 术语大全