Overview
- Describes Agile Modeling Driven Design (AMDD) and Test-Driven Design (TDD) approaches, database refactoring, database encapsulation strategies, and tools that support evolutionary techniques
- Agile software developers often use object and relational database (RDB) technology together and as a result must overcome the impedance mismatch
- The author covers techniques for mapping objects to RDBs and for implementing concurrency control, referential integrity, shared business logic, security access control, reports, and XML
- An agile foundation describes fundamental skills that all agile software developers require, particularly Agile DBAs
- Includes object modeling, UML data modeling, data normalization, class normalization, and how to deal with legacy databases
- Scott W. Ambler is author of Agile Modeling (0471202827), a contributing editor with Software Development (www.sdmagazine.com), and a featured speaker at software conferences worldwide
Synopsis
"I wish I had a book like this eight years ago. Youll want to be sure to have enough copies for both your development and database folks."
Jon Kern, Founding Member of the Agile Alliance
"You will find workable, real-world advice here."
Doug Barry, Author, Web Services and Service-Oriented Architectures and The Object Database Handbook
An agile database administrator (DBA) has the difficult task of focusing on data-oriented issues, including traditional database administration as well as any application development involving data. Agile DBAs also collaborate with enterprise professionals to ensure that the efforts of the project team reflect enterprise realities. Scott Ambler has written this invaluable book from the point of view of an agile DBA, enabling you to learn the techniques that agile DBAs use to work effectively on evolutionary (iterative and incremental) software projects.
With every chapter youll be introduced to essential facets of data-oriented activities such as:
- The basics of object orientation, relational databases, data modeling, and how to deal with legacy data issues
- Database refactoring, an evolutionary technique that enables you to improve your database design in small steps
- Mapping objects to relational databases, performance tuning, database encapsulation, and supporting tools
- Implementation techniques and strategies such as concurrency control, security access control, finding objects in relational databases, referential integrity, and the effective use of XML
- Strategies and advice for individuals who want to become agile software developers and organizations that want to adopt agile techniques