如果说UML是一种语言,那么UML的基本词汇包括参与者、用例、边界、类、包、组件、节点等,而UML视图便是其语法,将基本元素组织起来,形成有意义的句子。如果说UML是一种语言,那么其最大的特征就是可视化,一种可视化语言,几种不同的视图从不同的角度展示了软件产品的方方面面的特征。UML视图分为两类,静态视图和动态视图,静态视图包括用例图、类图和包图,描述结构型特征,决定了能做什么,动态视图包括活动图、状态图、时序图和协作图,不能够独立存在,必须特制一个静态视图或UML元素,描述了行为型特征,决定了怎么做,下面从静态视图的用例图开始说起。

1、用例图

用例图采用参与者和用例作为基本元素,以不同的视角展现系统的功能性需求。用例图是了解系统的第一个关口,人们通过用例图得知一个系统将会做什么。对客户来说,用例图是它们业务领域的逻辑化表达,对建设单位来说,用例图是系统蓝图和开发的依据。业务用例图是一种用例图,使用业务主角和业务用例展现业务建模的结果,展现了业务系统的功能性需求,如果要描述这些需求的实现途径,则需要借助于业务用例实现图,后者体现了软件工程中需求可追溯的原则。通常来说,即使只有一种实现途径,绘制业务用例实现图也是一种好的建模方法,当有多个实现途径时,如果我们用业务对象和业务过程进行分析,就会发现其中有复用的对象和重叠的过程,这时可以用概念实例图,以业务实例为基本单元,用于展现业务用例分解而来的几个概念用例,它们的关系可能是扩展、包含或精化。概念用例图虽不是必须的,但对于一个复杂的业务用例来说,有助于我们的理解。与业务用例图对应的还有个系统用例图,前者是从用户的角度出发的,后者则是从计算机系统的角度考虑的,同理还有个系统用例是下图。

2、类图

类图用于展示系统中的类及其相互之间的关系,本质上说,类图是现实世界问题领域的抽象对象的结构化、概念化、逻辑化描述,包括三个层次,从概念层到说明层,再到实现层,随着抽象层次逐步降低而逐步细化。在概念层上,类图着重于对问题领域的概念化理解,而不是实现,因此类名称都是问题领域实际事物的名称,独立于实现语言和实现方式。说明层类图表达的类和类关系应当是对问题领域在接口层次抽象的描述,通常都非常粗略,虽然表达了计算机的观点,但是在描述上却采用了近似现实世界的语言,以保证从现实世界到代码实现的过渡。实现层类图中的类直接映射到可执行代码,明确采用哪种实现语言、什么设计模式、什么通信标准、遵循什么规范等。

3、包图

包图一般用来展示高层次的观点,范围较广,或者可以理解为是一种容器,包装其它范围较小的元素。

4、活动图

活动图描述了为了完成某一个目标需要做的活动以及这些活动的执行顺序,实际上描述的是业务流程,是一种过程化的分析方法,UML中由两个层面的活动图,一种用于描述用例场景,另一种用于描述对象交互。活动用例图是最经常使用的,用例表达了参与者的一个目标,用例场景则描述了如何来达到这个目标,活动图用来描述用例场景,也就是通常所说的业务流程。对象活动图用于展示对象的交互。活动图描述了业务流程中活动的执行顺序,却没有描述出谁来执行这些活动,即执行业务流程的职责被遗漏了,在面向过程的分析观点里,对象职责是不重要的,重要的是业务的执行过程,而在面向对象的分析里则与之相反,业务的执行过程不是重要的,对象职责才是最重要的,于是引入了泳道技术,就像一个游泳运动员只能在一个泳道里进行比赛一样,一个对象也只能在一个业务流程中担任一个或一类职责,多多少少解决了活动图不能描述对象职责的遗憾。

5、状态图

状态图显示一个状态机,状态机用于对模型元素的动态行为进行建模,更具体地说,就是对系统行为中受时间驱动的方面进行建模。通常使用状态图来说明业务角色或业务实体可能的状态,即导致状态转换的事件和状态转换引起的操作。状态图常常会简化对类的设计的确认。对于类的对象所有可能的状态,状态图都显示它可能接受的消息、将执行的操作和在此之后类的对象所处的状态。需要注意的是,状态图通常只用于描述单个对象的行为,如果要描述对象间的交互,最好采用时序图或协作图。

6、时序图

时序图用于描述按时间顺序排列的对象之间的交互模式,按照参与交互的对象所具有的生命线和它们相互发送的消息来显示这些对象。通常我们使用时序图来描述用例实现,通过贡献该用例实现的对象之间的交互来说明用例是如何被对象实现的。使用时序图来描述用例实现是一种从现实世界到对象世界的映射方法,它对我们确定对象职责和接口有着显著的作用,而对象的核心就是职责和接口。时序图和协作图是可以相互转换的,与协作图不同的是,时序图强调消息事件的发生顺序,更方便于阐述事件流的过程,但是时序图却难以表达对象之间关系。

