Thanks first to God without whom none of this would be possible.
Thanks to Paul Becker, Jessica Cirone, Elizabeth Ryan, and Ross Venables of Addison-Wesley for their invaluable assistance in the overall process.
Thanks to all our reviewers who kept us walking the straight and narrow
Thanks to Jim Conallen, Kevin Kelly, Terry Quatrani, Davor Gornik, Jeff Hammond, and Steve Rabuchin for their valued advice.
Thanks to Lisa Connelly and Mary Cicalese, who helped to make the opportunity for me (Eric) to move up in the world come true. Thanks also to Ed McLaughlin, who gave me the chance to
Thank you to the people who have taken part on the data modeling team at Rational Software Corporation, without whom both of us would not have had the ability to prove our vision and see it come to life. This team includes Hong Lee Yu, Scott Schneider, Will Lyons, Tommy Fannon, Kingsley Wood, Barbara Evans, Larry Dunnell, Brian Lim, Bonnie St. John, Deborah Ford, Der Ping Chou, Douglas Robb, Hermant Kolwalkar, Ron DeWolfe, Rose Rosario, Susan Anstey, Teresa Dowling, Xiangmin Wang, Xiang (April) Li, Yi Gao, and Zoe Lin.
And a special thanks to Grady Booch and Jim Rumbaugh.
We would appreciate your feedback on this book. If you have questions or comments,
Why Read This Book?
Who Should Read This Book?
How to Read This Book
In today's business climate, systems development is a game that you can't afford to lose. Losing the game can literally cost you your entire business. Business analysis, software development, and database teams all need to work together to understand a business customer's problems and to solve them through the software systems they are assigned to create. We do not build systems just for the sake of keeping our jobs. There are valid business reasons for the systems. The typical overall goal is to make the business better (more efficient, more profitable, and so on). Sometimes the problem to solve lies not in the software but in the way a business process is performed. You may be improving infrastructure, customer experience, internal experience, or some type of business process, but it is not just for the sake of adding or changing the systems. There are critical requirements that need to be met, and it is the responsibility of all
In most organizations today, the analysis, development, and database teams work for different managers, business units, or other business organizations. Although these teams are separate, they are all working toward a common goal and need to work together. We have witnessed situations where
Generally you are not just changing one part of the system but also adding different pieces to a constantly changing system as new requirements are uncovered. In other words, software development is an iterative process. As the developers build the applications, they uncover new requirements just as the data base team uncovers new requirements when building the database. These all need to be communicated not only via documents but also visually through models. This enables these requirements to be traced to the different artifacts throughout the development cycle. However, in the past this could not be done easily since there was no common language for all the development teams to use.
The Unified Modeling Language (UML) has quickly become the standard language used for modeling business and software application needs. Although it is the standard of the Object Modeling
Using the UML for database design allows the business and application teams who are already using the UML for their designs to share a common language and to communicate with the database team. A common problem is that business analysts and developers are building enterprise architectures without considering the data and how the data will be affected. Can the database capture the information that is being described? Are there existing systems that already address the business's needs but are unknown to other teams? Do items with the same
While reading this book, you will learn the different types of UML diagrams and how they apply to the database world. You will also understand how other teams may be using these diagrams and how all the teams can share their work rather than working in separate

Enterprise Modeling with UML: Designing Successful Software through Business Analysis

Building Web Applications with UML (2nd Edition)

Health Care Information Systems: A Practical Approach for Health Care Management

Database Design for Smarties: Using UML for Data Modeling (The Morgan Kaufmann Series in Data Management Systems)