We believe this code is in need of a complete rewrite, as opposed to some manner of staged improvement.
Questions/Issues for a rewrite. It is important that we spend some time thinking about issues that might effect a re-write. Please follow these links and contribute to the discussions taking place on these pages. If there are other issues that you think are important - add them! If you don't have access to edit or discuss these pages, please send your thoughts to "email@example.com".
Should the module presume that you design first, and then export to code. Should UML diagrams and code be updated synchronously? How important is reverse-engineering?
Anyone? What do other Netbeans projects use?
Is it important that the we take into consideration the use of multiple languages when designing the module. Is Java only okay? Should multiple languages within one project be supported? Do we need to make it easy for a PHP project to integrate with the UML module?
Annotations?, Javadoc?. Java is a subset of UML - hmmm.... :)
The Netbeans Visual Library is the most obvious choice... any other suggestions?
Should your standard Netbeans Java/php project have an option for creating UML diagrams within it? Should it be necessary to have stand-alone UML Projects or can we presume that coding will also, eventually take place after UML design?
Which formats are necessary to be imported from, and exported to? XMI? JPEG? HTML?
Whilst there are at least a few of us dedicated to making this happen, this is NOT a small job. We can probably make use of 10-20% of the current code and algorithms. Please start by making suggestions and giving opinions on this wiki. If your not a member of the wiki and would like to have your say, or you can help with the development effort, say something on the mailing list (firstname.lastname@example.org).
Keep in mind that this list is just an initial one pending discussion with the UML team.
Having the UML portion as part of the actual project instead of its own project and conversion between projects approach is part of the issue. You should be able to start an UML project on its own but turn it later into another type of project with UML support.
Providing some type of API from the UML core for the roundtrip engineering and then have modules for each language. Is better than current approach of one UML plugin per language.
Its integration/synchronisation with the Netbeans IDE, and the interface between this, and the presentation model - Netbeans Visual Library is a great start, but its certainly not synchronous and there are other (gui) issues in here that will cause some 'interesting' problems.
Ability to import/export from XMI and UML formats. This gets the plugin away of working on those formats internally complicating implementation.
Divide the implementation into smaller specific roles and spread them out amongst the team.
Some code already implemented. See here for up to date status.