`
jiagou
  • 浏览: 2531708 次
文章分类
社区版块
存档分类
最新评论

UMl——用例图

 
阅读更多

用例图:主要用于为系统的功能需求建模,它主要描述系统功能,也就是从外部用户的角度观察,系统应该完成哪些功能,有利于开发人员以一种可视化的方式理解系统的功能需求;有利于用户和软件开发人员之间的沟通。

用例图是对系统功能的一个宏观描述,画好用例图是由软件需求到最终实现的第一步,也是最重要的一步。

作用:

  1. 系统用户、系统分析人员、系统设计人员、领域专家能够以可视化的方式对问题进行探讨,减少了大量交流上的障碍,便于对问题达成共识。
  2. 用例图可视化地表达了系统的需求,具有直观、规范等优点,克服了纯文字性说明的不足。
  3. 用例方法是完全从外部来定义系统功能,它把需求和设计完全的分离开来。我们不用关心系统内部是如何完成各种功能的,系统对于我们来说就是一个黑箱子。
  4. 用例图清楚地描述了使用者及它们之间的泛化关系,用例及用例之间的泛化、扩展关系,用例和参与者之间的关联关系,可从用例图中得到对于被定义系统的一个总体印象。

4个组成要素:

  • 角色
  • 用例
  • 系统边界
  • 关联

角色(Actor)是指存在于系统外部并直接与系统进行交互的人、系统、子系统或类的外部实体的抽象。

系统边界是指系统与系统之间的界限。通常我们所说的系统可以认为是由一系列的相互作用的元素形成的具有特定功能的有机整体。

用例是参与者可以感受到的系统服务或功能单元。它定义了系统是如何被参与者使用的,描述了参与者为了使用系统所提供的某一完整功能而与系统之间发生的一段对话。

用例的特征:

  1. 用例必须由某一个参与者触发激活后才能执行,即每个用例至少涉及一个参与者。
  2. 用例表明的也是一个类,而不是某个具体实例。
  3. 用例描述的是它代表的功能的各个方面,包含了用例执行期间可能发生的各种情况。
  4. 用例是一个完整的描述。若其被分解成多个小用例,则仅当所有的小用例完成后才代表整个用例的完成。

用例最大的优点:

站在用户的角度上(从系统的外部)来描述系统的功能。它把系统当作一个黑箱子,并不关心系统内部是如何完成它所提供的功能,表达了整个系统对外部用户可见的行为。

关系:

关联:为了减少模型维护的工作量、保证用例模型的可维护性和一致性,可以在用例之间抽象出包含、扩展和泛化这几种关系。

这几种关系都是从现有的用例中抽取出公共信息,再通过不同的方法来重用这部分公共信息。

包含:

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

优点:

  • 提高了用例模型的可维护性,当需要对公共需求进行修改时,只需要修改一个用例而不必修改所有与其有关的用例。
  • 不但可以避免在多个用例中重复描述同一段行为,还可以避免在多个用例中对同一段行为描述的不一致。

扩展:

在一定条件下,把新的行为加入到已有的用例中,获得的新用例叫做扩展用例(Extension),原有的用例叫做基础用例(Base),从扩展用例到基础用例的关系就是扩展关系。

扩展关系和包含关系的不同:

  • 在扩展关系中,基础用例提供了一个或多个插入点,扩展用例为这些插入点提供了需要插入的行为。而在包含关系中插入点只能有一个。
  • 基础用例的执行并不一定会涉及到扩展用例,扩展用例只有在满足一定条件下才会被执行。而在包含关系中,当基础用例执行后,被包含用例是一定会被执行的。
  • 即使没有扩展用例,扩展关系中的基础用例本身也是完整的;而对于包含关系,基础用例在没有被包含用例的情况下就是不完整的存在。

泛化:

当发现系统中有两个或者多个用例在行为、结构和目的方面存在共性时,就可以使用泛化关系。用新的用例来描述这些共有部分,这个新的用例就是父用例。

泛化关系与包含关系异同

  • 相同:都可用来复用多个用例中的公共行为。
  • 区别:
    • 在泛化关系中,所有的子用例都有相似的目的和结构,它们是整体上的相似。
    • 在包含关系中,基础用例在目的上可以完全不同,但它们都有一段相似的行为,它们的相似只是部分的相似。

粒度:

  • 用例的粒度指的是用例所包含的系统服务或功能单元的多少。用例的粒度越大,用例包含的功能越多,反之则包含的功能越少。
  • 如果用例数目过多会造成用例模型过大和引入设计困难大大提高。如果用例数目过少会造成用例的粒度太大,不便于进一步的充分分析。
  • 在确定用例粒度时应该根据每个系统的具体情况,具体问题具体分析,在尽可能保证整个用例模型的易理解性的前提下决定用例的大小和数目。

下面机房收费系统的用例图:

角色之间的关系:

一般用户:

操作员:

管理员:

分享到:
评论

相关推荐

    需求分析——UML用例图

    需求分析介绍、用例建模、九大模型、UML建模工具、

    《统一建模语言》课件——用例图专题

    上课的课件哦,主要是经常从这里下载资料,没有分数了,另外也觉得要做点贡献,希望对大家有所帮助。

    基于UML的系统分析方法研究_兼论UML分析设计在图书管理系统中的应用

    本文介绍了可视化系统分析的建模语言认为它的各个模型可以帮助开发人员更好地理解业务流程, 建立更可靠、更 ...管理系统中的应用为例, 说明作为软件工程中的建模语言, 具有重大的经济价值和国防价值

    软件工程——UML图详解例题

    包含UML图中的用例图,类图,对象图,顺序图,通信图,协作图,活动图,状态机图,部署图画法及详解

    数据结构算法

    细说高级操作 8天学通MongoDB——第二天 细说增删查改 8天学通MongoDB——第一天 基础入门 UML系列(4)团队沟通利器之UML——类图 团队沟通利器之UML—— 序列图 团队沟通利器之UML——用例图 团队沟通利器之UML——...

    UML.rar_diagram_uml顺序图_状态图_类图_类图 包图

    UML实践——用例图、顺序图、状态图、类图、包图、协作图

    UML实验报告

    UML课程实验报告,主要是关于图书管理系统的分析,有用例图、活动图、状态图、配置图等等经典图形。其实,比较重要的还是心得体会,主要是关于visio2010的一些操作技巧。

    UML建模——图书管理系统需求分析报告

    图书信息管理系统是使用计算机实现图书大量信息处理的电子档案管理系统,在本系统中主要满足借书者、图书管理员和系统管理员3方面的需求

    Java高手真经 - Java Web系统设计与架构 (二) UML

    用例图——企业产品生产销售管理系统 uml/class_login.mdl //03.类图和包图——企业信息管理系统用户登录和注册模块 uml/component_emis.mdl //04.组件图与部署图——企业信息管理系统 uml/statechart_bug.mdl ...

    UML课程设计———新生报到注册系统

    用rational rose做的uml的新生报到注册系统 有学习UML的同学们积极学习,包括用例图、顺序图、活动图、构件图、类图等等。。

    案例分析——采用UML对学生宿舍管理系统建模

    本案例采用UML语言对进销存系统进行分析和设计,通过本案例的讲解,目的是使学生了解面向对象的基本思想方法,学会使用UML语言对面向对象开发的软件系统进行可视化描述、分析与设计。

    SOC设计UML实务手册完整版

    本书讲解UML在芯片设计上的应用,主要内容包括:SystemC程序的基本组成、用活动图呈现进程设计、用StarUML绘制活动图、用组合结构图呈现结构设计、用StarUML绘制组合结构图、用通信图呈现通信设计、用StarUML绘制...

    java高手真经 (UML建模+设计模式+面向服务架构) 卷10

    用例图——企业产品生产销售管理系统 uml/class_login.mdl //03.类图和包图——企业信息管理系统用户登录和注册模块 uml/component_emis.mdl //04.组件图与部署图——企业信息管理系统 uml/statechart_bug.mdl //05....

    java高手真经 (UML建模+设计模式+面向服务架构) 卷5

    用例图——企业产品生产销售管理系统 uml/class_login.mdl //03.类图和包图——企业信息管理系统用户登录和注册模块 uml/component_emis.mdl //04.组件图与部署图——企业信息管理系统 uml/statechart_bug.mdl //05....

    java高手真经 (UML建模+设计模式+面向服务架构) 卷1

    用例图——企业产品生产销售管理系统 uml/class_login.mdl //03.类图和包图——企业信息管理系统用户登录和注册模块 uml/component_emis.mdl //04.组件图与部署图——企业信息管理系统 uml/statechart_bug.mdl ...

    安保系统uml详细设计文档

    安环管理——功能用例图.doc 安环管理——类图.doc 安环管理——详细设计.doc 安环框图.doc 安全管理数据库设计.doc 安全环境管理.doc Power_Link_Relation.md~ Power_Link_NoRelation.mdl Power_Link_Relation.mdl ...

    UML语言设计核心内容

    详细阐述UML设计核心, 统一建模语言(UML)参考手册——基本概念 第一章 UML语言简介 ...第三章 静态建模用例和用例图 第四章 静态建模类图和对象图 第五章 动态建模 第六章 物理架构视图 第七章 UML的扩展

    对grasp的理解和应用

    ,在这门课的理论课上,我对对象设计和职责分配的基本原则有了一定的了解老师为我们讲述了设计类的模式,让我们对于项目的整体构思有了一定的思维方法,在实验课上,老师为我们准备了很多实验,绘画用例图、类图、...

    java高手真经 (UML建模+设计模式+面向服务架构) 卷8

    用例图——企业产品生产销售管理系统 uml/class_login.mdl //03.类图和包图——企业信息管理系统用户登录和注册模块 uml/component_emis.mdl //04.组件图与部署图——企业信息管理系统 uml/statechart_bug.mdl //05....

    java高手真经 (UML建模+设计模式+面向服务架构) 卷6

    用例图——企业产品生产销售管理系统 uml/class_login.mdl //03.类图和包图——企业信息管理系统用户登录和注册模块 uml/component_emis.mdl //04.组件图与部署图——企业信息管理系统 uml/statechart_bug.mdl //05....

Global site tag (gtag.js) - Google Analytics