统一建模语言 UML

 UML(Unified Modeling Language)的是要成为一种标准的统一语言,使得IT专业人员能够进行计算机应用程序的建模。

UML的主要创始人是JimRumbaugh、IvarJacobson和GradyBooch,他们最初都有自己的建模方法(OMT、OOSE和Booch),彼此之间存在着竞争。最终,他们联合起来创造了一种开放的标准。

UML成为"标准"建模语言的原因之一在于,它与程序设计语言无关。而且,UML符号集只是一种语言而不是一种方法学。因为语言与方法学不同,它可以在不做任何更改的情况下很容易地适应任何公司的业务运作方式。

UML不是一种方法学,不需要任何正式的工作产品。而且它还提供了多种类型的模型描述图(diagram),当在某种给定的方法学中使用这些图时,它使得开发中的应用程序的更易理解。UML的内涵远不只是这些模型描述图,但是对于入门来说,这些图对这门语言及其用法背后的基本原理提供了很好的介绍。通过把标准的UML图放进工作产品中,精通UML的人员就更加容易加入项目并迅速进入角色。最常用的UML图包括:用例图、类图、序列图、状态图、活动图、组件图和部署图。

  • UML定义了5类,10种模型图

五种类图定义:

一、用例图:用于建立需求模型

1.用例图(UseCaseDiagram):从用户角度描述系统功能,并指各功能的操作者;主要用来描述用户、需求、系统功能单元之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。

二、静态图:主要描述系统的静态表示和关系;包括类图,包图,对象图。

2.类图(ClassDiagram):描述系统中类的静态结构。是显示了一组类、接口、协作以及他们之间的关系。在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统。类加上他们之间的关系就构成了类图,类图中还可以包含接口、包等元素,也可以包括对象、链等实例。

3.包图(PackageDiagram):是包和类组成的,表示包与包之间的关系,包图描述系统的分层结构。

4.对象图(ObjectDiagram):是类图的实例,几乎使用与类图完全相同的标示。使用对象图来说明数据结构,类图中的类或组件等的实例的静态快照。对象图和类图一样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。

三、行为图:描述系统动态模型和对象组成的交换关系。包括状态图和活动图

5.活动图(ActiveDiagram):描述了业务实现用例的工作流程。一种特殊的状态图,展现了系统内一个活动到另一个活动的流程。活动图有利于识别并行活动。

6.状态图(StateDiagram):是描述状态到状态控制流,常用于动态特性建模,由状态、转换、事件和活动组成,描述类的对象所有可能的状态以及事件发生时的转移条件。通常状态图是对类图的补充,仅需为那些有多个状态的、行为随外界环境而改变的类画状态图。

四、交互图:用于描述对象间的交互关系,由一组对象和它们之间的关系组成,包含它们之间可能传递的消息。

交互图又分为序列图和协作图,其中序列图描述了以时间顺序组织的对象之间的交互活动;协作图强调收发消息的对象的结构组织。

7.顺序图(SequenceDiagram):对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互

8.协作图(CollaborationDiagram):描述对象之间的协助关系

五、实现图:就是指示如何组织构件和具体的构件部署到具体的节点上。包含组件图和部署图

9.组件图(ComponentDiagram):展现了一组组件的物理结构和组件之间的依赖关系。部件图有助于分析和理解组件之间的相互影响程度。

10.部署图(DeploymentDiagram):展现了运行处理节点以及其中的组件的配置。部署图给出了系统的体系结构和静态实施视图。它与组件图相关,通常一个节点包含一个或多个构建。

  • 画图工具

1.UML建模工具Visio 、RationalRose、PowerDesign。

2.ProcessOn在线设计器支持UML统一建模语言的定义和语义,同时支持UML的用例图和静态图在线建模。

  • 图例介绍

1.用例图(UseCaseDiagram)

2.类图(ClassDiagram)

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)

3.包图(PackageDiagram)

4.对象图(ObjectDiagram)

5.活动图(ActiveDiagram)

6.状态图(StateDiagram)

7.顺序图(SequenceDiagram)

8.协作图(CollaborationDiagram)

9.组件图(ComponentDiagram)

10.部署图(DeploymentDiagram)

