I think, this version is more useful than the previous one. It's more of a tool to support design and implementation of software.
New features of the class diagram:
- The class diagram can now be displayed in the web browser of Matlab - preferably on a second monitor.
- The names of classes and methods are hyper-linked to appropriate lines in the m-file.
- Hovering over the names of classes and methods shows the appropriate H1-line in a tool-tip.
- The class box has an extra compartment with hyper-links and tool-tips of FIXME and TODO annotations in the code.
Does Class Diagrams have a role in the development of Matlab programs? I like to hear about experiences (good and bad) of using UML diagrams.
 
Original post, 2016-10-25
This question is about UML class diagrams to support construction of larger and more complex applications. And it is based on my own experience from efforts to develop such applications with Matlab. To support this question I've uploaded m2uml to the File Exchange. m2uml is an automatic tool to generate UML Class Diagrams. The code is very much as-was four years ago. I use Matlab Answers because it provides a much better support for discussion than does File Exchange. IMO: Design becomes more important with larger and more complex applications. The design evolves throughout the construction phase. Some carefully selected UML-diagrams would help direct more attention to the design.
Since some years, Matlab has the capabilities needed to develop larger and more complex a applications. New object-oriented programming capabilities, MCOS, appeared in R2008a. Every(?) release since has added to MCOS. A unit testing framework appeared in R2007a and has evolved significantly since.
What's required of m2uml? Most importantly, it should be easy to
- keep the diagrams in sync with the code
- select the classes to be displayed; the diagram shall provide overview rather than detail
- show all dependencies between the classes
- read and interpret the diagrams
However, more user-value is needed to make the class diagrams living documents.
- display the diagram as a svg-file in the Matlab Web Browser
- attach hyperlinks, e.g.  <matlab:matlab.desktop.editor.openAndGoToFunction(...)>, and tooltips to the names of classes and methods
I have no experience with UML features in other IDEs; I just watched a few video presentations at Youtube.
 
QUESTIONS:
- What's required of m2uml to become a useful addition to the Matlab IDE?
With your help I hope to make this a living document over the next couple of weeks.