• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

UML, Java & OO

 
tumbleweed
Posts: 5089
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,
If I want to become a very good Java programmer that uses its OO capabilities to it fullest ie. I'm not writing "procedural" Java programs is it really necessary that O know and use UML ??
 
Ranch Hand
Posts: 111
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
UML is not specially designed for OOP though it grows with it. You can use it for procedural programming. Of course in this way you are not taking full advantage of it. OOAD is even more important than features of java as it gives you tools to solve any problems you face. I believe the mastering of OOAD with UML is a must for anyone who really wants to know what he is doing.
 
Bartender
Posts: 4121
IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Johannes,
Well, yes and no... You are not required to know and use UML to be a good OO programmer/designer.... However, it helps alot... UML is the preferred notation in most companies that use OOAD, so it can help you communicate your designs clearly and easily to other developers... something that always helps!
-Nate
 
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have also found that using UML helps to clarify your thinking about your design. Since there are specific rules to follow, you are more likely to develop a good OO design if you use UML.
 
Sheriff
Posts: 7001
6
Eclipse IDE Python C++ Debian Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It's not necessary that you know UML to be a good OO programmer, if you work on your own. UML is primarily useful for communicating designs and design ideas. If you wish to work well with a team of designers, programmers, testers, writers, managers etc., then some sort of standard for communicating OO designs is extreemely useful
 
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,
No you don't need to know UML to become Java programmer.
UML is used for modelling (infact for any language for
that matter like C++,Visual Basic etc.) and it would help
give sound design for developing applications.

-Nats
------------------
 
Ranch Hand
Posts: 191
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
what is the importance of UML in software developing ? Does it help in better understanding of resources involved in project, or does it help designing the classes or something else ?
 
Thomas Paul
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yes, yes, and yes. After a design cycle with UML, you have identified classes, identified DB requirements, identified areas of complexity. All this makes it easier to do budget estimates. (One of my co-workers and I were sitting around analyzing class and sequence diagrams to estimate a project just the other day!)
 
Thomas Paul
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator


Hi,
No you don't need to know UML to become Java programmer.
UML ... would help give sound design for developing applications.


IMHO, a java programmer who doesn't code using sound design is failing as a Java programmer. Anybody can hack code... it takes skill and patience to develop sound OO design.
 
Johannes de Jong
tumbleweed
Posts: 5089
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for the replies all.
The next question then is, I'm busy learning Java now, gettiing nitpicked , do I start with UML concurrently or do I wait till I'm finished with Java
 
Ranch Hand
Posts: 1070
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Johannes I was kind of in the same spot as you. I didn't know Java or UML. I decided to focus first on Java. I learned the API, the syntax, and all the rules. I study and passed the SCJP. I am still currently going through the CattleDrive now.
With that down, I am now studing UML. I found that it has really helped me knowing Java's fundamentals first because now when I read about class designs and inheritance and stuff like that in my UML books, I can easily relate it to what I know from Java.
It is starting to all come together now
Bill
 
Thomas Paul
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I would concentrate on Java and sound OO design. Then I would move on to learning UML.
 
"The Hood"
Posts: 8521
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Note that that also tends to be the progression of a career. A new programmer gets to write some code, but rarely participates in MAJOR design efforts.
As you get experience you often become less of a programmer and more of an analyst. At that point you start working on designs and need design tools MORE.
Note that the SCPJ2 does not require any UML knowledge and does not expect you to code much. The Developers exam expects you to both design and code a system. The Architects exam expects you to be very familiar with patterns and UML (and lots of other stuff).
 
Rancher
Posts: 1449
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Johannes,
Sorry, I may be a little late on this discussion...
You can be a great OO programmer and not know any UML and you may be able to draw great UML diagrams but not be able to code (or create a good design) at all. (I actually know some people in the "can draw but not design" category). Hopefully as you will progress you will learn to do both well. You'll learn about coding, you'll learn some about designing and UML, and it will become an iterative process. It will take work but it can be done.
I hope you get to where you want to go.
John
 
Ranch Hand
Posts: 55
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
More and more I am using UML as a common method of communication between programmers. Some diagram types are a great tool for the development process, but I have been using it mostly to express ideas or document currently existing software. I don't believe it is at all necessary to being a great OO programmer, but it is the defacto standard for communicating ideas. You don't have to read music to be a great musician (at least for jazz or rock) but being able to read music facilitates a quick expression of complex idea.
 
Johannes de Jong
tumbleweed
Posts: 5089
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you all for your remarks & advice.
 
Thomas Paul
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have someone I work with who is a great architect and can design a beautiful OO application using UML but doesn't know anything about Java.
 
Johannes de Jong
tumbleweed
Posts: 5089
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Thomas Paul:
I have someone I work with who is a great architect and can design a beautiful OO application using UML but doesn't know anything about Java.


But I suppose he really knows and understands OO ?

[This message has been edited by Johannes de Jong (edited February 28, 2001).]
 
Thomas Paul
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

But I suppose he really knows and understands OO ?

Absolutely! He has been an OO evangelist for several years here. He's just not a coder.
 
Ranch Hand
Posts: 114
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
So, does he know _nothing_ at all about Java? I assume that he would at least have to be pretty familiar with the basics of Java and how it implements object-orientation. For example, it would be vital to understand that Java does not support multiple inheritance but supports interfaces, etc. But I am sure he is familiar with at least these aspects. Depending on how you use Java, it might also be important to know particular Java APIs, server-side technologies like JSP, EJB, RMI, etc. In general though, I don't see a problem with being a good architect without knowing Java at the code-level.
-Mirko

Originally posted by Thomas Paul:
I have someone I work with who is a great architect and can design a beautiful OO application using UML but doesn't know anything about Java.


 
Johannes de Jong
tumbleweed
Posts: 5089
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Thomas Paul:
Absolutely! He has been an OO evangelist for several years here. He's just not a coder.


Must say that I find the whole OO "thing" very logical in my mind I only have a hard time putting it into practice ie. codeing. I suppose it will change once I get to do a "real" project.
 
Ranch Hand
Posts: 527
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Thomas Paul:
A great architect and can design a beautiful OO application using UML but doesn't know anything about Java.


First of all i dont see any necessity to know specific lang. to be an Architect, only requirement is to have ample knowledge in any OO lang. with OOAnalysis & Design.
Anil
 
Cindy Glass
"The Hood"
Posts: 8521
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The fact that C++ allows multiple inheritance, and Java does not definitely COULD affect the design of the system, even at the most abstract levels.
 
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Well, i would agree with most of the folks; you don't have to know UML to become a java programmer. However it would be an advantage if you know -also- the analysis in the UML field. If you are interested in many aspects of Java/UML and many of the OO patterns you can visit this web site: http://www.cetus-links.org/
cheers

------------------
 
Thomas Paul
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Cindy Glass:
The fact that C++ allows multiple inheritance, and Java does not definitely COULD affect the design of the system, even at the most abstract levels.



But Java does support multiple inheritance... through interfaces.
 
Ranch Hand
Posts: 155
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
UML gives developers a standard way to communicate the details of system design and development. So, I think it can be used in OO and procedural programming. I hope I am right.
shivani
 
It's hard to fight evil. The little things, like a nice sandwich, really helps. Right tiny ad?
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic