Flylib.com

Books Software

 
 
 

Succeeding with Modeling Tools


Succeeding with Modeling Tools

Given that modeling tools are not always successfully utilized on development projects, this section examines what steps can be taken to ensure that any investment in such tools generates a respectable return.

Here are several guidelines that take the risk out of adopting modeling methods and modeling tools, and enable the benefits of a model-driven approach to be fully appreciated by the development team.

Key Points for Adopting Models

  • Start small.

  • Learn modeling before buying a tool.

  • Make the tools available to the entire team.

  • Allow time for the team to learn.

  • Remember that models are about communication.


Start Small

Moving to a model-based development approach need not involve purchasing the most expensive and extensively featured modeling tool on the market. A simple paper-based approach is one method for gradually introducing modeling methods to the team. Encourage your peers to discuss designs using the UML diagrams introduced in this chapter. Consider using a freely available community-edition modeling tool in your early modeling efforts.

Information and experience gained from these reduced feature-set tools can be used in preparing a business case to management for upgrading to a more sophisticated product. The knowledge gained from the low-end product should provide valuable ammunition for your cause.

Learn Modeling First

If you are new to modeling, don't let a modeling tool be your first introduction to the practice. Make sure you understand the basics of the UML and the rationale behind modeling methods before you start grappling with the idiosyncrasies of a particular modeling tool. A modeling tool will make you a more productive modeler; however, despite what the marketing material may claim, it is not a teaching aid.

Make the Tools Available to the Team

Be wary of purchasing a modeling tool for just one person on the team. Design is a team effort, and having only a single license for a modeling product means designs cannot be worked on collectively. Models are an effective mechanism for communication, and good communication is essential for a successful project. Give everyone on the design team the means to communicate.

Allow Time to Learn

Do not introduce modeling methods into the pressure-cooker environment of a new project and expect to see spectacular results. Be realistic. Allow yourself and the team time to become familiar with both the methods and the modeling tool before putting them into practice on a project with a tight timeframe. Learning modeling skills takes time and must be accounted for on any project plan. A good strategy is to bring in a mentor to help accelerate the learning process.

Remember to Communicate

Finally, although accuracy in UML design artifacts is important, remember that the UML is all about communication. Take the time to learn the UML, but do not become so obsessive with the correct use of the UML notation that you fail to communicate your designs.


Summary

Making models part of the development process offers significant benefits. Models help to

  • Improve communication of the system design among the project team

  • Explore system requirements and behavior with the customer

  • Improve the entire team's understanding of how the system operates

  • Validate the design against the primary use-case scenarios

Using modeling tools to construct UML diagrams further enhances the benefits of a model-based approach to development:

  • Roundtrip support keeps models current on iterative development projects.

  • Checking of UML syntax helps ensure the accurate communication of designs.

  • Validation of the design using interaction diagrams provides an early alert of design issues.

The next chapter looks at code generation techniques and investigates how code generators provide an effective mechanism for incorporating change on a project.

Additional Information

Martin Fowler's book UML Distilled [Fowler, 2003] covers the different UML models and the associated UML notation.

The designers of the UML have also written a comprehensive guide to their creation, The Unified Modeling Language User Guide [Booch, 1998].

Scott Ambler is a keen advocate of modeling techniques and devised his own development process based on models. Information on his Agile Modeling process can be found at http://www.agilemodeling.com.