Architectural Discovery and Code Review: See What Is Going Wrong
As an architect, you oversee how your team implements your models. Also, you have to make sure the application architecture does not have any detectable problems. Reviewing the code manually is tedious and requires long hours. RSA automates these tasks through two features in the Java Perspective: Code Review for Java and Architectural Discovery for Java.
Code Review for Java is a set of rules that automate the process of analyzing code for errors, optimize code according to best practices, and ensure that implementation code satisfies the design specification for the application. These rules are organized into categories so that you can select which rules you want to check (see Figure 9). You can define your own rules as well.
My favorite review is the performance rules, which catch many of the Java performance pitfalls (see Figure 10).
|Figure 10. Some of the Performance Rules in the Code Review for Java|
Architectural Discovery for Java allows you to see how your team is implementing the architecture. It includes listing packages that make up the project, inheritance trees, and design patterns used in building the application. Its structural review feature also displays antipatterns in the application (see Figure 11). An antipattern is a frequently used but usually ineffective solution to a problem.
|Figure 11. AntiPatterns That Can Be Detected by Architectural Discovery|
Publishing Models: Sharing Your Model
Not everyone on the development team will use RSA, so you need to publish your model to share it with other team members. RSA provides a publish model utility that enables you to publish your models as HTML pages. The pages contain your model's diagrams and artifacts and have a style similar to Javadoc.
However, RSA does not provide an easy way to customize the HTML pages you publish. To do so, you have to work directly with XSL files. I believe IBM should enhance the RSA publish model utility in future releases so that you can easily customize published content through a simple wizard interface.
Publishing a model in HTML is not always practical either. Project documentation is usually kept in other formats such as MS Word templates. To produce documentation in these other formats in RSA, you need to use another tool called IBM Rational SoDA. To become a more comprehensive tool, I think future RSA releases should include this capability and eliminate the need for an external tool.
All-in-One Design and Development Tool
RSA is a comprehensive tool for designing and building applications, thus giving you better control over your projects. As an architect, it helps you create robust designs and models for your applications. It then simplifies overseeing the implementation of the application to ensure that it occurs as you intended. With just a couple of improvements to its model-publishing features, it can become the one tool an architect needs.
You can download a trial version of RSA from the product page.