为什么80%的码农都做不了架构师?>>>   

用例图(use case diagram)主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。它主要用来图示化系统的主事件流程,从而描述客户的需求。设计人员根据客户的需求来创建和解释用例图,并用来描述软件应具备哪些功能模块以及这些模块之间的调用关系,用例图包含了用例和参与者,用例之间用关联来连接以求把系统的整个结构和功能反映给非技术人员(通常是软件的用户),对应的是软件的结构和功能分解,因此,设计用例图也是设计系统分析阶段的起点。

用例图(use case diagram)所包含的元素如下:

  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而言,子用例包含基础用例的所有内容及其和其他用例或参与者之间的关系;

 一个用例图示例:

                                                   

转载于:https://my.oschina.net/xiaoleei/blog/757109

UML静态建模之用例图相关推荐

  1. [摘]UML学习二:标准建模语言UML的静态建模机制

    任何建模语言都以静态建模机制为基础,标准建模语言UML也不例外. UML的静态建模机制包括 用例图(Use case diagram).类图(Class diagram).对象图(Object dia ...

  2. UML 建模步骤 用例图 类图 对象图 包图 顺序图/时序图 状态图 活动图 协作图

    统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明.可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言. UML是面向对象设计的建 ...

  3. 统一建模语言UML轻松入门(3)――静态建模:类和对象

    统一建模语言UML轻松入门(3)――静态建模:类和对象 --------------------------------------------------------------------- 宋宝 ...

  4. 软件设计师考试笔记:UML统一建模语言

    统一建模语言UML是用一组视图反应系统的各个方面,以完整地描述系统,每个视图代表系统描述中的一个抽象,显示系统中一个特定的方面. UML中有四种关系:依赖.关联.泛化和实现: 依赖(dependenc ...

  5. UML统一建模(语言)和数据库建模

    UML统一建模(语言)和数据库建模 UML统一建模语言(Unified Modeling Language )或标准建模语言,是始于1997年一个OMG标准,它通过图形化语言为软件开发中每个阶段(例如 ...

  6. UML 太极建模口诀(建模向导与助手)

    UML 太极建模口诀(建模向导与助手) 我从 1998 年起开始学习 UML.Use Case 和 RUP.过去十年来,一直听到国内外有人说,UML 太复杂,RUP 太复杂,果真如此么? 对此,我很不 ...

  7. UML 软件建模课程期末复习笔记及课程设计报告

    UML 基础概念 模型 概念:是对现实系统本质特征的一种抽象,简化和直观的描述. 特征 反映性 直观性 简化性 抽象性 分类 概念模型 逻辑模型 物理模型 软件模型 概念:指通过软件建模语言对软件的功 ...

  8. UML软件建模技术-基于IBM RSA工具的基础实训

    IBM Rational Software Architect基础实训 引言 本实训帮助软件设计和开发人员使用IBM RSA开始UML建模.学习者将获得使用IBM RSA的实际操作经验,熟悉IBM R ...

  9. 在 UML 静态结构图中使用类和对象

    在 UML 静态结构图中使用类和对象 向类.组件或其他元素添加接口 在静态结构图.组件图或部署图中,将棒糖形"接口"形状(用一条直线加圆圈表示)拖到绘图页上. 将不带圆圈的端点粘附 ...

最新文章

  1. 百度:I am from China, wait, am I?
  2. 关于纯cs3动画的五个原创实例分享
  3. 《JS权威指南学习总结--开始简介》
  4. day15-ajax和jquery
  5. HDU 1159 Common Subsequence 动态规划
  6. java web 数据库操作_Java Web----Java Web的数据库操作(二)
  7. Windows拷贝大文件
  8. linux 任务计划 cron
  9. HDU 2054 大数比较
  10. python操作数据库的两种方式
  11. go1.5源代码安装
  12. gin框架01--快速入门gin框架
  13. 华为ipd项目管理流程_从偶然成功到持续成功—华为IPD体系的建设
  14. OFDM转向FBMC
  15. Warning: require(E:\oms\public/../vendor/autoload.php): failed to open stream: No such file or direc
  16. Android Q 上的Biometric生物识别之Face人脸识别流程
  17. 《我是个怪圈》读书笔记
  18. centos 中英文输入法切换
  19. 你真的榨干QQ潜能了吗?QQ技巧全面分享
  20. java并发编程实战(二)

热门文章

  1. 织梦channel标签currentstyle样式无效不起作用
  2. ubuntu sublime字体设置
  3. 我的日常工具——gdb篇
  4. Sql 2008 安装遇到的问题
  5. 四门专业课,有点困难哈~
  6. 若要加载模块二进制_春哥说 | 浅谈NodeJs的模块机制-2
  7. 设计模式复习-迭代器模式
  8. 【Android 逆向】Android 进程注入工具开发 ( EIP 寄存器指向 dlopen 函数 | ESP 寄存器指向栈内存 | 调试程序收回目标进程控制权 )
  9. 【Binder 机制】进程通信 | 用户空间与内核空间 | MMU 与虚拟内存地址
  10. 【计算机网络】网络安全 : 报文鉴别 ( 密码散列函数 | 报文摘要算法 MD5 | 安全散列算法 SHA-1 | MAC 报文鉴别码 )