// Stop hiding from old browsers --> Intelligent Enteprise

Welcome Guest. | Log In| Register | Membership Benefits

Intelligent Enterprise

Better Insight for Business Decisions

Intelligent Enterprise - Better Insight for Business Decisions
search Intelligent Enterprise
Home
Digital Library
Events
RSS | Newsletters
Webcasts




April 16, 2001



UML for the Whole Lifecycle

The second half of a look at Rational Rose 2001 and the AnalystStudio suite

Terry Moriarty     

In this Issue:
  • Information in Motion
  • UML for the Whole Lifecycle

    In the last issue, I started my review of Rational Rose 2001, as delivered in Rational's AnalystStudio suite, by concentrating on two aspects of evaluating an analysis and design tool. First, I discussed how well the tool supports the Unified Modeling Language (UML). Second, I explored how well it helps integrate object classes with data modeling to support applications in which relational databases provide the persistence layer's primary support. (See "Bridging Two Worlds," Product Reviews, March 27, 2001.)

    In this issue, I will finish the review of Rational Rose (www.rational.com) by focusing on other essential features of an analysis and design tool: ease of use, reporting capabilities, ability to coordinate diagrams across the entire project lifecycle, and model management.

    Ease of Use

    Rational Rose is a complex product. Consequently, you can expect to spend quite a bit of time learning all its features. But, after you take the time to learn about its features, Rational Rose is very easy to use.

    The Rational Rose user interface consists of three windows: browser, definition, and diagram. The tool lets you use devices that are intuitive for Windows users, such as double-clicking icons to open the diagrams they represent, right-clicking icons in diagrams to view and edit object properties, and drag and drop to copy objects into a diagram from the browser.

    The tool encourages model object reuse by making it easy. It lets you either drag and drop objects from the browser into the diagram window or populate the diagram through a query. The tool automatically draws associations between objects, but you have to finesse the diagram by hand to make it presentable.

    Impact analysis is an integral part of the tool, and it gives you a few different ways of finding and viewing relationships that model objects participate in. One of them, the "show usage" function, generates a report that lists only those model objects that are parents in the association. In addition, the use case specification window includes an additional method, a tab that lists diagrams where the use case appears -- and you can open the diagrams from that list. It would be nice to have that same tab in the specification window of all model objects.

    You can open multiple diagrams or specification windows concurrently and easily view them using the standard Windows tile and cascade commands.

    Reporting Capabilities

    Beyond the "show usage" facility, Rational Rose has few reporting capabilities. However, a companion product called SoDA lets you define and make available entire deliverable templates from within Rational Rose. An invoked template will generate a Microsoft Word document, complete with diagrams.

    Today, it is imperative that models be available throughout the enterprise via the Internet. Rational Rose's Web Publisher meets this requirement by providing an excellent facility for distributing documentation and diagrams over the Web. The facility's UI completely mimics the Rational Rose UI. The package structure maintained within the Rational Rose browser is re-created as the project's navigation tool. Each symbol on the diagram is hyperlinked to its specification, where the documentation and association information is displayed. Any reference to another model object is hyperlinked so that its specification can be opened.

    Cross-Lifecycle Diagram Support

    I use the Zachman Information Systems Architecture (ISA) as a device for assessing the comprehensiveness of a tool. (See "A Framework for Information Systems Architecture," IBM Systems Journal, 1987, vol. 26, no. 3.) The more cells the tool addresses, the higher its comprehensive score. No single Rational tool supports all of the Zachman cells, but the combination of Requisite Pro, Rose 2001, and DataModeler can satisfy most of them.

    However, using the Rational Unified Process (RUP), I produced a set of diagrams that are consistent across each row in the Zachman ISA Framework. (See my Metaprise column, "To Unify Architecture With Methodology," for an in-depth comparison of RUP and ISA.) By using the RUP stereotypes of business object, business actor, business worker, and business use case, I created diagrams using the language of the business.

    For the ISA perspective, object classes are stereotyped more by the role they play within the information architecture than by the business concept they represent, such as boundary (or user interface), control, and entity (or persistent object). Interaction diagrams represent dialog or transaction flows rather than the end-to-end business process flows modeled at the business perspective.

    The Zachman Framework's "Technology" perspective includes all the specifications of the object classes and database components to generate the code within the selected technology. Rational Rose can generate databases either directly to the relational database catalog or through SQL data definition language. It can generate object classes for numerous object-oriented programming languages, including Java and C++. COM, CORBA, and XML DTD code can also be generated. It uses an object class's operations to generate methods, including their interface code. However, no code is generated to support any of the processing logic specified through the interaction, activity, or state chart diagrams.

    Although you can use Rational Rose to create diagrams that are integrated within a perspective, it provides no real support for transforming diagrams from one perspective to the next. Consequently, there is no way to easily trace the relationships between model objects owned by the different perspectives. Through the UML "realizes" association, you can relate an information-systems object class to the business object class it supports. Likewise, you can also relate use cases through the realize association. But this is a tedious process.

    Furthermore, there are no facilities for relating a business attribute or operation to its analysis or design counterpart. I would like to see Rational Rose enhanced to provide a transformation wizard, similar to the ones provided in the DataModeler tool, for transforming the models of one RUP phase into the next.

    Model Management

    Rose provides a number of facilities that can be used in model management. If you like, you can compare models against one another and merge them into a single model. Versioning comes from third-party tools, such as Microsoft's Sourcesafe, or Rational's own ClearCase.

    I particularly like the Framework feature, which provides a technique for enforcing standards across all models. You can designate any model as a framework. Then, whenever you create a new model, Rational Rose provides a list of frameworks to use as the basis for the new one. The new model is seeded with all the model objects and diagrams from the framework model. Rational Rose comes with a number of technology-oriented frameworks. A framework for the RUP is also available, which provides a set of packages that loosely correspond to the RUP project lifecycle phases. I created a framework for the Zachman ISA framework.

    Frameworks have a greater potential in supporting enterprise model management. First, you need to create a model for the enterprise and create a framework. Then each new project model needs to be based on the enterprise model framework. All the standard enterprise model's objects instantly become available to the project. As the project progresses, you may make changes to the project's version of the model, such as add new model objects and diagrams and, possibly, suggest changes to the existing model objects.

    At the appropriate time in the lifecycle, you compare the project model with the existing enterprise model. You review any divergences from the enterprise model through your standard model management process. The approved changes are merged into the enterprise model and its framework is updated. New projects will automatically receive the latest version of the enterprise model when they select the enterprise framework. This process is not entirely automated; updating the framework doesn't cause the changes to be distributed to any projects already in process. But these Rational Rose facilities can be used to support and even simplify the enterprisewide management of models.

    Almost There

    Anyone who doubts that object-oriented modeling techniques, and UML in particular, can't be used across the entire project lifecycle should become familiar with the Rational Unified Process and how it's supported through Rational's AnalystStudio suite with Rational Rose 2001. Similar concerns about how to integrate relational databases into object-oriented applications are addressed through Rational's DataModeler offering. While I don't entirely agree with how Rational has implemented these features, Rose certainly provides a major step forward. If Rational comes up with an approach for automatically transforming diagrams across the various lifecycle stages, the Rose product suites will be an incredible set of products.

    (See a related review on Riverton HOW
    2.0, www.intelligententerprise.com/db_area/archives/1999/990106/products.
    shtml.
    )

    Terry Moriarty (terry@inastrol.com), is president of Inastrol, an information management consultancy.
     
    In this Issue:

  • Information in Motion
  • UML for the Whole Lifecycle







  • IE Weekly Newsletter
    Subscribe to the newsletter
        Email Address