没有合适的资源?快使用搜索试试~ 我知道了~
首页UML Distilled 3rd Edition
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/7948975/bg1.jpg)
1/118
![](https://csdnimg.cn/release/download_crawler_static/7948975/bg2.jpg)
2/118
FOREWORD TO THE THIRD EDITION ...................................................................................................................................4
FOREWORD TO THE FIRST EDITION....................................................................................................................................5
PREFACE...........................................................................................................................................................................5
Why Bother with the UML?........................................................................................................................................6
Structure of the Book..................................................................................................................................................7
Changes for the Third Edition....................................................................................................................................7
Acknowledgments......................................................................................................................................................7
DIAGRAMS .......................................................................................................................................................................10
CHAPTER 1. INTRODUCTION ............................................................................................................................................14
What Is the UML?.....................................................................................................................................................14
Where to Find Out More ..........................................................................................................................................14
Ways of Using the UML ...........................................................................................................................................15
How We Got to the UML..........................................................................................................................................18
Notations and Meta-Models.....................................................................................................................................20
UML Diagrams..........................................................................................................................................................21
What Is Legal UML?.................................................................................................................................................23
The Meaning of UML................................................................................................................................................24
UML Is Not Enough..................................................................................................................................................24
Where to Start with the UML....................................................................................................................................25
CHAPTER 2. DEVELOPMENT PROCESS ............................................................................................................................26
Iterative and Waterfall Processes............................................................................................................................26
Predictive and Adaptive Planning............................................................................................................................28
Agile Processes........................................................................................................................................................29
Rational Unified Process..........................................................................................................................................30
Fitting a Process to a Project...................................................................................................................................30
Fitting the UML into a Process................................................................................................................................32
Choosing a Development Process..........................................................................................................................35
Where to Find Out More ..........................................................................................................................................35
CHAPTER 3. CLASS DIAGRAMS: THE ESSENTIALS ...........................................................................................................35
Properties..................................................................................................................................................................36
When to Use Class Diagrams.................................................................................................................................38
Where to Find Out More ..........................................................................................................................................38
Multiplicity..................................................................................................................................................................38
Programming Interpretation of Properties..............................................................................................................39
Bidirectional Associations........................................................................................................................................41
Operations.................................................................................................................................................................42
Generalization...........................................................................................................................................................43
Notes and Comments..............................................................................................................................................44
Dependency..............................................................................................................................................................44
Constraint Rules.......................................................................................................................................................46
CHAPTER 4. SEQUENCE DIAGRAMS.................................................................................................................................47
Creating and Deleting Participants..........................................................................................................................50
Loops, Conditionals, and the Like...........................................................................................................................51
Synchronous and Asynchronous Calls...................................................................................................................54
When to Use Sequence Diagrams..........................................................................................................................54
CHAPTER 5. CLASS DIAGRAMS: ADVANCED CONCEPTS ..................................................................................................56
Keywords ..................................................................................................................................................................56
Classification and Generalization............................................................................................................................57
Multiple and Dynamic Classification........................................................................................................................57
Association Class.....................................................................................................................................................58
Template (Parameterized) Class.............................................................................................................................61
Enumerations............................................................................................................................................................62
Active Class..............................................................................................................................................................63
Visibility .....................................................................................................................................................................63
Messages..................................................................................................................................................................64
Responsibilities.........................................................................................................................................................64
Static Operations and Attributes..............................................................................................................................65
Aggregation and Composition.................................................................................................................................65
Derived Properties....................................................................................................................................................66
Interfaces and Abstract Classes..............................................................................................................................67
Read-Only and Frozen.............................................................................................................................................70
Reference Objects and Value Objects....................................................................................................................70
Qualified Associations..............................................................................................................................................71
CHAPTER 6. OBJECT DIAGRAMS......................................................................................................................................72
![](https://csdnimg.cn/release/download_crawler_static/7948975/bg3.jpg)
3/118
When to Use Object Diagrams................................................................................................................................72
CHAPTER 7. PACKAGE DIAGRAMS ...................................................................................................................................73
Packages and Dependencies..................................................................................................................................74
Package Aspects......................................................................................................................................................76
Implementing Packages...........................................................................................................................................76
When to Use Package Diagrams............................................................................................................................77
Where to Find Out More ..........................................................................................................................................78
CHAPTER 8. DEPLOYMENT DIAGRAMS.............................................................................................................................78
When to Use Deployment Diagrams.......................................................................................................................79
CHAPTER 9. USE CASES .................................................................................................................................................79
Content of a Use Case.............................................................................................................................................80
Use Case Diagrams.................................................................................................................................................81
Levels of Use Cases................................................................................................................................................82
Use Cases and Features (or Stories).....................................................................................................................82
When to Use Use Cases..........................................................................................................................................83
Where to Find Out More ..........................................................................................................................................83
CHAPTER 10. STATE MACHINE DIAGRAMS ......................................................................................................................83
Internal Activities ......................................................................................................................................................85
Activity States...........................................................................................................................................................85
Superstates...............................................................................................................................................................86
Concurrent States.....................................................................................................................................................86
Implementing State Diagrams.................................................................................................................................87
When to Use State Diagrams..................................................................................................................................89
Where to Find Out More ..........................................................................................................................................89
CHAPTER 11. ACTIVITY DIAGRAMS ..................................................................................................................................89
Decomposing an Action...........................................................................................................................................91
And There's More.....................................................................................................................................................93
When to Use Activity Diagrams...............................................................................................................................93
Where to Find Out More ..........................................................................................................................................93
Partitions ...................................................................................................................................................................93
Signals.......................................................................................................................................................................94
Tokens.......................................................................................................................................................................95
Flows and Edges......................................................................................................................................................96
Pins and Transformations........................................................................................................................................96
Expansion Regions ..................................................................................................................................................97
Flow Final..................................................................................................................................................................98
Join Specifications....................................................................................................................................................99
CHAPTER 12. COMMUNICATION DIAGRAMS ...................................................................................................................100
When to Use Communication Diagrams...............................................................................................................101
CHAPTER 13. COMPOSITE STRUCTURES .......................................................................................................................101
When to Use Composite Structures......................................................................................................................103
CHAPTER 14. COMPONENT DIAGRAMS ..........................................................................................................................103
When to Use Component Diagrams.....................................................................................................................105
CHAPTER 15. COLLABORATIONS ...................................................................................................................................105
When to Use Collaborations..................................................................................................................................107
CHAPTER 16. INTERACTION OVERVIEW DIAGRAMS........................................................................................................107
When to Use Interaction Overview Diagrams......................................................................................................108
CHAPTER 17. TIMING DIAGRAMS ...................................................................................................................................109
When to Use Timing Diagrams..............................................................................................................................110
APPENDIX CHANGES BETWEEN UML VERSIONS............................................................................................................110
Revisions to the UML.............................................................................................................................................110
Changes in UML Distilled.......................................................................................................................................111
Changes from UML 1.0 to 1.1 ...............................................................................................................................112
Changes from UML 1.2 (and 1.1) to 1.3 (and 1.5)...............................................................................................113
Changes from UML 1.3 to 1.4 ...............................................................................................................................114
Changes from UML 1.4. to 1.5..............................................................................................................................114
From UML 1.x to UML 2.0......................................................................................................................................114
BIBLIOGRAPHY...............................................................................................................................................................116
![](https://csdnimg.cn/release/download_crawler_static/7948975/bg4.jpg)
4/118
Foreword to the Third Edition
Since ancient times, the most talented architects and the most gifted designers have known the law
of parsimony. Whether it is stated as a paradox ("less is more"), or a koan ("Zen mind is beginner's
mind"), its wisdom is timeless: Reduce everything to its essence so that form harmonizes with
function. From the pyramids to the Sydney Opera House, from von Neumann architectures to UNIX
and Smalltalk, the best architects and designers have strived to follow this universal and eternal
principle.
Recognizing the value of shaving with Occam's Razor, when I architect and read I seek projects and
books that adhere to the law of parsimony. Consequently, I applaud the book you are reading now.
You may find my last remark surprising at first. I am frequently associated with the voluminous and
dense specifications that define the Unified Modeling Language (UML). These specifications allow tool
vendors to implement the UML and methodologists to apply it. For seven years, I have chaired large
international standardization teams to specify UML 1.1 and UML 2.0, as well as several minor
revisions in between. During this time, the UML has matured in expressiveness and precision, but it
has also added gratuitous complexity as a result of the standardization process. Regrettably,
standardization processes are better known for design-by-committee compromises than
parsimonious elegance.
What can a UML expert familiar with the arcane minutiae of the specification learn from Martin's
distillation of UML 2.0? Quite a bit, as can you. To start with, Martin adroitly reduces a large and
complex language into a pragmatic subset that he has proven effective in his practice. He has
resisted the easy route of tacking on additional pages to the last edition of his book. As the language
has grown, Martin has kept true to his goal of seeking the "fraction of UML that is most useful" and
telling you just that. The fraction he refers to is the mythical 20 percent of UML that helps you do 80
percent of your work. Capturing and taming this elusive beast is no mean accomplishment!
It is even more impressive that Martin achieves this goal while writing in a wonderfully engaging
conversational style. By sharing his opinions and anecdotes with us, he makes this book fun to read
and reminds us that architecting and designing systems should be both creative and productive. If
we pursue the parsimony koan to its full intent, we should find UML modeling projects to be as
enjoyable as we found finger-painting and drawing classes in grammar school. UML should be a
lightning rod for our creativity as well as a laser for precisely specifying system blueprints so that
third parties can bid and build those systems. The latter is the acid test for any bona fide blueprint
language.
So, while this may be a small book, it is not a trivial one. You can learn as much from Martin's
approach to modeling as you can learn from his explanations of UML 2.0.
I have enjoyed working with Martin to improve the selection and correctness of the UML 2.0
language features explained in this revision. We need to keep in mind that all living languages, both
natural and synthetic, must evolve or perish. Martin's choices of new features, along with your
preferences and those of other practitioners, are a crucial part of the UML revision process. They
keep the language vital and help it evolve via natural selection in the marketplace.
Much challenging work remains before model-driven development becomes mainstream, but I am
encouraged by books like this that explain UML modeling basics clearly and apply them
pragmatically. I hope you will learn from it as I have and will use your new insights to improve your
own software modeling practices.
Cris Kobryn
Chair, U2 Partners' UML 2.0 Submission Team
Chief Technologist, Telelogic
![](https://csdnimg.cn/release/download_crawler_static/7948975/bg5.jpg)
5/118
Foreword to the First Edition
When we began to craft the Unified Modeling Language, we hoped that we could produce a standard
means of expressing design that would not only reflect the best practices of industry, but would also
help demystify the process of software system modeling. We believed that the availability of a
standard modeling language would encourage more developers to model their software systems
before building them. The rapid and widespread adoption of the UML demonstrates that the benefits
of modeling are indeed well known to the developer community.
The creation of the UML was itself an iterative and incremental process very similar to the modeling
of a large software system. The end result is a standard built on, and reflective of, the many ideas
and contributions made by numerous individuals and companies from the object community. We
began the UML effort, but many others helped bring it to a successful conclusion; we are grateful for
their contribution.
Creating and agreeing on a standard modeling language is a significant challenge by itself. Educating
the development community, and presenting the UML in a manner that is both accessible and in the
context of the software development process, is also a significant challenge. In this deceptively short
book, updated to reflect the most recent changes to the UML, Martin Fowler has more than met this
challenge.
In a clear and friendly style, Martin not only introduces the key aspects of UML, but also clearly
demonstrates the role UML plays in the development process. Along the way, we are treated to
abundant nuggets of modeling insight and wisdom drawn from Martin's 12-plus years of design and
modeling experience.
The result is a book that has introduced many thousands of developers to UML, whetting their
appetite to further explore the many benefits of modeling with this now standard modeling
language.
We recommend the book to any modeler or developer interested in getting a first look at UML and in
gaining a perspective on the key role it plays in the development process.
Grady Booch
Ivar Jacobson
James Rumbaugh
Preface
I've been lucky in a lot of ways in my life; one of my great strokes of fortune was being in the right
place with the right knowledge to write the first edition of this book in 1997. Back then, the chaotic
world of object-oriented (OO) modeling was just beginning to unify under the Unified Modeling
Language (UML). Since then, the UML has become the standard for the graphical modeling of
software, not just for objects. My fortune is that this book has been the most popular book on the
UML, selling more than a quarter of a million copies.
Well, that's very nice for me, but should you buy this book?
I like to stress that this is a brief book. It's not intended to give you the details on every facet of the
UML, which has grown and grown over the years. My intention is to find that fraction of the UML that
is most useful and tell you just that. Although a bigger book gives you more detail, it also takes
longer to read. And your time is the biggest investment you'll make in a book. By keeping this book
small, I've spent the time selecting the best bits to save you from having to do that selection
yourself. (Sadly, being smaller doesn't mean proportionately cheaper; there is a certain fixed cost to
producing a quality technical book.)
剩余117页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/0b2eb635213048e29b6ff47502b4007b_andy_zhou_bob.jpg!1)
andy_zhou_bob
- 粉丝: 0
- 资源: 15
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 电力电子系统建模与控制入门
- SQL数据库基础入门:发展历程与关键概念
- DC/DC变换器动态建模与控制方法解析
- 市***专有云IaaS服务:云主机与数据库解决方案
- 紫鸟数据魔方:跨境电商选品神器,助力爆款打造
- 电力电子技术:DC-DC变换器动态模型与控制
- 视觉与实用并重:跨境电商产品开发的六重价值策略
- VB.NET三层架构下的数据库应用程序开发
- 跨境电商产品开发:关键词策略与用户痛点挖掘
- VC-MFC数据库编程技巧与实现
- 亚马逊新品开发策略:选品与市场研究
- 数据库基础知识:从数据到Visual FoxPro应用
- 计算机专业实习经验与项目总结
- Sparkle家族轻量级加密与哈希:提升IoT设备数据安全性
- SQL数据库期末考试精选题与答案解析
- H3C规模数据融合:技术探讨与应用案例解析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)