202 CHAPTER 9 CASE Tools for Logical Database Design Quest (development and source code control products) to allow local replicas of Rational ClearCase and Rational ClearQuest repositories. Rational MultiSite also handles the automatic synchronization of the replicas. This is particularly useful for companies with distributed devel- opment who wish to have fast response times for their developers via access to local information, and such replication is often an absolute requirement for geographically distributed teams. 9.8 Application Life Cycle Tooling Integration The best CASE tools for database design are integrated with a complete suite of application development tools that cover the software develop- ment life cycle. This allows the entire development team to work from an integrated tool platform, rather than the data modelers being off in their own world. Only the largest vendors offer this, and in fact true tooling integration across the development life cycle is somewhat rare. This solution is, in a very real way, the philosopher’s stone of develop- ment infrastructure vendors. All the vendors who produce software development platforms have been working to develop this breadth dur- ing the past two decades. The challenge is elusive simply because it is hard to do well. The three companies we are discussing here all have Figure 9.10 IBM’s Rational MultiSite software for massively distributed software management (courtesy IBM Rational Division) Teorey.book Page 202 Saturday, July 16, 2005 12:57 PM 9.8 Application Life Cycle Tooling Integration 203 broad offerings, and provide some degree of integration with their data- base design CASE technology. For Computer Associates, the AllFusion brand is a family of develop- ment life cycles tools. It is intended to cover designing, building, deploy- ing and managing eBusiness applications. Sybase also has a broad prod- uct suite, and their strength is in collaborative technology. From a design perspective, the ability to plug Sybase PowerDesigner into their popular Sybase Power Builder application development tooling is a very nice touch, as seen in Figure 9.11. The IBM tooling is clearly the broadest based, and their new IBM Software Development Platform, which is built heavily but not exclusively from their Rational products, covers everything from requirements building to portfolio management, source code control, architectural design constraints, automated testing, perfor- mance analysis, and cross site development. A representation of the IBM Software Development Platform is shown in Figure 9.12. Figure 9.11 Sybase PowerDesigner plug-in to Sybase PowerBuilder (picture from http://www.pbugg.de/docs/1, Berndt Hambock) Teorey.book Page 203 Saturday, July 16, 2005 12:57 PM 204 CHAPTER 9 CASE Tools for Logical Database Design 9.9 Design Compliance Checking With all complex designs, and particularly when multiple designers are involved, it can be very hard to maintain the integrity of the system design. The best software architects and designers grapple with this by defining design guidelines and rules. These are sometimes called “design patterns” and “anti-patterns.” A design pattern is a design principle that is expected to be generally adhered to within the system design. Con- versely, an anti-pattern is precisely the opposite. It represents flaws in the system design that can occur either through violation of the design patterns or through explicit definition of an anti-pattern. The enforce- ment of design patterns and anti-patterns is an emerging attribute of the best CASE tools for systems design in general, and database design in particular. Figure 9.13 shows an example of the interface used in the Rational Data Architect for compliance checking, which scans the sys- tem to enforce design patterns and check for anti-patterns. Some degree of support for design pattern and anti-pattern checking exists in All- Fusion ERwin Data Modeler and Sybase PowerDesigner, as well. The compliance checking in IBM’s Rational products is the most mature in Figure 9.12 IBM Software Development Platform (courtesy IBM Rational Division) Model Services (UML2 ext, other Meta-Models, Code Gen APIs, …) J2EE, Web Services, UML2 Models Hyades CM, Merge, Traceability… Eclipse Core GEF WebSphere Business Integration Modeler & Monitor Rational Software Modeler Rational Software Architect Rational Applcation Developer Rational Data Architect Rational Web Developer Rational Functional & Manual Tester Rational Performance Tester Tivoli Configuration Manager Tivoli Monitoring EMF JDT/CDT Team Eclipse ArchitectAnalyst TesterDeveloper Deployment Manager Teorey.book Page 204 Saturday, July 16, 2005 12:57 PM 9.9 Design Compliance Checking 205 general, with the notion of design patterns and anti-patterns being a key philosophical point for the IBM’s Rational family of products. Some examples of things these compliance checkers will scan for include: • Complete round trip engineering • Design and normalization — Discover 1st, 2nd, and 3rd normalization • Index and storage — Check for excessive indexing • Naming standards • Security compliance • Sarbanes-Oxley compliance — Check for valid data model and rules • Model syntax checks Figure 9.13 Modeling and database compliance checking (courtesy IBM Rational Division) Teorey.book Page 205 Saturday, July 16, 2005 12:57 PM 206 CHAPTER 9 CASE Tools for Logical Database Design 9.10 Reporting Reporting capabilities are a very important augmentation of the design capabilities in CASE tools for database design. These reports allow you to examine your ER and UML modeling and database schema in both graphical and textual formats. The Sybase products have a superb repu- tation for reporting features; their products enable you to generate reports in common formats like Microsoft Word. Reporting can include both the modeling and the annotations that the designer has added. It can cover physical data models, conceptual data models, object-oriented Figure 9.14 Reporting features with Sybase PowerDesigner (courtesy Sybase) Teorey.book Page 206 Saturday, July 16, 2005 12:57 PM . Database Design 9.9 Design Compliance Checking With all complex designs, and particularly when multiple designers are involved, it can be very hard to maintain the integrity of the system design. . software architects and designers grapple with this by defining design guidelines and rules. These are sometimes called design patterns” and “anti-patterns.” A design pattern is a design principle. a very important augmentation of the design capabilities in CASE tools for database design. These reports allow you to examine your ER and UML modeling and database schema in both graphical and