统一建模语言 UML
目录
- 统一建模语言 UML
- UML定义了5类10种模型图
- 一用例图用于建立需求模型
- 二静态图主要描述系统的静态表示和关系包括类图包图对象图
- 三行为图描述系统动态模型和对象组成的交换关系包括状态图和活动图
- 四交互图用于描述对象间的交互关系由一组对象和它们之间的关系组成包含它们之间可能传递的消息
- 五实现图就是指示如何组织构件和具体的构件部署到具体的节点上包含组件图和部署图
- 画图工具
- 图例介绍
统一建模语言 UML
UML(Unified Modeling Language)的是要成为一种标准的统一语言,使得IT专业人员能够进行计算机应用程序的建模。
UML的主要创始人是JimRumbaugh、IvarJacobson和GradyBooch,他们最初都有自己的建模方法(OMT、OOSE和Booch),彼此之间存在着竞争。最终,他们联合起来创造了一种开放的标准。
UML成为"标准"建模语言的原因之一在于,它与程序设计语言无关。而且,UML符号集只是一种语言而不是一种方法学。因为语言与方法学不同,它可以在不做任何更改的情况下很容易地适应任何公司的业务运作方式。
UML不是一种方法学,不需要任何正式的工作产品。而且它还提供了多种类型的模型描述图(diagram),当在某种给定的方法学中使用这些图时,它使得开发中的应用程序的更易理解。UML的内涵远不只是这些模型描述图,但是对于入门来说,这些图对这门语言及其用法背后的基本原理提供了很好的介绍。通过把标准的UML图放进工作产品中,精通UML的人员就更加容易加入项目并迅速进入角色。最常用的UML图包括:用例图、类图、序列图、状态图、活动图、组件图和部署图。
- 1、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)
转自:http://blog.csdn.net/xinyuan_java/article/details/51589627
统一建模语言 UML的更多相关文章
- 统一建模语言(UML) 版本 2.0
原文: http://www.ibm.com/developerworks/cn/rational/321_uml/ 简介 参考 UML 基础系列的其他文章和教程 UML基础: 统一建模语言简介 UM ...
- 统一建模语言——UML
一.UML概述 Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的 ...
- 统一建模语言(UML,Unified Modeling Language)
Something about UML: 统一建模语言(UML,英语:Unified Modeling Language)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建 ...
- 统一建模语言 UML (2)
UML的图 1.用例图(use case diagram) 用例图(Use Case Diagram)是被称为参与者(Actor)的外部用户所能观察到的系统功能的模型图 列出系统中的用例和参与者 显示 ...
- UML(统一建模语言)
最近看了一个UML图,所以特意来了解一下UML 统一建模语言 锁定 同义词 UML(统一建模语言)一般指统一建模语言 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . Unified Mo ...
- [本体论][UML][统一建模语言][软件建模][OWL]从本体论到UML到OWL
以下内容,是关于软件建模的方法与思路. UML与OWL都是基于本体论的建模语言. 本体论(哲学) 本体论(信息科学) UML(统一建模语言) more info 参考:[设计语言][统一建模语言][软 ...
- [设计语言][统一建模语言][软件开发方法学][UML] UML
背景介绍 UML是一种统计建模语言. WIKI: https://en.wikipedia.org/wiki/Unified_Modeling_Language UML是OMG (object man ...
- UML(统一建模语言)是通用的可视化标准建模语言。由构造块、公共机制、构架三部分组成。
UML UML(统一建模语言)是通用的可视化标准建模语言.由构造块.公共机制.构架三部分组成. 1.构造块:包括基本的UML建模元素(类.接口.用例等).关系(关联关系.依赖关系.泛化关系.实现关系) ...
- UML建模学习1:UML统一建模语言简单介绍
一什么是UML? Unified Modeling Language(UML又称为统一建模语言或标准建模语言)是国际对象管理组织OMG制定的一个通 用的.可视化建模语言标准.能够用来描写叙述(spec ...
随机推荐
- [转]Win7独立语言包下载
想找个语言包太不容易了 ,全是旧版的,最后不得以...在国外网站找到了下载地址,全部是最新的语言包!自己找对应语言的缩写吧 64-bit (x64) Windows 7 SP1: http://dow ...
- Apache 隐藏 index.php,如将 tp5.com/index.php/hello/123 变成 tp5.com/hello/123
以Apache为例,需要在index.php入口文件的同级添加.htaccess文件,内容如下: <IfModule mod_rewrite.c> Options +Follo ...
- js 正则表达式 exec 和 match的使用
match body.match(/\d\.\d\.\d\.\d:\d/g); // 推荐使用exec可以拿到多个数组 exec var a = [ 'PHPSESSID=sglvjui97o18bg ...
- CentOS7添加开机启动服务/脚本(延用CentOS6方法)
一.添加开机自启服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins.service #设置jenkins服务为 ...
- JSON概述及其在JavaScript与Java中的应用(整理)
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成. 官网:http://json.org/ ...
- 深度学习FPGA实现基础知识10(Deep Learning(深度学习)卷积神经网络(Convolutional Neural Network,CNN))
需求说明:深度学习FPGA实现知识储备 来自:http://blog.csdn.net/stdcoutzyx/article/details/41596663 说明:图文并茂,言简意赅. 自今年七月份 ...
- Spring Cloud Summary
Spring Cloud Summary https://cloud.spring.io/spring-cloud-static/Finchley.RC1/single/spring-cloud.ht ...
- nyoj576 集齐卡片赢大奖(一)
集齐卡片赢大奖(一) 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 小时候你一定曾经为收集一套三国人物的卡片而买过不少零食吧?这些小吃的袋子里一般都会有一张卡片,如 ...
- linux 双显卡问题。。。
bumblebee的作用是禁用nvidia独立显卡,需要使用独显时,使用”optirun 程序名“手动开启nvidia来运行需要加速的程序,如optirun vmware. 打开N卡设置: optir ...
- jQery的方法
<!DOCTYPE html> <html> <head> <script type="text/javascript" src=&quo ...