This week's book giveaway is in the OCMJEA forum.
We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line!
See this thread for details.
The moose likes OO, Patterns, UML and Refactoring and the fly likes Any Good Book/Resource for learning OOAD. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCM Java EE 6 Enterprise Architect Exam Guide this week in the OCMJEA forum!
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "Any Good Book/Resource for learning OOAD." Watch "Any Good Book/Resource for learning OOAD." New topic
Author

Any Good Book/Resource for learning OOAD.

Prateek Agarwal
Greenhorn

Joined: Apr 02, 2006
Posts: 2
Hi All,

Please suggest me any book/resource for learning OOAD with UML. I prefer a book with lots of examples preferably in Java.

Thanks
Prateek
David O'Meara
Rancher

Joined: Mar 06, 2001
Posts: 13459

This is not a servlet question, moving to the OO, Patterns, UML and Refactoring forum.

Dave
Scott Ambler
author
Ranch Hand

Joined: Dec 12, 2003
Posts: 608
Introduction to the diagrams of UML 2 is basically a free, online version of UML Distilled.

- Scott


<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
Peer Reynders
Bartender

Joined: Aug 19, 2005
Posts: 2922
    
    5
Originally posted by Prateek Agarwal:
Please suggest me any book/resource for learning OOAD with UML. I prefer a book with lots of examples preferably in Java.


OOA/D usually stands for Object Oriented Analysis and Design - the "D" stands for "design", not "development". As such you may expect to see some example code but don't expect lots. Currently I believe that Craig Larman's Applying UML and Patterns - An Introduction to Object-Oriented Design and Iterative Development (3e) is pretty much the standard. It has some Java examples.
Scott Ambler didn't mention his own book The Object Primer : Agile Model-Driven Development with UML 2.0 probably because it�s not Java specific and there aren't a lot of examples (at least not in the earlier edition) � it�s a design text after all; check it out anyway.
If you want lots of Java Development examples Jeff Langr's Agile Java(TM) : Crafting Code with Test-Driven Development (Robert C. Martin Series) might be more up your ally - at least it gets right into TDD (test-driven development). Robert C. Martin's UML for Java Programmers juxtaposes a lot of UML and Java, however it�s his Agile Software Development: Principles, Patterns, and Practices that you should have a serious look at.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Peer Reynders:
OOA/D usually stands for Object Oriented Analysis and Design - the "D" stands for "design", not "development". As such you may expect to see some example code but don't expect lots.


I respectfully disagree. The whole purpose of design is to assist in producing good code. So to lean what good design is, you need to learn how design translates into code, and what good code is. Be wary of books that don't connect the design to code.

My personal favorite is the above mentioned "Agile Software Development" by Robert C. Martin.


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Peer Reynders
Bartender

Joined: Aug 19, 2005
Posts: 2922
    
    5
Originally posted by Ilja Preuss:
I respectfully disagree. The whole purpose of design is to assist in producing good code. So to lean what good design is, you need to learn how design translates into code, and what good code is. Be wary of books that don't connect the design to code.

I�m not advocating BUFD (Big Up Front Design) here. I almost felt like celebrating when I read Martin Fowler�s Is Design Dead? six years ago, as it emphasized the importance of code and refactoring. However OOA/D covers such a large range of activities that you can only dedicate so much room to "code" � there are other forms of communication necessary during Analysis and High Level Design.
Granted Graig Larman's text is, as one reviewer put it, "tediously thorough" but that's what makes it valuable as a reference not just as a learning tool.
If you�d use the amount of example code as a discriminator you�d miss out on Rebecca Wirf-Brock's Object Design Roles, Responsibilities, and Collaborations (no code), Eric Evan�s Domain Driven Design � Tackling Complexity in the Heart of Software (a little Java code), Martin Fowler�s Analysis Patterns � Reusable Object Models (some Smalltalk code) - just to name a few examples. Yet I believe that these books make important contributions to the reader�s capability of cracking the type of problems which software is supposed to help solve.
manuel aldana
Ranch Hand

Joined: Dec 29, 2005
Posts: 308
i agree with most of above responses.

use uml either to generate code or for communication/understanding of your system, though system-complete code generation with uml will still take some years...
if you use uml for upfront design, where you map from diagrams to your code manually it becomes a maintaining horror, because your design emerges after development time. keeping two models (uml+java) synchronized manually is tough error prone work.

so only learn uml roughly and invest more effort into refactoring, which connects closely to (emergent) object oriented design.
but i think uml-diagrams are a great way to communicate with yourself and with colleagues.


aldana software engineering blog & .more
kri shan
Ranch Hand

Joined: Apr 08, 2004
Posts: 1372
IBM's RSA(Rational Software Architect) supports round-trip engg.(from UML to code / code to UML). But it's not 100% conversion.
Simon Baker
Ranch Hand

Joined: Sep 09, 2004
Posts: 57
Bertrand Meyer's "Object-Oriented Software Construction" is still the dogs for me.

http://archive.eiffel.com/doc/oosc/
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Any Good Book/Resource for learning OOAD.