7、协作图

协作图描述了对象之间交互的一种模式,通过对象之间的连接和它们相互发送的消息来显示参与交互的对象,与时序图不的是,协作图因为展示了对象间的关系,使得它更容易获得对对象结构的理解,而时序图更适用于获得对于调用过程的理解。

【UML】UML常见的几种视图相关推荐

  1. UML中常见的几种关联关系(依赖、泛化、实现、关联、组合、聚合)

    由于经常需要画uml类图,在这里记录下几种关联关系 类与类之间的关联关系主要分为以下几种: 依赖(Dependency) 泛化(Generalization) 实现(Interface Realiza ...

  2. Uml 理解Rational Rose软件中四种视图和Uml 9类图之间的关系

    对于一个稍有规模的软件来说,列出系统内类之间的关系,对象之间的时序协作,有利于系统的梳理和扩展,使系统逻辑更有条理.下面这片文章对于四种视图的使用有提纲挈领而又不失详细的说明,可以一看. http:/ ...

  3. UML中常用的几种图

    浅谈UML中常用的几种图 1 UML简介 2 UML常见图分类 3 用况图(用例) 4 类图 简单类图使用 举例 5 其他辅助用图 时序图(顺序图) 协作图(Collaboration Diagram ...

  4. UML总结(对九种图的认识和如何使用Rational Rose 画图)

    UML是一种建模语言,是系统建模的标准.我们之所以建模是因为大规模的系统设计时相当复杂的,当系统比较复杂时就会涉及到以下这几个问题: 开发人员如何与用户进行沟通来了解系统的需求? 开发人员之间如何沟通 ...

  5. UML 2.5的14种图术语和解释

    UML 2.5的14种图术语和解释 序号 图表UML图 图简要说明 1 用例图 从用户的角度提供系统或业务流程功能的概述.用户"使用"系统的方式是创建用例图的起点. 2 活动图 对 ...

  6. [UML]UML系列——状态机图statechart diagram

    [UML]UML系列--状态机图statechart diagram 原文:[UML]UML系列--状态机图statechart diagram 系列文章 [UML]UML系列--用例图Use Cas ...

  7. 软件设计之UML—UML的构成[上]

    UML是一种通用的建模语言,其表达能力相当的强,不仅可以用于软件系统的建模,而且可用于业务建模以及其它非软件系统建模.UML综合了各种面向对象方法与表示法的优点,至提出之日起就受到了广泛的重视并得到了 ...

  8. 【设计模式】常见的23种设计模式

    设计模式 文章目录 设计模式 七大原则: 1.单一职责原则 2.接口隔离原则 3. 依赖倒转原则 4.里氏替换原则 UML类图: 1.各种符号规定 ​ UML 本身是一套符号的规定,就像数学符号和化学 ...

  9. 常见的5种项目管理问题类型

    项目管理的5大影响素:时间.范围.成本.风险.质量.项目经理需要对这些因素进行均衡考量,并根据需要略有侧重,进行整体把握,即我们常说的均衡型管理风格.而忽略任何一因素,都会对项目产生极大影响. 常见的 ...

最新文章

  1. LaneATT调试笔记
  2. 2007年度最具投资价值100强网站揭晓——博客园榜上有名
  3. php 多维数组怎么去重,php多维数组去重,该如何解决
  4. Windows 8消费者预览版发布啦(附离线分享)
  5. Cheatsheet: 2010 12.13 ~ 12.23
  6. 浩鲸科技与帆软达成战略合作,重磅推出数据中台联合解决方案
  7. androidStudio快捷键概览
  8. linux替换windows换行符_vim编辑器的查找与替换
  9. Jquery插件之ajaxForm ajaxSubmit的理解用法
  10. AssetPostprocessor.OnPreprocessModel
  11. Vue-计算属性与事件监听
  12. 一文了解参数检验和非参数检验
  13. stm32单片机按键消抖、长按、多击终极解决方案
  14. DAPP 开发直通车-如何基于NEL 轻钱包来开发DAPP
  15. 蒂芙尼推出由碧昂丝和Jay-Z主演的最新广告宣传片
  16. 深入理解蓝牙BLE之“BQB认证”
  17. 读《小强升职记》总结
  18. 计算机桌面造句四年级,桌面造句
  19. python多线程tomorrow的使用
  20. WEB前端 HTML 基本标签

热门文章

  1. hive 三种去重方式
  2. android开发之背景音乐与音效
  3. 用智能手机让台式机连接无线
  4. EXP4恶意代码分析 20154306 刘宇轩
  5. 基于天问block编译环境下ASRPRO语音芯片程序编写教程(三)串口通信,多线程模块,ADC篇
  6. b站推荐怎么重置_b站手机怎么上传视频
  7. JPA映射数据库mysql表名,字段名大小写转化,下划线分割.
  8. “完数”问题 求1000以内的完数
  9. Ever-Flowers IN Never-Dream(19)
  10. 图像数字识别、数字分割(OCR识别,毕业设计)