did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780471197133

AntiPatterns Refactoring Software, Architectures, and Projects in Crisis

by ; ; ;
  • ISBN13:

    9780471197133

  • ISBN10:

    0471197130

  • Edition: 1st
  • Format: Paperback
  • Copyright: 1998-04-03
  • Publisher: Wiley

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $65.00 Save up to $16.25
  • Rent Book $55.73
    Add to Cart Free Shipping Icon Free Shipping

    TERM
    PRICE
    DUE
    USUALLY SHIPS IN 2-3 BUSINESS DAYS
    *This item is part of an exclusive publisher rental program and requires an additional convenience fee. This fee will be reflected in the shopping cart.

Supplemental Materials

What is included with this book?

Summary

"The AntiPatterns authors have clearly been there and done that when it comes to managing software development efforts. I resonated with one insight after another, having witnessed too many wayward projects myself. The experience in this book is palpable." -John Vlissides, IBM Research "This book allows managers, architects, and developers to learn from the painful mistakes of others. The high-level AntiPatterns on software architecture are a particularly valuable contribution to software engineering. Highly recommended!" -Kyle Brown Author of The Design Patterns Smalltalk Companion "AntiPatterns continues the trend started in Design Patterns. The authors have discovered and named common problem situations resulting from poor management or architecture control, mistakes which most experienced practitioners will recognize. Should you find yourself with one of the AntiPatterns, they even provide some clues on how to get yourself out of the situation." -Gerard Meszaros, Chief Architect, Object Systems Group Are you headed into the software development mine field? Follow someone if you can, but if you're on your own-better get the map! AntiPatterns is the map. This book helps you navigate through today's dangerous software development projects. Just look at the statistics: * Nearly one-third of all software projects are cancelled. * Two-thirds of all software projects encounter cost overruns in excess of 200%. * Over 800f all software projects are deemed failures. While patterns help you to identify and implement procedures, designs, and codes that work, AntiPatterns do the exact opposite; they let you zero-in on the development detonators, architectural tripwires, and personality booby traps that can spell doom for your project. Written by an all-star team of object-oriented systems developers, AntiPatterns identifies 40 of the most common AntiPatterns in the areas of software development, architecture, and project management. The authors then show you how to detect and defuse AntiPatterns as well as supply refactored solutions for each AntiPattern presented.

Author Biography

WILLIAM J. BROWN is an independent consultant with extensive experience in large-scale software development project management. RAPHAEL C. MALVEAU is Chief Scientist at Eidea Labs and specializes in building CORBA applications using design patterns. HAYSW. "SKIP" McCORMICK III is a lead engineer at Mitre Corporation, focusing on object-oriented systems development and legacy systems integration. THOMAS J. MOWBRAY is the architect of one of the first CORBA-based applications systems. He is the Principal Scientist at Blueprint Technologies Corporation and an architecture columnist for Object Magazine.

Table of Contents

