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 学习笔记(一)——建立对象模型
一.面向对象的本质 面向对象的本质是抽象,当系统达到了超越其处理能力的程度,我们能够抽象出我们能够处理的范围来提成抽象级别,这样就能够构建更大.更复杂的系统. 现实世界和对象世界之间存在着一道沟壑,这 ...
随机推荐
- 【微信小程序】——wxss引用外部CSS文件及iconfont
小程序引入外部文件的方式是:@import "*/*.wxss"; 因为业务需要,正在开发的小程序中需要使用iconfont,很容易想到了H5的引入方式: ```` @font-f ...
- linux系统解决boot空间不足
有时候更新Linux系统是会碰到boot空间不足的错误,原因基本上是安装时boot空间设置问题可以通过删除旧的内核来释放boot空间. ubuntu: 1.查看当前使用内核版本号 unam ...
- python中的类方法、静态方法、对象方法
注:以下都是以公有为前提,私有方法只能在类内部调用,不需多讲. 1.对象方法 这种方法都有一个默认参数:self 这代表实例的这个对象 def __init__(self): print(" ...
- hibernate与Oracle
今天在用hibernate连接Oracle数据库进行查询时,出现一点小状况 数据库中是有数据的,而且程序本身也没有问题,可就是查不出数据,在经过几个小时的查找下,中遇找到了问题所在,那就是我Oracl ...
- 关于在JS中AJAX导致跨域问题的解决
在部署一个原声的前端项目的时候,请求该服务器后端接口时发现出现了CORS跨域的问题,但是服务端已经做了同源策略的兼容,常见问题,遂记录. 报错信息: XMLHttpRequest cannot loa ...
- spring属性配置执行过程,单列和原型区别
Spring配置中,采用属性注入时,当创建IOC容器时,也直接创建对象,并且执行相对应的setter方法 Student.java package com.scope; public class St ...
- TX2 i2c-tools使用
安装: apt-get install libi2c-dev i2c-tools 检测i2c总线数目 用i2cdetect检测有几组i2c总线在系统上: i2cdetect -l 可以看到系统中有9组 ...
- net 反编译神器
文章地址:https://www.cnblogs.com/sheng-jie/p/10168411.html dnSpy官网下载 分享链接 .net core源码导航 https://www.cnb ...
- 【算法笔记】A1071 Speech Patterns
1071 Speech Patterns (25 分) People often have a preference among synonyms of the same word. For ex ...
- CF1007D. Ants(树链剖分+线段树+2-SAT及前缀优化建图)
题目链接 https://codeforces.com/problemset/problem/1007/D 题解 其实这道题本身还是挺简单的,这里只是记录一下 2-SAT 的前缀优化建图的相关内容. ...