| |
| |
Foreword | |
| |
| |
Preface | |
| |
| |
Acknowledgements | |
| |
| |
| |
Introductions | |
| |
| |
The Structure of the Book | |
| |
| |
Observations | |
| |
| |
Introduction for Data Modelers | |
| |
| |
Introduction for UML Modelers | |
| |
| |
Combined Introduction | |
| |
| |
Historical Threads | |
| |
| |
Architectural Framework | |
| |
| |
Views of the Business | |
| |
| |
Views of Technology | |
| |
| |
Business Owner's View | |
| |
| |
Architect's View | |
| |
| |
Designer's View | |
| |
| |
Summary | |
| |
| |
| |
UML and Architectural Data Models | |
| |
| |
Impedance Mismatch | |
| |
| |
Architecture vs. Object-oriented Design | |
| |
| |
Limiting Objects to Business Objects | |
| |
| |
Behavior | |
| |
| |
Relationships and Associations | |
| |
| |
Entity/Relationship Predicates | |
| |
| |
Specifying Role Names in UML | |
| |
| |
A Fundamental Change to UML | |
| |
| |
One Solution: Stereotypes | |
| |
| |
Second Solution: Conversion | |
| |
| |
Domains, Data Types, and Enumerations | |
| |
| |
Namespaces | |
| |
| |
Object Oriented Design vs. Relational Database Design | |
| |
| |
Persistent Data | |
| |
| |
Inheritance | |
| |
| |
Security | |
| |
| |
Summary | |
| |
| |
| |
How to Draw an Architectural Data Model in UML | |
| |
| |
Summary of the Approach | |
| |
| |
| |
Show Domain-Specific Entity Cases Only | |
| |
| |
| |
Use Symbols Selectively | |
| |
| |
Use Appropriate Symbols | |
| |
| |
Class (Entity Class) | |
| |
| |
Attribute | |
| |
| |
Association (Relationship) | |
| |
| |
Cardinality | |
| |
| |
Exclusive or (XOR) Constraint | |
| |
| |
Use Some UML-specific Symbols with Care | |
| |
| |
Entity Class Sup-types and Relationship Sub-types | |
| |
| |
<<Enumeration>> | |
| |
| |
Derived Attributes | |
| |
| |
Package | |
| |
| |
Add One Symbol | |
| |
| |
Do Not Use Any Other Symbols | |
| |
| |
| |
Define Domains | |
| |
| |
| |
Understand "Namespaces" | |
| |
| |
| |
Follow Display Conventions | |
| |
| |
Name Formats | |
| |
| |
Role Positions | |
| |
| |
"Exclusive or" Relationship Constraint | |
| |
| |
Cardinality Display | |
| |
| |
Summary | |
| |
| |
| |
Aesthetic guidelines and Best Practices | |
| |
| |
Introduction - Aesthetic Considerations | |
| |
| |
Place Sub-types Inside Super-types | |
| |
| |
Condensed Entity/Relationship Approach | |
| |
| |
The UML (and that of some entity/relationship notations) Approach | |
| |
| |
One Problem | |
| |
| |
Solution | |
| |
| |
Constraints | |
| |
| |
Categories | |
| |
| |
Eliminate Bent Lines | |
| |
| |
Orient "Many" End of Relationships to Top and Left | |
| |
| |
Presentation | |
| |
| |
Summary | |
| |
| |
| |
An Example: Party | |
| |
| |
Parties | |
| |
| |
Party Relationships | |
| |
| |
Party Identifiers and Names | |
| |
| |
Constraints | |
| |
| |
Summary | |
| |
| |
| |
A Brief Summary of The Approach | |
| |
| |
| |
A History of Modeling Objects and Data | |
| |
| |
Data Processing | |
| |
| |
Early Programming Languages | |
| |
| |
Object-oriented Programming Languages | |
| |
| |
Structured Techniques | |
| |
| |
Structured Programming | |
| |
| |
Structured Design | |
| |
| |
Data Architecture | |
| |
| |
Early Data Modeling | |
| |
| |
CODASYL | |
| |
| |
Dr. Edward Codd (1970) | |
| |
| |
Early Relational Databases | |
| |
| |
Three Schema Architecture (1972) | |
| |
| |
Dr. Peter Chen (1976) | |
| |
| |
Business Analysis | |
| |
| |
Structured Analysis | |
| |
| |
Business Process Reengineering | |
| |
| |
Later Data Modeling | |
| |
| |
Richard Barker and Harry Ellis (1980) | |
| |
| |
IDEF1X | |
| |
| |
Object-Role Modeling (ORM) | |
| |
| |
About Discipline in Data Modeling | |
| |
| |
Data Model Patterns | |
| |
| |
David Hay (1995) | |
| |
| |
Len Silverston, Kent Graziano, Bill Inmon (1997) | |
| |
| |
Architecture Frameworks | |
| |
| |
John Zachman (1979) | |
| |
| |
David Hay (2003, 2006) | |
| |
| |
Business Rules | |
| |
| |
Ron Ross (1987) | |
| |
| |
Business Rule Group (1995) | |
| |
| |
Object Management Group (2008) | |
| |
| |
Data Management | |
| |
| |
Object-oriented Development | |
| |
| |
Early Object Modeling | |
| |
| |
Shlaer & Mellor (1988) | |
| |
| |
Coad and Yourdon (1990) | |
| |
| |
Rumbaugh, et. al. (1991) | |
| |
| |
Embley/Kurtz/Woodfield (1992) | |
| |
| |
Booch (1994) | |
| |
| |
Object Patterns | |
| |
| |
Design Patterns | |
| |
| |
Martin Fowler - Analysis Patterns | |
| |
| |
UML | |
| |
| |
The Internet and the Semantic Web | |
| |
| |
Computer Time-sharing | |
| |
| |
ARPANET | |
| |
| |
The Internet | |
| |
| |
The World Wide Web | |
| |
| |
The Semantic Web | |
| |
| |
Summary - The "Reconciliation" | |
| |
| |
Glossary | |
| |
| |
Bibliography | |
| |
| |
Index | |