Description

"Mike Blaha and Bill Premerlani have provided a sound step-by-step approach to object-oriented development of database applications. They've taken their industry-leading object method - the Object Modeling Technique (OMT) - and have fine-tuned it into something that easily leads to successful systems." --Michael Jesse Chonoles, Chief of Methodology, Lockheed Martin Advanced Concepts Center

"Our IT organization is standardizing on the OMT methodology . We feel that using this method will foster an engineering culture for software acquisition, development, and maintenance. We will also use the OMT technology for translating the models into implementation of databases. The benefits include: more flexible IT systems, improved responsiveness to business changes, higher quality software, shorter time to market, and lower costs." --Peter W. Dietz, Vice President, Technology, Johnson Controls

Written by the authors of the groundbreaking book, Object-Oriented Modeling and Design.

Systematically shows you how to use object-oriented principles to design and implement database applications.

Introduces many new concepts and ideas that complement the presentation of the OMT methodology.

Guides readers through a pedagogical framework composed of key concepts, summaries of important ideas at the end of each chapter, glossary of major definitions at the end of each chapter, and suggested references. A case study is threaded throughout the text with the implementation available on the Web.

Preface

Preface Object-oriented modeling techniques are no longer new. Every day brings a new success story: lower costs, shorter time to market, better quality systems, new levels of customer satisfaction. The benefits are many. The success of the book we coauthored with Jim Rumbaugh, Fred Eddy, and Bill Lorensen (Object-Oriented Modeling and Design, Prentice Hall, 1991) is evidence of the enthusiasm for this technology. However, despite the general agreement that object-oriented approaches are a good thing, we still see people hesitating to apply them in some areas. Database design and implementation is one of these. We believe this hesitation is the result of a hole in the literature: Although many excellent books cover object-oriented concepts and database concepts individually, we have not yet found a book that systematically shows how to use object-oriented principles to design and implement database applications. We wrote this book in part to address this gap. We have also experienced a need for the book first-hand. Although database management state of the art is quite good and experts understand applications well, we have often been disappointed when we have reverse engineered databases from existing applications. Many databases have deficient schema that are confusing to understand and difficult to program against. It seems to us that many programmers are expected to design a database, even if they don't know how. For example, we have encountered some applications that are several orders of magnitude slower than they could be with a proper database design and implementation. We have found other databases that are just plain wrong; they are incapable of storing the desired data. Less extreme, perhaps, we have seen many developers underutilize database management system (DBMS) capabilities and cause themselves additional work. We hope our book can help avoid situations like this. We have found the Object Modeling Technique (OMT) methodology extremely helpful in developing database applications.

WHAT YOU WILL FIND This book is about the OMT methodology. It is essentially a sequel to Object-Oriented Modeling and Design (Prentice Hall, 1991), but one targeted to data management applications. As such, you can expect the same emphasis on straightforward organization and clear explanations, as well as the provision of additional reading and practical exercises at the end of the chapters. The structure of the book parallels the major software development activities:

Part 2: Analysis and Design. Gives step by step recommendations from conceptual analysis through detailed design in the context of a case study.

Part 3: Implementation. Follows the case study through three possible implementations and gives recommendations and practical tips. We have made all the code from the case study implementations available on the World Wide Web.

Part 4: Large-System Issues. Gives a flavor of more advanced technologies.

We use the Unified Modeling Language (UML) developed by Grady Booch, Jim Rumbaugh, and Ivar Jacobson as our notation for the object model. We believe the UML will become an influential standard and we want to coordinate advances in database technology with those of programming technology.

WHO SHOULD READ THIS BOOK? We see many ways to use this book. Practitioners should find it useful to learn a systematic approach to developing data management applications. This book addresses files, relational databases, and object-oriented databases. We authors are both practitioners, and this book describes the techniques that we actually use. We have taught these techniques to other software engineers and they have also found them helpful. Software developers and teachers will find the exercises and complete case study useful in elucidating abstract concepts. (The complete solutions to the exercises are available separately from Prentice Hall.) Several courses could be devised around this book:

Graduate Management Information Systems (MIS) course. The computing budgets of large corporations are dominated by support for information systems the primary focus of this book. An instructor could teach the basic object-oriented modeling course in the first semester and cover Chapters 9-14 and 17-20 in a second-semester MIS course.

Advanced modeling course. This could be another second-semester course following the basic object-oriented modeling course. The instructor could emphasize Chapters 4, 9, 10, and 19.

Undergraduate software engineering course. Students could be organized into teams for a one-semester course, during which they develop software together. Chapters 1, 2, and 5-9 would be appropriate for such a course. The instructor could also cover the appropriate implementation chapters Chapter 12 for files, Chapters 13 and 14 for relational databases, and Chapters 15 and 16 for object-oriented databases.

Graduate advanced data management course. This course would follow a standard introduction to data management. The instructor could cover Chapters 1-3 and 8 quickly and then Chapters 5, 9, and 11-17 in more detail.

ACKNOWLEDGMENTS We thank the many reviewers who took the time to read our manuscript and give us their thoughtful comments. The following persons reviewed all or part of the manuscript: Charlie Bachman, Brock Barkley, Grady Booch, Rick Cassidy, Michael Chonoles, Dave Curry, Fred Eddy, John Grosjean, Patricia Hawkins, Mike Hunt, Bill Huth, Chris Kelsey, Mary Loomis, John Putnam, Jim Rumbaugh, James Schardt, Hwa Shen, Lauren Slater, Rod Sprattling, and Barbara Zimmerman. The comments of Chris Kelsey and Jim Rumbaugh were particularly thorough and incisive. Jim Keegan helped us by writing the first draft for several chapters from our outline. Nancy Talbert was our expert copy editor, improving the quality of expression and organization. Colleen O'Donnel-Nichols provided application content for the pharmacy exercises. Alan Apt and Laura Steele of Prentice Hall facilitated the production and distribution of this book. We are grateful to the Johnson Controls, Lockheed-Martin, and General Electric corporations for their financial support and the intellectual stimulation provided by various work assignments. We acknowledge the seminal contributions of Mary Loomis and Jim Rumbaugh to the OMT methodology. We especially acknowledge the contribution of Peter Dietz. He was the manager at GE who championed our first Object-Oriented Modeling and Design book. He sponsored our proposal to GE management and provided substantial company time for working on the book from his discretionary budget. Peter has continued to be an important influence in our careers since his move to Johnson Controls in 1993. Many of the ideas in this book were stimulated by the consulting work of Michael Blaha with Johnson Controls funded by Peter Dietz. Finally, we thank our wives Jean and Judy for their patience and help during the four long years it has taken to write this book.