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.)
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.
Accountability Knowledge Level.
Party Type Generalizations.
Post.3. Observations and Measurements.
Subtyping Observation Concepts.
Dual Time Record.
Active Observation, Hypothesis, and Projection.
Process of Observation.4. Observations for Corporate Finance.
Phenomenon with Range.
Using the Resulting Framework.5. Referring to Objects.
Object Equivalence.6. Inventory and Accounting.
Individual Instance Method.
Posting Rule Execution.
Posting Rules for Many Accounts.
Sources of an Entry.
Balance Sheet and Income Statement.
Specialized Account Model.
Booking Entries to Multiple Accounts.
Further Reading.7. Using the Accounting 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.
Outcome and Start Functions.9. Trading.
Scenario.10. Derivative Contracts.
Subtype State Machines.
Parallel Application and Domain Hierarchies.11. Trading Packages.
Multiple Access Levels to a Package.
II. SUPPORT PATTERNS.12. Layered Architecture for Information Systems.
Presentation and Application Logic.
Concluding Thoughts.13. Application Facades.
A Health Care Example.
Contents of a Facade.
Multiple Facades.14. Patterns for Type Model Design Templates.
Design Templates for Other Techniques.15. Association Patterns.
Historic Mapping.16. Afterword.
III. APPENDIX.Appendix A. Techniques and Notations.
Package Diagrams.Appendix B. Table of Patterns.