说明

《UML精粹》用统一建模语言(Unified Modeling Language)是面向架构师、开发者、产品、用户通俗易懂的架构语言。因为翻译徐家福老爷爷是在80岁左右的时候才翻译的,所以笔者就直接看了英文原版。

Distill表示蒸馏,过去式表示蒸馏后留下来的精华,所以叫精粹。作者 Martin Fowler 大神作品,110页的书,虽然是出版于2001年,英文原版价格550元。

为什么要有UML?

UML类似于高楼大厦的框架,去除了细枝末节,让架构师、产品、开发、客户能够比较明了软硬件的核心。以前是没有UML,也就是瀑布式开发,开发周期比较长,类似IBM这周巨头型公司解决大型系统,周期比较长比如几年,做出来的产品往往不如意,或者做完就被淘汰了。UML大概出现于1988~1992年,因为那个时候SmallTalk面向对象语言的比较火,OO面向对象的语言如雨后春笋般出现,比如python,Java。《UML精粹》是在2001年出版。

Agile敏捷开发模式替代了瀑布型开发模式:

  1. 先实现最小可用模型MVP (Agile敏捷开发模式替代了);
  2. 不断迭代,不断重构;
  3. 持续集成等。

UML 的正确应用:

  1. 需求分析阶段:用例图分析系统交互,类图描述核心类,活动图描述协作,状态图描述状态转移过程;

  2. 设计阶段:类图描述软件领域的类,时序图描述交互场景,包图描述模块间的关系,状态图描述类的生命周期,部署图描述物理服务器关系;

  3. 文档:文档可以描述开发的内容;

  4. 老代码逻辑梳理。

核心UML图

本身很大一部分篇幅都在讲类图、时序图;实际上状态图、部署图、用例图也比较重要,作者都只用了2、3页就描述完毕。可见UML图本身就很简单,需要的时候网上查查,照猫画虎就能出来。

具体请参考文章:极客大学架构师训练营 听课总结 - 架构视图,设计文档 – 第二课

UML 图全集

类图-- 订单类图

时序图 – 订单时序图

架构师架构蓝图《UML精粹》 UML Distilled读后感相关推荐

  1. 旧文重发:做人、做事,做架构师——架构师能力模型解析

    这篇文章发表于<程序员>2008.04期.其中有关模型图参见: http://blog.csdn.net/aimingoo/archive/2007/06/26/1667508.aspx ...

  2. 如何成为一名架构师,架构师成长之路(转)

    转自http://blog.csdn.net/fei33423/article/details/61934514 如何成为一名架构师,架构师成长之路 原创 2017年03月13日 22:50:34 3 ...

  3. 做人、做事,做架构师——架构师能力模型解析

    引子 究竟是什么让你在同一个位置上--例如程序员或技术负责人--工作了三年.五年或者更久,而仍然得不到任何的发展空间?你觉得自己已成为技术圈中的大牛,并信心满满地去拿明天就要颁发的某某大奖,然而却仍然 ...

  4. 从程序员到架构师 - 架构师篇

    关注下方公众号回复'架构'获取架构师电子书及视频课程 对工作多年的程序员而言,日后的职业发展无非是专精技术,转型管理,晋升架构师三种选择.成为一名优秀的架构师,是大多数技术人的追求.想要做架构,空有一 ...

  5. **什么是架构师-架构师的定义**

    转自:https://blog.csdn.net/weixin_42424016/article/details/80822996 前言: 哲学家常思考的问题:" 我是谁?"&qu ...

  6. 如何成为一名架构师,架构师成长之路

    技术人人都是xx 父文章 人人都是面试_个人渣记录仅为自己搜索用的博客-CSDN博客 我的成长之路_个人渣记录仅为自己搜索用的博客-CSDN博客 相关文章 架构师好书推荐_个人渣记录仅为自己搜索用的博 ...

  7. [架构之路-4]:架构师 - 架构师的四大架构价值等级与架构师全面成长之路

    目录 第1章 架构师的四大架构价值等级 第一等级L1: 一知半解型(入门架构师)-- 辅助价值 第二等级L2: 拆解还原型(初级架构师)-- 表层价值.协调价值 第三等级L3: 革新型(中级架构师)- ...

  8. [架构之路-6]:架构师 - 架构师应该具备的架构思维

    目录 前言:架构师的位置 一.客户业务与需求分析环节 1.1 客户痛点.问题 VS 软件设计本身 1.2 客户价值 VS 架构设计 二.规范与设计环节 2.1 完美 VS 适合 2.2 适合 VS 前 ...

  9. 十、软考·系统架构师——软件测试及维护

    一.程序员进阶架构师的基础知识[计算机基础] 二.程序员进阶架构师的基础知识[操作系统] 三.程序员进阶架构师的基础知识[计算机网络基础] 四.程序员进阶架构师的专业知识[软件工程基础] 五.程序员进 ...

  10. 【备忘】JavaEE系统架构师学习路线图

    转载自:http://www.javaxxz.com/thread-286706-1-1.html 第1阶段(Java程序员) - Java语言基础     - 101 JavaSE:[101]JAV ...

最新文章

  1. sql数据库的四大程序设计语言的语句
  2. 因子和(类素数筛选法)
  3. 《jQuery知识点总结》(一)
  4. 动态数据交换 python_如何用 Python 和 Streamlit 做交互式数据分析产品?
  5. 【UI/UX】桌面GUI设计
  6. 理论基础 —— 排序 —— 堆排序
  7. 容器编排技术 -- Kubernetes 调试 Service
  8. oracle 学习第一天
  9. popen() 函数 讲解
  10. 刷抖音18.5G、看视频22.5G,国美通报员工上班摸鱼:回应来了
  11. 类名 窗口句柄 结束进程
  12. 使用Excel函数时,注意函数对于大小写的区分(vlookup函数不区分大小写)
  13. PrintService类打印
  14. 【脑电信号】基于matlab GUI小波变换癫痫脑电信号特征提取及分析【含Matlab源码 1154期】
  15. 使用ACR122U和Proxmark3复制IC卡
  16. 机器学习教程之语义分割入门教程
  17. 超像素、语义分割、实例分割、全景分割
  18. 从腾讯云迁移到腾讯云,开心消消乐的云端迁移战事
  19. 数学分析教程(科大)——4.2笔记+习题
  20. 营销理论模型:4P、STP理论、SWOT图解

热门文章

  1. matlab 找到数组中第一个不连续点_MATLAB新手入门篇1(基础)
  2. JavaScript引入的三种方式(附实例)
  3. 整合SSH 遇到错误之一
  4. Loadrunner 去缓存
  5. webform 组合查询
  6. Android 通过Base64上传图片到服务器
  7. PostgreSQL 为什么不要滥用unlogged table hash index
  8. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 大型软件系统客户端数据同步的问题解决...
  9. 最新人生感悟语句摘选
  10. 业界大佬患互联网手机焦虑症 圈地运动骤然爆发