Page title:Using IBM Rational modeling products

Caption:IBM Rational modeling products are integrated design and development tools that use model-driven development to create well-architected applications and services. These offerings are very flexible and highly adaptable to the needs of any software development process. You can use various types of models and different workflows depending on the phase of your project and whether your organization has a strictly governed process or a more agile development approach.

Page text:


Tour editable text

Page title:Workflows for IBM Rational modeling products

Caption: You can create and edit code visually in UML notational diagrams to help you better understand the domain model of a system, you can use small conceptual UML models to sketch the initial concepts of a system, or you can use semantically rich UML conceptual models to fully model an entire application. Complete UML semantic models can form the foundation for your application and can be transformed into code at any point in the development process, either to seed or to reconcile the design with the application code. This tour describes one of the many approaches that you can apply when you use IBM Rational modeling products to work with models and code.

Page text: Different projects, phases, and cultures often require different workflows. For software analysis and design, you can use either simple or semantically rich and complex UML conceptual models. During construction, you can use UML notational diagrams to understand and manipulate code.


Tour editable text

Page title:The mixed model compared to the concrete model

Caption:You can use IBM Rational modeling products to create rich conceptual models as described in the "Conceptual models seed concrete code models" approach and then, instead of discarding them after the initial code is generated, you maintain them and use diagrams that mix conceptual modeling views with concrete modeling views that directly reflect the ongoing evolution of the implementation. Two techniques are available to help develop conceptual models into mixed models.

Page text:


Tour editable text

Page title:Using a concrete model to develop code

Caption:You can use IBM Rational modeling products to create a code model for languages, such as Java and C++, by depicting and visually editing the code in diagrams that use a style of notation very similar to UML. You can use these diagrams to add new code elements, such as classes, fields, and methods, or you can drag existing elements into diagrams. You can use tools such as topic diagrams, browse diagrams, and static method sequence diagrams to help visualize and understand your system.

Page text:


Tour editable text

Page title:Creating the mixed model

Caption:After you create a detailed class-level model using UML, you can apply transformations directly to the model to generate the basis, or often the actual compiling code, of your implementation. When you apply the transformation, select the Replace elements option to replace all model elements with the equivalent domain elements which creates a mixed model that contains both UML and code, or domain model elements.

Page text:


Tour editable text

Page title:The mixed model elements and their relationships

Caption:The UML model elements from the initial design model are now replaced by references to the corresponding implementation model. In the Project Explorer view, UML elements are replaced with shortcuts to elements in the implementation model. In diagrams, transformed UML elements become visual references to elements of the implementation model. Any high-level conceptual elements, such as use cases, that were not transformed, are retained in the mixed model and become relationships between UML model elements and implementation model elements.

Page text:


Tour editable text

Page title:Editing the mixed model

Caption:When you modify elements in the domain model, any changes are reflected in the diagrams immediately. When you add new UML elements and relationships to the mixed model, the new elements interact with existing domain model elements.

Page text:


Tour editable text

Page title:Iterative evolution of the mixed model

Caption:When you reapply the transformation to the mixed model, any new conceptual elements that you select for transformation are transformed into their corresponding domain elements in the domain model, and the new conceptual elements in the mixed model are replaced with references to the generated domain model elements. Existing domain model elements are not affected, so you can reapply the transformation as often as the architect wants, without a negative impact on the developer. You can continue to develop your design in ongoing iterations and as more aspects of the design are approved in your conceptual model, you transform the elements associated with these aspects.

Page text:Reapplying the transformation


Tour editable text

Page title:Benefits of this approach

Caption:This workflow enables the architect and the developer to iteratively update the mixed model and the implementation. The architect can continue to work with the mixed model by adding new conceptual model elements to the model and creating diagrams that mix notational references to these elements with notational references to concrete code elements. The developers can continue to work on the code model using their choice of graphical and textual editors and diagrams and the mixed model diagrams, automatically and immediately reflect any changes.

Page text:Key benefits of this approach:


Tour editable text

Page title:When to use this approach

Caption:Adopt this approach if you want to maintain an ongoing record of the high-level abstraction by maintaining the conceptual models.

Page text:When to use this approach: