`
cantellow
  • 浏览: 848376 次
  • 性别: Icon_minigender_1
  • 来自: 草帽海贼团
社区版块
存档分类
最新评论
阅读更多

本来说3天看完这本书,毕竟只有200页,而且也是入门级别的读物。但是计划总赶不上变化,前前后后花了5天才看完,而且有些地方还不是很明白,因为欠缺实战经验(至今我还没画过UML,只玩过结构化设计的一些图)。

本书的确是UML初学者入门的经典书,凡入门读物,重点是将其精华,略去细枝末节,这本书做到了。作者大篇幅介绍结构图中的类图和行为图中的顺序图、状态机图和活动图。因为这是我们实际应用中大部分所用到的,有些图作者只花了2页去介绍。我觉得本书只所以简洁,这跟作者的写作风格有很大关系。每介绍一个图,作者首先抛出这个图的一个范例。然后再用文字陈述使你很快的了解这个范例图的含义。最大的亮点就是在每张最末他告诉了这种图何时用才会更佳。这是他自己的经验总结,虽然你可以完全不认同,但是我认为带着他的经验在实践中检验并积累你自己的经验才是最佳!

还有一点我不得不说,此书翻译得实在不咋样。在“第三版译序”中有一处:“余自今岁五月阅读此书,六月启译,虽数易其稿,然限于水平,错讹欠妥之处,恳请业界贤达,不吝赐正”。又不是写言情小说,不需要那么高的意境,尽量达到简单易懂就好了啊。其实本来就一本简明教程,被你这么一搞,变得难读了。用文言文翻译技术书籍我还是第一次见到。

写序用古文也就好了,毕竟跟内容没多大关系。但有些地方的措词也令人追摸不透。比如:“对一个特定的图来说,任何信息均可被隐抑”、“因此,在一张图中,你一定不能在信息阙如时进行任何判断”、“...并未过多的谈到在UML元模型的精良天地之外UML含义”。其中“隐抑”、“信息阙如”、“天地精良之外”这些词实在是让人丈二和尚摸不着头脑,难道是我语文水平太低了?为什么不用“隐蔽”、“信息缺乏”?没说“精良天地之外”的对应词是因为我确实不懂它在句子中是什么意思。= =!

好了,还是看看写的什么吧

=========================================================================

第一章 引言

UML三种使用分类法:用作草图绘制语言、用作蓝图绘制语言、以及用作程序编制语言。草图是研究性的,蓝图是定义性的。通常的途径是,设计人员开发蓝图级的模型直到子系统的接口,然后,让开发人员产生出实现那些细节的细节。

大多数的时候,UML草图是其精髓,然而,UML创建者却认为元模型才是。UML草图对正向工程和逆向工程都是有用的,并且在概念视面和软件视面中也都有用。

元模型是一种用以定义语言概念的图(通常是类图)。元模型对于UML的用法以及编程语言都很重要。图示法的问题往往居于第二位,如果你打算熟悉标准文档本身,那么,图示法就很重要了。

UML一共有13中正式图形,他们分别是(括号中是图的目的):

结构图:类图(类、特征与关系)、构件图(构建的结构与连接)、复合结构图(类的运行时刻分解)、部署图(制品在结点上的部署)、对象图(实例的样形)、包图(编译时刻层次结构)。

行为图:活动图(过程行为与并行行为)、用案图(用户在系统中如何交互)、状态机图(事件如何改变生命周期中对象)、顺序图(对象间交互,着重顺序)、通信图(对象间交互,着重连接)、交互概观图(顺序图与活动图的混合)、定时图(对象间交互,着重定时)。

UML更多的是具有描述性规则,看UML不是用来精确定义源代码的,而是对这种代码能有一个粗略的印象。

第二章 开发过程

极力推荐项目不要采用纯瀑布风格。如果不用更纯粹的迭代风格,也应该采用阶段提交风格。

预见性计划制定更多地致力于需求过程本身。这样,你就可以得到一组更为精确的需求,从而会使折腾减少。而适应性计划制定则认为需求折腾是很正常的事情,因此把预见性看成一种假象。不用虚幻的预见性来愚弄自己,而应该面对不断改变的现实。在具有准确而精确的需求且确信不会大动以前,不要制订预见性计划;如果不能得到准确、精确、稳定的需求,就使用适应性计划制定方式。适应性计划绝对要求迭代过程,预见性计划制订两种风格(瀑布和迭代)都可以做。

UML适配过程

需求分析:

用案    表述人们如何与系统交互。

从概念视面绘制的类图   这种图可能是一种构作领域精确词汇表的好方法。

活动图    活动图以示明组织机构的工作流,示明软件与人的活动如何交互。活动图还可以示明用案的环境以及复杂用案如何工作的细节。

状态图    如果一个概念具有有趣的生命周期、具有各种状态以及改变状态的事件,状态图则可能有用。

设计:

软件视面的类图    这些图示明软件中的类以及它们如何相互联系。

常用案况的顺序图    一种有用的方法是从用案中挑选出最为重要且有趣的案况,并利用CRC卡或顺序图以勾勒出软件中发生的事件。

包图    示明软件的大型组织。

具有复杂生命史的泪的状态图。

部署图    示明软件的物理布局。

文档:

包图,部署图,由少量交互图支持的类图,那些少量的交互图示明系统中最重要的交互。

如果一个类具有复杂的生命周期行为,我就绘制一个状态机图来描绘它。只是在该行为充分复杂时才画状态机图。

第三章 类图

一个类图表述系统中各个对象的类型以及其间存在的各种静态关系。类图也示明类中的特性和操作以及用于对象连接方式的约束。UML使用特征一词作为涵盖类之特性与操作的一般术语。

何时使用类图?

不要试图使用对你可用的所有图示法。仅当需要时才使用。

概念类图(即从概念视面绘制的类图)在探究业务语言时很有用。尽量使软件离开讨论并保持图示法很简单。

不要对每件事都绘制模型,而要集中考虑关键方面。少量使用至今的图要比很多被人遗忘而遭淘汰的模型更好。

第四章 顺序图

交互图表述各组对象如何依某种行为进行协作的模型。UML定义了若干形式的交互图,其中最常见的是顺序图。

典型的是,一个顺序图获取单个案况的行为。这种图示明一些样例对象以及在用案内部这些对象之间传递的信息。

何时使用顺序图?

当你要考察单个用案内部若干对象的行为时,就应使用顺序图。顺序图擅长于示明对象间的协作;但是它们却不擅长于示明行为的精确定义。如果要考察跨用案的单个对象的行为,就使用状态图。如果要考察跨用案或跨线程的行为,就要考虑活动图。如果要迅速探究多个供选交互,则使用CRC卡更好,原因是,那样可以避免不少绘制及擦去工作。举行一次CRC卡聚会探讨设计选择非常方便,而后再使用顺序图来获取往后要提到的任何交互。其他形式的有用交互图是用以示明连接的通信图以及用以示明时间约束的定时图。

第五章 类图高级概念

在用到的时候才用它们。

第六章 对象图

对象图是在一个时间点上系统中各个对象的一个快照。由于对象图示明的是实例而不是类,所以它有时亦称实例图。

何时使用对象图?

对象图对于示明连接在一起的对象的例子是有用的。在很多场合,可以使用类图精确定义一个结构,但这个结构仍然难以理解。在这些场合,几个对象图例就可以使全局改观。

第七章 包图

包是一种这样的聚组构造,使你能取UML中的任一构造,将其成分聚组在一起,以构成更高层的单位。其最通常的用法是聚组类,而这就是我在这里表述的方式,不过,你也可以将包用于UML的任何别的小块。

何时使用包图?

对大型系统要了解系统主要成分之间的依赖时,包图极为有用。这些图很好地对应于通常的编程结构。绘制包河依赖的图有助于你保持对应用依赖的控制。如果你想示明在运行时刻如何来组合各个对象,请使用复合结构图。

第八章 部署图

部署图通过揭示“哪些软件片段运行于哪些硬件片段上”来示明系统的一个物理布局。

何时使用部署图?

任何复杂的部署都可以很好地使用部署图。

第九章 用案

用案是获取系统功能需求的一种技术。用案通过表述系统的用户和系统本身之间特有的交互而工作,提供了如何使用系统的一种陈述。

何时使用用案图?

对用案,要全神贯注的是正文而不是图。纵然UML对用案正文未有任何论述,包含技术中全部价值的依然是正文。记住,用案千万不要做的太复杂。

第十章 状态机图

状态机图是表述系统行为的一种熟悉的技术,在面向对象方法中,对单一一类画一个状态机图以示明单个对象的生命周期行为。

何时使用状态机图?

状态机图擅长于表述跨用案的对象行为。状态图不太擅长于表述包含若干协作对象的行为。就其本身而言,把状态机图和其他技术进行组合是有用的。顺序图擅长于表述单个用案中若干对象之行为,而活动图擅长于示明若干对象和用案的活动的一般顺序。如果你真使用状态图,就不要打算对系统中每一个类都绘制状态图。很多人发现UI和控制对象具有值得用状态图刻画的行为。

第十一章 活动图

活动图是一种表述过程基理、业务过程以及工作流的技术。在很多方面,它们所起的作用与流程图类似,但是,与流程图表示法的主要区别是,活动图支持并行行为。

何时使用活动图?

活动图的最大优点是,它们支持并鼓励并行行为。这使它们成为工作流建模和过程建模的一项重要工具。活动图最好不要用于表述用案,因为往往领域专家不易领会活动图。

第十二章 通信图

通信图是一种着重阐述交互中各个参加者之间的数据连接的交互图。与顺序图依垂直方向对每一参加者画一条生命线并示明消息顺序不同,通信图允许自由放置参加者,允许画一些连线来示明各个参加者如何相连,并利用编号示明消息顺序。

何时使用通信图?

在强调调用顺序时,用顺序图更好;要强调连接时,通信图更好。

第十三章 复合结构图

复合结构图是层次的把一个类分解成一个内部结构的能力。这就使你能把一个复杂对象分成若干部分。

何时使用复合结构图?

包和复合结构图之间区别是,包是编译时刻的聚组而复合结构则示明运行时刻的聚组。就其本身而言,复合结构自然宜于示明构件以及如何把构件分解为部分,因此,这种图示法大部分适用于构件图。

第十四章 构件图

构件是涉及客户如何与软件相联系的一种构造。

何时使用构件图?

当你将系统分成若干构件,并希望借助接口或者把构件分解为一些更为底层的结构示明期间相互关系时,就要使用构件图。

第十五章 协作图

协作图表示角色由不同的类扮演。

何时使用协作图?

在角色由不同的类扮演时,协作的确提供了一种把交互行为聚组成块的方式。

第十六章 交互概观图

交互概观图时将活动图与顺序图嫁接在一起的图。

何时使用交互概观图?

取决于何者服务与你的目的更好,你或者画活动图,或者画顺序图。

第十七章 定时图

定时图是交互图的另一种形式,其中着重点是对约束定时:或者是对单个对象,或者更有用的是,对一群对象。

何时使用定时图?

定时图用以示明不同对象上状态改变之间的定时约束。

 

终于写完了,写了一下午,纯手工制作,希望大家支持下

10
2
分享到:
评论
8 楼 juvenshun 2009-04-16  
这不是书评,这是读书笔记
7 楼 funcreal 2009-04-16  
看看这个吧《UML基础、案例与应用》,可以下载到电子版的。
现在我们的项目都进行建模,虽然达不到软件工程那么大的强度,但获益匪浅。
6 楼 cantellow 2009-04-15  
JimyChen 写道

这东西应该很多大学就学了的吧

是啊,建模嘛,正在学,呵呵,软工也有讲的
5 楼 JimyChen 2009-04-15  
这东西应该很多大学就学了的吧
4 楼 碧海山城 2009-04-15  
我也些了很多笔记,多交流 
3 楼 天机老人 2009-04-15  
whaosoft 写道

uml~! 中国好多项目都不去画的 没那么正规

是的你说的很对
但是其实无意中沟通的时候还是会写一些类UML图的,呵呵!了解一下有点必要!
2 楼 whaosoft 2009-04-15  
uml~! 中国好多项目都不去画的 没那么正规
1 楼 天机老人 2009-04-14  
写的不错,说的我都想再拿起来看一遍了!

相关推荐

    UML精粹.pdf

    UML精粹一书中介绍了UML的基本元素、结构以及各种UML图,目的是为了帮助读者快速理解和掌握UML的核心知识,整理业务逻辑。 本书详细介绍了UML的几种重要图,包括用例图、类图、序列图、活动图等。用例图关注于系统...

    UML精粹:标准对象建模语言简明指南.pdf

    《UML精粹:标准对象建模语言简明指南》是Martin Fowler的经典之作,自1997年初版以来,一直是UML学习者和实践者的首选参考书籍。这本书旨在为读者提供一个清晰、简洁的UML(Unified Modeling Language)理解和应用...

    UML精粹(中文和英文)

    《UML精粹》是一本深受IT专业人士喜爱的UML学习资源,无论是初学者还是有经验的软件开发者,都能从中受益匪浅。该书提供了对统一建模语言(Unified Modeling Language,简称UML)的全面理解和深入应用。UML是一种...

    UML精粹:标准对象建模语言简明指南(第3版)

    **UML精粹:标准对象建模语言简明指南(第3版)** UML,全称为Unified Modeling Language,是面向对象系统设计的一种标准化建模语言。它为软件开发提供了图形化表示方法,用于描述系统的需求、结构和行为。UML自...

    (高清版)UML精粹 标准对象建模语言简明指南 第3版.pdf

    本文为高清扫描版,但是无目录,真金白银买的,做目录有点费力,所以不做了

    UML精粹 包含中文和英文版

    **UML精粹**,全称为统一建模语言(Unified Modeling Language),是软件工程领域中一种广泛使用的可视化建模工具,旨在促进软件开发团队之间的沟通和理解。它通过图形化的方式来表达系统的设计、分析和实现过程,...

    UML精粹:标准对象建模语言简明指南

    清华大学出版社《UML精粹:标准对象建模语言简明指南 第3版 》在紧迫的时间压力下 程序员很难通过紧跟技术创新的脚步来享受软件工程领域的最新成果 正因如此 殿堂级大师Martin Fowler这本旨在帮助专业人士提升效率的...

    UML精粹(中英文两份)

    **UML精粹** UML(Unified Modeling Language),即统一建模语言,是软件工程领域中用于系统分析和设计的一种标准化图形表示法。它通过图形化的方式表达软件系统的结构和行为,帮助团队成员进行有效的沟通和协作。...

    UML精粹:标准对象建模语言简明指南 第三版

    《UML精粹:标准对象建模语言简明指南 第三版》是一本深入浅出地介绍统一建模语言(Unified Modeling Language,简称UML)的权威书籍。这本书旨在为IT专业人士提供一个全面理解UML的框架,帮助他们有效地进行系统...

    UML Distilled(UML精粹,带书签)

    ### UML精粹核心知识点概览 #### 一、引言 Martin Fowler的《UML精粹》是一本深入浅出地介绍了统一建模语言(UML)的基础和高级概念的经典著作。本书英文第三版提供了最新的UML知识体系,特别适合软件开发人员、...

    UML精粹

    《UML精粹》这本书由IT行业的大师马丁·福勒撰写,被广泛认为是理解统一建模语言(UML)的重要参考资料。本书的核心在于它不仅提供了UML的基础知识,还深入介绍了UML 2.0版本的关键更新,以及如何有效地在软件开发中...

    我收集的电子书 uml精粹.pdf

    《UML精粹》这本书是面向软件开发人员和系统分析师的重要参考资料,主要涵盖了统一建模语言(Unified Modeling Language)的核心概念、符号以及在实际项目中的应用。UML是一种图形化语言,用于描述软件系统的设计、...

    UML精粹(第二版)

    UML精粹(第二版) 徐家富译 pdf格式

    UML精粹标准对象建模语言简明指南

    UML精粹是对UML使用和理解的深入讲解,由Martin Fowler和Kendall Scott联合著作,徐家福翻译,自出版以来已经重印十多次,成为国际IT业界畅销读物。 本书主要分为两个部分:第一部分深入介绍UML的语言成分,包括...

    UML精粹--Java程序员进阶架构师推荐阅读书籍

    Java程序员进阶架构师推荐阅读书籍 UML其实和软件开发过程没有什么必然联系,却是软件团队协作沟通,撰写软件文档需要...但是UML真正实用的图不多,看看这本书已经足够了,完全没有必要去啃《UML用户指南》之类的东西。

    UML精粹(第三版)标准对象建模语言简明指南

    ### UML精粹(第三版)标准对象建模语言简明指南 #### 书籍概述 《UML精粹(第三版)》是一部介绍统一建模语言(Unified Modeling Language,简称UML)的经典著作,由知名软件开发专家马丁·福勒(Martin Fowler)撰写...

    UML精粹标准对象建模语言简明指南.rar

    《UML精粹:标准对象建模语言简明指南》是一本深入浅出介绍统一建模语言(Unified Modeling Language,简称UML)的书籍。UML是软件工程领域广泛使用的建模工具,它通过图形化的方式,帮助开发者、分析师和项目管理者...

Global site tag (gtag.js) - Google Analytics