概述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系列——类 ...
随机推荐
- Beyond Compare 4解除日期限制,激活版本
修改注册表 1 在搜索栏中输入 regedit ,打开注册表 2 删除项目:计算机\HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare ...
- Linux操作系统的压缩、解压缩工具介绍
Linux操作系统的压缩.解压缩工具介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.compress/uncompress命令常用参数 Linux compress命令: ...
- Git问题
1. LF will be replaced by CRLF rm -rf .git // 删除.git git config --global core.autocrlf false //禁用自动转 ...
- python中列表(list)函数及使用
序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...
- SpringBoot——IDEA使用 Spring Initializer快速创建项目【四】
前言 使用Spring Initializer快速创建项目 步骤 首先肯定是打开我们的IDEA的编辑器呀~ 创建项目 File -> New -> Project Spring Initi ...
- HTTP协议之chunk,单页应用这样的动态页面,怎么获取Content-Length的办法
当客户端向服务器请求一个静态页面或者一张图片时,服务器可以很清楚的知道内容大小,然后通过Content-Length消息首部字段告诉客户端需要接收多少数据.但是如果是动态页面等时,服务器是不可能预先知 ...
- 【Excel】去空格
TRIM(TEXT) 不好用的话,把格式换成
- Pandas | 14 统计函数
统计方法有助于理解和分析数据的行为.可以将这些统计函数应用到Pandas的对象上. pct_change()函数 系列,DatFrames和Panel都有pct_change()函数.此函数将每个元素 ...
- axios二次封装
import axios from "axios" //请求拦截器 axios.interceptors.request.use(function (config) { retur ...
- 【BigData】Java基础_ArrayList的使用
ArrayList概述 ArrayList底层使用的是数组.是List的可变数组实现,这里的可变是针对List而言,而不是底层数组. 数组有自身的特点,不变性,一旦数组被初始化,那么其长度就固定了,不 ...