Modeling lets you manage complexity and risk. Not all projects require models in order to be successful. The more complex a project is, the more you need models. Software is no different than every other kind of engineering in this respect. You probably don’t need to create a model before putting together a doghouse. It’s not very complex, and if the doghouse fails, i.e. falls apart, the consequences are not too dire – the dog stays in the big house. But, as we move up in complexity and look at building a family dwelling or even a high-rise office building, the need to model is more important, as these buildings are much more complex than a doghouse, and the consequences of these buildings failing are more serious.
There are many reasons to model…here are some of them.
- manage complexity
- detect errors and omissions early in the lifecycle
- communicate with stakeholders
- understand requirements
- drive implementation
- understand the impact of change
- ensure that resources are deployed efficiently
Communication is the biggest benefit of modeling.
The best models represent different viewpoints of the same system. This isn’t just nice to have, it’s a necessity. Different stakeholders in a system will be interested in different viewpoints. Creating good models that ensure all stakeholders understand what they need to understand about the system is critical to success.
You need to use modeling to control the application architecture and to use a tool that uses the common language of modeling, UML. The solution should provide a way for geographically distributed teams to access the models. You want a tool that provides transformation capabilities, to aid with model-driven development. And the solution should help you create and enforce the rules of your architecture, by providing guidance on the development process you are using. This allows you to visually compare changes to models, and linking requirements to the design you are creating.
The IBM Rational product that provides this solution is IBM Rational Software Modeler. IBM Rational Software Modeler (Software Modeler) supports UML notation. It has a simplified user interface which makes it quite easy to use. Software Modeler is built on Eclipse, so it is extensible and it integrates with other Eclipse development environments. And of course it integrates with other IBM Rational products.
And now for the demo...
Rational Requirements Composer with Rational Software Modeler integration
This demo shows how to transform an IBM® Rational® Requirements Composer project into a model in IBM Rational Software Architect or IBM Rational Software Modeler. See how use cases and process flow requirements captured in IBM Rational Requirements Composer can be used as a basis for your solution analysis and design activities within Rational Software Architect or Rational Software Modeler.
It's all part of creating a smarter planet through software!