`

UML用例图

    博客分类:
  • UML
 
阅读更多

 用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。

  【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。

  用例图所包含的元素如下:

  1. 参与者(Actor)

  表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。

 

  2. 用例(Use Case)

   用例就是外部可见的系统功能,对系统提供的服务进行描述。用椭圆表示。

  3. 子系统(Subsystem)

  用来展示系统的一部分功能,这部分功能联系紧密。

  4. 关系

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

  如下表所示:

  a. 关联(Association)

  表示参与者与用例之间的通信,任何一方都可发送或接受消息。

  【箭头指向】:指向消息接收方

  b. 泛化(Inheritance)

  就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。

  【箭头指向】:指向父用例

  c. 包含(Include)

  包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。

  【箭头指向】:指向分解出来的功能用例

  d. 扩展(Extend)

  扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。

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

  e. 依赖(Dependency)

  以上4种关系,是UML定义的标准关系。但VS2010的用例模型图中,添加了依赖关系,用带箭头的虚线表示,表示源用例依赖于目标用例。

  【箭头指向】:指向被依赖项


  5. 项目(Artifact)

  用例图虽然是用来帮助人们形象地理解功能需求,但却没多少人能够通看懂它。很多时候跟用户交流甚至用Excel都比用例图强,VS2010中引入了“项目”这样一个元素,以便让开发人员能够在用例图中链接一个普通文档。

  用依赖关系把某个用例依赖到项目上:

  然后把项目-》属性 的Hyperlink设置到你的文档上;

  这样当你在用例图上双击项目时,就会打开相关联的文档。

  6. 注释(Comment)

 

  包含(include)、扩展(extend)、泛化(Inheritance) 的区别:

  条件性:泛化中的子用例和include中的被包含的用例会无条件发生,而extend中的延伸用例的发生是有条件的;

  直接性:泛化中的子用例和extend中的延伸用例为参与者提供直接服务,而include中被包含的用例为参与者提供间接服务。

  对extend而言,延伸用例并不包含基础用例的内容,基础用例也不包含延伸用例的内容。

  对Inheritance而言,子用例包含基础用例的所有内容及其和其他用例或参与者之间的关系;

  一个用例图示例:

 

  牢骚:

  感觉用例图还不成熟,并不能很好地表达系统的需求, 没有UML背景的用户几乎不知道画的是些什么。

  其次,包含关系、扩展关系的箭头符号竟然是同样的箭头,仅靠上方写个文字来加以区别,翻译成其他语言的话,几乎就不知道代表什么意思。扩展关系的箭头朝向也很难理解,为何要指向基用例,而不指向扩展用例。

  VS2010添加的“项目”元素,是个很好的创新,能够在用例图中关联word, excel这些文档。但为什么不把这些功能直接集成到用例里面,双击用例就弹出一份文档岂不更容易理解,非要画蛇添足地加一个元件,仅仅为了提供个链接功能。 

  用例描述表:

  鉴于用列图并不能清楚地表达功能需求,开发中大家通常用描述表来补充某些不易表达的用例,下图的表给大家提供一个参考:

 

分享到:
评论

相关推荐

    uml用例图

    **UML用例图详解** 在软件工程领域,UML(统一建模语言)是一种用于系统分析和设计的标准建模工具。用例图是UML中的一个重要组成部分,它主要用于描述系统与用户之间的交互,以及系统如何满足不同用户的需求。本文...

    学生管理系统uml用例图

    《学生管理系统UML用例图详解》 在软件开发领域,UML(统一建模语言)是一种标准化的建模工具,用于描绘系统的行为和结构。本文将以学生管理系统为例,深入探讨如何利用UML进行系统建模,特别是用例图的构建。 ...

    UML用例图规范

    UML用例图规范用例子的编写,对于正在学软件工程或者UML的同学,会很有帮助的。欢迎下载!

    解析UML用例图中include与extend的区别

    解析 UML 用例图中 include 与 extend 的区别 UML 用例图是软件开发过程中的一种重要工具,它能够帮助我们更好地理解和描述业务需求。在 UML 用例图中,有两种重要的关系:include 和 extend。这两种关系都是用来...

    UML用例图例子

    **UML用例图(Use Case Diagram)是统一建模语言(Unified Modeling Language)中的一种图形表示形式,用于描述系统或软件的外部行为。它主要关注系统的功能需求,通过图形化方式来展示用户(Actors)与系统(System...

    uml用例图实例讲解

    《UML用例图实例讲解》 UML(统一建模语言)是软件开发中用于系统建模的重要工具,其中用例图是描述系统功能需求的关键图表。本章将深入探讨用例图的概念、建模技术和一个实际的图书馆管理系统用例图的案例。 5.1 ...

    UML 用例图实例及设计文档

    UML 用例图实例及设计文档 以下是对给定文件信息的详细解释: 标题:UML 用例图实例及设计文档 描述:本资源中用例图是关于学校选修课系统、电路采样系统、新闻管理系统的实例。 标签:UML 用例图 选修课系统 ...

    论文研究-基于UML用例图的软件产品线需求建模方法.pdf

    而传统的UML用例图等方法不足以完整描述产品线需求,特别是其变化性。通过分析软件产品线开发过程和软件产品线需求建模的特殊性,采用扩展UML用例图标签的方法,实现对软件产品线需求的明确描述。以网络图书销售软件...

    简单选课系统uml用例图、协作图、序列图

    本篇文章将深入探讨如何运用UML的用例图、协作图和序列图来构建一个简单的选课系统,旨在为初学者提供实用的参考。 一、用例图(Use Case Diagram) 用例图是UML中的重要组成部分,它展示了系统的主要参与者...

    UML用例图实例,UML用例图实例

    **UML用例图详解** UML(统一建模语言)是软件开发中的一种标准化建模工具,用于可视化和理解系统的功能需求。其中,用例图(Use Case Diagram)是UML中的一个重要组成部分,它提供了对系统外部行为的高层次视图,...

    UML用例图之泛化关系

    UML用例图之泛化关系 UML用例图是面向对象系统建模中最常用的图形化工具之一,用于描述系统中的类、接口、对象及其之间的关系。其中,泛化关系是UML用例图中的一种重要关系,表示"is-a"关系,即子类继承父类的所有...

    UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系

    在画用例图的时候,理清用例之间的关系是重点。用例的关系有泛化(generalization)、扩展(extend)和包含(include)。其中include和extend最易混淆。下面我们结合实例彻底理清三者的关系。基本概念用例图...

    UML用例图及流程图标准

    **UML用例图及流程图标准** 在软件开发领域,统一建模语言(Unified Modeling Language,简称UML)是一种标准化的图形表示方法,用于描述系统的行为和结构。UML用例图和流程图是其中两种重要的图表,它们分别从不同...

    解释UML用例图中包含,扩展、泛化的区别.doc

    理解 UML 用例图中的包含、扩展、泛化关系 UML 用例图是Unified Modeling Language(统一建模语言)中的一种图形表示方法,用于描述系统的功能和行为。在 UML 用例图中,包含、扩展和泛化是三种基本关系,它们之间...

    UML用例图实例讲解

    **UML用例图实例讲解** UML(统一建模语言)是软件开发过程中的一种标准化建模工具,它提供了一套图形化的方式来描述系统的行为、结构和关系。在UML中,用例图(Use Case Diagram)是描述系统外部参与者(Actor)与...

    UML用例图讲解PPT

    **UML用例图详解** UML(统一建模语言)是软件开发中常用的一种建模工具,它提供了一种标准化的方式来描述系统的行为和结构。其中,用例图(Use Case Diagram)是UML中最基础的图表之一,主要用于描绘系统与用户、...

    UML网购系统用例图

    在本例中,我们将深入探讨一个UML用例图,该图用于描述一个在线购物系统,涵盖了管理员、会员和游客的主要操作。 首先,我们来看一下系统的核心需求。在线购物系统允许管理员将商品信息发布到平台上,进行商品信息...

    uml用例图说明

    关于uml用例的简介、用例图的画法、用例图的定义域说明。

Global site tag (gtag.js) - Google Analytics