Martin的主页 http://martinfowler.com/

Pavel Hruby开发的visio模板,可以用来画UML图: http://phruby.com

简介

统一建模语言UML是一组图形表示法,这些表示法的背后有共同的元模型。UML帮助描述和设计软件系统,特别是使用面向对象风格构建的软件系统。出现的原因:编程语言的抽象级别不够高,不便于讨论设计。

使用UML的方式

草稿、蓝图和编程语言。

  1. 草稿UML as Sketch。使用草稿的目的是来帮助沟通想法或者展示所要做事情的可选方案。草稿是非正式的,注重当前讨论的方面,而不是完整的规则。草稿一般使用白板或简单的绘图工具,注重绘图的效率。
  2. 蓝图UML as Blueprint。蓝图关心规则完整性,列出所有的设计决策,程序员应该能够根据设计,进行简单、直接的编码。蓝图需要复杂的工具来绘制,例如CASE工具。蓝图和草稿之间的界限有些模糊,区别类似于:草稿故意画成不完整的,强调重要信息,而蓝图倾向于全面,目的是把编程缩减成简单的机械活动。简言之,草稿是探索性的,蓝图是定义性的。
  3. 编程语言UML as programming language。在UML方面做得越多,编程变得越机械,这时候编程应该被自动化,借助于CASE工具,可以将UML编译为可执行代码,这时候UML成了源代码。

表示法notation和元模型meta-model

UML中定义了表示法和元模型。表示法是你在模型中看到的图形,它是建模语言的图形表示。例如,类图表示法定义了如何表达类、关联和多重性等条目和概念。元模型是一张定义语言概念的图,通常是类图,定义了表示法中图形的规格。UML理解成一个语言的话,元模型定义了语义的语法。

UML图

下面列出了UML2描述的13种官方图形类型和分类。

目的

传承

活动activity

顺序和并行行为(Procedural and parallel behavior)

UML1

类class

类,特性和关系 (class, features, and relationships)

UML1

通信communication

对象之间的交互;强调链接(interaction between objects; emphasis on links)

UML1 协助图

组件component

组件的结构和连接(structure and connection of components)

UML1

组合结构composite structures

类的运行时分解(runtime decomposition of a class)

UML2

部署deployment

工件部署到节点(deployment of artifacts to nodes)

UML1

交互概述interaction overview

系列图和活动图的混合(mix of sequence and activity diagram)

UML2

对象object

实例的配置例子(example configuration of instances)

UML1

包package

编译时层次结构(compile-time hierarchic structure )

UML1

序列sequence

对象之间交互;强调顺序(interaction between objects; emphasis on sequence)

UML1

状态机state machine

对象在生命期中如何被事件改变(how events change an object over its life)

UML1

时间timing

对象之间的交互;强调时间(interaction between object; emphasis on timing)

UML2

用例use case

用户如何和系统交互(how users interact with system)

UML1

UML图的示例

UML精粹1 - 简介的更多相关文章

  1. 18、面向对象基本原则及UML类图简介

    18.1.面向对象基本原则 18.1.1.面向抽象原则 抽象类特点: a.抽象类中可以有abstract方法,也可以有非abstract方法. b.抽象类不能用new运算符创建对象. c.如果一个非抽 ...

  2. uml精粹——11.活动图(及整个读书笔记分享)

    11.活动图activity diagram   活动图是描写叙述过程化逻辑procedural logic.业务过程business process和工作流work flow的技术. 他和流程图fl ...

  3. UML和UP简介(转载)

    UML(统一建模语言,Unified Modeling Language)是用于系统的可视化建模语言.  UP(统一过程,Unified Process)是通用的软件开发过程. 很多人或书籍过大的夸大 ...

  4. UML精粹5 - 状态图,活动图,通信图,组合结构,组件图,协作,交互概述图,时间图

    状态机图state machine diagram 下面是状态图的一个例子(一个城堡中的秘密保险箱的控制面板). 转换transition包括3个部分:trigger-signature [guard ...

  5. UML精粹4 - 对象图,包图,部署图,用例

    对象图object diagram 对象图是某个时间点上的对象在系统中的快照,也经常被称为实例图.一般在展示组合对象结构时比较有用.例如 组合结构的类图 一个时刻的对象图 包图package diag ...

  6. UML精粹3 - 类图,序列图,CRC

    类图Class diagram 类图描述系统中的对象类型,以及它们之间的各种静态关系.类图也展示类的性质和操作,以及应用于对象连接方式的约束.UML中的特性feature,涵盖了性质property和 ...

  7. UML精粹2 - 开发过程

    迭代和瀑布过程 两者的本质区别是,你如何将一个项目分解为更小块. 瀑布风格基于活动来分解项目.为了构建软件,你不得不做某些活动:需求分析.设计.编码和测试.为期一年的项目可能有2个月的分析阶段,然后是 ...

  8. UML精粹学习 - 订单类结构图

    Order Class Diagram of Martin Fowler's UML Distilled

  9. UML类图简介

    概述 设计模式中常常使用UML来表示类与类,类与接口之间的关系,UML类图是设计模式入门必备的技能,感觉各种关系比较多,这里做一下总结. 类与接口的表示 类与接口通常是一个矩形框表示,一般分为3层,第 ...

随机推荐

  1. 转-浅谈HTTP中Get与Post的区别

    Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP ...

  2. 存储过程实现登录(.net)

    工作中,可能有时为了安全等的考虑,需要更多 的运用存储过程.有的公司甚至在登录一栏也会提出这样的要求,那么怎么用存储过程实现登录呢.好处就不用言名了,一个速度,一个就是安全系统更高. 下面贴上:1.存 ...

  3. Codeforces Round #379 (Div. 2) 解题报告

    题目地址 本次CF是在今天早上深夜进行,上午有课就没有直接参加.今天早上上课坐到后排参加了virtual participation.这次CF前面的题目都非常的水,不到10分钟就轻松过了前两题,比较郁 ...

  4. echart------属性详细介绍

    theme = { // 全图默认背景 // backgroundColor: 'rgba(0,0,0,0)', // 默认色板 color: ['#ff7f50','#87cefa','#da70d ...

  5. [编辑器]sublime使用入门

    0.索引 1.新建工程 2.控制台 3.快捷键汇总 4.安装插件 1.新建工程: 没有找到直接新建工程的方法,目前看来只能先file -> open folder然后Save Project a ...

  6. cassandra CQL 3.0 怎样实现 dynamic column;

    1. cassandra有一个好的特点是列之间可以按照column key进行排序:这样当rowkey确定以后,对于同一个“行”的范围(range query)查找是很方便的:官方说法,每一个“行”( ...

  7. IIS 7.5 高并发参数配置

    IIS 7.5 高并发参数配置 由于之前使用的是默认配置,服务器最多只能处理5000个同时请求,对于高并发请求,参照文档设置10万并发 1. 调整IIS 7应用程序池队列长度 由原来的默认1000改为 ...

  8. SPOJ BALNUM

    一开始题看错了...dp[pos][sets][viss],其中sets表示出现次数,viss表示出现没有. #include<iostream> #include<cstdio&g ...

  9. SCC(强连通分量)

    1.定义: 在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(SC---strongly connected). 有向图中的极大强连通子图,成为强连通分量(SCC---strongly ...

  10. Activity 和 生命周期: 创建

    了解了整体的android创建流程之后,就分析一下到底这个过程中做了什么? activity创建中开始时由activityStack中的realstartActivityLocked函数中调用了act ...