Cover image for A UML pattern language
Title:
A UML pattern language
Personal Author:
Series:
Software engineering series
Publication Information:
Indianapolis, IN. : Macmillan Tech Pub, 2000
ISBN:
9781578701186

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000003612730 QA76.76.D47 E84 2000 Open Access Book Book
Searching...
Searching...
30000003409772 QA76.76.D47 E84 2000 Open Access Book Book
Searching...

On Order

Summary

Summary

Social scientists, whether earnest graduate students or tenured faculty members, clearly know the rules that govern good writing. But for some reason they choose to ignore those guidelines and churn out turgid, pompous, and obscure prose. Distinguished sociologist Howard S. Becker, true to his calling, looks for an explanation for this bizarre behavior not in the psyches of his colleagues but in the structure of his profession. In this highly personal and inspirational volume he considers academic writing as a social activity.

Both the means and the reasons for writing a thesis or article or book are socially structured by the organization of graduate study, the requirements for publication, and the conditions for promotion, and the pressures arising from these situations create the writing style so often lampooned and lamented. Drawing on his thirty-five years' experience as a researcher, writer, and teacher, Becker exposes the foibles of the academic profession to the light of sociological analysis and gentle humor. He also offers eminently useful suggestions for ways to make social scientists better and more productive writers. Among the topics discussed are how to overcome the paralyzing fears of chaos and ridicule that lead to writer's block; how to rewrite and revise, again and again; how to adopt a persona compatible with lucid prose; how to deal with that academic bugaboo, "the literature." There is also a chapter by Pamela Richards on the personal and professional risks involved in scholarly writing.

In recounting his own trials and errors Becker offers his readers not a model to be slavishly imitated but an example to inspire. Throughout, his focus is on the elusive work habits that contribute to good writing, not the more easily learned rules of grammar and punctuation. Although his examples are drawn from sociological literature, his conclusions apply to all fields of social science, and indeed to all areas of scholarly endeavor. The message is clear: you don't have to write like a social scientist to be one.


Author Notes

Paul Evitts is a systems and management consultant from Toronto, and he is the President of neoLogistiks, Inc. He has more than 20 years of experience in systems integration, technology planning and implementation, and software methodology/lifecycle development. Paul's clients have included dozens of private sector and government organizations across North America, including insurance and manufacturing companies, real estate and retail organizations, educational institutions, and financial sector firms.

Over the last 10 years, Paul has successfully crafted custom use-case driven development approaches for clients, acted as business architect and project manager for individual projects, and provided strategic planning support for clients migrating to new technologies.

His consulting activities have not been limited to traditional applications development and system integration. He has also evaluated business opportunities for systems technology in the Third World (Africa, Latin America, and the Caribbean), acted as technical producer for a commercial CD-ROM published by The Voyager Company, assisted a startup multimedia media company in business planning, and worked as a system architect for one of the significant successes in business re-engineering.

Paul's methodology consulting practice has not been limited to object-oriented development. He spent many years in the 1980s providing clients with Rapid Application Development and event-based development approaches, coaching and mentoring modeling using a variety of CASE tools.

Before getting into Information Technology, Paul was involved in community development and the use of emerging technologies to promote social change. As a socio-economic consultant, he was an early part of the Inuit Land Claims effort in the Canadian Arctic, which recently culminated in the establishment of a new Canadian Territory called Nunavut. Paul helped the Inuit use video and other media in the process of initial consensus-building across the North, and he provided advice on housing and community planning. His first exposure to the ideas of Christopher Alexander came about earlier as a result of work with a legalized squatting community in London, England where he was involved in the cooperative rehabilitation of abandoned neighborhoods.

Paul studied community development, politics, and advanced technology at Rochdale College in Toronto. Rochdale is an experimental educational community that he helped establish. It is an alternative to traditional universities. His experiences at Rochdale were recently made into a very popular television documentary in Canada, which aired a number of times by the Canadian Broadcasting Corporation and is available as a video from the National Film Board of Canada. Please refer to Paul's Web site, http://www.umlpatterns.com, for further materials related to this book.


