javaumlplayframeworkmodel-driven-development

UML Modeling Tool For Use With Java+Playframework


I'm looking for a good modeling tool to use for designing java applications that use the playframework. Considerations:

  1. Should be able to generate valid java code for skeleton of play app
  2. Should be able to round trip java code and update model appropriately
  3. Shouldn't be too cumbersome -- I don't want to be generating reams of complicated diagrams that serve no purpose. My goal is to be able to quickly model the design for an app I have in my head, hit "Generate" and have stubbed out java code the members of my team and I can start filling in.
  4. Cost is not a serious concern.
  5. Eclipse integration is a major plus
  6. Learning curve/availability of good resources to learn is an important consideration

Does such a modeling tool exist? Playing with Visual Paradigm now. Am I going down a blind alley by even wanting to do this? I know modeling etc. has kind of fallen out of favor with the focus on Agility and all, but it seems like this would be much quicker than a) trying to explain to everyone I work with how I envision the app working and b) manually writing tons of boilerplate code.


Solution

  • I don't know about Play framework, but here's my take on UML tools:

    Should be able to generate valid java code for skeleton of play app.

    I don't know of any tool that will know specifically about a given framework. Play, Spring, Wicket - the best you can hope for is to be able to import the framework and have its classes on your palette. The rest is up to you. No tool will read your mind.

    Should be able to round trip java code and update model appropriately

    Tools like JUDE and Sparx Enterprise Architect can round trip.

    Shouldn't be too cumbersome -- I don't want to be generating reams of complicated diagrams that serve no purpose. My goal is to be able to quickly model the design for an app I have in my head, hit "Generate" and have stubbed out java code the members of my team and I can start filling in.

    In my opinion this is unrealistic. Putting in enough detail into the UML tool to be able to spit out complete stubs will not be quick or easy. You still have to type it all in.

    Personally, I'd do that high level sketch, build the method signatures in an IDE that will actually let you unit test, and then reverse engineer when you're done to get the diagrams.

    Cost is not a serious concern.

    JUDE used to do round trip in its community edition, but that's not the case now. You'll have to pay for all of these. The cost for Sparx Enterprise Architect is modest.

    Eclipse integration is a major plus.

    Can't help you there. It would seem to dramatically limit your choices. I'd recommend IntelliJ. It's a better IDE, and it'll create UML diagrams from your code.

    Learning curve/availability of good resources to learn is an important consideration

    "UML Distilled" is the only book you'll need.

    As far as difficulty goes, I've done a comparision of JUDE, Visual Paradigm, Magic Draw, and Sparx Enterprise Architect. None of them is terribly difficult. Or very useful.

    I think you're indulging in magical thinking. These UML tools won't save your effort.