Skip to main content

How do you use the UML module - or how do you want to use it?

  10 posts   Feedicon  
Replies: 9 - Last Post: April 30, 2011 18:06
by: javydreamercsw
showing 1 - 10 of 10
Posted: January 01, 2011 20:46 by javydreamercsw
We wish for a better understanding of how people hope to use this module as part of their software development process.
Do you write a complete design first and then start your code, or do you develop both design and code together? (a more 'Agile' approach, I guess). Also, do you think that UML diagrams should be edited and contained within a distinct UML project - like the current UML module, or should the uml module simply extend existing Netbeans projects so that they can contain UML diagrams alongside their code?

Please let us know your thoughts so that we can make a module that is suitable for as many people as possible.
Posted: January 03, 2011 12:42 by Goran Miskovic
I am aware that I have stated if previously but since this question is perhaps the most important one I will repeat myself: There must be standalone UML project and having standalone UML project should be our first goal. The question of integration with other projects (Java, C, Ruby, PHP) is question of forward/reverse engineering. In between the UML model and the code there is XMI/XML/SVG. Doing it in the any other way will be reinventing the wheel and going away from the industry standards. Please see Diagram Interchange, Annex B: XMI[DI] Examples, page 39

We can get some ideas on UML to SVG from uml2svg project.

Having platform specific UML models (.NET/JavaEE) is beyond the scope of our work. IMHO it is on Microsoft/Oracle to provide platform specific UML profiles which of course we can implement.

Even if I put a side fact that I find forward/reverse engineering to be overrated, still, implementing it is so complex that in this stage, we should avoid doing it. We should come with simple and clean UML project that later on can be extended with forward/reverse engineering functionality and/or Netbeans projects (Java, C, Ruby, PHP) integration/synchronization.
Posted: January 03, 2011 22:59 by javydreamercsw
uml2svg seems interesting and seems like it would help us saving sometime. Can you provide more links/info about SVG?

I do agree that the first milestone of the project is a stand alone UML project as stated in the GUI Page
Posted: January 04, 2011 00:53 by Goran Miskovic
Scalable Vector Graphics

I will try to provide more information in the morning.
Posted: January 12, 2011 13:07 by Mertins
I and six developer modeling and coding together. Basically we made the Domain Model and link with JPA.

For us, a Project UML would be in a distinct project and not alongside. We like Maven too, and I think mixed will cause troubles.

Reverse Engine are a good feature, that we use, but we didn't need something so automatic that David's dream. Smile
And to be honest, I do not know if we would like this approach. Just testing.

Code generation is important (at least Java)

Posted: April 21, 2011 10:26 by ieising
I usually use UML to document and not to design. For me there is a significant distinction between the two. Where a design should be reflected somewhere almost literally in the solution (source code typically), documentation should explain the solution.

For me therefore the UML module makes most sense when it allows me to use as a documentation tool, which means that it should provide an excellent export to at least HTML feature that uses CSS for style and will also allow for some extensive tweaking of what is and what is not exported. The module found in NB65 generates JavaDoc like HTML which is totally useless when trying to convey the message to non technical people who are typically those I need to present the documentation to.
It should also allow for linking between diagrams and for linking with external files like documents and images. For example to link scenario's documented by business representatives to the Use Cases they are representing, or screen-shots of the UI to link to sequence diagrams that document user interaction.

I use UML because it allows me to stay close to the code as well, because it is easy to explain and understand and by using packages it allows for hierarchy.

An important feature should be inclusion in version control and allowing multiple users accessing and working on the same model.

Just my 2cts.

Posted: April 30, 2011 18:06 by javydreamercsw
Thanks for the feedback! About the versioning addition that's up to how the project is set up for version control. It is planned to have the UML within the project itself, from there is up to the versioning system setup.
Posted: January 10, 2011 17:40 by davace
As most of you are probably sick of me saying:
I have a dream.... Smile
That a programmer should be able to use diagrams to refactor their code and have their code files change instantaneously. And that our UML tool should therefore be able to glean or just guess the contents of a UML diagram from the codebase itself. This means that what now requires a manual import and export becomes an automatic and invisible phenomena.

To create the dream, I would want to see UML diagrams implemented _within_ existing projects - so you design and code together. It would also involve writing a model implementation for each different language (or project type) that we choose to support.

But this is a dream. In reality I think our first iteration needs to be MUCH simpler. The simplest approach I can see is for a separate UML project - which saves us having to worry about integrating with multiple different project types. Also, it is easier if our first repository implementation is a flat-file, ie XMI. However, I think it is important that our design leaves the door open for creating "the dream" at a later date.

I'll just add - I also agree with long-term support for separate UML projects, so that people can still use our module as an independent design tool whilst doing their coding somewhere outside of Netbeans.
Posted: February 01, 2011 16:55 by ebresie
A little behind on my email and forum posting....

I would like to use the module to develop UML design material to allow collaboration with software development team members.

I would like to provide an easy to use tool with a good palette of UML diagram elements to allow easy drag and drop onto corresponding diagrams (I suspect we may be able to reuse some or replace with SVG based "palette icons")

I would like to use it to produce output diagrams that are compatible with relevant specs (UML, XMI, SVG, etc).

I would like to be able to reverse engineer existing code to allow an understanding of the design for an existing project which can be used to help refactor the project without loosing elements of the design.

(My dream features)
I would like to go one step further and have a basic text "requirement" or use case document which can be parsed for UML classes, use cases, etc that will help develop a better SW Design.

I would like to have some way to link the UML in some way that could help support Test development (maybe based on Use Cases or autogenerated tests bases on class interfaces, relationships, and constraints).
Posted: March 31, 2011 20:38 by paulben
I use UML modeling at different levels of abstraction, along the lines of OMG MDA/MOF framework of abstraction.
I will often model at a non-computing-implementation abstract level for "visual thinking".
I also model at a Java platform level to explore factoring/refactoring, which I would want to not effect code.
I less often work with a UML model synchronized with Java code under active development.
But I have used UML to "explore" existing Java code through reverse engineering.
showing 1 - 10 of 10
Replies: 9 - Last Post: April 30, 2011 18:06
by: javydreamercsw
Please Confirm