UML学习笔记(二)__用例

1.用例与用例图

     用例是需求分析中最重要的概念,需求表征了一个系统的涉及特性、特征和行为,描述一个系统的需求意味着描述了建立在该系统外部的事物与系统之间的契约,契约上声明了期望系统做声明。

     需求获取(Requirement Elicitation)是需求工程的主体,其主要工作室建立待开发系统的模型,而用例就是用于建立这种模型的良好方法。

     在用例图中主要涉及到参与者(又称角色、执行者)、用例以及二者之间的通讯关联。图1味图书馆管理系统用例图。

    Untitled picture

                                              图1

参与者
       参与者是与系统、子系统或类发生交互的外部用户、进程或其他系统。参与者可以使人、另一个计算机系统或一些可运行的进程。在图1中,“读者”和“管理员”即为参与者。

      参与者之间可以存在泛化关系,在图1中,可以认为“读者”是“学生读者”和“教师读者”的泛化,而“学生读者”还可以具体化为“本科生读者”和“研究生读者”;同样,“图书管理员”也是“采购员”、“编目员”的泛化。图2表示了参与者之间的泛化关系。

                                  Untitled picture

用例

      用例是外部可见的一个系统功能,这些功能由系统提供,并通过参与者之间消息的交换来表达。用例的用途是在不揭示系统那内部构造的情况下定义行为序列,它把系统当做一个黑箱,表达整个系统对外部用户可见的行为。

     鉴于用例的特点,用例一般被命名为一个能够说明目标的动名词组。如图1中的“借书”、“还书”。

     用例之间也可以存在包含、扩展和泛化等关系:

    (1)包含关系:用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分,这被称作包含关系。

    (2)扩展关系:扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例的行为如何插入到为基本用例定义的行为中。它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。在以下几种情况下,可使用扩展用例:

      a,表明用例的某一部分是可选的系统行为(这样就可以将模型中的可选行为和必须按行为分开);

      b,表明只在特定条件(如例外条件)下才执行的分支流;

      c,表明可能有一组行为段,其中的一个或多个段可以在基本用例中的扩展点处插入。所插入的行为段和插入的顺序取决于在执行基本用例时于主角进行的交互。

      图3给出了一个扩展关系的例子,在还书过程中,只有在例外条件(读者遗失书籍)的情况下,才会执行赔偿遗失书籍的分支流。

         Untitled picture

    (3)泛化关系:用例可以被特殊列举为一个或多个子用例,这被称为用力泛化。当父用例能够被使用时,任何子用例也可以被使用。如在图4中,订票时电话订票和网上订票的抽象。

       Untitled picture

通讯关联

      通讯关联用于表示参与者和用例之间的对应关系,它表示参与者使用了系统中的哪些用例。

      通讯关联以箭头或实线表示。若使用箭头,箭头所指方将是对话的被动接受者;如果不强调对话中的主动与被动关系,则可以使用不带箭头的关联实线。

2.建立用例模型

      怎么找出参与者、用例以及如何定义用例。

    (1)确定参与者:

     a. 谁/什么使用系统?
b. 谁/什么从系统获得信息?
c. 谁/什么向系统提供信息?
d. 谁/什么支持、维护系统?
e. 哪些其它系统使用此系统?
f. 公司的哪个部门使用系统?  …

    (2)选取其中一个参与者;

    (3)定义该参与者希望系统做什么,参与者希望系统做的每件事成为一个用例。为了发现用例,我们可以尝试问以下问题:

     a. 为什么该参与者想要使用此系统?
b. 该参与者是否要创建、保存、更改、移动或读取系统的数据?如果是,为什么?
c. 该参与者是否要通知系统外部事件或变化?
d. 该参与者是否需要知道系统内部的特定事件?

    (4)对每件事来说,何时参与者会使用系统,通常会发生什么,这就是用例的基本过程;

    (5)描述该用例的基本过程;

    (6)考虑一些可变情况,把他们创建为扩展用例;

    (7)复审不同用例的描述,找出其中的相同点,抽出相同点作为共同的用例;

    (8)重复步骤2-7找出每一个用例。

参与者检查的参考标准如下:
(1)是否您已找到所有的参与者?也就是说,是否您已经对系统环境中的所有参与者都进行了说明和建模?
(2)每个参与者是否至少涉及到一个用例?
(3)您能否列出至少两名可以作为特定参与者的人员?
(4)是否有参与者担任与系统相关的相似参与者?如果有,您应该将他们合并到一个参与者中。
用例检查的参考标准如下:
(1)用例模型的简介部分简明清晰地概述此系统的目的和功能;
(2)所有的用例已确定,这些用例共同说明所有的必要行为;
(3)所有的功能性需求都至少映射到一个用例;
(4)该用例模型不包含多余的行为,所有的用例都可回溯到某个功能性需求来证明其合理性。

posted @ 2009-11-05 15:31  唐颖  阅读(410)  评论(0编辑  收藏  举报