概述UML——UML系列篇一
前言
作为Java应用开发者,日益感觉到对象建模的重要性。系统的复杂性,对于不能全局掌握的我和编程时没有对象模型指导时,编写实现代码时,感觉甚是困难。处于这些原因,这里想借助学习UML建模,在分析需求,分析设计时,对系统,对组件实现进行对象建模,梳理清楚关系,再面向对象实现。
一.UML概述
UML全称Unified Modeling Language(统一建模语言),是一种用于对软件密集型系统的制品进行可视化、详述、构造和文档化的图形语言。UML给出了一种描绘系统的蓝图的标准方法,其中既包括概念性事物(如业务系统的功能和过程),也包括具体性事物(如特定语言的编程语言编写的类、数据库模式和可复用的软件构件)。
上面这段定义摘自《UML用户指南》一书,看着上面的抽象定义,对于刚学者还是比较生涩的。不过先大致了解记住UML是什么,随着后面的深入,应该会有个更直观、深入的了解至理解。
二.UML的发展历程
要回到上个世纪60年代爆发的软件危机开始谈起,随着60年代的高级编程语言的兴起,软件开发急剧增长,规模越来越大、复杂度越来越高,软件的可靠性问题突出,软件的设计不能满足需求,有待提高软件生产率。
随着问题的暴露,软件工程学诞生了,提出了 软件生命周期的概念。软件工程学中包含了诸多对于软件的分析和设计方法论。其中面向对象方法也是这段时间兴起,在编程领域崭露头角。早期面向对象方法在系统设计中的延伸而出现OOD(面向对象设计),随着发展又演变成OOA(面向对象分析),后来两者结合形成OOA&D,其中关于这两个领域出现了繁多的方法论,但是也引起各自差异化不全面的问题,正所谓各有所长。
在这种形式下UML统一建模语言诞生了。汲取各家之所长,演变成了规范。
从上图的演变过程中可以看出,主要经历了四个阶段:
- 个人联合发起:在G.Booch、J.Rumbaugh和I.Jacobson联合将其各自的方法结合形成UML 0.9版本
- 多家公司联合推动:演变出UML 1.0和UML 1.1版本
- 对象管理组织OMG采纳:修订改进推出UML 1.2 1.3 1.4版本
- 进行一次重大修订,推出UML2.0,并提交到ISO提案
UML是工业标准,应用在面向对象领域建模的语言,提供建模中的概念提供可视化的表达,将面向对象建模概念和表示法统一。
概述UML——UML系列篇一的更多相关文章
- [时序图笔记] 步步为营UML建模系列五、时序图(Squence diagram)【转】
概述 顺序图是一种详细表示对象之间以及对象与参与者实例之间交互的图,它由一组协作的对象(或参与者实例)以及它们之间可发送的消息组成,它强调消息之间的顺序. 顺序图是一种详细表示对象之间以及对象与系统外 ...
- [UML]UML系列——时序图(顺序图)sequence diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- [UML]UML系列——用例图中的各种关系(include、extend)
用例图中的各种关系 一.参与者与用例间的关联关系 参与者与用例之间的通信,也成为关联或通信关系. 二.用例与用例之间的关系 包含关系(include) 扩展关系(extend) 包含关系 (1) 概 ...
- [UML]UML系列——类图Class
相关文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) 一.类图的概念及组成 1.类图的概念 类图是描述类.接 ...
- [UML]UML系列——类图class的关联关系(聚合、组合)
关联的概念 关联用来表示两个或多个类的对象之间的结构关系,它在代码中表现为一个类以属性的形式包含对另一个类的一个或多个对象的应用. 程序演示:关联关系(code/assocation) 假设:一个公司 ...
- [UML]UML系列——类图class的依赖关系
相关文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列—— ...
- [UML]UML系列——类图class的泛化关系
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图C ...
- [UML]UML系列——类图class的实现关系Realization
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class ...
- [UML]UML系列——包图Package
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class ...
- [UML]UML系列——活动图activity diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
随机推荐
- 面向对象(三)--多态、封装、property装饰器
一.多态与多态性 1.什么是多态 多态指的是同一种类/事物的不同形态 class Animal: def speak(self): pass class People(Animal): def spe ...
- 使用jave1.0.2将amr文件转成其他格式报错解决方案
背景:最近需要将微信公众号里面用户发的语音文件转成其他格式的语音文件 介绍:在刚开始使用jave1.0.2 没有几行代码就可以实现,但是发现在转换的过程会报错,但是最后文件也转成功了,此时是在wind ...
- IntelliJ idea SpringBoot打war包
简单易用的使用idea 将SpringBoot工程打war包的方法 pom.xml中添加标签 1. 声明打包格式 <packaging>war</packaging> 2. ...
- javascript之BOM对象(二location对象)
一.location对象提供和当前加载的文档相关的信息还有一些导航功能.location对象是window对象的属性,同时也是document对象的属性.window.location和documen ...
- 不同平台下int类型、指针类型的数据大小
不同平台下int类型.指针类型的数据大小 对于int类型数据和指针类型数据的大小,是非常基础的问题. 在一个具体的平台上,确定他们最好的办法就是使用sizeof(type)对其进行判断,返回当前数据类 ...
- 嵌入式linux开发uboot启动内核的机制(二)
一.嵌入式系统的分区 嵌入式系统部署在Flash设备上时,对于不同SoC和Flash设备,bootloader.kernel.rootfs的分区是不同的.三星S5PV210规定启动设备的分区方案如下: ...
- appache开启自定义404错误并编写404.html
1,让apache支持.htaccess 我们要找到apache安装目录下的httpd.conf文件,在里面找到 <Directory /> Options FollowSymLinks ...
- openpose开发(1)官方1.5版本源码编译
环境 WIN10系统,联想Y7000配置,8G内存 VS2019 cuda10 cudnn10 opencv4.11没有扩展库 显卡 1050TI 用到的库(提前下载好的模型,依赖库,user_cod ...
- 写一个function,清除字符串前后的空格(兼容所有的浏览器)
function trim1(str){ return str.replace(/(^\s*)|(\s*$)/g,""); }
- 洛谷 P1965 转圈游戏
洛谷 P1965 转圈游戏 传送门 思路 每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第 m+1 号位置,--,依此类推,第n − m号位置上的小伙伴走到第 0 号 ...