Dedication iii(10)
Foreword xiii(2)
Preface xv(2)
Acknowledgments xvii(2)
Author Biographies xix(2)
Executive Summary xxi
Part 1--Introduction to AntiPatterns 3(64)
Chapter 1--Introduction to Patterns and AntiPatterns
3(12)
AntiPatterns: AntiHype
4(2)
The Truth about Software Technology
6(1)
What Is an AntiPattern?
7(2)
Where Did AntiPatterns Come From?
9(1)
Portland Pattern Repository
9(2)
How to Kill a Software Project
11(2)
AntiPatterns Research
13(1)
AntiPatterns: The Book
13(2)
Chapter 2--AntiPatterns Reference Model
15(34)
Viewpoints
18(1)
Root Causes
19(7)
Haste
19(1)
Apathy
20(1)
Narrow-Mindedness
21(1)
Sloth
22(1)
Avarice
23(1)
Ignorance
24(1)
Pride
24(2)
Primal Forces
26(8)
What is a Primal Force?
27(7)
Software Design-Level Model
34(3)
Design Reuse versus Code Reuse
37(9)
Object Level
38(1)
Micro-Architecture Level
39(1)
Framework Level
39(1)
Application Level
40(1)
System Level
41(2)
Enterprise Level
43(1)
Global Level
44(1)
Level Summary
45(1)
Architecture Scale and Primal Forces
46(3)
Chapter 3--Templates for Patterns and AntiPatterns
49(12)
Degenerate Form
50(1)
Degenerate Pattern Form
50(1)
Alexanderian Form
50(1)
Alexanderian Pattern Form
50(1)
Minimal Template (Micro-Pattern)
51(1)
Micro-Pattern Template
51(1)
Mini-Pattern Template
51(1)
Inductive Mini-Pattern
51(1)
Deductive Mini-Pattern
52(1)
Formal Templates
52(2)
Gang-of-Four Pattern
52(1)
System of Pattern Template
53(1)
Rethinking the Design Pattern Template
54(1)
CORBA Design Pattern
54(1)
Antipattern Templates
55(2)
Pseudo-AntiPattern Template
56(1)
Mini-AntiPattern
56(1)
Full AntiPattern Template
57(4)
Chapter 4--Advice for Using AntiPatterns
61(6)
Dysfunctional Environments
62(1)
AntiPatterns and Change
62(2)
Fixed and Improvisational Responses
63(1)
Writing New AntiPatterns
64(2)
Summary
66(1)
Part 2--AntiPatterns 67(202)
Chapter 5--Software Development AntiPatterns
67(74)
Software Refactoring
68(1)
Formal Refactoring Transformations
68(1)
Development AntiPattern Summaries
69(4)
AntiPattern: The Blob
73(12)
Background
73(1)
General Form
73(2)
Symptoms and Consequences
75(1)
Typical Causes
76(1)
Known Exceptions
77(1)
Refactored Solution
77(2)
Variations
79(1)
Applicability to Other Viewpoints and Scales
80(3)
Example
83(2)
Mini-AntiPattern: Continuous Obsolescence
85(2)
AntiPattern: Lava Flow
87(8)
Background
87(1)
General Form
88(3)
Symptoms and Consequences
91(1)
Typical Causes
91(1)
Known Exceptions
92(1)
Refactored Solution
92(1)
Example
93(1)
Related Solutions
94(1)
Applicability to Other Viewpoints and Scales
94(1)
Mini-AntiPattern: Ambiguous Viewpoint
95(2)
AntiPattern: Functional Decomposition
97(6)
Background
97(1)
General Form
97(1)
Symptoms and Consequences
98(1)
Typical Causes
98(1)
Known Exceptions
99(1)
Refactored Solution
99(1)
Example
100(1)
Related Solutions
101(1)
Applicability to Other Viewpoints and Scales
102(1)
AntiPattern: Poltergeists
103(5)
Background
103(1)
General Form
104(1)
Symptoms and Consequences
105(1)
Typical Causes
105(1)
Known Exceptions
106(1)
Refactored Solution
106(1)
Example
106(1)
Related Solutions
107(1)
Applicability to Other Viewpoints and Scales
107(1)
Mini-AntiPattern: Boat Anchor
108(3)
AntiPattern: Golden Hammer
111(6)
Background
111(1)
General Form
111(1)
Symptoms and Consequences
112(1)
Typical Causes
113(1)
Known Exceptions
113(1)
Refactored Solution
113(2)
Variations
115(1)
Example
115(1)
Related Solutions
116(1)
Mini-AntiPattern: Dead End
117(2)
AntiPattern: Spaghetti Code
119(8)
Background
119(1)
General Form
119(1)
Symptoms and Consequences
120(1)
Typical Causes
120(1)
Known Exceptions
121(1)
Refactored Solution
121(3)
Example
124(3)
Related Solutions
127(1)
Mini-AntiPattern: Input Kludge
127(2)
Mini-AntiPattern: Walking through a Minefield
129(4)
AntiPattern: Cut-and-Paste Programming
133(5)
Background
133(1)
General Form
133(1)
Symptoms and Consequences
134(1)
Typical Causes
134(1)
Known Exceptions
135(1)
Refactored Solution
135(1)
Example
136(1)
Related Solutions
137(1)
Mini-AntiPattern: Mushroom Management
138(3)
Chapter 6--Software Architecture AntiPatterns
141(68)
Architecture AntiPatterns Summaries
142(3)
Mini-AntiPattern: Autogenerated Stovepipe
145(2)
AntiPattern: Stovepipe Enterprise
147(11)
Background
147(1)
General Form
148(1)
Symptoms and Consequences
149(1)
Typical Causes
149(1)
Known Exceptions
149(1)
Refactored Solution
150(5)
Example
155(1)
Related Solutions
156(1)
Applicability to Other Viewpoints and Scales
157(1)
Mini-AntiPattern: Jumble
158(1)
AntiPattern: Stovepipe System
159(7)
Background
159(1)
General Form
159(1)
Symptoms and Consequences
160(1)
Typical Causes
161(1)
Known Exceptions
161(1)
Refactored Solution
161(2)
Example
163(1)
Related Solutions
164(1)
Applicability to Other Viewpoints and Scales
165(1)
Mini-AntiPattern: Cover Your Assets
166(1)
AntiPattern: Vendor Lock-In
167(7)
Background
167(2)
General Form
169(1)
Symptoms and Consequences
169(1)
Typical Causes
169(1)
Known Exceptions
170(1)
Refactored Solution
170(2)
Variations
172(1)
Example
172(1)
Related Solutions
173(1)
Applicability to Other Viewpoints and Scales
174(1)
Mini-AntiPattern: Wolf Ticket
174(3)
AntiPattern: Architecture By Implication
177(7)
Background
177(1)
General Form
178(1)
Symptoms and Consequences
179(1)
Typical Causes
179(1)
Known Exceptions
179(1)
Refactored Solution
180(1)
Variations
181(1)
Example
182(1)
Related Solutions
183(1)
Applicability to Other Viewpoints and Scales
183(1)
Mini-AntiPattern: Warm Bodies
184(3)
AntiPattern: Design By Committee
187(10)
Background
187(1)
General Form
188(1)
Symptoms and Consequences
188(1)
Typical Causes
188(1)
Known Exceptions
189(1)
Refactored Solution
189(3)
Variations
192(1)
Example
192(4)
Related Solutions, Patterns and AntiPatterns
196(1)
Applicability to Other Viewpoints and Scales
196(1)
Mini-AntiPattern: Swiss Army Knife
197(2)
AntiPattern: Reinvent the Wheel
199(8)
Background
199(1)
General Form
200(1)
Symptoms and Consequences
200(1)
Typical Causes
201(1)
Known Exceptions
201(1)
Refactored Solution
201(2)
Variations
203(1)
Example
203(3)
Related Solutions
206(1)
Applicability to Other Viewpoints and Scales
206(1)
Mini-AntiPattern: The Grand Old Duke of York
207(2)
Chapter 7--Software Project Management AntiPatterns
209(60)
Changing Role of Management
209(2)
Death March Projects
209(2)
Management AntiPattern Summaries
211(3)
Mini-AntiPattern: Blowhard Jamboree
214(1)
AntiPattern: Analysis Paralysis
215(4)
Background
215(1)
General Form
216(1)
Symptoms and Consequences
217(1)
Typical Causes
217(1)
Known Exceptions
217(1)
Refactored Solution
218(1)
Mini-AntiPattern: Viewgraph Engineering
219(2)
AntiPattern: Death By Planning
221(12)
Background
221(1)
General Form
221(2)
Symptoms and Consequences
223(2)
Typical Causes
225(1)
Known Exceptions
225(1)
Refactored Solution
226(2)
Variations
228(2)
Example
230(1)
Related Solutions
231(1)
Applicability to Other Viewpoints and Scales
232(1)
Mini-AntiPattern: Fear of Success
233(2)
AntiPattern: Corncob
235(8)
Background
235(1)
General Form
236(1)
Symptoms and Consequences
236(1)
Typical Causes
237(1)
Known Exceptions
237(1)
Refactored Solution
237(2)
Variations
239(2)
Examples
241(1)
Related Solutions
242(1)
Applicability to Other Viewpoints and Scales
242(1)
Mini-AntiPattern: Intellectual Violence
243(2)
AntiPattern: Irrational Management
245(8)
Background
245(1)
General Form
246(1)
Symptoms and Consequences
246(1)
Typical Causes
246(1)
Known Exceptions
247(1)
Refactored Solution
247(4)
Variations
251(1)
Examples
251(2)
Mini-AntiPattern: Smoke and Mirrors
253(2)
AntiPattern: Project MisManagement
255(6)
Background
255(1)
General Form
255(1)
Symptoms and Consequences
256(1)
Typical Causes
256(1)
Known Exceptions
257(1)
Refactored Solution
257(2)
Variations
259(1)
Example
259(1)
Related Solutions
260(1)
Mini-AntiPattern: Throw It over the Wall
261(1)
Mini-AntiPattern: Fire Drill
262(3)
Mini-AntiPattern: The Feud
265(1)
Mini-AntiPattern: E-mail Is Dangerous
266(3)
Part 3--Conclusions and Resources 269(24)
Appendix A AntiPatterns Synopsis 269(6)
Appendix B AntiPatterns Terminology 275(6)
Appendix C Acronyms Used in AntiPatterns 281(4)
Appendix D Bibliography 285(8)
Index 293

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program