Please don't misinterpret my suggestion of wall - sketching and agile modeling as implying that UML CASE tools aren't also useful. Both can add value. These tools range from expensive to free and open source, and each year improve in usefulness. Each year's best choice changes, so I won't make a stale suggestion, but...


  • Choose a UML CASE tool that integrates with popular text - strong IDEs, such as Eclipse or Visual Studio.
  • Choose a UML tool that can reverse - engineer (generate diagrams from code) not only class diagrams (common), but also interaction diagrams (more rare, but very useful to learn call - flow structure of a program).

Many developers find it useful to code awhile in their favorite IDE, then press a button, reverse - engineer the code, and see a UML big - picture graphical view of their design.

Also, note:

How Much Time Spent Drawing UML Before Coding?


For a three - week timeboxed iteration, spend a few hours or at most one day (with partners) near the start of the iteration "at the walls" (or with a UML CASE tool) drawing UML for the hard, creative parts of the detailed object design. Then stop - and if sketching - perhaps take digital photos, print the pictures, and transition to coding for the remainder of the iteration, using the UML drawings for inspiration as a starting point, but recognizing that the final design in code will diverge and improve.

Shorter drawing / sketching sessions may occur throughout the iteration. If agile modeling, then before each subsequent modeling session, reverse - engineer the growing code base into UML diagrams, print them out (perhaps on large plotter paper), and refer to them during the sketching session.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd Protection Status

UML Topics