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: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:Conceptual models drive development

Caption:In this workflow, the UML model evolves continuously throughout the development process. Architects and developers model structural aspects of a system and then transform the model into code. Developers write the functional code within the specified structure, and any required structural changes that the architects introduce can be reflected in the structural specification. This workflow supports round-trip engineering in the development process. The structure of an application is defined in the conceptual model and then transformed into a domain model so that developers can write application code.

Page text:


Tour editable text

Page title:Creating a domain model

Caption:After an architect creates the detailed class-level model using UML, the architect can apply transformations directly to the model to generate the basis, or often the actual compiling code, of an implementation. The resulting output from the transformation is called the domain model. The developer then develops the implementation within the structural guidelines of the domain model by visually editing the code, or by using the code editor.

Page text:


Tour editable text

Page title:The UML model as a living entity

Caption:If the structure of the domain model needs to be modified, or if a developer has a concern with the high-level design of the system, the architect can review the design change and implement the change directly in the UML model. The UML model can be seen as a living entity since it continuously evolves throughout the development process. Whenever the UML model is changed, the transformation is reapplied to the UML model and the existing domain model is overwritten, while preserving the work of the developer.

Page text:The model as a living entity:


Tour editable text

Page title:Benefits of this approach

Caption:This workflow is beneficial for organizations that use design for architectural control and where interfaces are extensively specified by architects and treated as contracts, and where developers are expected to adhere strictly to those contracts. Generally, high-value, model-driven architecture transformations and patterns must be applied to produce the desired code.

Page text:Benefits of this approach: