UML精粹:标准对象建模语言简明指南(第3版)(英文影印版)
基本信息
- 原书名: UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition
- 原出版社: Addison-Wesley Professional
- 作者: (美)Martin Fowler
- 丛书名: 大学计算机教育国外著名教材系列
- 出版社:清华大学出版社
- ISBN:7302125422
- 上架时间:2006-3-23
- 出版日期:2006 年3月
- 开本:16开
- 页码:177
- 版次:3-1
- 所属分类:
计算机 > 软件工程及软件方法学 > UML
教材 > 征订教材 > 高等理工
教材 > 计算机教材 > 本科/研究生 > 计算机专业教材 > 计算机专业课程 > 软件工程
内容简介回到顶部↑
本书为著名的martin fowler所作。本书首版自1997年问世以来,深受读者欢迎,堪称书中上乘。第3版以uml 2.0为基础,引进交互概观图、定时图、复合结构图等新图型;对类图、顺序图、状态图、活动图等均多有更新。作者一如既往,力求以极小篇幅,讲述重要内容,见地独到,且使用对话文体,讲述技术内容,实用与基础并重;文笔清新,引人入胜。.
本书可作为高等学校计算机、电子、通信等专业高年级学生及研究生课程之教学用书,同时对软件研究者与开发人员亦颇具参考价值。...
本书可作为高等学校计算机、电子、通信等专业高年级学生及研究生课程之教学用书,同时对软件研究者与开发人员亦颇具参考价值。...
作译者回到顶部↑
目录回到顶部↑
foreword to the third edition(第3版前言). xi
foreword to the first edition(第1版前言) xiii
preface(序). xv
why bother with the uml(为何对uml操心) xvi
structure of the book(本书的结构) xvi
changes for the third edition(第3版的变动) xvii
acknowledgments(致谢) xvii
chapter 1: introduction(引言) 1
what is the uml?(何谓uml?) 1
ways of using the uml(uml的使用方式) 2
how we got to the uml(uml发展简史) 7
notations and meta-models(图示法与元模型) 9
uml diagrams(uml图) 10
what is legal uml?(何谓合法uml?) 13
the meaning of uml(uml的含义) 14
uml is not enough(uml并非足够) 14
where to start with the uml(何处着手使用uml) 16
looking for more information(何处找寻更多资料) 16
chapter 2: development process(开发过程) 19
iterative and waterfall processes.(迭代过程与瀑布过程) 19
foreword to the first edition(第1版前言) xiii
preface(序). xv
why bother with the uml(为何对uml操心) xvi
structure of the book(本书的结构) xvi
changes for the third edition(第3版的变动) xvii
acknowledgments(致谢) xvii
chapter 1: introduction(引言) 1
what is the uml?(何谓uml?) 1
ways of using the uml(uml的使用方式) 2
how we got to the uml(uml发展简史) 7
notations and meta-models(图示法与元模型) 9
uml diagrams(uml图) 10
what is legal uml?(何谓合法uml?) 13
the meaning of uml(uml的含义) 14
uml is not enough(uml并非足够) 14
where to start with the uml(何处着手使用uml) 16
looking for more information(何处找寻更多资料) 16
chapter 2: development process(开发过程) 19
iterative and waterfall processes.(迭代过程与瀑布过程) 19
前言回到顶部↑
自古以来,最有才干的建筑师以及最杰出的设计师都确信“俭省定律”(law of parsimony)。不管它是陈述成一种悖论(“少即是多”),还是陈述成一种公案(“禅心即本心”),其智慧是永恒的。将任何事都简化到本质,使形式与功能相谐。从金字塔到悉尼歌剧院,从冯·诺依曼体系结构到UNIX及Smalltalk,最佳建筑师与设计师们都力求遵循这一普遍的永恒原则。.
认识到利用奥卡姆剃刀(Occam’s Razor)剃须的意义,当我在设计与阅读时,总在寻找一些遵循俭省定律的项目和书籍。因此,我对你现在正在阅读的这本书赞赏有加。
你可能起先对我的上述评论感到惊异。我经常接触到定义统一建模语言UML的冗长而难懂的规范。这些规范使工具卖主得以实现UML并使方法学学者得以应用UML。七年来,我主持了一些大型国际标准化组,制定了UML 1.1与UML 2.0的规范以及其间若干次较小的修订。这段时期,UML在表现能力与精确程度上已臻成熟,但是,由于标准化过程,也增加了不必要的复杂性。遗憾的是,标准化过程乃是因其“按委员会设计”的折衷妥协而不是因其俭省典雅而闻名于世的。
熟悉规范的晦涩难解之细微末节的UML专家能从Martin对UML 2.0的精粹提炼中学到什么呢?可以学到很多。一开始,Martin就巧妙地将一种庞大复杂的语言简化成一个颇重实效的子集,后者在实践中已被证明效果不错。他摒弃了对该书的前一版增补篇幅的简易途径。由于这种语言的发展壮大,Martin一直坚持其寻求“UML最为有用的部分”的目标,并且所讲述的也正是这一部分。他所指的这一部分就是帮助你做80%工作的UML中神话般的20%部分。俘获并驯服这匹在逃的野兽乃是一项了不起的成就!..
更令人钦佩的是,Martin是以一种精彩动人的对话文体来实现这一目标的。通过与我们共享他的意见及趣闻轶事,他使本书成为一本有趣的读物,并且使我们联想到构建与设计系统应是既有创见又富有成效的。如果我们追求俭省公案到尽善尽美的地步,就应发现,用UML对项目建模就犹如在小学或中学中发现指画班与绘画班那样令人愉快。UML应是我们创造性的一支照明杖,以及“精确指明系统蓝图以致第三方可以索价并构作系统”的一台激光器,后者乃是对任何一种真正蓝图语言的酸性检验。
因此,虽然这可能是一本小书,它却不是一本平凡的书。你可以从Martin的建模途径学到的东西几乎和你从他对UML 2.0的解释所学到的东西一样多。
在和Martin一道工作,以增进本次修订所阐明的UML 2.0的语言特征的选取与纠错上使我感到愉快。我们必须记住,所有有生命的语言(自然语言与人工语言)都必然发展或消亡。Martin的关于新特征的选择连同你的爱好以及其他实践者的爱好,乃是UML修订过程中的重要部分。它们使这种语言保持生气勃勃,并帮助它通过市场中的自然选择而发展。
在模型驱动开发成为主流以前还有很多挑战性的工作要做,但是我却因像这样一本清晰阐明UML建模基本原理并进行实际应用的书籍而感到鼓舞。我希望你和我一样能从中获益,并利用新的深刻了解来改进自己的软件建模实践。...
Cris Kobryn
U2伙伴的UML 2.0提交组主席
Telelogic公司首席技术专家
认识到利用奥卡姆剃刀(Occam’s Razor)剃须的意义,当我在设计与阅读时,总在寻找一些遵循俭省定律的项目和书籍。因此,我对你现在正在阅读的这本书赞赏有加。
你可能起先对我的上述评论感到惊异。我经常接触到定义统一建模语言UML的冗长而难懂的规范。这些规范使工具卖主得以实现UML并使方法学学者得以应用UML。七年来,我主持了一些大型国际标准化组,制定了UML 1.1与UML 2.0的规范以及其间若干次较小的修订。这段时期,UML在表现能力与精确程度上已臻成熟,但是,由于标准化过程,也增加了不必要的复杂性。遗憾的是,标准化过程乃是因其“按委员会设计”的折衷妥协而不是因其俭省典雅而闻名于世的。
熟悉规范的晦涩难解之细微末节的UML专家能从Martin对UML 2.0的精粹提炼中学到什么呢?可以学到很多。一开始,Martin就巧妙地将一种庞大复杂的语言简化成一个颇重实效的子集,后者在实践中已被证明效果不错。他摒弃了对该书的前一版增补篇幅的简易途径。由于这种语言的发展壮大,Martin一直坚持其寻求“UML最为有用的部分”的目标,并且所讲述的也正是这一部分。他所指的这一部分就是帮助你做80%工作的UML中神话般的20%部分。俘获并驯服这匹在逃的野兽乃是一项了不起的成就!..
更令人钦佩的是,Martin是以一种精彩动人的对话文体来实现这一目标的。通过与我们共享他的意见及趣闻轶事,他使本书成为一本有趣的读物,并且使我们联想到构建与设计系统应是既有创见又富有成效的。如果我们追求俭省公案到尽善尽美的地步,就应发现,用UML对项目建模就犹如在小学或中学中发现指画班与绘画班那样令人愉快。UML应是我们创造性的一支照明杖,以及“精确指明系统蓝图以致第三方可以索价并构作系统”的一台激光器,后者乃是对任何一种真正蓝图语言的酸性检验。
因此,虽然这可能是一本小书,它却不是一本平凡的书。你可以从Martin的建模途径学到的东西几乎和你从他对UML 2.0的解释所学到的东西一样多。
在和Martin一道工作,以增进本次修订所阐明的UML 2.0的语言特征的选取与纠错上使我感到愉快。我们必须记住,所有有生命的语言(自然语言与人工语言)都必然发展或消亡。Martin的关于新特征的选择连同你的爱好以及其他实践者的爱好,乃是UML修订过程中的重要部分。它们使这种语言保持生气勃勃,并帮助它通过市场中的自然选择而发展。
在模型驱动开发成为主流以前还有很多挑战性的工作要做,但是我却因像这样一本清晰阐明UML建模基本原理并进行实际应用的书籍而感到鼓舞。我希望你和我一样能从中获益,并利用新的深刻了解来改进自己的软件建模实践。...
Cris Kobryn
U2伙伴的UML 2.0提交组主席
Telelogic公司首席技术专家
序言回到顶部↑
在我的人生中有很多方面都是幸运的。我的一次鸿运是于1997年在合适的地点以合适的知识撰写了本书的第1版。溯及那时,面向对象建模的混乱天地刚刚开始在统一建模语言(UML)的旗帜下统一起来。从那时起,UML已成为不只是对象的标准而已是软件图示建模的标准。我的幸运是,这本书成为一本最流行的UML书,销售量超过25万册。.
好!这对我来说固然不错,但你是否应该购买这本书呢?
我要强调的是,这是一本篇幅简短的书。它不指望给出这些年来日益发展的UML每一方面的细节。我的意图是去发现UML中最为有用的部分,并且只对你讲述这一部分。虽然一本篇幅较大的书会使你了解更多的细节,但也会占用你更多的阅读时间。而时间是你对一本书的最大投资。为了保持这本书篇幅不大,我曾经花时间去选择最佳的部分,这样你就不必去自行选择了。(令人难过的是,“更小”并不总是意味着“更便宜”,产生一本高质量的技术书是有明确固定成本的。)
购买本书的理由之一是要开始学习UML。由于这是一本小书,它会使你很快抓住UML的基本要点。掌握了这些内容以后,就可以通过一些篇幅较大的书(如《用户指南》[Booch, UML user]或《基准手册》[Rumbaugh, UML Reference])来研究UML的更多细节。
本书亦可用作UML的最常用部分的方便参考书。虽然本书并未涵盖UML的所有部分,但比起很多别的UML读物,它却是一本颇为轻便、易于携带的书。
它也是一本作者有自己见地的书。我已经在对象领域工作了很长一段时间,因而,对什么工作起来得心应手、什么不然,有明确的想法。任何一本书都反映作者的意见,我也不打算隐瞒自己的看法。因此,如果你在找寻带有客观性的东西,你就要去尝试别的书。
虽然很多人曾经告诉我,本书是一本关于对象的良好导论,但这却非我的撰写本意。如果你要找寻一本面向对象设计的导论,我推荐Craig Larman的书[Larman]。
很多对UML感兴趣的人都利用工具。本书集中考虑UML的标准以及通常用法,并未涉及各种工具所支持的细节。虽然UML消解了“前UML”表示法的巴别(Babel)塔,但在绘制UML图时,仍然在工具示明什么和允许什么之间有一些令人烦恼的差异。
在本书中我没有过多谈到模型驱动体系结构(MDA)。虽然很多人把这两者(指UML和MDA——译注)看作一回事,但很多开发人员利用UML而对MDA却并无兴趣。如果你要多学一些MDA,我就应该开始先用这本书使你能了解到UML的梗概,然后再转去阅读一本更为专门的MDA的书。
虽然本书的要点是UML,我也增加了少许像CRC卡那样对面向对象设计有价值的别的技术材料。UML只是你用对象取得成就所需要的一部分,而我认为,向你介绍一些别的技术,还是重要的。
在这样一本简短的书中,不可能涉及到有关UML如何与源代码联系的问题,特别是,尚无一种标准方式去进行这样的对应。但是,我要指出一些实现UML片段的常用编码技术。我的代码例子是用Java与C#书写的,这是因为我发现这些语言通常是最被广泛了解的语言。不要假定我喜欢Java和C#,我用Smalltalk写的代码太多了!
为何对UML操心?
我们使用设计图示法已经有了一段时间。对我来说,其主要价值在于交流与理解。一个好的图往往能帮助你交流设计想法,特别是在你想要避免很多细节时。图也可以帮助你理解一个软件系统或一个业务过程。作为试图明白一些事情的开发组一方,图既能帮助你理解又能帮助你把这些理解在开发组内交流。虽然设计图示法不是(至少还不是)正文编程语言的接替,它们却是一个有益的助手。
很多人相信,在将来,图示技术在软件开发中将起统率作用,我却对此比较怀疑,但是,鉴别这些表示法能做什么,不能做什么,则肯定是有用的。
在这些图示法中,UML的重要性源于它在面向对象开发界的广泛使用与标准化。UML已经成为不只是面向对象界内部的主要图示法,而且在非面向对象界也是一种流行的技术。
本书的结构
第1章是对UML的一个简介:UML是什么,对不同的人它所具有的不同含义,以及它源于何处。
第2章谈软件过程。虽然软件过程完全独立于UML,我认为重要的是,了解过程以便看出像UML那样语言的来龙去脉。特别是,重要的是了解迭代开发的作用,对面向对象界的很多人来说,迭代开发是一种基本的过程途径。
我是围绕UML内的各种图型来组织本书的其余部分的。第3章和第4章讨论UML两个最有用的部分:类图(核心)与顺序图。即使本书很小,我相信,利用我在这几章中所讨论的技术,你可以从UML中得到最大的好处。UML是一头日益增长的大型野兽,但是你却不需要它的全部。
第5章谈论类图的一些比较次要但仍有用的部分的细节。第6章到第8章表述进一步显露系统结构(structure)的三种有用的图: 对象图、包图以及部署图。
好!这对我来说固然不错,但你是否应该购买这本书呢?
我要强调的是,这是一本篇幅简短的书。它不指望给出这些年来日益发展的UML每一方面的细节。我的意图是去发现UML中最为有用的部分,并且只对你讲述这一部分。虽然一本篇幅较大的书会使你了解更多的细节,但也会占用你更多的阅读时间。而时间是你对一本书的最大投资。为了保持这本书篇幅不大,我曾经花时间去选择最佳的部分,这样你就不必去自行选择了。(令人难过的是,“更小”并不总是意味着“更便宜”,产生一本高质量的技术书是有明确固定成本的。)
购买本书的理由之一是要开始学习UML。由于这是一本小书,它会使你很快抓住UML的基本要点。掌握了这些内容以后,就可以通过一些篇幅较大的书(如《用户指南》[Booch, UML user]或《基准手册》[Rumbaugh, UML Reference])来研究UML的更多细节。
本书亦可用作UML的最常用部分的方便参考书。虽然本书并未涵盖UML的所有部分,但比起很多别的UML读物,它却是一本颇为轻便、易于携带的书。
它也是一本作者有自己见地的书。我已经在对象领域工作了很长一段时间,因而,对什么工作起来得心应手、什么不然,有明确的想法。任何一本书都反映作者的意见,我也不打算隐瞒自己的看法。因此,如果你在找寻带有客观性的东西,你就要去尝试别的书。
虽然很多人曾经告诉我,本书是一本关于对象的良好导论,但这却非我的撰写本意。如果你要找寻一本面向对象设计的导论,我推荐Craig Larman的书[Larman]。
很多对UML感兴趣的人都利用工具。本书集中考虑UML的标准以及通常用法,并未涉及各种工具所支持的细节。虽然UML消解了“前UML”表示法的巴别(Babel)塔,但在绘制UML图时,仍然在工具示明什么和允许什么之间有一些令人烦恼的差异。
在本书中我没有过多谈到模型驱动体系结构(MDA)。虽然很多人把这两者(指UML和MDA——译注)看作一回事,但很多开发人员利用UML而对MDA却并无兴趣。如果你要多学一些MDA,我就应该开始先用这本书使你能了解到UML的梗概,然后再转去阅读一本更为专门的MDA的书。
虽然本书的要点是UML,我也增加了少许像CRC卡那样对面向对象设计有价值的别的技术材料。UML只是你用对象取得成就所需要的一部分,而我认为,向你介绍一些别的技术,还是重要的。
在这样一本简短的书中,不可能涉及到有关UML如何与源代码联系的问题,特别是,尚无一种标准方式去进行这样的对应。但是,我要指出一些实现UML片段的常用编码技术。我的代码例子是用Java与C#书写的,这是因为我发现这些语言通常是最被广泛了解的语言。不要假定我喜欢Java和C#,我用Smalltalk写的代码太多了!
为何对UML操心?
我们使用设计图示法已经有了一段时间。对我来说,其主要价值在于交流与理解。一个好的图往往能帮助你交流设计想法,特别是在你想要避免很多细节时。图也可以帮助你理解一个软件系统或一个业务过程。作为试图明白一些事情的开发组一方,图既能帮助你理解又能帮助你把这些理解在开发组内交流。虽然设计图示法不是(至少还不是)正文编程语言的接替,它们却是一个有益的助手。
很多人相信,在将来,图示技术在软件开发中将起统率作用,我却对此比较怀疑,但是,鉴别这些表示法能做什么,不能做什么,则肯定是有用的。
在这些图示法中,UML的重要性源于它在面向对象开发界的广泛使用与标准化。UML已经成为不只是面向对象界内部的主要图示法,而且在非面向对象界也是一种流行的技术。
本书的结构
第1章是对UML的一个简介:UML是什么,对不同的人它所具有的不同含义,以及它源于何处。
第2章谈软件过程。虽然软件过程完全独立于UML,我认为重要的是,了解过程以便看出像UML那样语言的来龙去脉。特别是,重要的是了解迭代开发的作用,对面向对象界的很多人来说,迭代开发是一种基本的过程途径。
我是围绕UML内的各种图型来组织本书的其余部分的。第3章和第4章讨论UML两个最有用的部分:类图(核心)与顺序图。即使本书很小,我相信,利用我在这几章中所讨论的技术,你可以从UML中得到最大的好处。UML是一头日益增长的大型野兽,但是你却不需要它的全部。
第5章谈论类图的一些比较次要但仍有用的部分的细节。第6章到第8章表述进一步显露系统结构(structure)的三种有用的图: 对象图、包图以及部署图。








点击看大图





加载中...