Table of Contents

Introductionp. 1
Patterns and the UMLp. 2
Levels and Shared Idiomsp. 5
Using This Bookp. 7
Resources, Sources, and Referencesp. 8
Part I Getting Startedp. 11
1 Pattern Essentialsp. 13
1.1 Patterns and Paradigmsp. 14
1.1.1 The Idea of a Patternp. 15
1.2 Elements of Patternsp. 17
1.2.1 A Simple Examplep. 18
1.3 Interpreting the Patterns in This Bookp. 21
1.3.1 This Book's Pattern Formatp. 22
2 The Unified Modeling Languagep. 25
2.1 The UML, Briefly Putp. 26
2.2 Rootsp. 27
2.2.1 Key Playersp. 29
2.3 Understanding the UMLp. 33
2.4 Unification: The Methods Wars Are Overp. 34
2.4.1 Best Practices: In the Eye of the Beholderp. 35
2.4.2 An Independent-Minded Modeling Languagep. 36
3 UML Essentials, Elements, and Artifactsp. 39
3.1 Elements, Viewpoints, and Viewsp. 40
3.1.1 Models and Model Elementsp. 42
3.1.2 Diagramsp. 43
3.2 Packagesp. 44
3.2.1 Models: Packages of Viewsp. 47
3.2.2 Subsystems: Packages of Behavior and Operationsp. 47
3.2.3 Frameworks: Packages of Patternsp. 48
3.3 Extensionsp. 49
3.3.1 Tagged Valuesp. 50
3.3.2 Constraintsp. 50
3.3.3 Stereotypesp. 50
3.3.4 Profilesp. 51
3.4 Symbolsp. 51
3.4.1 Actorp. 52
3.4.2 Use Case/Collaborationp. 52
3.4.3 Class/Object/Type/Active Classp. 53
3.4.4 Interfacep. 54
3.4.5 Componentp. 54
3.4.6 Nodep. 54
3.4.7 Packagep. 55
3.4.8 Statep. 55
3.4.9 Notep. 56
3.5 Linesp. 56
3.5.1 Messagesp. 56
3.5.2 Relationships in Generalp. 57
3.5.3 Relationships: Some Types of Associationsp. 58
3.5.4 Relationships: Some Uses of Dependencyp. 59
3.5.5 Abstraction: Other Uses of Dependencyp. 60
3.6 Diagramsp. 61
3.6.1 Class Diagramp. 61
3.6.2 Use Case Diagramp. 62
3.6.3 Interaction Diagramsp. 63
3.6.4 State Diagramsp. 65
3.6.5 Activity Diagramsp. 66
3.6.6 Implementation Diagramsp. 68
3.7 Further Readingp. 69
Part II The Pattern Languagep. 71
4 Patterns of Stylep. 73
Cataloguep. 73
Contextp. 74
Common Forcesp. 74
Discussionp. 75
4.1 Attributes as Compositions to Typesp. 75
4.2 Providing Focusp. 79
4.3 Explicit Elisionp. 81
4.4 Tree Routingp. 83
4.5 Tombstone Packagesp. 85
4.6 Inheritance Goes Upp. 87
4.7 Rotated Textp. 88
4.8 Dual Associationsp. 89
4.9 Billboard Packagesp. 91
4.10 Text Workaroundsp. 93
4.11 Seven Plus or Minus Twop. 96
Summaryp. 97
5 Patterns of Substancep. 99
Cataloguep. 99
Contextp. 100
Common Forcesp. 100
Discussionp. 101
5.1 Standard Diagramsp. 101
5.2 Implementation or Representationp. 102
5.3 Digestible Chunksp. 103
5.4 Attach the Actorp. 104
5.5 Business Rules Invariably Constrainp. 105
5.6 Dynamic Object Typesp. 107
5.7 Many-to-Many Class Triop. 109
5.8 Model the Seamsp. 111
5.9 Packaging Partitionsp. 113
5.10 Let the Tools Do the Workp. 115
5.11 Opaque Packagesp. 117
Summaryp. 119
6 Domain Patternsp. 121
Cataloguep. 121
Contextp. 122
Common Forcesp. 122
Discussionp. 123
6.1 Domain Model Is Essentialp. 125
6.2 Actors Play Essential Rolesp. 126
6.3 Factor the Actorp. 127
6.4 Essential Actionsp. 128
6.5 Essential Vocabularyp. 129
6.6 Objectify Internal Rolesp. 130
6.7 ToBe Modelp. 131
6.8 AsIs Modelp. 132
Summaryp. 134
7 Product Patternsp. 137
Cataloguep. 137
Contextp. 138
Forcesp. 138
Discussionp. 139
7.1 Manageable Productp. 139
7.2 Product Stakeholders Are Model Clientsp. 141
7.3 Product Events in Contextp. 142
7.4 Use Cases Represent Requirementsp. 144
7.5 Boundary-Control-Entity (BCE)p. 145
7.6 Product Chunks Digest Easilyp. 148
7.7 Product Traces Support Robustnessp. 149
7.8 Use Cases: Work as Packagesp. 150
7.9 Tests Need Modelsp. 151
7.10 Configuration Management Modelp. 152
Summaryp. 154
8 Component Patternsp. 155
Cataloguep. 155
Contextp. 156
Discussionp. 156
8.1 Separation of Concernsp. 157
8.2 Whole Componentsp. 159
8.3 Icons Clarify Componentsp. 160
8.4 Icons Identify Nodesp. 162
8.5 Specification Backplanep. 164
8.6 Components Manage Changep. 165
8.7 Configured and Released Packagesp. 166
8.8 Model for Maintenancep. 167
Summaryp. 169
Part III Another Starting Pointp. 171
9 Patterns in Contextp. 173
9.1 A Little Starting Contextp. 175
9.1.1 Force 1: Structuring Abstraction, Abstracting Structurep. 175
9.1.2 Force 2: Guiding Creativity, Creative Guidancep. 176
9.1.3 Force 3: The Search for Quality and Reusep. 177
9.1.4 Broader Cultural and Professional Forcesp. 178
9.2 The Pattern Ideap. 179
9.2.1 First Hintsp. 179
9.2.2 The Early Yearsp. 180
9.2.3 The Idea Emergesp. 181
9.2.4 The Beginnings of PLoPp. 183
9.2.5 The Gang of Four and Afterp. 184
9.3 Patterns as Literaturep. 185
9.4 Types of Software Patternsp. 188
9.4.1 CoplienFormp. 190
9.4.2 GammaFormp. 193
9.5 The Roots: Alexander on Patterns and Pattern Languagesp. 195
9.6 A Note on This Languagep. 198
9.7 The Importance of Patternsp. 199
9.8 Where Is It All Going?p. 202
10 The UML in Contextp. 205
10.1 Why Make System Models?p. 205
10.1.1 What Use Is a Model?p. 207
10.2 Every Picture Tells a Story: The UML as a Modeling Languagep. 208
10.3 The UML Specification and Metamodelp. 210
10.4 What Do We Model?p. 213
10.4.1 Architecturep. 214
10.4.2 Domainsp. 215
10.4.3 Productsp. 217
10.4.4 Solutionsp. 217
10.5 Abstraction and Architecture Made Simplep. 219
10.5.1 Abstractionp. 219
10.5.2 Architecturep. 222
10.6 Perspectives: A Generic Modeling Frameworkp. 225
11 Putting It All Together: Reflecting on the Work of Designp. 227
11.1 The Work of Designp. 228
11.1.1 What Is Design?p. 229
11.1.2 Beyond Patterns and Paradigmsp. 231
11.2 Elements of Reflective Designp. 232
11.2.1 Problem Settingp. 234
11.2.2 A Language of Designp. 235
11.2.3 A Language about Designingp. 236
11.2.4 Performancep. 237
11.2.5 Closurep. 239
11.2.6 Reflective Design and Systems Modelingp. 239
11.3 To Be Continuedp. 240
Referencesp. 241
Indexp. 247