SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Also available in other formats.
Register your product to gain access to bonus material or receive a coupon.
This innovative book recognizes the need within the object-oriented community for a book that goes beyond the tools and techniques of the typical methodology book. In Analysis Patterns: Reusable Object Models, Martin Fowler focuses on the end result of object-oriented analysis and design—the models themselves. He shares with you his wealth of object modeling experience and his keen eye for identifying repeating problems and transforming them into reusable models. Analysis Patterns provides a catalogue of patterns that have emerged in a wide range of domains including trading, measurement, accounting and organizational relationships.
Recognizing that conceptual patterns cannot exist in isolation, the author also presents a series of "support patterns" that discuss how to turn conceptual models into software that in turn fits into an architecture for a large information system. Included in each pattern is the reasoning behind their design, rules for when they should and should not be used, and tips for implementation. The examples presented in this book comprise a cookbook of useful models and insight into the skill of reuse that will improve analysis, modeling and implementation.
(NOTE: Each chapter concludes with References.)
Foreword.
Preface.
1. Introduction.
Conceptual Models.
The World of Patterns.
The Patterns in this Book.
Conceptual Models and Business Process Reengineering.
Patterns and Frameworks.
Using the Patterns.
I. ANALYSIS PATTERNS.
2. Accountability.Party.
Organization Hierarchies.
Organization Structure.
Accountability.
Accountability Knowledge Level.
Party Type Generalizations.
Hierarchic Accountability.
Operating Scopes.
Post.
3. Observations and Measurements.Quantity.
Conversion Ratio.
Compound Units.
Measurement.
Observation.
Subtyping Observation Concepts.
Protocol.
Dual Time Record.
Rejected Observation.
Active Observation, Hypothesis, and Projection.
Associated Observation.
Process of Observation.
4. Observations for Corporate Finance.Enterprise Segment.
Measurement Protocol.
Range.
Phenomenon with Range.
Using the Resulting Framework.
5. Referring to Objects.Name.
Identification Scheme.
Object Merge.
Object Equivalence.
6. Inventory and Accounting.Account.
Transactions.
Summary Account.
Memo Account.
Posting Rules.
Individual Instance Method.
Posting Rule Execution.
Posting Rules for Many Accounts.
Choosing Entries.
Accounting Practice.
Sources of an Entry.
Balance Sheet and Income Statement.
Corresponding Account.
Specialized Account Model.
Booking Entries to Multiple Accounts.
Further Reading.
7. Using the Accounting Models.Structural Models.
Implementing the Structure.
Setting Up New Phone Services.
Setting Up Calls.
Implementing Account-based Firing.
Separating Calls into Day and Evening.
Charging for Time.
Calculating the Tax.
Concluding Thoughts.
8. Planning.Proposed and Implemented Action.
Completed and Abandoned Actions.
Suspension.
Plan.
Protocol.
Resource Allocation.
Outcome and Start Functions.
9. Trading.Contract.
Portfolio.
Quote.
Scenario.
10. Derivative Contracts.Forward Contracts.
Options.
Product.
Subtype State Machines.
Parallel Application and Domain Hierarchies.
11. Trading Packages.Multiple Access Levels to a Package.
Mutual Visibility.
Subtyping Packages.
Concluding Thoughts.
II. SUPPORT PATTERNS.
12. Layered Architecture for Information Systems.Two-Tier Architecture.
Three-Tier Architecture.
Presentation and Application Logic.
Database Interaction.
Concluding Thoughts.
13. Application Facades.A Health Care Example.
Contents of a Facade.
Common Methods.
Operations.
Type Conversions.
Multiple Facades.
14. Patterns for Type Model Design Templates.Implementing Associations.
Implementing Generalization.
Object Creation.
Object Destruction.
Entry Point.
Implementing Constraints.
Design Templates for Other Techniques.
15. Association Patterns.Associative Type.
Keyed Mapping.
Historic Mapping.
16. Afterword.III. APPENDIX.
Appendix A. Techniques and Notations.Type Diagrams.
Interaction Diagrams.
Event Diagrams.
State Diagrams.
Package Diagrams.
Appendix B. Table of Patterns.