统一建模语言 UML相关推荐

  1. 统一建模语言(UML) 版本 2.0

    原文: http://www.ibm.com/developerworks/cn/rational/321_uml/ 简介 参考 UML 基础系列的其他文章和教程 UML基础: 统一建模语言简介 UM ...

  2. 软考初级程序员易错题:在统一建模语言 (UML)中,( )展现了 一组对象以及它们之间的关系, 给出了系统的静态设计视图或静态进程视图,描述了( )中所建立的事物 实例的静态快照。

    在统一建模语言 (UML)中,( )展现了 一组对象以及它们之间的关系, 给出了系统的静态设计视图或静态进程视图,描述了( )中所建立的事物 实例的静态快照. 知识点: 统一建模语言 (UML) 问题 ...

  3. 统一建模语言——UML(第9-20课时)(cont.)

    文章目录 UML概述 UML是什么 UML能做什么 为什么要学UML UML构造需求模型 用例建模技术 绘制用例图 识别执行者 识别用例 检查形式 关联关系 编写用例文档 用例文档的组成部分 详细说明 ...

  4. 6 统一建模语言(UML)图中,( )用于对时间如何改变对象的状态以及引起对象从一个状态向另一个状态转换的事件进行建模。( )是此种图的一种特殊情况,对于系统的功能建模特别重要,并强调对象间的控制

    标签: 软考初级程序员易错题,计算机基础, 面向对象基础,统一建模语言 (UML) 6 统一建模语言(UML)图中,( )用于对时间如何改变对象的状态以及引起对象从一个状态向另一个状态转换的事件进行建 ...

  5. 【中级软考】UML图(Unified Modeling Language统一建模语言、标准建模语言)

    文章目录 UML图 UML图的作用 主要模型 功能模型 对象模型 动态模型 图的种类 用例图 类图 对象图 包图 活动图 状态图 1.概述: 2.构成要素: 2.1状态(States): 2.2转移( ...

  6. UML统一建模语言知识体系概述

    UML统一建模语言知识体系概述 http://developer.51cto.com/  2006-01-11 16:46    noahsports.com  我要评论(3 ) UML是一种定义良好 ...

  7. 统一建模语言(UML)介绍

    统一建模语言 科技名词定义 中文名称: 统一建模语言 英文名称: unified modeling language;UML 定义: 是一种面向对象的建模语言,它是运用统一的.标准化的标记和定义实现对 ...

  8. UML(Unified Modeling Language)统一建模语言--类图详解

    UML(Unified Modeling Language)统一建模语言--类图详解   2010-05-12 作者:fenglin1985 来源:fenglin1985的blog   类图是面向对象 ...

  9. UML基础: 统一建模语言简介

    回顾20世纪晚期--准确地说是1997年,OMG组织(Object Management Group对象管理组织)发布了统一建模语言(Unified Modeling Language,UML).UM ...

  10. [本体论][UML][统一建模语言][软件建模][OWL]从本体论到UML到OWL

    以下内容,是关于软件建模的方法与思路. UML与OWL都是基于本体论的建模语言. 本体论(哲学) 本体论(信息科学) UML(统一建模语言) more info 参考:[设计语言][统一建模语言][软 ...

最新文章

  1. raymarching算法
  2. oracle的结构是什么,Oracle的软件结构是什么呢?
  3. java WEB 基础复习_开篇--Java Web基础知识
  4. ORA-14400: inserted partition key does not map to any partition
  5. 【转载】javascript下ie7,ie8的Date Bug的解决
  6. Scaffolding Template on Asp.Net Core Razor Page
  7. Homography 知多少?
  8. [异常解决] How to build a gcc toolchain for nRF51 on linux (very detailed!!!)
  9. 05章 体检套餐管理系统
  10. python程序员到哪里_Python程序员都知道的入门知识の五
  11. k_fold_cv函数——bartMachine包内函数详解
  12. SSL 3.0 Poodle漏洞修复方法
  13. Qualcomm 音频学习一
  14. 【MySQL】联合索引的使用
  15. 当前没有源代码管理提供程序进行注册
  16. zoj 3725 Painting Storages dp
  17. 将Helm编写的Chart推送到Harbor仓库
  18. 我所经历的汶川大地震之四
  19. 小区物业管理系统设计与开发论文
  20. python长整数相乘_Python中的分数与整数相乘

热门文章

  1. 2021年网络工程师考试大纲
  2. 【个人笔记】Ubuntu18.04 安装显卡驱动
  3. 计算机键盘字母记忆,键盘26个字母口诀是怎样的?
  4. cocos2dx基础篇(10)——编辑框之一CCTextFieldTTF
  5. 自动驾驶仿真:角雷达坐标系转换详解
  6. win7查询计算机硬盘sn,电脑win7系统查询硬盘序列号的方法
  7. 云呐-工单管理制度及流程,工单管理规范
  8. 超酷!极通EWEBS竟然不需微软终端服务支持
  9. 2021年5月系统集成项目管理工程师案例分析真题讲解(2)
  10. 无偿加班_我如何赚到我的第一百万美元(无偿代码)