Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
The moose likes Beginning Java and the fly likes Should I be using UML while I learn Java? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Should I be using UML while I learn Java?" Watch "Should I be using UML while I learn Java?" New topic

Should I be using UML while I learn Java?

Patrick Jones

Joined: May 26, 2009
Posts: 20
I'm big into planning. I actually like to dive right in, but my experiences in other realms has taught me to seek out planning tools. If you're a woodworker, planning your project can reduce your project time up to 5 times or more. The reason is that you identify problems before you have to start fixing them. If I could reenact earlier learning tracks, I would spend just as much time learning to plan projects as I did on the direct skills for those projects.

It seems that now is the time, when I am working out very simple coding examples, to begin to see my projects as code but also as diagrams. I've noticed some of the diagramming tools allow you to click from the diagram object to its respective code.

I have downloaded Eclipse for Java. Should I be using a UML plugin to start me on the UML track?

Greg Charles

Joined: Oct 01, 2001
Posts: 2968

Learning and using UML is a great idea. I wouldn't worry so much about getting an Eclipse plugin for now, but drawing things out on paper before you start coding can be a big help. I advise sticking to use cases, class diagrams, and those swim lane diagrams whose name I always forget. I find those to be the most useful.
David Sharpe
Ranch Hand

Joined: Jun 15, 2009
Posts: 36
I've been reading Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd ed, Craig Larman), and my opinion on UML is based on what I've read there--very little actual experience. In that light, a quote may inspire you to think as I do:
It's useless to learn UML and perhaps a UML CASE tool, but not really know how to create an excellent OO design, or evaluate and improve an existing one... Yet, we need a language for object-oriented analysis and design and 'software blueprints,' both as a tool of thought and as a form of communication.

What I'm suggesting is to concern yourself first with the design process: starting with tools that turn UML diagrams into code might be starting in the middle.

p.s. "swim lane diagrams" are sequence diagrams, I think.
edit: Probably not, actually. I think swim lanes are just swim lanes.
Lori Gardner-Wilson

Joined: Jun 03, 2009
Posts: 11
I am new to programming and am just starting to learn Java. I took a class on Object-oriented design first, with a big focus on UML, and I think it was helpful.

If you want to play around with it, visual paradigm SDE is a UML plug-in for eclipse. You can download the standard edition with a 30 day trial and it will let you do some reverse engineering into eclipse. For example, create a uml class diagram and it will create the class in eclipse.

UML diagrams are a great way to figure out your relationships and flow before you start coding.

Activity diagrams utiliize swim lanes.

Good luck!
David Sharpe
Ranch Hand

Joined: Jun 15, 2009
Posts: 36
You might also check out ArgoUML. I haven't really used either Argo or Visual Paradigm SDE, but Argo is open source and free.

I'll say it again though, and maybe a bit stronger this time: UML diagrams are not a way to figure anything out. Analysis and design techniques are a way to figure things out; UML is a tool. For example, the statement, "I'm a great programmer: I know language X," doesn't make much sense, does it? In the same way, "I'm a great designer: I know UML," shouldn't make much sense either.

If you don't know how to use UML (and I don't just mean notation), I don't think a fancy tool like an Eclipse plug-in is a good place to start. Paper, and maybe a book on design using UML, would be.

"Owning a hammer does not make one an architect."
I agree. Here's the link:
subject: Should I be using UML while I learn Java?
It's not a secret anymore!