wood burning stoves 2.0*
The moose likes OO, Patterns, UML and Refactoring and the fly likes few newbie questions while reading 'distilled' Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "few newbie questions while reading Watch "few newbie questions while reading New topic
Author

few newbie questions while reading 'distilled'

John M. Gabriele
Ranch Hand

Joined: Feb 18, 2001
Posts: 232
1. I'm interested in learning to draw diagrams that help me
visualize which objects do what to whom and when in my
programs (or hopefully, to help me figure all this out
before writing any code). Is this what UML is for?
2. Was is a CASE tool?
3. Is a "method" a general plan or group of strategies
on how to create a piece of software?
---3.a. Are "process" and "modeling language" the 2 major
sub-pieces of a method?
Any comments or advice for someone just starting out are
appreciated.
David Roberts
Ranch Hand

Joined: Nov 03, 2000
Posts: 142
Some of your questions require a bit of opinion. Here's mine:
1. The UML is a tool. It can be used to help with the design of a software application and/or to communicate the design. It itself is not analysis or design it's just a tool to help you with those things.
2. CASE tools are automated tools such as a UML editor that allows you to reverse engineer code into UML.
3. A method to me is synomonous with technique. A methodology is what you might call a process. A method would be something like a Use Case to capture behavioral requirements, whereas a methodology would be like the Unified Process.
4. Given what I stated in number 3. The following would be true:
methodology ~= process
UML ~= method
This is a school of thought. There are many. Symantecs can be looked at in different ways with different meanings. I believe in Alistair Cockburn's symantecs. I believe Jim Highsmith, and other methodologists are all on board with this way of thinking, although I could be mistaken.
To get a few names of methodologists who can lead you down the right path, you can visit: www.agilealliance.org

------------------
David Roberts - SCJP2,MCP


David Roberts - SCJP2,MCP
John M. Gabriele
Ranch Hand

Joined: Feb 18, 2001
Posts: 232
Thanks for the reply David,
Sorry it took so long to get back to this thread. I thought I'd
replied already but maybe there was some sort of mix up.
Regarding the CASE tools, thanks for the info. Seems kinda'
backward tho,.. since, I'd figure that you'd use UML to help
design the software in the first place. It sounds like "making
the CAD drawings after the part has been manufactured."

I'm a bit more confused than before. I didn't know there was a
difference between a method and a methodology. And, if the UML
is just a tool, why do you say "UML ~= method"? Do you mean,

UML is a modeling technique == UML is a modeling method

Is it me, or does the terminology here seem a bit much?
rahul dighe
Ranch Hand

Joined: Apr 17, 2001
Posts: 44
UML is a modeling language it is not a method. U can choose any method u want , what uml does is helps u communicate what you are doing among your team mates. whether the method u use is oops,structural,xp or whatever.
write to me for more details i myself am going through uml distilled
hope it helps


<BR>Rahul Dighe
John M. Gabriele
Ranch Hand

Joined: Feb 18, 2001
Posts: 232
thanks rahul.
David Roberts
Ranch Hand

Joined: Nov 03, 2000
Posts: 142
Like I said their are many thoughts on the subject. I follow Alistair Cockburn's ideas on the subject and I have found that Jim Highsmith and many other methodologists agree.
The concept is the following:
Let me start with a direct quote from Alistair Cockburn's "Lightening your Methodology" presentation:
Methodology = "related methods or techniques"
(Method ~ technique = "systematic procedure")
Heres a quote from Ralph Hodgson
"Methodology is a social construction"
The following are known by the "Agile Alliance" as Agile Methodologies:
Extreme Programming - Kent Beck
Crystal Method - Alistair Cockburn
Lean Development - Bob Charette
SCRUM-K. Schwaber, J. Sutherland
Adaptive Software Dev - Jim Highsmith
Even with all this said, I hear authors such as Jim Highsmith exchanging the word Method with Methodology.
A lot of English don't like to use the term method to mean technique, but I believe it is becoming more common.
If you're studying for a test, I'd recommended using Method to mean process.
But, if you're interested in what some seems to be the new trend, you'll think of a method as a technique, as in a small piece of a methodology. It might be incorrect to say UML is a method and maybe more accurate to say conceptual modeling is a method and UML is the tool, but it's clear that the word methodology means process.

------------------
David Roberts - SCJP2,MCP
David Roberts
Ranch Hand

Joined: Nov 03, 2000
Posts: 142
Forgot to answer your question about CASE tools.
CASE tools are extremely important in iterative development. Imagine this:
Suppose design iteration 1 produces class diagrams.
You code based on the design.
The design changes as code is written (As it always does).
Ypu approach iteration 2 but your design has changed, instead of manually updating the UML, you reverse engineer you code based on the first design to synchornize yourself instantly.
You can imagine how much time you would spend keeping the UML up to date.
Hope that helps.

------------------
David Roberts - SCJP2,MCP
John M. Gabriele
Ranch Hand

Joined: Feb 18, 2001
Posts: 232
wow, thanks again for the multiple replies david.
thanks for the method/methodology/technique clarifications. I'm not studying
for any uml/method test---just the scpj2 for now.
ahh... Computer Aided Software Engineering (CASE) tools. I'm not experienced
enough to see their usefulness right now; it'll be pencil and paper for me
for a while to come.
in the mean time, i've also picked up the 3 amigo's uml user's guide.
the first couple of chapters are starting off very nicely---whetting
my appetite for RUP...heh.
David Roberts
Ranch Hand

Joined: Nov 03, 2000
Posts: 142
I would highly recommend the following books:
1. Applying UML and Patterns - This is a classic intro to OOAD using UML and patterns
2. Writing Effective Use Cases - Both Larmans and Fowler have adopted this style of Use Case writing from Alistair Cockburn. This is considered the source for writing EFFECTIVE use cases.
3. Design Patterns - This is another classic, which is a bit more detailed and complex, although should be part of any software developers vocab.
There are of course many other great books out there. I prefer UML distilled as an intro to UML over the User Guide, but the User Guide is more complete. Booch's Complete UML training guide has been recommended to me as well. I tend to buy more based on author's then content though.
I'm not sure where you live but SD 2001 (sdexpo.com) is a great conference to see these guys first hand. I believe the next one is in Boston around August, and a year from now SD 2002 in San Jose.

------------------
David Roberts - SCJP2,MCP
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: few newbie questions while reading 'distilled'
 
Similar Threads
Strings concat()
overloading & overriden method
confused about a STATIC code pgm.
visiblity between objects
Smilies Association...!!!