UMLGraph/TODO

58 lines
2.3 KiB
Plaintext

$Id$
Frederic Barachant wrote:
I'd like to propose you an enhancement. If it ever works, that might help to get graphs with
less human work. The enhancement concerns association/navAssociations and java 1.5.
Would it be possible that 1.5 genericized Collections get automatically tagged as an association?
For example a 'class Test{Collection<MyType> bla;}' would be a class Test with a non navigable 1-* association
to a MyType class. Eventually, if MyType had a field referencing a Test, the association would be navigable both ways.
On the same idea, if MyType had a Collection<Test> the reference would become *-*.
Yves Bossel: If I may do some suggestions:
+ I would appreciate to be able to add UML comments to both diagram types.
+ Adding patterns (collaborations ellipse with roles bound to classes) would be welcome into class diagrams.
+ Self-adjusting box size and placement on sequence diagrams would help (I use lots of inner classes whose names are long and descriptive).
Try the http://prefuse.sourceforge.net/ back end for large graphs.
Break into source into separate files per class
Provide a parameter to say how (untagged) data members relate to other
classes.
The line can be a composition, an aggregation, or a navigable association.
public class A {
.....
}
public class B {
A myInstance;
}
Requires special care for containers and arrays.
Move source into a package:
On each file add at the very beginning:
package gr.spinellis.umlgraph.core;
Move the classes into gr/spinellis/umlgraph/core directory
jar cvf UmlGraph.jar gr\spinellis\umlgraph\core\*.class
Invoke as javadoc -docletpath UmlGraph.jar -doclet gr.spinellis.umlgraph.core.UmlGraph -output foo in\Abstr.java
Add package, note, interface and node icons to graphviz
(folder) dog-ear =[] 3D box
Support for all UML diagrams: state, use-case, etc.
command-line (and global) options for setting all graph attributes
Class options for setting edge attributes fillcolor fontcolor etc per edge
@active tag to render a class as active
Use doclet error reporting functions
A class can specify its rank, or its cluster.
The dot edge routing is not the best possible for UML. Implement a rectangular routing strategy, maybe based on stochastic optimization using simulated annealing.