UML 简介笔记
1. UML 是什么?
UML 统一建模语言是一组图形表示法,可以帮助描述和设计软件系统,特别是使用面向对象 OO 风格建造的软件系统。
2. 使用 UML 的方式
UML 有 3 种使用模式:草稿,蓝图和编程语言。最常用的就是将 UML 作为草稿使用。
这里有几个概念:
- 正向工程 forward engineering 是指在编写代码前画 UML 图
- 逆向工程 reverse engineering 是指从已有代码建造 UML 图
把 UML 当做草稿的目的就是帮助沟通想法或者展示所做事情的可选方案。
打草稿也是相当非正式和动态的,需要快速协作的进行。常用的媒介是白板。它强调的是选择性的沟通而不是完整的规则。
作者倾向于将 UML 作为草稿使用,强调有效,选择性的沟通。
3. 表示法和元模型
表示法 notation 是指在模型语言中看到的图形,并不需要特别严密,只要能够管用就行。
元模型是一种更严谨的表示形式。
作者观点并不太注重严密性,倾向于草稿用法,重要在于有效的沟通。
4. UML 图的分类

5. 一定要使用合法的 UML 吗?
UML 标准并不是一切,在行业和特定项目中,人们确实接受习惯性用法。如果是一名草稿使用者,重要的是不要太强调合法的 UML。给系统一个好的设计更重要,作者宁可有一个好的设计,但使用的是非法的UML。UML 又好又合法固然重要,但最好将精力放在好的设计上,而不要在UML 合法性上浪费太多时间。
6. UML 要达到的目的
根据 UML 能够推测出代码大概的设计即可。同时开发团队还有他们本地的习惯,我们要熟悉这些习惯。
整理自《UML精粹》
UML 简介笔记的更多相关文章
- 第64节:Java中的Spring Boot 2.0简介笔记
Java中的Spring Boot 2.0简介笔记 spring boot简介 依赖java8的运行环境 多模块项目 打包和运行 spring boot是由spring framework构建的,sp ...
- 第63节:Java中的Spring MVC简介笔记
前言 感谢! 承蒙关照~ Java中的Spring MVC简介笔记 MVC简介 Spring MVC 基本概念 Spring MVC 项目搭建 maven 使用Spring MVC进行开发 实现数据绑 ...
- UML学习笔记:类图
UML学习笔记:类图 有些问题,不去解决,就永远都是问题! 类图 类图(Class Diagrame)是描述类.接口以及它们之间关系的图,用来显示系统中各个类的静态结构. 类图包含2种元素:类.接口, ...
- UML学习笔记:活动图
UML学习笔记:活动图 活动图 活动图是UML中描述系统动态行为的图之一,用于展现参与行为的类的活动或动作.在UML里,活动图很类似于流程图,但是有一些区别: 活动图着重表现系统行为,描述对象活动的顺 ...
- UML简介
Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型 ...
- UML学习笔记1
UML概述:是一种为面向对象软件设计提供的建模语言. 构成:事物things关系relationshs图diagrams UML事物:构件事物 行为事物 分组事物 注释事物 UML关系:依赖depen ...
- UML学习笔记
目前转岗到业务开发,业务逻辑用到了大量的类库.UML则是理解.指导其代码实现的利器. 有6种重要的关系,按照关系的强弱排序如下: 实现 = 泛化 > 组合(关联) >聚合 > 依赖 ...
- 软件工程——UML简介
UML概述: UML是对OMT(对象建模技术).Booth(Booch方法)以及OOSE(面向对象的软件工程)等记号系统实施统一工作后得到的一种记号系统. UML(Unified Modeling L ...
- Thinking in UML 学习笔记(一)——建立对象模型
一.面向对象的本质 面向对象的本质是抽象,当系统达到了超越其处理能力的程度,我们能够抽象出我们能够处理的范围来提成抽象级别,这样就能够构建更大.更复杂的系统. 现实世界和对象世界之间存在着一道沟壑,这 ...
随机推荐
- python反转列表的几种方法
一.使用reversed()函数 a = [1, 2, 3, 4] b = list(reversed(a)) 注意:reversed()函数返回的是一个迭代器,而不是一个List,需要再使用List ...
- [CSS3] 二级下拉导航
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8& ...
- HTML5基础实例(三)
不知道从哪说起那就一段一段代码的说吧 实例一:iframe框架显示 写一个这样的网页: 分析: 1.需要三个链接,一个是默认的百度链接,默认显示在那个框里,另外:两个是点击跳转的超链接. 2.需要if ...
- Springboot接口简单实现生成MySQL插入语句
Springboot接口简单实现调用接口生成MySQL插入语句 在实际测试中,有这样一个需求场景,比如:在性能压力测试中,可能需要我们事先插入数据库中一些相关联的数据. 我们在实际测试中,遇到问题,需 ...
- python 全栈开发:数据类型整体分析
数据类型初始 数据类型: int :用于计算. 例子:1.2.3.4........................... 常用方法操作: bit_length() ps:求一个数字转换成二 ...
- Linux下ls命令使用详解(转)
说明:我们在linux下使用ll时,其实就是ls -l.ls才是最终的命令程序. ls命令是linux下最常用的命令之一,ls跟dos下的dir命令是一样的都是用来列出目录下的文件,List即列表的意 ...
- Python 两种获取文件大小的方法
import os r=os.path.getsize("/root/catbird1.stl") f=open("/root/catbird1.stl",&q ...
- hibernate_boolean类型的处理
xml方式,直接写就行,hibernate会直接帮你生成: javaBean代码片段: private boolean leaf; public boolean isLeaf() { return l ...
- 第2章—装配Bean—通过java代码装配bean
通过java代码装配bean 在进行显式装配的时候,有两种选型方案:java和XML配置,这里先介绍java的配置方式. 2.3.1创建配置类 先复习下上一章的配置内容: @Configurati ...
- CentOS和Ubuntu系统下安装 HttpFS (助推Hue部署搭建)
不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...