统一建模语言 UML

目录

  1. 统一建模语言 UML
    1. UML定义了5类10种模型图
      1. 一用例图用于建立需求模型
      2. 二静态图主要描述系统的静态表示和关系包括类图包图对象图
      3. 三行为图描述系统动态模型和对象组成的交换关系包括状态图和活动图
      4. 四交互图用于描述对象间的交互关系由一组对象和它们之间的关系组成包含它们之间可能传递的消息
      5. 五实现图就是指示如何组织构件和具体的构件部署到具体的节点上包含组件图和部署图
    2. 画图工具
    3. 图例介绍

统一建模语言 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

 

转载于:https://www.cnblogs.com/liushui-sky/p/6121842.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[转]npm生成的package.json文件中依赖项版本号前的波浪号(~)和插入符号(^)是啥意思?

package.json一般也就长这么模样: {"name": "","description": "","version": "4.17.1","author": "","contributors": [],"license": "MIT",&quo…

使用 C# 提取 PDF 文件中的所有文字(支持 .NET Core)

PDF 是 Portable Document Format 的简称,意为“可携带文档格式”,是由 Adobe Systems 用于与应用程序、操作系统、硬件无关的方式进行文件交换所发展出的文件格式。PDF 文件以 PostScript 语言图象模型为基础,无论在哪种打印机上都可保证精确…

【错误异常大全】:正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。

文章目录 错误异常:解决方案一:解决方案二:错误异常: 正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。 解决方案一: 1、把VS菜单的 调试->异常->Managed Debuggin Assistants->LoaderLo…

Linux——JDK的部署

1.检查一下系统中的jdk版本[java] view plaincopy $>java -version java version "1.7.0_"OpenJDK Runtime Environment (IcedTea6 1.11.1) (rhel-1.45.1.11.1.el6-x86_64)OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)2.检测JDK安装包[java] view pla…

python字符串格式化方法 format函数的使用

python从2.6开始支持format,新的更加容易读懂的字符串格式化方法,从原来的% 模式变成新的可读性更强的花括号声明{}、用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序号, 或者 变量名直接引用。从format参数引入的…

C语言试题133之画圆形

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:画圆形 2 、温馨提示 想获取…

ReactDom.render和React.render的区别

这个是react最新版api,也就是0.14版本做出的改变。主要是为了使React能在更多的不同环境下更快、更容易构建。于是把react分成了react和react-dom两个部分。这样就为web版的react和移动端的React Native共享组件铺平了道路。也就是说我们可以跨平台使用相同的react组…

[转]阿里编程规范(精简版)

文章目录 1、简介2、命名:3、格式规约4、注释规约5、OOP规约6、集合处理7、控制语句8、异常9、日志10、单元测试11、工程规约1、简介 统一规范标准将有助于提高行业编码规范化水平,帮助行业人员提高开发质量和效率、大大降低代码维护成本 2017年年初,首次…

C#(Sharp)GDI plus与图形编程(计算机图形学必备知识)

文章目录 9.1 GDI+与图形编程9.1.0 GDI概念9.1.1 GDI+绘图命名空间9.1.2 坐标系统9.1.3 Graphics类9.2 绘图工具类9.2.1 Pen类9.2.2 常用图形的绘制方法9.2.3 Brush 类9.3 绘制相关图形9.3.1 绘制曲线9.1 GDI+与图形编程 9.1.0 GDI概念 GDI是Graphics Device Interface的缩写…

.Net之延迟队列

介绍具有队列的特性,再给它附加一个延迟消费队列消息的功能,也就是说可以指定队列中的消息在哪个时间点被消费。使用场景延迟队列在项目中的应用还是比较多的,尤其像电商类平台:订单成功后,在30分钟内没有支付&#xf…

C语言试题134之画直线

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:用 line 画直线 2 、温馨提示…

KeyMob应用开发者服务平台帮助开发者推广和盈利

为什么80%的码农都做不了架构师?>>> 2014年10月,新版KeyMob移动广告聚合平台正式上线,登入KeyMob移动广告聚合平台即可看到聚合功能,目前新KeyMob整合了国内外多家主流的广告平台,实实在在的为应用开发者赚…

Android GIS开发系列-- 入门季(13)Gdal简单写个shp文件

Gdal是用来读写栅格与矢量数据的,在Gdal官网,可以下载相关的资源进行平台的编译。其实Arcgis底层也是用Gdal来读取shp文件的,那在Android中可以直接读写shp文件吗,是可以的。这里已经有人编译了Android端的so ,下载地址…

VS code 搭建Vue 项目

必备工具:Vs Code、NodeJs 1、新建一文件目录来存放工程文件 2、右键用VS Code打开 3、Ctr 打开terminal面板,建议先将设置镜像服务器,可能否则安装比较慢。 npm config set registry https://registry.npm.taobao.org --globalnpm config…

C语言试题135之画方形

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:用 rectangle 画方形 2 、温…

C#(Sharp)操作数据库原理及案例精析(强烈建议收藏)

刘一哥C#从入门到精通系列精品教程合集: 1.【C#程序设计】教学讲义——第一章:C#语言概述 2.【C#程序设计】教学讲义——第二章:简单C#程序设计 3.【C#程序设计】教学讲义——第三章:C#语言基础 4.吐血整理:C#顺序、选择、循环结构用法与案例,这一篇就够了! 5.C#数组原来…

SpringMVC4零配置--web.xml

servlet3.0规范后,允许servlet,filter,listener不必声明在web.xml中,而是以硬编码的方式存在,实现容器的零配置。 ServletContainerInitializer:启动容器时负责加载相关配置 Java代码 package javax.servl…

GoldenGate介绍

Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。Oracle Golden Gate可以在异构的IT基础结构&…

[转]我们为什么要用vue,他解决了什么问题,如何使用它?

Vue.js新手入门指南 最近在逛各大网站,论坛,以及像SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,楼主自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前…

java反射机制续

http://www.cnblogs.com/fingerboy/p/5325261.html转载于:https://www.cnblogs.com/yangmin-78819/p/5328869.html