概述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系列——类 ...
随机推荐
- scrapy-redis 0.6.8 配置信息
很多博客的db参数配置都不能用,所以记录一下该版本可用的配置 #启用Redis调度存储请求队列 SCHEDULER = "scrapy_redis.scheduler.Scheduler&q ...
- Ubuntu拒绝root用户ssh远程登录
sudo vim /etc/ssh/sshd_config 找到并用#注释掉这行:PermitRootLogin prohibit-password 新建一行 添加:PermitRootLogin y ...
- Tomcat9在CentOS7上启动慢解决办法,实测可行
1.修改jdk目录下的java.security文件 vim /usr/lib/jvm/jdk1.8.0/jre/lib/security/java.security 将如下配置securerando ...
- 任务型对话(二)—— DST(对话状态追踪)
1,概述 关于任务型对话的简介看任务型对话(一)—— NLU(意识识别和槽值填充). 首先我们来看下对话状态和DST的定义. 对话状态:在$t$时刻,结合当前的对话历史和当前的用户输入来给出当前每个s ...
- angularjs中设置select的选中项
最近用angularjs比较多,里面有很多自己的方法,都不咋会用,这篇只是个笔记,防止自己忘记 <select style="width:100%" ng-model=&qu ...
- woocommerce直接调取产品描述内容
最近一位客户想让woocommerce产品页直接调取描述内容,不想太多的tab切换,太复杂,这个蛮简单的,woocommerce是在wordpress基础开发的,产品也是post的一种类型,直接调用c ...
- 排序算法-计数排序(Java)
package com.rao.sort; import java.util.Arrays; /** * @author Srao * @className CountSort * @date 201 ...
- 【PL/SQL】左侧窗口没了
- Java的静态变量初始化的坑
在网上看到一个很有意思的题目,题目如下 class SingleTon { private static SingleTon singleTon = new SingleTon(); public s ...
- CSRF跨域伪造请求
后端生成一个加密token,将其设置在cookie当中,专用于表单数据提交时的验证,并且前端在表单中多增加一个隐藏字段,每当用户提交表单数据时(post请求),将这个隐藏字段一并提交,后端再对表单中的 ...