学习UML --用例图

时间:2024-03-21 22:03:20

  用例图用于描述系统提供的系列功能。使用用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求。用例图对系统的实现不做任何说明,仅仅是系统功能的描述。

  用例图主要在需求分析阶段使用,用于描述系统实现的功能,方便与客户交流,保证系统需求的无二性。

  用例图有四部分用例,角色,系统边界,关系。

  1、角色

  与系统交互的一个实体。这个实体可以是用户、组织或者外部系统等。用一个小人表示。

    学习UML --用例图

  2、用例

  代表系统提供的一个服务或者系统提供的一个功能模块。个人理解就是系统对角色提供的服务(系统的一个功能或者多个功能组成的一个功能模块)。以一个椭圆表示,用例的名称放在椭  圆的中间或者下面。

    学习UML --用例图

  3、系统边界

  指系统与系统之间的界限。并把系统边界以外的同系统相关联的其他部分称为系统环境。系统边界用方框来表示,同时附上系统的名称,角色画在边界的外面,用例画在边界里面。因为系  统边界的作用有时不是很明显,所以可以省略。

    学习UML --用例图

  4、关系

  用例图中涉及的关系有关联,泛化,包含,扩展。

  如下表所示:

    学习UML --用例图

  a、关联

  表示角色和用例之间的通信,任何一方都可以发送和接收消息。

  【箭头指向】消息的接收方。

    学习UML --用例图

  b、泛化

  泛化可以理解为代码中的继承。父用例或者父角色具有一般性,子用例(或者子角色)具有特殊性。子用例(或者子角色)继承父用例(或者父角色)的行为、结构和关系。子用例(或者子角色)可以使用父用例(或者父角色)的部分行为,也可以重载它。父用例通常是抽象的。

  【箭头指向】父用例。

    学习UML --用例图   学习UML --用例图

  c、包含

  包含是指一个用例包含另一个用例。一般用于将复杂的用例所表示的功能分解成若干个简单的用例或者将若干个用例的公共部分分离出来,使其成为可以复用的用例。

  【箭头指向】被包含的用例。

    学习UML --用例图     学习UML --用例图 

    

  d、扩展

  扩展关系表示在一个用例对话流程中,可能会根据条件插入另外一个用例,前者称为基础用例,后者称为扩展用例。相当于为基础用例提供一个附加功能。

  【箭头指向】指向基础用例。

    学习UML --用例图

  系统中允许用户对用户查询的结果进行导出和打印,对于查询而言,能不能导出和打印查询结果都行一样的。导出、打印和查询是相互对立的,而且导出、打印为查询添加了新的行为。

  5、泛化、包含、扩展之间的关系

  条件性:泛化中的子用例和包含关系中被包含的用例呼无条件的发生,扩展关系中的扩展用例的发生是需要条件的。

  直接性:泛化中的子用例和扩展关系中的扩展用例为角色提供直接服务,而包含关系中被包含的用例为角色提供间接服务。

  对扩展关系而言,扩展用例不包含基础用例的内容,基础用例不包含扩展用例的内容。

  对泛化关系而言,子用例包含父用例的全部内容,包括父用例和其他用例和角色的关系。

  引用:

  https://baike.baidu.com/item/%E7%94%A8%E4%BE%8B%E5%9B%BE/9531932?fr=aladdin#1_3

  www.cnblogs.com/13062225wmx/p/5432356.html

  http://www.cnblogs.com/Yogurshine/archive/2013/01/14/2859248.html